{-# 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.LookoutEquipment.DescribeModel
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Provides a JSON containing the overall information about a specific ML
-- model, including model name and ARN, dataset, training and evaluation
-- information, status, and so on.
module Amazonka.LookoutEquipment.DescribeModel
  ( -- * Creating a Request
    DescribeModel (..),
    newDescribeModel,

    -- * Request Lenses
    describeModel_modelName,

    -- * Destructuring the Response
    DescribeModelResponse (..),
    newDescribeModelResponse,

    -- * Response Lenses
    describeModelResponse_createdAt,
    describeModelResponse_dataPreProcessingConfiguration,
    describeModelResponse_datasetArn,
    describeModelResponse_datasetName,
    describeModelResponse_evaluationDataEndTime,
    describeModelResponse_evaluationDataStartTime,
    describeModelResponse_failedReason,
    describeModelResponse_labelsInputConfiguration,
    describeModelResponse_lastUpdatedTime,
    describeModelResponse_modelArn,
    describeModelResponse_modelMetrics,
    describeModelResponse_modelName,
    describeModelResponse_offCondition,
    describeModelResponse_roleArn,
    describeModelResponse_schema,
    describeModelResponse_serverSideKmsKeyId,
    describeModelResponse_status,
    describeModelResponse_trainingDataEndTime,
    describeModelResponse_trainingDataStartTime,
    describeModelResponse_trainingExecutionEndTime,
    describeModelResponse_trainingExecutionStartTime,
    describeModelResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeModel' smart constructor.
data DescribeModel = DescribeModel'
  { -- | The name of the ML model to be described.
    DescribeModel -> Text
modelName :: Prelude.Text
  }
  deriving (DescribeModel -> DescribeModel -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModel -> DescribeModel -> Bool
$c/= :: DescribeModel -> DescribeModel -> Bool
== :: DescribeModel -> DescribeModel -> Bool
$c== :: DescribeModel -> DescribeModel -> Bool
Prelude.Eq, ReadPrec [DescribeModel]
ReadPrec DescribeModel
Int -> ReadS DescribeModel
ReadS [DescribeModel]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModel]
$creadListPrec :: ReadPrec [DescribeModel]
readPrec :: ReadPrec DescribeModel
$creadPrec :: ReadPrec DescribeModel
readList :: ReadS [DescribeModel]
$creadList :: ReadS [DescribeModel]
readsPrec :: Int -> ReadS DescribeModel
$creadsPrec :: Int -> ReadS DescribeModel
Prelude.Read, Int -> DescribeModel -> ShowS
[DescribeModel] -> ShowS
DescribeModel -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModel] -> ShowS
$cshowList :: [DescribeModel] -> ShowS
show :: DescribeModel -> String
$cshow :: DescribeModel -> String
showsPrec :: Int -> DescribeModel -> ShowS
$cshowsPrec :: Int -> DescribeModel -> ShowS
Prelude.Show, forall x. Rep DescribeModel x -> DescribeModel
forall x. DescribeModel -> Rep DescribeModel x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeModel x -> DescribeModel
$cfrom :: forall x. DescribeModel -> Rep DescribeModel x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModel' 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:
--
-- 'modelName', 'describeModel_modelName' - The name of the ML model to be described.
newDescribeModel ::
  -- | 'modelName'
  Prelude.Text ->
  DescribeModel
newDescribeModel :: Text -> DescribeModel
newDescribeModel Text
pModelName_ =
  DescribeModel' {$sel:modelName:DescribeModel' :: Text
modelName = Text
pModelName_}

-- | The name of the ML model to be described.
describeModel_modelName :: Lens.Lens' DescribeModel Prelude.Text
describeModel_modelName :: Lens' DescribeModel Text
describeModel_modelName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModel' {Text
modelName :: Text
$sel:modelName:DescribeModel' :: DescribeModel -> Text
modelName} -> Text
modelName) (\s :: DescribeModel
s@DescribeModel' {} Text
a -> DescribeModel
s {$sel:modelName:DescribeModel' :: Text
modelName = Text
a} :: DescribeModel)

