{-# 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-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- 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_status,
    describeModelResponse_dataPreProcessingConfiguration,
    describeModelResponse_trainingExecutionStartTime,
    describeModelResponse_datasetArn,
    describeModelResponse_failedReason,
    describeModelResponse_modelArn,
    describeModelResponse_lastUpdatedTime,
    describeModelResponse_trainingDataEndTime,
    describeModelResponse_createdAt,
    describeModelResponse_modelName,
    describeModelResponse_modelMetrics,
    describeModelResponse_evaluationDataStartTime,
    describeModelResponse_schema,
    describeModelResponse_offCondition,
    describeModelResponse_evaluationDataEndTime,
    describeModelResponse_datasetName,
    describeModelResponse_trainingDataStartTime,
    describeModelResponse_trainingExecutionEndTime,
    describeModelResponse_labelsInputConfiguration,
    describeModelResponse_serverSideKmsKeyId,
    describeModelResponse_roleArn,
    describeModelResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
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
(DescribeModel -> DescribeModel -> Bool)
-> (DescribeModel -> DescribeModel -> Bool) -> Eq DescribeModel
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]
(Int -> ReadS DescribeModel)
-> ReadS [DescribeModel]
-> ReadPrec DescribeModel
-> ReadPrec [DescribeModel]
-> Read 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
(Int -> DescribeModel -> ShowS)
-> (DescribeModel -> String)
-> ([DescribeModel] -> ShowS)
-> Show DescribeModel
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. DescribeModel -> Rep DescribeModel x)
-> (forall x. Rep DescribeModel x -> DescribeModel)
-> Generic DescribeModel
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' :: Text -> DescribeModel
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 :: (Text -> f Text) -> DescribeModel -> f DescribeModel
describeModel_modelName = (DescribeModel -> Text)
-> (DescribeModel -> Text -> DescribeModel)
-> Lens DescribeModel DescribeModel Text Text
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 :: DescribeModel -> Request DescribeModel
request = Service -> DescribeModel -> Request DescribeModel
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeModel
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeModel)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeModel))
-> Logger
-> Service
-> Proxy DescribeModel
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DescribeModel)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe ModelStatus
-> Maybe DataPreProcessingConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe LabelsInputConfiguration
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeModelResponse
DescribeModelResponse'
            (Maybe ModelStatus
 -> Maybe DataPreProcessingConfiguration
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe POSIX
 -> Maybe LabelsInputConfiguration
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> DescribeModelResponse)
-> Either String (Maybe ModelStatus)
-> Either
     String
     (Maybe DataPreProcessingConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe ModelStatus)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe DataPreProcessingConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe DataPreProcessingConfiguration)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe DataPreProcessingConfiguration)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DataPreProcessingConfiguration")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingExecutionStartTime")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DatasetArn")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"FailedReason")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelArn")
            Either
  String
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastUpdatedTime")
            Either
  String
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingDataEndTime")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreatedAt")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelName")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModelMetrics")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EvaluationDataStartTime")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Schema")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"OffCondition")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EvaluationDataEndTime")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DatasetName")
            Either
  String
  (Maybe POSIX
   -> Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe POSIX
      -> Maybe LabelsInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingDataStartTime")
            Either
  String
  (Maybe POSIX
   -> Maybe LabelsInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeModelResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe LabelsInputConfiguration
      -> Maybe Text -> Maybe Text -> Int -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TrainingExecutionEndTime")
            Either
  String
  (Maybe LabelsInputConfiguration
   -> Maybe Text -> Maybe Text -> Int -> DescribeModelResponse)
-> Either String (Maybe LabelsInputConfiguration)
-> Either
     String (Maybe Text -> Maybe Text -> Int -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe LabelsInputConfiguration)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LabelsInputConfiguration")
            Either
  String (Maybe Text -> Maybe Text -> Int -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> Int -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ServerSideKmsKeyId")
            Either String (Maybe Text -> Int -> DescribeModelResponse)
-> Either String (Maybe Text)
-> Either String (Int -> DescribeModelResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"RoleArn")
            Either String (Int -> DescribeModelResponse)
-> Either String Int -> Either String DescribeModelResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeModel

instance Prelude.NFData DescribeModel

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

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

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

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

-- | /See:/ 'newDescribeModelResponse' smart constructor.
data DescribeModelResponse = DescribeModelResponse'
  { -- | 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,
    -- | 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,
    -- | Indicates the time at which the training of the ML model began.
    DescribeModelResponse -> Maybe POSIX
trainingExecutionStartTime :: Prelude.Maybe Core.POSIX,
    -- | The Amazon Resouce Name (ARN) of the dataset used to create the ML model
    -- being described.
    DescribeModelResponse -> Maybe Text
datasetArn :: Prelude.Maybe Prelude.Text,
    -- | If the training of the ML model failed, this indicates the reason for
    -- that failure.
    DescribeModelResponse -> Maybe Text
failedReason :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the ML model being described.
    DescribeModelResponse -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | Indicates the last time the ML model was updated. The type of update is
    -- not specified.
    DescribeModelResponse -> Maybe POSIX
lastUpdatedTime :: Prelude.Maybe Core.POSIX,
    -- | 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 Core.POSIX,
    -- | Indicates the time and date at which the ML model was created.
    DescribeModelResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Core.POSIX,
    -- | The name of the ML model being described.
    DescribeModelResponse -> Maybe Text
modelName :: 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,
    -- | 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 Core.POSIX,
    -- | 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,
    -- | 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,
    -- | 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 Core.POSIX,
    -- | 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 begin the
    -- subset of training data for the ML model.
    DescribeModelResponse -> Maybe POSIX
trainingDataStartTime :: Prelude.Maybe Core.POSIX,
    -- | Indicates the time at which the training of the ML model was completed.
    DescribeModelResponse -> Maybe POSIX
trainingExecutionEndTime :: Prelude.Maybe Core.POSIX,
    -- | Specifies configuration information about the labels input, including
    -- its S3 location.
    DescribeModelResponse -> Maybe LabelsInputConfiguration
labelsInputConfiguration :: Prelude.Maybe LabelsInputConfiguration,
    -- | 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,
    -- | 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,
    -- | The response's http status code.
    DescribeModelResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeModelResponse -> DescribeModelResponse -> Bool
(DescribeModelResponse -> DescribeModelResponse -> Bool)
-> (DescribeModelResponse -> DescribeModelResponse -> Bool)
-> Eq DescribeModelResponse
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]
(Int -> ReadS DescribeModelResponse)
-> ReadS [DescribeModelResponse]
-> ReadPrec DescribeModelResponse
-> ReadPrec [DescribeModelResponse]
-> Read 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
(Int -> DescribeModelResponse -> ShowS)
-> (DescribeModelResponse -> String)
-> ([DescribeModelResponse] -> ShowS)
-> Show DescribeModelResponse
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. DescribeModelResponse -> Rep DescribeModelResponse x)
-> (forall x. Rep DescribeModelResponse x -> DescribeModelResponse)
-> Generic DescribeModelResponse
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:
--
-- 'status', 'describeModelResponse_status' - Specifies the current status of the model being described. Status
-- describes the status of the most recent action of the model.
--
-- '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/
--
-- 'trainingExecutionStartTime', 'describeModelResponse_trainingExecutionStartTime' - Indicates the time at which the training of the ML model began.
--
-- 'datasetArn', 'describeModelResponse_datasetArn' - The Amazon Resouce Name (ARN) of the dataset used to create the ML model
-- being described.
--
-- 'failedReason', 'describeModelResponse_failedReason' - If the training of the ML model failed, this indicates the reason for
-- that failure.
--
-- 'modelArn', 'describeModelResponse_modelArn' - The Amazon Resource Name (ARN) of the ML model being described.
--
-- 'lastUpdatedTime', 'describeModelResponse_lastUpdatedTime' - Indicates the last time the ML model was updated. The type of update is
-- not specified.
--
-- 'trainingDataEndTime', 'describeModelResponse_trainingDataEndTime' - Indicates the time reference in the dataset that was used to end the
-- subset of training data for the ML model.
--
-- 'createdAt', 'describeModelResponse_createdAt' - Indicates the time and date at which the ML model was created.
--
-- 'modelName', 'describeModelResponse_modelName' - The name 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.
--
-- 'evaluationDataStartTime', 'describeModelResponse_evaluationDataStartTime' - Indicates the time reference in the dataset that was used to begin the
-- subset of evaluation data for the ML model.
--
-- 'schema', 'describeModelResponse_schema' - A JSON description of the data that is in each time series dataset,
-- including names, column names, and data types.
--
-- '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.
--
-- 'evaluationDataEndTime', 'describeModelResponse_evaluationDataEndTime' - Indicates the time reference in the dataset that was used to end the
-- subset of evaluation data for the ML model.
--
-- 'datasetName', 'describeModelResponse_datasetName' - The name of the dataset being used by the ML being described.
--
-- '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.
--
-- 'labelsInputConfiguration', 'describeModelResponse_labelsInputConfiguration' - Specifies configuration information about the labels input, including
-- its S3 location.
--
-- 'serverSideKmsKeyId', 'describeModelResponse_serverSideKmsKeyId' - Provides the identifier of the KMS key used to encrypt model data by
-- Amazon Lookout for Equipment.
--
-- 'roleArn', 'describeModelResponse_roleArn' - The Amazon Resource Name (ARN) of a role with permission to access the
-- data source for the ML model being described.
--
-- 'httpStatus', 'describeModelResponse_httpStatus' - The response's http status code.
newDescribeModelResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeModelResponse
newDescribeModelResponse :: Int -> DescribeModelResponse
newDescribeModelResponse Int
pHttpStatus_ =
  DescribeModelResponse' :: Maybe ModelStatus
-> Maybe DataPreProcessingConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe POSIX
-> Maybe LabelsInputConfiguration
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeModelResponse
DescribeModelResponse'
    { $sel:status:DescribeModelResponse' :: Maybe ModelStatus
status = Maybe ModelStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:dataPreProcessingConfiguration:DescribeModelResponse' :: Maybe DataPreProcessingConfiguration
dataPreProcessingConfiguration = Maybe DataPreProcessingConfiguration
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingExecutionStartTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:datasetArn:DescribeModelResponse' :: Maybe Text
datasetArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:failedReason:DescribeModelResponse' :: Maybe Text
failedReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:DescribeModelResponse' :: Maybe Text
modelArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdatedTime:DescribeModelResponse' :: Maybe POSIX
lastUpdatedTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataEndTime:DescribeModelResponse' :: Maybe POSIX
trainingDataEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:DescribeModelResponse' :: Maybe POSIX
createdAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:DescribeModelResponse' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modelMetrics:DescribeModelResponse' :: Maybe Text
modelMetrics = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationDataStartTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:schema:DescribeModelResponse' :: Maybe Text
schema = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:offCondition:DescribeModelResponse' :: Maybe Text
offCondition = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationDataEndTime:DescribeModelResponse' :: Maybe POSIX
evaluationDataEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:datasetName:DescribeModelResponse' :: Maybe Text
datasetName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingDataStartTime:DescribeModelResponse' :: Maybe POSIX
trainingDataStartTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:trainingExecutionEndTime:DescribeModelResponse' :: Maybe POSIX
trainingExecutionEndTime = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:labelsInputConfiguration:DescribeModelResponse' :: Maybe LabelsInputConfiguration
labelsInputConfiguration = Maybe LabelsInputConfiguration
forall a. Maybe a
Prelude.Nothing,
      $sel:serverSideKmsKeyId:DescribeModelResponse' :: Maybe Text
serverSideKmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeModelResponse' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeModelResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | 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 :: (Maybe ModelStatus -> f (Maybe ModelStatus))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_status = (DescribeModelResponse -> Maybe ModelStatus)
-> (DescribeModelResponse
    -> Maybe ModelStatus -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe ModelStatus)
     (Maybe ModelStatus)
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)

-- | 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 :: (Maybe DataPreProcessingConfiguration
 -> f (Maybe DataPreProcessingConfiguration))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_dataPreProcessingConfiguration = (DescribeModelResponse -> Maybe DataPreProcessingConfiguration)
-> (DescribeModelResponse
    -> Maybe DataPreProcessingConfiguration -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe DataPreProcessingConfiguration)
     (Maybe 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)

-- | Indicates the time at which the training of the ML model began.
describeModelResponse_trainingExecutionStartTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingExecutionStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_trainingExecutionStartTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_datasetArn = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_failedReason = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | The Amazon Resource Name (ARN) of the ML model being described.
describeModelResponse_modelArn :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_modelArn :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_modelArn = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_lastUpdatedTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | 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 :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_trainingDataEndTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Indicates the time and date at which the ML model was created.
describeModelResponse_createdAt :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_createdAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_createdAt = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the ML model being described.
describeModelResponse_modelName :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_modelName :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_modelName = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_modelMetrics = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_evaluationDataStartTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_schema = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_offCondition = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_evaluationDataEndTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the dataset being used by the ML being described.
describeModelResponse_datasetName :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.Text)
describeModelResponse_datasetName :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_datasetName = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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 begin the
-- subset of training data for the ML model.
describeModelResponse_trainingDataStartTime :: Lens.Lens' DescribeModelResponse (Prelude.Maybe Prelude.UTCTime)
describeModelResponse_trainingDataStartTime :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_trainingDataStartTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._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 :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_trainingExecutionEndTime = (DescribeModelResponse -> Maybe POSIX)
-> (DescribeModelResponse -> Maybe POSIX -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe POSIX)
     (Maybe POSIX)
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) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeModelResponse -> f DescribeModelResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeModelResponse
-> f DescribeModelResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Specifies configuration information about the labels input, including
-- its S3 location.
describeModelResponse_labelsInputConfiguration :: Lens.Lens' DescribeModelResponse (Prelude.Maybe LabelsInputConfiguration)
describeModelResponse_labelsInputConfiguration :: (Maybe LabelsInputConfiguration
 -> f (Maybe LabelsInputConfiguration))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_labelsInputConfiguration = (DescribeModelResponse -> Maybe LabelsInputConfiguration)
-> (DescribeModelResponse
    -> Maybe LabelsInputConfiguration -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe LabelsInputConfiguration)
     (Maybe 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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_serverSideKmsKeyId = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | 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 :: (Maybe Text -> f (Maybe Text))
-> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_roleArn = (DescribeModelResponse -> Maybe Text)
-> (DescribeModelResponse -> Maybe Text -> DescribeModelResponse)
-> Lens
     DescribeModelResponse
     DescribeModelResponse
     (Maybe Text)
     (Maybe Text)
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)

-- | The response's http status code.
describeModelResponse_httpStatus :: Lens.Lens' DescribeModelResponse Prelude.Int
describeModelResponse_httpStatus :: (Int -> f Int) -> DescribeModelResponse -> f DescribeModelResponse
describeModelResponse_httpStatus = (DescribeModelResponse -> Int)
-> (DescribeModelResponse -> Int -> DescribeModelResponse)
-> Lens DescribeModelResponse DescribeModelResponse Int Int
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