instance Core.AWSRequest DescribeModel where
  type
    AWSResponse DescribeModel =
      DescribeModelResponse
  request :: (Service -> Service) -> DescribeModel -> Request DescribeModel
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 DescribeModel
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeModel)))
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 POSIX
-> Maybe DataPreProcessingConfiguration
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe LabelsInputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ModelStatus
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Int
-> DescribeModelResponse
DescribeModelResponse'
            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
"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 (Maybe a)
Data..?> Key
"DataPreProcessingConfiguration")
            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
"DatasetArn")
            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
"DatasetName")
            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
"EvaluationDataEndTime")
            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
"EvaluationDataStartTime")
            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
"FailedReason")
            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
"LabelsInputConfiguration")
            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
"LastUpdatedTime")
            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
"ModelArn")
            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
"ModelMetrics")
            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
"ModelName")
            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
"OffCondition")
            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
"RoleArn")
            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
"Schema")
            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
"ServerSideKmsKeyId")
            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
"TrainingDataEndTime")
            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
"TrainingDataStartTime")
            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
"TrainingExecutionEndTime")
            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
"TrainingExecutionStartTime")
            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 DescribeModel where
  hashWithSalt :: Int -> DescribeModel -> Int
hashWithSalt Int
_salt DescribeModel' {Text
modelName :: Text
$sel:modelName:DescribeModel' :: DescribeModel -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
modelName

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

instance Data.ToHeaders DescribeModel where
  toHeaders :: DescribeModel -> 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
"AWSLookoutEquipmentFrontendService.DescribeModel" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
                          Prelude.ByteString
                      )
          ]
      )

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

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

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

-- | /See:/ 'newDescribeModelResponse' smart constructor.
data DescribeModelResponse = DescribeModelResponse'
  { -- | Indicates the time and date at which the ML model was created.
    DescribeModelResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Data.POSIX,
    -- | The configuration is the @TargetSamplingRate@, which is the sampling
    -- rate of the data after post processing by Amazon Lookout for Equipment.
    -- For example, if you provide data that has been collected at a 1 second
    -- level and you want the system to resample the data at a 1 minute rate
    -- before training, the @TargetSamplingRate@ is 1 minute.
    --
    -- When providing a value for the @TargetSamplingRate@, you must attach the
    -- prefix \"PT\" to the rate you want. The value for a 1 second rate is
    -- therefore /PT1S/, the value for a 15 minute rate is /PT15M/, and the
    -- value for a 1 hour rate is /PT1H/
    DescribeModelResponse -> Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration :: Prelude.Maybe DataPreProcessingConfiguration,
    -- | The Amazon Resouce Name (ARN) of the dataset used to create the ML model
    -- being described.
    DescribeModelResponse -> Maybe Text
datasetArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the dataset being used by the ML being described.
    DescribeModelResponse -> Maybe Text
datasetName :: Prelude.Maybe Prelude.Text,
    -- | Indicates the time reference in the dataset that was used to end the
    -- subset of evaluation data for the ML model.
    DescribeModelResponse -> Maybe POSIX
evaluationDataEndTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the time reference in the dataset that was used to begin the
    -- subset of evaluation data for the ML model.
    DescribeModelResponse -> Maybe POSIX
evaluationDataStartTime :: Prelude.Maybe Data.POSIX,
    -- | If the training of the ML model failed, this indicates the reason for
    -- that failure.
    DescribeModelResponse -> Maybe Text
failedReason :: Prelude.Maybe Prelude.Text,
    -- | Specifies configuration information about the labels input, including
    -- its S3 location.
    DescribeModelResponse -> Maybe LabelsInputConfiguration
labelsInputConfiguration :: Prelude.Maybe LabelsInputConfiguration,
    -- | Indicates the last time the ML model was updated. The type of update is
    -- not specified.
    DescribeModelResponse -> Maybe POSIX
lastUpdatedTime :: Prelude.Maybe Data.POSIX,
    -- | The Amazon Resource Name (ARN) of the ML model being described.
    DescribeModelResponse -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | The Model Metrics show an aggregated summary of the model\'s performance
    -- within the evaluation time range. This is the JSON content of the
    -- metrics created when evaluating the model.
    DescribeModelResponse -> Maybe Text
modelMetrics :: Prelude.Maybe Prelude.Text,
    -- | The name of the ML model being described.
    DescribeModelResponse -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | Indicates that the asset associated with this sensor has been shut off.
    -- As long as this condition is met, Lookout for Equipment will not use
    -- data from this asset for training, evaluation, or inference.
    DescribeModelResponse -> Maybe Text
offCondition :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of a role with permission to access the
    -- data source for the ML model being described.
    DescribeModelResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | A JSON description of the data that is in each time series dataset,
    -- including names, column names, and data types.
    DescribeModelResponse -> Maybe Text
schema :: Prelude.Maybe Prelude.Text,
    -- | Provides the identifier of the KMS key used to encrypt model data by
    -- Amazon Lookout for Equipment.
    DescribeModelResponse -> Maybe Text
serverSideKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | Specifies the current status of the model being described. Status
    -- describes the status of the most recent action of the model.
    DescribeModelResponse -> Maybe ModelStatus
status :: Prelude.Maybe ModelStatus,
    -- | Indicates the time reference in the dataset that was used to end the
    -- subset of training data for the ML model.
    DescribeModelResponse -> Maybe POSIX
trainingDataEndTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the time reference in the dataset that was used to begin the
    -- subset of training data for the ML model.
    DescribeModelResponse -> Maybe POSIX
trainingDataStartTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the time at which the training of the ML model was completed.
    DescribeModelResponse -> Maybe POSIX
trainingExecutionEndTime :: Prelude.Maybe Data.POSIX,
    -- | Indicates the time at which the training of the ML model began.
    DescribeModelResponse -> Maybe POSIX
trainingExecutionStartTime :: Prelude.Maybe Data.POSIX,
    -- | The response's http status code.
    DescribeModelResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeModelResponse -> DescribeModelResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeModelResponse -> DescribeModelResponse -> Bool
$c/= :: DescribeModelResponse -> DescribeModelResponse -> Bool
== :: DescribeModelResponse -> DescribeModelResponse -> Bool
$c== :: DescribeModelResponse -> DescribeModelResponse -> Bool
Prelude.Eq, ReadPrec [DescribeModelResponse]
ReadPrec DescribeModelResponse
Int -> ReadS DescribeModelResponse
ReadS [DescribeModelResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeModelResponse]
$creadListPrec :: ReadPrec [DescribeModelResponse]
readPrec :: ReadPrec DescribeModelResponse
$creadPrec :: ReadPrec DescribeModelResponse
readList :: ReadS [DescribeModelResponse]
$creadList :: ReadS [DescribeModelResponse]
readsPrec :: Int -> ReadS DescribeModelResponse
$creadsPrec :: Int -> ReadS DescribeModelResponse
Prelude.Read, Int -> DescribeModelResponse -> ShowS
[DescribeModelResponse] -> ShowS
DescribeModelResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeModelResponse] -> ShowS
$cshowList :: [DescribeModelResponse] -> ShowS
show :: DescribeModelResponse -> String
$cshow :: DescribeModelResponse -> String
showsPrec :: Int -> DescribeModelResponse -> ShowS
$cshowsPrec :: Int -> DescribeModelResponse -> ShowS
Prelude.Show, forall x. Rep DescribeModelResponse x -> DescribeModelResponse
forall x. DescribeModelResponse -> Rep DescribeModelResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribeModelResponse x -> DescribeModelResponse
$cfrom :: forall x. DescribeModelResponse -> Rep DescribeModelResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeModelResponse' 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:
--
-- 'createdAt', 'describeModelResponse_createdAt' - Indicates the time and date at which the ML model was created.
--
-- 'dataPreProcessingConfiguration', 'describeModelResponse_dataPreProcessingConfiguration' - The configuration is the @TargetSamplingRate@, which is the sampling
-- rate of the data after post processing by Amazon Lookout for Equipment.
-- For example, if you provide data that has been collected at a 1 second
-- level and you want the system to resample the data at a 1 minute rate
-- before training, the @TargetSamplingRate@ is 1 minute.
--
-- When providing a value for the @TargetSamplingRate@, you must attach the
-- prefix \"PT\" to the rate you want. The value for a 1 second rate is
-- therefore /PT1S/, the value for a 15 minute rate is /PT15M/, and the
-- value for a 1 hour rate is /PT1H/
--
-- 'datasetArn', 'describeModelResponse_datasetArn' - The Amazon Resouce Name (ARN) of the dataset used to create the ML model
-- being described.
--
-- 'datasetName', 'describeModelResponse_datasetName' - The name of the dataset being used by the ML being described.
--
-- 'evaluationDataEndTime', 'describeModelResponse_evaluationDataEndTime' - Indicates the time reference in the dataset that was used to end the
-- subset of evaluation data for the ML model.
--
-- 'evaluationDataStartTime', 'describeModelResponse_evaluationDataStartTime' - Indicates the time reference in the dataset that was used to begin the
-- subset of evaluation data for the ML model.
--
-- 'failedReason', 'describeModelResponse_failedReason' - If the training of the ML model failed, this indicates the reason for
-- that failure.
--
-- 'labelsInputConfiguration', 'describeModelResponse_labelsInputConfiguration' - Specifies configuration information about the labels input, including
-- its S3 location.
--
-- 'lastUpdatedTime', 'describeModelResponse_lastUpdatedTime' - Indicates the last time the ML model was updated. The type of update is
-- not specified.
--
-- 'modelArn', 'describeModelResponse_modelArn' - The Amazon Resource Name (ARN) of the ML model being described.
--
-- 'modelMetrics', 'describeModelResponse_modelMetrics' - The Model Metrics show an aggregated summary of the model\'s performance
-- within the evaluation time range. This is the JSON content of the
-- metrics created when evaluating the model.
--
-- 'modelName', 'describeModelResponse_modelName' - The name of the ML model being described.
--
-- 'offCondition', 'describeModelResponse_offCondition' - Indicates that the asset associated with this sensor has been shut off.
-- As long as this condition is met, Lookout for Equipment will not use
-- data from this asset for training, evaluation, or inference.
--
-- 'roleArn', 'describeModelResponse_roleArn' - The Amazon Resource Name (ARN) of a role with permission to access the
-- data source for the ML model being described.
--
-- 'schema', 'describeModelResponse_schema' - A JSON description of the data that is in each time series dataset,
-- including names, column names, and data types.
--
-- 'serverSideKmsKeyId', 'describeModelResponse_serverSideKmsKeyId' - Provides the identifier of the KMS key used to encrypt model data by
-- Amazon Lookout for Equipment.
--
-- 'status', 'describeModelResponse_status' - Specifies the current status of the model being described. Status
-- describes the status of the most recent action of the model.
--
-- 'trainingDataEndTime', 'describeModelResponse_trainingDataEndTime' - Indicates the time reference in the dataset that was used to end the
-- subset of training data for the ML model.
--
-- 'trainingDataStartTime', 'describeModelResponse_trainingDataStartTime' - Indicates the time reference in the dataset that was used to begin the
-- subset of training data for the ML model.
--
-- 'trainingExecutionEndTime', 'describeModelResponse_trainingExecutionEndTime' - Indicates the time at which the training of the ML model was completed.
--
-- 'trainingExecutionStartTime', 'describeModelResponse_trainingExecutionStartTime' - Indicates the time at which the training of the ML model began.
--
-- 'httpStatus', 'describeModelResponse_httpStatus' - The response's http status code.
newDescribeModelResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeModelResponse
newDescribeModelResponse :: Int -> DescribeModelResponse
newDescribeModelResponse Int
pHttpStatus_ =
  DescribeModelResponse'
    { $sel:createdAt:DescribeModelResponse' :: Maybe POSIX
createdAt = forall a. Maybe a
Prelude.Nothing,
      $sel:dataPreProcessingConfiguration:DescribeModelResponse' :: Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetArn:DescribeModelResponse' :: Maybe Text
datasetArn = forall a. Maybe a
Prelude.Nothing,
      $sel:datasetName:DescribeModelResponse' :: Maybe Text
datasetName = forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationDataEndTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationDataStartTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:failedReason:DescribeModelResponse' :: Maybe Text
failedReason = forall a. Maybe a
Prelude.Nothing,
      $sel:labelsInputConfiguration:DescribeModelResponse' :: Maybe LabelsInputConfiguration
labelsInputConfiguration = forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedTime:DescribeModelResponse' :: Maybe POSIX
lastUpdatedTime = forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:DescribeModelResponse' :: Maybe Text
modelArn = forall a. Maybe a
Prelude.Nothing,
      $sel:modelMetrics:DescribeModelResponse' :: Maybe Text
modelMetrics = forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:DescribeModelResponse' :: Maybe Text
modelName = forall a. Maybe a
Prelude.Nothing,
      $sel:offCondition:DescribeModelResponse' :: Maybe Text
offCondition = forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeModelResponse' :: Maybe Text
roleArn = forall a. Maybe a
Prelude.Nothing,
      $sel:schema:DescribeModelResponse' :: Maybe Text
schema = forall a. Maybe a
Prelude.Nothing,
      $sel:serverSideKmsKeyId:DescribeModelResponse' :: Maybe Text
serverSideKmsKeyId = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DescribeModelResponse' :: Maybe ModelStatus
status = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataEndTime:DescribeModelResponse' :: Maybe POSIX
trainingDataEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataStartTime:DescribeModelResponse' :: Maybe POSIX
trainingDataStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingExecutionEndTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionEndTime = forall a. Maybe a
Prelude.Nothing,
      $sel:trainingExecutionStartTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionStartTime = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeModelResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Indicates the time and date at which the ML model was created.
describeModelResponse_createdAt :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_createdAt :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_createdAt = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:createdAt:DescribeModelResponse' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DescribeModelResponse) 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 configuration is the @TargetSamplingRate@, which is the sampling
-- rate of the data after post processing by Amazon Lookout for Equipment.
-- For example, if you provide data that has been collected at a 1 second
-- level and you want the system to resample the data at a 1 minute rate
-- before training, the @TargetSamplingRate@ is 1 minute.
--
-- When providing a value for the @TargetSamplingRate@, you must attach the
-- prefix \"PT\" to the rate you want. The value for a 1 second rate is
-- therefore /PT1S/, the value for a 15 minute rate is /PT15M/, and the
-- value for a 1 hour rate is /PT1H/
describeModelResponse_dataPreProcessingConfiguration :: Lens.Lens' DescribeModelResponse (Prelude.Maybe DataPreProcessingConfiguration)
describeModelResponse_dataPreProcessingConfiguration :: Lens' DescribeModelResponse (Maybe DataPreProcessingConfiguration)
describeModelResponse_dataPreProcessingConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration :: Maybe DataPreProcessingConfiguration
$sel:dataPreProcessingConfiguration:DescribeModelResponse' :: DescribeModelResponse -> Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration} -> Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe DataPreProcessingConfiguration
a -> DescribeModelResponse
s {$sel:dataPreProcessingConfiguration:DescribeModelResponse' :: Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration = Maybe DataPreProcessingConfiguration
a} :: DescribeModelResponse)

-- | The Amazon Resouce Name (ARN) of the dataset used to create the ML model
-- being described.
describeModelResponse_datasetArn :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_datasetArn :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_datasetArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
datasetArn :: Maybe Text
$sel:datasetArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
datasetArn} -> Maybe Text
datasetArn) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:datasetArn:DescribeModelResponse' :: Maybe Text
datasetArn = Maybe Text
a} :: DescribeModelResponse)

-- | The name of the dataset being used by the ML being described.
describeModelResponse_datasetName :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_datasetName :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_datasetName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
datasetName :: Maybe Text
$sel:datasetName:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
datasetName} -> Maybe Text
datasetName) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:datasetName:DescribeModelResponse' :: Maybe Text
datasetName = Maybe Text
a} :: DescribeModelResponse)

-- | Indicates the time reference in the dataset that was used to end the
-- subset of evaluation data for the ML model.
describeModelResponse_evaluationDataEndTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_evaluationDataEndTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_evaluationDataEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
evaluationDataEndTime :: Maybe POSIX
$sel:evaluationDataEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
evaluationDataEndTime} -> Maybe POSIX
evaluationDataEndTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:evaluationDataEndTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataEndTime = Maybe POSIX
a} :: DescribeModelResponse) 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

-- | Indicates the time reference in the dataset that was used to begin the
-- subset of evaluation data for the ML model.
describeModelResponse_evaluationDataStartTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_evaluationDataStartTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_evaluationDataStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
evaluationDataStartTime :: Maybe POSIX
$sel:evaluationDataStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
evaluationDataStartTime} -> Maybe POSIX
evaluationDataStartTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:evaluationDataStartTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataStartTime = Maybe POSIX
a} :: DescribeModelResponse) 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

-- | If the training of the ML model failed, this indicates the reason for
-- that failure.
describeModelResponse_failedReason :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_failedReason :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_failedReason = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
failedReason :: Maybe Text
$sel:failedReason:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
failedReason} -> Maybe Text
failedReason) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:failedReason:DescribeModelResponse' :: Maybe Text
failedReason = Maybe Text
a} :: DescribeModelResponse)

-- | Specifies configuration information about the labels input, including
-- its S3 location.
describeModelResponse_labelsInputConfiguration :: Lens.Lens' DescribeModelResponse (Prelude.Maybe LabelsInputConfiguration)
describeModelResponse_labelsInputConfiguration :: Lens' DescribeModelResponse (Maybe LabelsInputConfiguration)
describeModelResponse_labelsInputConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe LabelsInputConfiguration
labelsInputConfiguration :: Maybe LabelsInputConfiguration
$sel:labelsInputConfiguration:DescribeModelResponse' :: DescribeModelResponse -> Maybe LabelsInputConfiguration
labelsInputConfiguration} -> Maybe LabelsInputConfiguration
labelsInputConfiguration) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe LabelsInputConfiguration
a -> DescribeModelResponse
s {$sel:labelsInputConfiguration:DescribeModelResponse' :: Maybe LabelsInputConfiguration
labelsInputConfiguration = Maybe LabelsInputConfiguration
a} :: DescribeModelResponse)

-- | Indicates the last time the ML model was updated. The type of update is
-- not specified.
describeModelResponse_lastUpdatedTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_lastUpdatedTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_lastUpdatedTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
lastUpdatedTime :: Maybe POSIX
$sel:lastUpdatedTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
lastUpdatedTime} -> Maybe POSIX
lastUpdatedTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:lastUpdatedTime:DescribeModelResponse' :: Maybe POSIX
lastUpdatedTime = Maybe POSIX
a} :: DescribeModelResponse) 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) of the ML model being described.
describeModelResponse_modelArn :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_modelArn :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_modelArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
modelArn :: Maybe Text
$sel:modelArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
modelArn} -> Maybe Text
modelArn) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:modelArn:DescribeModelResponse' :: Maybe Text
modelArn = Maybe Text
a} :: DescribeModelResponse)

-- | The Model Metrics show an aggregated summary of the model\'s performance
-- within the evaluation time range. This is the JSON content of the
-- metrics created when evaluating the model.
describeModelResponse_modelMetrics :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_modelMetrics :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_modelMetrics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
modelMetrics :: Maybe Text
$sel:modelMetrics:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
modelMetrics} -> Maybe Text
modelMetrics) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:modelMetrics:DescribeModelResponse' :: Maybe Text
modelMetrics = Maybe Text
a} :: DescribeModelResponse)

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

-- | Indicates that the asset associated with this sensor has been shut off.
-- As long as this condition is met, Lookout for Equipment will not use
-- data from this asset for training, evaluation, or inference.
describeModelResponse_offCondition :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_offCondition :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_offCondition = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
offCondition :: Maybe Text
$sel:offCondition:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
offCondition} -> Maybe Text
offCondition) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:offCondition:DescribeModelResponse' :: Maybe Text
offCondition = Maybe Text
a} :: DescribeModelResponse)

-- | The Amazon Resource Name (ARN) of a role with permission to access the
-- data source for the ML model being described.
describeModelResponse_roleArn :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_roleArn :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_roleArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:roleArn:DescribeModelResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeModelResponse)

-- | A JSON description of the data that is in each time series dataset,
-- including names, column names, and data types.
describeModelResponse_schema :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_schema :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_schema = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
schema :: Maybe Text
$sel:schema:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
schema} -> Maybe Text
schema) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:schema:DescribeModelResponse' :: Maybe Text
schema = Maybe Text
a} :: DescribeModelResponse)

-- | Provides the identifier of the KMS key used to encrypt model data by
-- Amazon Lookout for Equipment.
describeModelResponse_serverSideKmsKeyId :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_serverSideKmsKeyId :: Lens' DescribeModelResponse (Maybe Text)
describeModelResponse_serverSideKmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe Text
serverSideKmsKeyId :: Maybe Text
$sel:serverSideKmsKeyId:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
serverSideKmsKeyId} -> Maybe Text
serverSideKmsKeyId) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe Text
a -> DescribeModelResponse
s {$sel:serverSideKmsKeyId:DescribeModelResponse' :: Maybe Text
serverSideKmsKeyId = Maybe Text
a} :: DescribeModelResponse)

-- | Specifies the current status of the model being described. Status
-- describes the status of the most recent action of the model.
describeModelResponse_status :: Lens.Lens' DescribeModelResponse (Prelude.Maybe ModelStatus)
describeModelResponse_status :: Lens' DescribeModelResponse (Maybe ModelStatus)
describeModelResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe ModelStatus
status :: Maybe ModelStatus
$sel:status:DescribeModelResponse' :: DescribeModelResponse -> Maybe ModelStatus
status} -> Maybe ModelStatus
status) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe ModelStatus
a -> DescribeModelResponse
s {$sel:status:DescribeModelResponse' :: Maybe ModelStatus
status = Maybe ModelStatus
a} :: DescribeModelResponse)

-- | Indicates the time reference in the dataset that was used to end the
-- subset of training data for the ML model.
describeModelResponse_trainingDataEndTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingDataEndTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_trainingDataEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
trainingDataEndTime :: Maybe POSIX
$sel:trainingDataEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
trainingDataEndTime} -> Maybe POSIX
trainingDataEndTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:trainingDataEndTime:DescribeModelResponse' :: Maybe POSIX
trainingDataEndTime = Maybe POSIX
a} :: DescribeModelResponse) 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

-- | Indicates the time reference in the dataset that was used to begin the
-- subset of training data for the ML model.
describeModelResponse_trainingDataStartTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingDataStartTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_trainingDataStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
trainingDataStartTime :: Maybe POSIX
$sel:trainingDataStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
trainingDataStartTime} -> Maybe POSIX
trainingDataStartTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:trainingDataStartTime:DescribeModelResponse' :: Maybe POSIX
trainingDataStartTime = Maybe POSIX
a} :: DescribeModelResponse) 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

-- | Indicates the time at which the training of the ML model was completed.
describeModelResponse_trainingExecutionEndTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingExecutionEndTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_trainingExecutionEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
trainingExecutionEndTime :: Maybe POSIX
$sel:trainingExecutionEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
trainingExecutionEndTime} -> Maybe POSIX
trainingExecutionEndTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:trainingExecutionEndTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionEndTime = Maybe POSIX
a} :: DescribeModelResponse) 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

-- | Indicates the time at which the training of the ML model began.
describeModelResponse_trainingExecutionStartTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingExecutionStartTime :: Lens' DescribeModelResponse (Maybe UTCTime)
describeModelResponse_trainingExecutionStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Maybe POSIX
trainingExecutionStartTime :: Maybe POSIX
$sel:trainingExecutionStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
trainingExecutionStartTime} -> Maybe POSIX
trainingExecutionStartTime) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Maybe POSIX
a -> DescribeModelResponse
s {$sel:trainingExecutionStartTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionStartTime = Maybe POSIX
a} :: DescribeModelResponse) 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 response's http status code.
describeModelResponse_httpStatus :: Lens.Lens' DescribeModelResponse Prelude.Int
describeModelResponse_httpStatus :: Lens' DescribeModelResponse Int
describeModelResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeModelResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribeModelResponse' :: DescribeModelResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribeModelResponse
s@DescribeModelResponse' {} Int
a -> DescribeModelResponse
s {$sel:httpStatus:DescribeModelResponse' :: Int
httpStatus = Int
a} :: DescribeModelResponse)

instance Prelude.NFData DescribeModelResponse where
  rnf :: DescribeModelResponse -> ()
rnf DescribeModelResponse' {Int
Maybe Text
Maybe POSIX
Maybe LabelsInputConfiguration
Maybe ModelStatus
Maybe DataPreProcessingConfiguration
httpStatus :: Int
trainingExecutionStartTime :: Maybe POSIX
trainingExecutionEndTime :: Maybe POSIX
trainingDataStartTime :: Maybe POSIX
trainingDataEndTime :: Maybe POSIX
status :: Maybe ModelStatus
serverSideKmsKeyId :: Maybe Text
schema :: Maybe Text
roleArn :: Maybe Text
offCondition :: Maybe Text
modelName :: Maybe Text
modelMetrics :: Maybe Text
modelArn :: Maybe Text
lastUpdatedTime :: Maybe POSIX
labelsInputConfiguration :: Maybe LabelsInputConfiguration
failedReason :: Maybe Text
evaluationDataStartTime :: Maybe POSIX
evaluationDataEndTime :: Maybe POSIX
datasetName :: Maybe Text
datasetArn :: Maybe Text
dataPreProcessingConfiguration :: Maybe DataPreProcessingConfiguration
createdAt :: Maybe POSIX
$sel:httpStatus:DescribeModelResponse' :: DescribeModelResponse -> Int
$sel:trainingExecutionStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:trainingExecutionEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:trainingDataStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:trainingDataEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:status:DescribeModelResponse' :: DescribeModelResponse -> Maybe ModelStatus
$sel:serverSideKmsKeyId:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:schema:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:roleArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:offCondition:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:modelName:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:modelMetrics:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:modelArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:lastUpdatedTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:labelsInputConfiguration:DescribeModelResponse' :: DescribeModelResponse -> Maybe LabelsInputConfiguration
$sel:failedReason:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:evaluationDataStartTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:evaluationDataEndTime:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
$sel:datasetName:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:datasetArn:DescribeModelResponse' :: DescribeModelResponse -> Maybe Text
$sel:dataPreProcessingConfiguration:DescribeModelResponse' :: DescribeModelResponse -> Maybe DataPreProcessingConfiguration
$sel:createdAt:DescribeModelResponse' :: DescribeModelResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdAt
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
datasetName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
evaluationDataEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
evaluationDataStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
failedReason
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe LabelsInputConfiguration
labelsInputConfiguration
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastUpdatedTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelMetrics
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
modelName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
offCondition
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
roleArn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
schema
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
serverSideKmsKeyId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ModelStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
trainingDataEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe POSIX
trainingDataStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe POSIX
trainingExecutionEndTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe POSIX
trainingExecutionStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus