{-# 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.Glue.GetMLTransform
-- 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)
--
-- Gets an Glue machine learning transform artifact and all its
-- corresponding metadata. Machine learning transforms are a special type
-- of transform that use machine learning to learn the details of the
-- transformation to be performed by learning from examples provided by
-- humans. These transformations are then saved by Glue. You can retrieve
-- their metadata by calling @GetMLTransform@.
module Amazonka.Glue.GetMLTransform
  ( -- * Creating a Request
    GetMLTransform (..),
    newGetMLTransform,

    -- * Request Lenses
    getMLTransform_transformId,

    -- * Destructuring the Response
    GetMLTransformResponse (..),
    newGetMLTransformResponse,

    -- * Response Lenses
    getMLTransformResponse_status,
    getMLTransformResponse_numberOfWorkers,
    getMLTransformResponse_lastModifiedOn,
    getMLTransformResponse_labelCount,
    getMLTransformResponse_workerType,
    getMLTransformResponse_inputRecordTables,
    getMLTransformResponse_glueVersion,
    getMLTransformResponse_evaluationMetrics,
    getMLTransformResponse_schema,
    getMLTransformResponse_role,
    getMLTransformResponse_name,
    getMLTransformResponse_parameters,
    getMLTransformResponse_maxRetries,
    getMLTransformResponse_maxCapacity,
    getMLTransformResponse_timeout,
    getMLTransformResponse_transformEncryption,
    getMLTransformResponse_description,
    getMLTransformResponse_createdOn,
    getMLTransformResponse_transformId,
    getMLTransformResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import Amazonka.Glue.Types
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newGetMLTransform' smart constructor.
data GetMLTransform = GetMLTransform'
  { -- | The unique identifier of the transform, generated at the time that the
    -- transform was created.
    GetMLTransform -> Text
transformId :: Prelude.Text
  }
  deriving (GetMLTransform -> GetMLTransform -> Bool
(GetMLTransform -> GetMLTransform -> Bool)
-> (GetMLTransform -> GetMLTransform -> Bool) -> Eq GetMLTransform
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetMLTransform -> GetMLTransform -> Bool
$c/= :: GetMLTransform -> GetMLTransform -> Bool
== :: GetMLTransform -> GetMLTransform -> Bool
$c== :: GetMLTransform -> GetMLTransform -> Bool
Prelude.Eq, ReadPrec [GetMLTransform]
ReadPrec GetMLTransform
Int -> ReadS GetMLTransform
ReadS [GetMLTransform]
(Int -> ReadS GetMLTransform)
-> ReadS [GetMLTransform]
-> ReadPrec GetMLTransform
-> ReadPrec [GetMLTransform]
-> Read GetMLTransform
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetMLTransform]
$creadListPrec :: ReadPrec [GetMLTransform]
readPrec :: ReadPrec GetMLTransform
$creadPrec :: ReadPrec GetMLTransform
readList :: ReadS [GetMLTransform]
$creadList :: ReadS [GetMLTransform]
readsPrec :: Int -> ReadS GetMLTransform
$creadsPrec :: Int -> ReadS GetMLTransform
Prelude.Read, Int -> GetMLTransform -> ShowS
[GetMLTransform] -> ShowS
GetMLTransform -> String
(Int -> GetMLTransform -> ShowS)
-> (GetMLTransform -> String)
-> ([GetMLTransform] -> ShowS)
-> Show GetMLTransform
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetMLTransform] -> ShowS
$cshowList :: [GetMLTransform] -> ShowS
show :: GetMLTransform -> String
$cshow :: GetMLTransform -> String
showsPrec :: Int -> GetMLTransform -> ShowS
$cshowsPrec :: Int -> GetMLTransform -> ShowS
Prelude.Show, (forall x. GetMLTransform -> Rep GetMLTransform x)
-> (forall x. Rep GetMLTransform x -> GetMLTransform)
-> Generic GetMLTransform
forall x. Rep GetMLTransform x -> GetMLTransform
forall x. GetMLTransform -> Rep GetMLTransform x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMLTransform x -> GetMLTransform
$cfrom :: forall x. GetMLTransform -> Rep GetMLTransform x
Prelude.Generic)

-- |
-- Create a value of 'GetMLTransform' 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:
--
-- 'transformId', 'getMLTransform_transformId' - The unique identifier of the transform, generated at the time that the
-- transform was created.
newGetMLTransform ::
  -- | 'transformId'
  Prelude.Text ->
  GetMLTransform
newGetMLTransform :: Text -> GetMLTransform
newGetMLTransform Text
pTransformId_ =
  GetMLTransform' :: Text -> GetMLTransform
GetMLTransform' {$sel:transformId:GetMLTransform' :: Text
transformId = Text
pTransformId_}

-- | The unique identifier of the transform, generated at the time that the
-- transform was created.
getMLTransform_transformId :: Lens.Lens' GetMLTransform Prelude.Text
getMLTransform_transformId :: (Text -> f Text) -> GetMLTransform -> f GetMLTransform
getMLTransform_transformId = (GetMLTransform -> Text)
-> (GetMLTransform -> Text -> GetMLTransform)
-> Lens GetMLTransform GetMLTransform Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransform' {Text
transformId :: Text
$sel:transformId:GetMLTransform' :: GetMLTransform -> Text
transformId} -> Text
transformId) (\s :: GetMLTransform
s@GetMLTransform' {} Text
a -> GetMLTransform
s {$sel:transformId:GetMLTransform' :: Text
transformId = Text
a} :: GetMLTransform)

instance Core.AWSRequest GetMLTransform where
  type
    AWSResponse GetMLTransform =
      GetMLTransformResponse
  request :: GetMLTransform -> Request GetMLTransform
request = Service -> GetMLTransform -> Request GetMLTransform
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy GetMLTransform
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetMLTransform)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse GetMLTransform))
-> Logger
-> Service
-> Proxy GetMLTransform
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetMLTransform)))
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 TransformStatusType
-> Maybe Int
-> Maybe POSIX
-> Maybe Int
-> Maybe WorkerType
-> Maybe [GlueTable]
-> Maybe Text
-> Maybe EvaluationMetrics
-> Maybe [SchemaColumn]
-> Maybe Text
-> Maybe Text
-> Maybe TransformParameters
-> Maybe Int
-> Maybe Double
-> Maybe Natural
-> Maybe TransformEncryption
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Int
-> GetMLTransformResponse
GetMLTransformResponse'
            (Maybe TransformStatusType
 -> Maybe Int
 -> Maybe POSIX
 -> Maybe Int
 -> Maybe WorkerType
 -> Maybe [GlueTable]
 -> Maybe Text
 -> Maybe EvaluationMetrics
 -> Maybe [SchemaColumn]
 -> Maybe Text
 -> Maybe Text
 -> Maybe TransformParameters
 -> Maybe Int
 -> Maybe Double
 -> Maybe Natural
 -> Maybe TransformEncryption
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Int
 -> GetMLTransformResponse)
-> Either String (Maybe TransformStatusType)
-> Either
     String
     (Maybe Int
      -> Maybe POSIX
      -> Maybe Int
      -> Maybe WorkerType
      -> Maybe [GlueTable]
      -> Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe TransformStatusType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe Int
   -> Maybe POSIX
   -> Maybe Int
   -> Maybe WorkerType
   -> Maybe [GlueTable]
   -> Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe POSIX
      -> Maybe Int
      -> Maybe WorkerType
      -> Maybe [GlueTable]
      -> Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"NumberOfWorkers")
            Either
  String
  (Maybe POSIX
   -> Maybe Int
   -> Maybe WorkerType
   -> Maybe [GlueTable]
   -> Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Int
      -> Maybe WorkerType
      -> Maybe [GlueTable]
      -> Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
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
"LastModifiedOn")
            Either
  String
  (Maybe Int
   -> Maybe WorkerType
   -> Maybe [GlueTable]
   -> Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe WorkerType
      -> Maybe [GlueTable]
      -> Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LabelCount")
            Either
  String
  (Maybe WorkerType
   -> Maybe [GlueTable]
   -> Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe WorkerType)
-> Either
     String
     (Maybe [GlueTable]
      -> Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe WorkerType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"WorkerType")
            Either
  String
  (Maybe [GlueTable]
   -> Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe [GlueTable])
-> Either
     String
     (Maybe Text
      -> Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Either String (Maybe (Maybe [GlueTable]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"InputRecordTables"
                            Either String (Maybe (Maybe [GlueTable]))
-> Maybe [GlueTable] -> Either String (Maybe [GlueTable])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [GlueTable]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe Text
   -> Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe EvaluationMetrics
      -> Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
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
"GlueVersion")
            Either
  String
  (Maybe EvaluationMetrics
   -> Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe EvaluationMetrics)
-> Either
     String
     (Maybe [SchemaColumn]
      -> Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe EvaluationMetrics)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"EvaluationMetrics")
            Either
  String
  (Maybe [SchemaColumn]
   -> Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe [SchemaColumn])
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [SchemaColumn]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Schema" Either String (Maybe (Maybe [SchemaColumn]))
-> Maybe [SchemaColumn] -> Either String (Maybe [SchemaColumn])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [SchemaColumn]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
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
"Role")
            Either
  String
  (Maybe Text
   -> Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe TransformParameters
      -> Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
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
"Name")
            Either
  String
  (Maybe TransformParameters
   -> Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe TransformParameters)
-> Either
     String
     (Maybe Int
      -> Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe TransformParameters)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Parameters")
            Either
  String
  (Maybe Int
   -> Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Int)
-> Either
     String
     (Maybe Double
      -> Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Int)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"MaxRetries")
            Either
  String
  (Maybe Double
   -> Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Double)
-> Either
     String
     (Maybe Natural
      -> Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Double)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"MaxCapacity")
            Either
  String
  (Maybe Natural
   -> Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe Natural)
-> Either
     String
     (Maybe TransformEncryption
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Int
      -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Timeout")
            Either
  String
  (Maybe TransformEncryption
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Int
   -> GetMLTransformResponse)
-> Either String (Maybe TransformEncryption)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX -> Maybe Text -> Int -> GetMLTransformResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe TransformEncryption)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"TransformEncryption")
            Either
  String
  (Maybe Text
   -> Maybe POSIX -> Maybe Text -> Int -> GetMLTransformResponse)
-> Either String (Maybe Text)
-> Either
     String (Maybe POSIX -> Maybe Text -> Int -> GetMLTransformResponse)
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
"Description")
            Either
  String (Maybe POSIX -> Maybe Text -> Int -> GetMLTransformResponse)
-> Either String (Maybe POSIX)
-> Either String (Maybe Text -> Int -> GetMLTransformResponse)
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
"CreatedOn")
            Either String (Maybe Text -> Int -> GetMLTransformResponse)
-> Either String (Maybe Text)
-> Either String (Int -> GetMLTransformResponse)
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
"TransformId")
            Either String (Int -> GetMLTransformResponse)
-> Either String Int -> Either String GetMLTransformResponse
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 GetMLTransform

instance Prelude.NFData GetMLTransform

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

instance Core.ToJSON GetMLTransform where
  toJSON :: GetMLTransform -> Value
toJSON GetMLTransform' {Text
transformId :: Text
$sel:transformId:GetMLTransform' :: GetMLTransform -> 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
"TransformId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
transformId)]
      )

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

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

-- | /See:/ 'newGetMLTransformResponse' smart constructor.
data GetMLTransformResponse = GetMLTransformResponse'
  { -- | The last known status of the transform (to indicate whether it can be
    -- used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".
    GetMLTransformResponse -> Maybe TransformStatusType
status :: Prelude.Maybe TransformStatusType,
    -- | The number of workers of a defined @workerType@ that are allocated when
    -- this task runs.
    GetMLTransformResponse -> Maybe Int
numberOfWorkers :: Prelude.Maybe Prelude.Int,
    -- | The date and time when the transform was last modified.
    GetMLTransformResponse -> Maybe POSIX
lastModifiedOn :: Prelude.Maybe Core.POSIX,
    -- | The number of labels available for this transform.
    GetMLTransformResponse -> Maybe Int
labelCount :: Prelude.Maybe Prelude.Int,
    -- | The type of predefined worker that is allocated when this task runs.
    -- Accepts a value of Standard, G.1X, or G.2X.
    --
    -- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
    --     of memory and a 50GB disk, and 2 executors per worker.
    --
    -- -   For the @G.1X@ worker type, each worker provides 4 vCPU, 16 GB of
    --     memory and a 64GB disk, and 1 executor per worker.
    --
    -- -   For the @G.2X@ worker type, each worker provides 8 vCPU, 32 GB of
    --     memory and a 128GB disk, and 1 executor per worker.
    GetMLTransformResponse -> Maybe WorkerType
workerType :: Prelude.Maybe WorkerType,
    -- | A list of Glue table definitions used by the transform.
    GetMLTransformResponse -> Maybe [GlueTable]
inputRecordTables :: Prelude.Maybe [GlueTable],
    -- | This value determines which version of Glue this machine learning
    -- transform is compatible with. Glue 1.0 is recommended for most
    -- customers. If the value is not set, the Glue compatibility defaults to
    -- Glue 0.9. For more information, see
    -- <https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions Glue Versions>
    -- in the developer guide.
    GetMLTransformResponse -> Maybe Text
glueVersion :: Prelude.Maybe Prelude.Text,
    -- | The latest evaluation metrics.
    GetMLTransformResponse -> Maybe EvaluationMetrics
evaluationMetrics :: Prelude.Maybe EvaluationMetrics,
    -- | The @Map\<Column, Type>@ object that represents the schema that this
    -- transform accepts. Has an upper bound of 100 columns.
    GetMLTransformResponse -> Maybe [SchemaColumn]
schema :: Prelude.Maybe [SchemaColumn],
    -- | The name or Amazon Resource Name (ARN) of the IAM role with the required
    -- permissions.
    GetMLTransformResponse -> Maybe Text
role' :: Prelude.Maybe Prelude.Text,
    -- | The unique name given to the transform when it was created.
    GetMLTransformResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The configuration parameters that are specific to the algorithm used.
    GetMLTransformResponse -> Maybe TransformParameters
parameters :: Prelude.Maybe TransformParameters,
    -- | The maximum number of times to retry a task for this transform after a
    -- task run fails.
    GetMLTransformResponse -> Maybe Int
maxRetries :: Prelude.Maybe Prelude.Int,
    -- | The number of Glue data processing units (DPUs) that are allocated to
    -- task runs for this transform. You can allocate from 2 to 100 DPUs; the
    -- default is 10. A DPU is a relative measure of processing power that
    -- consists of 4 vCPUs of compute capacity and 16 GB of memory. For more
    -- information, see the
    -- <https://aws.amazon.com/glue/pricing/ Glue pricing page>.
    --
    -- When the @WorkerType@ field is set to a value other than @Standard@, the
    -- @MaxCapacity@ field is set automatically and becomes read-only.
    GetMLTransformResponse -> Maybe Double
maxCapacity :: Prelude.Maybe Prelude.Double,
    -- | The timeout for a task run for this transform in minutes. This is the
    -- maximum time that a task run for this transform can consume resources
    -- before it is terminated and enters @TIMEOUT@ status. The default is
    -- 2,880 minutes (48 hours).
    GetMLTransformResponse -> Maybe Natural
timeout :: Prelude.Maybe Prelude.Natural,
    -- | The encryption-at-rest settings of the transform that apply to accessing
    -- user data. Machine learning transforms can access user data encrypted in
    -- Amazon S3 using KMS.
    GetMLTransformResponse -> Maybe TransformEncryption
transformEncryption :: Prelude.Maybe TransformEncryption,
    -- | A description of the transform.
    GetMLTransformResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The date and time when the transform was created.
    GetMLTransformResponse -> Maybe POSIX
createdOn :: Prelude.Maybe Core.POSIX,
    -- | The unique identifier of the transform, generated at the time that the
    -- transform was created.
    GetMLTransformResponse -> Maybe Text
transformId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetMLTransformResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetMLTransformResponse -> GetMLTransformResponse -> Bool
(GetMLTransformResponse -> GetMLTransformResponse -> Bool)
-> (GetMLTransformResponse -> GetMLTransformResponse -> Bool)
-> Eq GetMLTransformResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetMLTransformResponse -> GetMLTransformResponse -> Bool
$c/= :: GetMLTransformResponse -> GetMLTransformResponse -> Bool
== :: GetMLTransformResponse -> GetMLTransformResponse -> Bool
$c== :: GetMLTransformResponse -> GetMLTransformResponse -> Bool
Prelude.Eq, ReadPrec [GetMLTransformResponse]
ReadPrec GetMLTransformResponse
Int -> ReadS GetMLTransformResponse
ReadS [GetMLTransformResponse]
(Int -> ReadS GetMLTransformResponse)
-> ReadS [GetMLTransformResponse]
-> ReadPrec GetMLTransformResponse
-> ReadPrec [GetMLTransformResponse]
-> Read GetMLTransformResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetMLTransformResponse]
$creadListPrec :: ReadPrec [GetMLTransformResponse]
readPrec :: ReadPrec GetMLTransformResponse
$creadPrec :: ReadPrec GetMLTransformResponse
readList :: ReadS [GetMLTransformResponse]
$creadList :: ReadS [GetMLTransformResponse]
readsPrec :: Int -> ReadS GetMLTransformResponse
$creadsPrec :: Int -> ReadS GetMLTransformResponse
Prelude.Read, Int -> GetMLTransformResponse -> ShowS
[GetMLTransformResponse] -> ShowS
GetMLTransformResponse -> String
(Int -> GetMLTransformResponse -> ShowS)
-> (GetMLTransformResponse -> String)
-> ([GetMLTransformResponse] -> ShowS)
-> Show GetMLTransformResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetMLTransformResponse] -> ShowS
$cshowList :: [GetMLTransformResponse] -> ShowS
show :: GetMLTransformResponse -> String
$cshow :: GetMLTransformResponse -> String
showsPrec :: Int -> GetMLTransformResponse -> ShowS
$cshowsPrec :: Int -> GetMLTransformResponse -> ShowS
Prelude.Show, (forall x. GetMLTransformResponse -> Rep GetMLTransformResponse x)
-> (forall x.
    Rep GetMLTransformResponse x -> GetMLTransformResponse)
-> Generic GetMLTransformResponse
forall x. Rep GetMLTransformResponse x -> GetMLTransformResponse
forall x. GetMLTransformResponse -> Rep GetMLTransformResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMLTransformResponse x -> GetMLTransformResponse
$cfrom :: forall x. GetMLTransformResponse -> Rep GetMLTransformResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetMLTransformResponse' 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', 'getMLTransformResponse_status' - The last known status of the transform (to indicate whether it can be
-- used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".
--
-- 'numberOfWorkers', 'getMLTransformResponse_numberOfWorkers' - The number of workers of a defined @workerType@ that are allocated when
-- this task runs.
--
-- 'lastModifiedOn', 'getMLTransformResponse_lastModifiedOn' - The date and time when the transform was last modified.
--
-- 'labelCount', 'getMLTransformResponse_labelCount' - The number of labels available for this transform.
--
-- 'workerType', 'getMLTransformResponse_workerType' - The type of predefined worker that is allocated when this task runs.
-- Accepts a value of Standard, G.1X, or G.2X.
--
-- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
--     of memory and a 50GB disk, and 2 executors per worker.
--
-- -   For the @G.1X@ worker type, each worker provides 4 vCPU, 16 GB of
--     memory and a 64GB disk, and 1 executor per worker.
--
-- -   For the @G.2X@ worker type, each worker provides 8 vCPU, 32 GB of
--     memory and a 128GB disk, and 1 executor per worker.
--
-- 'inputRecordTables', 'getMLTransformResponse_inputRecordTables' - A list of Glue table definitions used by the transform.
--
-- 'glueVersion', 'getMLTransformResponse_glueVersion' - This value determines which version of Glue this machine learning
-- transform is compatible with. Glue 1.0 is recommended for most
-- customers. If the value is not set, the Glue compatibility defaults to
-- Glue 0.9. For more information, see
-- <https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions Glue Versions>
-- in the developer guide.
--
-- 'evaluationMetrics', 'getMLTransformResponse_evaluationMetrics' - The latest evaluation metrics.
--
-- 'schema', 'getMLTransformResponse_schema' - The @Map\<Column, Type>@ object that represents the schema that this
-- transform accepts. Has an upper bound of 100 columns.
--
-- 'role'', 'getMLTransformResponse_role' - The name or Amazon Resource Name (ARN) of the IAM role with the required
-- permissions.
--
-- 'name', 'getMLTransformResponse_name' - The unique name given to the transform when it was created.
--
-- 'parameters', 'getMLTransformResponse_parameters' - The configuration parameters that are specific to the algorithm used.
--
-- 'maxRetries', 'getMLTransformResponse_maxRetries' - The maximum number of times to retry a task for this transform after a
-- task run fails.
--
-- 'maxCapacity', 'getMLTransformResponse_maxCapacity' - The number of Glue data processing units (DPUs) that are allocated to
-- task runs for this transform. You can allocate from 2 to 100 DPUs; the
-- default is 10. A DPU is a relative measure of processing power that
-- consists of 4 vCPUs of compute capacity and 16 GB of memory. For more
-- information, see the
-- <https://aws.amazon.com/glue/pricing/ Glue pricing page>.
--
-- When the @WorkerType@ field is set to a value other than @Standard@, the
-- @MaxCapacity@ field is set automatically and becomes read-only.
--
-- 'timeout', 'getMLTransformResponse_timeout' - The timeout for a task run for this transform in minutes. This is the
-- maximum time that a task run for this transform can consume resources
-- before it is terminated and enters @TIMEOUT@ status. The default is
-- 2,880 minutes (48 hours).
--
-- 'transformEncryption', 'getMLTransformResponse_transformEncryption' - The encryption-at-rest settings of the transform that apply to accessing
-- user data. Machine learning transforms can access user data encrypted in
-- Amazon S3 using KMS.
--
-- 'description', 'getMLTransformResponse_description' - A description of the transform.
--
-- 'createdOn', 'getMLTransformResponse_createdOn' - The date and time when the transform was created.
--
-- 'transformId', 'getMLTransformResponse_transformId' - The unique identifier of the transform, generated at the time that the
-- transform was created.
--
-- 'httpStatus', 'getMLTransformResponse_httpStatus' - The response's http status code.
newGetMLTransformResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetMLTransformResponse
newGetMLTransformResponse :: Int -> GetMLTransformResponse
newGetMLTransformResponse Int
pHttpStatus_ =
  GetMLTransformResponse' :: Maybe TransformStatusType
-> Maybe Int
-> Maybe POSIX
-> Maybe Int
-> Maybe WorkerType
-> Maybe [GlueTable]
-> Maybe Text
-> Maybe EvaluationMetrics
-> Maybe [SchemaColumn]
-> Maybe Text
-> Maybe Text
-> Maybe TransformParameters
-> Maybe Int
-> Maybe Double
-> Maybe Natural
-> Maybe TransformEncryption
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Int
-> GetMLTransformResponse
GetMLTransformResponse'
    { $sel:status:GetMLTransformResponse' :: Maybe TransformStatusType
status = Maybe TransformStatusType
forall a. Maybe a
Prelude.Nothing,
      $sel:numberOfWorkers:GetMLTransformResponse' :: Maybe Int
numberOfWorkers = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedOn:GetMLTransformResponse' :: Maybe POSIX
lastModifiedOn = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:labelCount:GetMLTransformResponse' :: Maybe Int
labelCount = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:workerType:GetMLTransformResponse' :: Maybe WorkerType
workerType = Maybe WorkerType
forall a. Maybe a
Prelude.Nothing,
      $sel:inputRecordTables:GetMLTransformResponse' :: Maybe [GlueTable]
inputRecordTables = Maybe [GlueTable]
forall a. Maybe a
Prelude.Nothing,
      $sel:glueVersion:GetMLTransformResponse' :: Maybe Text
glueVersion = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationMetrics:GetMLTransformResponse' :: Maybe EvaluationMetrics
evaluationMetrics = Maybe EvaluationMetrics
forall a. Maybe a
Prelude.Nothing,
      $sel:schema:GetMLTransformResponse' :: Maybe [SchemaColumn]
schema = Maybe [SchemaColumn]
forall a. Maybe a
Prelude.Nothing,
      $sel:role':GetMLTransformResponse' :: Maybe Text
role' = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:name:GetMLTransformResponse' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:parameters:GetMLTransformResponse' :: Maybe TransformParameters
parameters = Maybe TransformParameters
forall a. Maybe a
Prelude.Nothing,
      $sel:maxRetries:GetMLTransformResponse' :: Maybe Int
maxRetries = Maybe Int
forall a. Maybe a
Prelude.Nothing,
      $sel:maxCapacity:GetMLTransformResponse' :: Maybe Double
maxCapacity = Maybe Double
forall a. Maybe a
Prelude.Nothing,
      $sel:timeout:GetMLTransformResponse' :: Maybe Natural
timeout = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:transformEncryption:GetMLTransformResponse' :: Maybe TransformEncryption
transformEncryption = Maybe TransformEncryption
forall a. Maybe a
Prelude.Nothing,
      $sel:description:GetMLTransformResponse' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:createdOn:GetMLTransformResponse' :: Maybe POSIX
createdOn = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:transformId:GetMLTransformResponse' :: Maybe Text
transformId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetMLTransformResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The last known status of the transform (to indicate whether it can be
-- used or not). One of \"NOT_READY\", \"READY\", or \"DELETING\".
getMLTransformResponse_status :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe TransformStatusType)
getMLTransformResponse_status :: (Maybe TransformStatusType -> f (Maybe TransformStatusType))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_status = (GetMLTransformResponse -> Maybe TransformStatusType)
-> (GetMLTransformResponse
    -> Maybe TransformStatusType -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe TransformStatusType)
     (Maybe TransformStatusType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe TransformStatusType
status :: Maybe TransformStatusType
$sel:status:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformStatusType
status} -> Maybe TransformStatusType
status) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe TransformStatusType
a -> GetMLTransformResponse
s {$sel:status:GetMLTransformResponse' :: Maybe TransformStatusType
status = Maybe TransformStatusType
a} :: GetMLTransformResponse)

-- | The number of workers of a defined @workerType@ that are allocated when
-- this task runs.
getMLTransformResponse_numberOfWorkers :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Int)
getMLTransformResponse_numberOfWorkers :: (Maybe Int -> f (Maybe Int))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_numberOfWorkers = (GetMLTransformResponse -> Maybe Int)
-> (GetMLTransformResponse -> Maybe Int -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Int
numberOfWorkers :: Maybe Int
$sel:numberOfWorkers:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
numberOfWorkers} -> Maybe Int
numberOfWorkers) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Int
a -> GetMLTransformResponse
s {$sel:numberOfWorkers:GetMLTransformResponse' :: Maybe Int
numberOfWorkers = Maybe Int
a} :: GetMLTransformResponse)

-- | The date and time when the transform was last modified.
getMLTransformResponse_lastModifiedOn :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.UTCTime)
getMLTransformResponse_lastModifiedOn :: (Maybe UTCTime -> f (Maybe UTCTime))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_lastModifiedOn = (GetMLTransformResponse -> Maybe POSIX)
-> (GetMLTransformResponse
    -> Maybe POSIX -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe POSIX
lastModifiedOn :: Maybe POSIX
$sel:lastModifiedOn:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe POSIX
lastModifiedOn} -> Maybe POSIX
lastModifiedOn) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe POSIX
a -> GetMLTransformResponse
s {$sel:lastModifiedOn:GetMLTransformResponse' :: Maybe POSIX
lastModifiedOn = Maybe POSIX
a} :: GetMLTransformResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> GetMLTransformResponse -> f GetMLTransformResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> GetMLTransformResponse
-> f GetMLTransformResponse
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 number of labels available for this transform.
getMLTransformResponse_labelCount :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Int)
getMLTransformResponse_labelCount :: (Maybe Int -> f (Maybe Int))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_labelCount = (GetMLTransformResponse -> Maybe Int)
-> (GetMLTransformResponse -> Maybe Int -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Int
labelCount :: Maybe Int
$sel:labelCount:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
labelCount} -> Maybe Int
labelCount) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Int
a -> GetMLTransformResponse
s {$sel:labelCount:GetMLTransformResponse' :: Maybe Int
labelCount = Maybe Int
a} :: GetMLTransformResponse)

-- | The type of predefined worker that is allocated when this task runs.
-- Accepts a value of Standard, G.1X, or G.2X.
--
-- -   For the @Standard@ worker type, each worker provides 4 vCPU, 16 GB
--     of memory and a 50GB disk, and 2 executors per worker.
--
-- -   For the @G.1X@ worker type, each worker provides 4 vCPU, 16 GB of
--     memory and a 64GB disk, and 1 executor per worker.
--
-- -   For the @G.2X@ worker type, each worker provides 8 vCPU, 32 GB of
--     memory and a 128GB disk, and 1 executor per worker.
getMLTransformResponse_workerType :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe WorkerType)
getMLTransformResponse_workerType :: (Maybe WorkerType -> f (Maybe WorkerType))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_workerType = (GetMLTransformResponse -> Maybe WorkerType)
-> (GetMLTransformResponse
    -> Maybe WorkerType -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe WorkerType)
     (Maybe WorkerType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe WorkerType
workerType :: Maybe WorkerType
$sel:workerType:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe WorkerType
workerType} -> Maybe WorkerType
workerType) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe WorkerType
a -> GetMLTransformResponse
s {$sel:workerType:GetMLTransformResponse' :: Maybe WorkerType
workerType = Maybe WorkerType
a} :: GetMLTransformResponse)

-- | A list of Glue table definitions used by the transform.
getMLTransformResponse_inputRecordTables :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe [GlueTable])
getMLTransformResponse_inputRecordTables :: (Maybe [GlueTable] -> f (Maybe [GlueTable]))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_inputRecordTables = (GetMLTransformResponse -> Maybe [GlueTable])
-> (GetMLTransformResponse
    -> Maybe [GlueTable] -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe [GlueTable])
     (Maybe [GlueTable])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe [GlueTable]
inputRecordTables :: Maybe [GlueTable]
$sel:inputRecordTables:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe [GlueTable]
inputRecordTables} -> Maybe [GlueTable]
inputRecordTables) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe [GlueTable]
a -> GetMLTransformResponse
s {$sel:inputRecordTables:GetMLTransformResponse' :: Maybe [GlueTable]
inputRecordTables = Maybe [GlueTable]
a} :: GetMLTransformResponse) ((Maybe [GlueTable] -> f (Maybe [GlueTable]))
 -> GetMLTransformResponse -> f GetMLTransformResponse)
-> ((Maybe [GlueTable] -> f (Maybe [GlueTable]))
    -> Maybe [GlueTable] -> f (Maybe [GlueTable]))
-> (Maybe [GlueTable] -> f (Maybe [GlueTable]))
-> GetMLTransformResponse
-> f GetMLTransformResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [GlueTable] [GlueTable] [GlueTable] [GlueTable]
-> Iso
     (Maybe [GlueTable])
     (Maybe [GlueTable])
     (Maybe [GlueTable])
     (Maybe [GlueTable])
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 [GlueTable] [GlueTable] [GlueTable] [GlueTable]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | This value determines which version of Glue this machine learning
-- transform is compatible with. Glue 1.0 is recommended for most
-- customers. If the value is not set, the Glue compatibility defaults to
-- Glue 0.9. For more information, see
-- <https://docs.aws.amazon.com/glue/latest/dg/release-notes.html#release-notes-versions Glue Versions>
-- in the developer guide.
getMLTransformResponse_glueVersion :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_glueVersion :: (Maybe Text -> f (Maybe Text))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_glueVersion = (GetMLTransformResponse -> Maybe Text)
-> (GetMLTransformResponse -> Maybe Text -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Text
glueVersion :: Maybe Text
$sel:glueVersion:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
glueVersion} -> Maybe Text
glueVersion) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Text
a -> GetMLTransformResponse
s {$sel:glueVersion:GetMLTransformResponse' :: Maybe Text
glueVersion = Maybe Text
a} :: GetMLTransformResponse)

-- | The latest evaluation metrics.
getMLTransformResponse_evaluationMetrics :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe EvaluationMetrics)
getMLTransformResponse_evaluationMetrics :: (Maybe EvaluationMetrics -> f (Maybe EvaluationMetrics))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_evaluationMetrics = (GetMLTransformResponse -> Maybe EvaluationMetrics)
-> (GetMLTransformResponse
    -> Maybe EvaluationMetrics -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe EvaluationMetrics)
     (Maybe EvaluationMetrics)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe EvaluationMetrics
evaluationMetrics :: Maybe EvaluationMetrics
$sel:evaluationMetrics:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe EvaluationMetrics
evaluationMetrics} -> Maybe EvaluationMetrics
evaluationMetrics) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe EvaluationMetrics
a -> GetMLTransformResponse
s {$sel:evaluationMetrics:GetMLTransformResponse' :: Maybe EvaluationMetrics
evaluationMetrics = Maybe EvaluationMetrics
a} :: GetMLTransformResponse)

-- | The @Map\<Column, Type>@ object that represents the schema that this
-- transform accepts. Has an upper bound of 100 columns.
getMLTransformResponse_schema :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe [SchemaColumn])
getMLTransformResponse_schema :: (Maybe [SchemaColumn] -> f (Maybe [SchemaColumn]))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_schema = (GetMLTransformResponse -> Maybe [SchemaColumn])
-> (GetMLTransformResponse
    -> Maybe [SchemaColumn] -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe [SchemaColumn])
     (Maybe [SchemaColumn])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe [SchemaColumn]
schema :: Maybe [SchemaColumn]
$sel:schema:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe [SchemaColumn]
schema} -> Maybe [SchemaColumn]
schema) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe [SchemaColumn]
a -> GetMLTransformResponse
s {$sel:schema:GetMLTransformResponse' :: Maybe [SchemaColumn]
schema = Maybe [SchemaColumn]
a} :: GetMLTransformResponse) ((Maybe [SchemaColumn] -> f (Maybe [SchemaColumn]))
 -> GetMLTransformResponse -> f GetMLTransformResponse)
-> ((Maybe [SchemaColumn] -> f (Maybe [SchemaColumn]))
    -> Maybe [SchemaColumn] -> f (Maybe [SchemaColumn]))
-> (Maybe [SchemaColumn] -> f (Maybe [SchemaColumn]))
-> GetMLTransformResponse
-> f GetMLTransformResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [SchemaColumn] [SchemaColumn] [SchemaColumn] [SchemaColumn]
-> Iso
     (Maybe [SchemaColumn])
     (Maybe [SchemaColumn])
     (Maybe [SchemaColumn])
     (Maybe [SchemaColumn])
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 [SchemaColumn] [SchemaColumn] [SchemaColumn] [SchemaColumn]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name or Amazon Resource Name (ARN) of the IAM role with the required
-- permissions.
getMLTransformResponse_role :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_role :: (Maybe Text -> f (Maybe Text))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_role = (GetMLTransformResponse -> Maybe Text)
-> (GetMLTransformResponse -> Maybe Text -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Text
role' :: Maybe Text
$sel:role':GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
role'} -> Maybe Text
role') (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Text
a -> GetMLTransformResponse
s {$sel:role':GetMLTransformResponse' :: Maybe Text
role' = Maybe Text
a} :: GetMLTransformResponse)

-- | The unique name given to the transform when it was created.
getMLTransformResponse_name :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_name :: (Maybe Text -> f (Maybe Text))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_name = (GetMLTransformResponse -> Maybe Text)
-> (GetMLTransformResponse -> Maybe Text -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Text
name :: Maybe Text
$sel:name:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Text
a -> GetMLTransformResponse
s {$sel:name:GetMLTransformResponse' :: Maybe Text
name = Maybe Text
a} :: GetMLTransformResponse)

-- | The configuration parameters that are specific to the algorithm used.
getMLTransformResponse_parameters :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe TransformParameters)
getMLTransformResponse_parameters :: (Maybe TransformParameters -> f (Maybe TransformParameters))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_parameters = (GetMLTransformResponse -> Maybe TransformParameters)
-> (GetMLTransformResponse
    -> Maybe TransformParameters -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe TransformParameters)
     (Maybe TransformParameters)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe TransformParameters
parameters :: Maybe TransformParameters
$sel:parameters:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformParameters
parameters} -> Maybe TransformParameters
parameters) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe TransformParameters
a -> GetMLTransformResponse
s {$sel:parameters:GetMLTransformResponse' :: Maybe TransformParameters
parameters = Maybe TransformParameters
a} :: GetMLTransformResponse)

-- | The maximum number of times to retry a task for this transform after a
-- task run fails.
getMLTransformResponse_maxRetries :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Int)
getMLTransformResponse_maxRetries :: (Maybe Int -> f (Maybe Int))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_maxRetries = (GetMLTransformResponse -> Maybe Int)
-> (GetMLTransformResponse -> Maybe Int -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Int)
     (Maybe Int)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Int
maxRetries :: Maybe Int
$sel:maxRetries:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
maxRetries} -> Maybe Int
maxRetries) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Int
a -> GetMLTransformResponse
s {$sel:maxRetries:GetMLTransformResponse' :: Maybe Int
maxRetries = Maybe Int
a} :: GetMLTransformResponse)

-- | The number of Glue data processing units (DPUs) that are allocated to
-- task runs for this transform. You can allocate from 2 to 100 DPUs; the
-- default is 10. A DPU is a relative measure of processing power that
-- consists of 4 vCPUs of compute capacity and 16 GB of memory. For more
-- information, see the
-- <https://aws.amazon.com/glue/pricing/ Glue pricing page>.
--
-- When the @WorkerType@ field is set to a value other than @Standard@, the
-- @MaxCapacity@ field is set automatically and becomes read-only.
getMLTransformResponse_maxCapacity :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Double)
getMLTransformResponse_maxCapacity :: (Maybe Double -> f (Maybe Double))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_maxCapacity = (GetMLTransformResponse -> Maybe Double)
-> (GetMLTransformResponse
    -> Maybe Double -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Double)
     (Maybe Double)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Double
maxCapacity :: Maybe Double
$sel:maxCapacity:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Double
maxCapacity} -> Maybe Double
maxCapacity) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Double
a -> GetMLTransformResponse
s {$sel:maxCapacity:GetMLTransformResponse' :: Maybe Double
maxCapacity = Maybe Double
a} :: GetMLTransformResponse)

-- | The timeout for a task run for this transform in minutes. This is the
-- maximum time that a task run for this transform can consume resources
-- before it is terminated and enters @TIMEOUT@ status. The default is
-- 2,880 minutes (48 hours).
getMLTransformResponse_timeout :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Natural)
getMLTransformResponse_timeout :: (Maybe Natural -> f (Maybe Natural))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_timeout = (GetMLTransformResponse -> Maybe Natural)
-> (GetMLTransformResponse
    -> Maybe Natural -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Natural
timeout :: Maybe Natural
$sel:timeout:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Natural
timeout} -> Maybe Natural
timeout) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Natural
a -> GetMLTransformResponse
s {$sel:timeout:GetMLTransformResponse' :: Maybe Natural
timeout = Maybe Natural
a} :: GetMLTransformResponse)

-- | The encryption-at-rest settings of the transform that apply to accessing
-- user data. Machine learning transforms can access user data encrypted in
-- Amazon S3 using KMS.
getMLTransformResponse_transformEncryption :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe TransformEncryption)
getMLTransformResponse_transformEncryption :: (Maybe TransformEncryption -> f (Maybe TransformEncryption))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_transformEncryption = (GetMLTransformResponse -> Maybe TransformEncryption)
-> (GetMLTransformResponse
    -> Maybe TransformEncryption -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe TransformEncryption)
     (Maybe TransformEncryption)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe TransformEncryption
transformEncryption :: Maybe TransformEncryption
$sel:transformEncryption:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformEncryption
transformEncryption} -> Maybe TransformEncryption
transformEncryption) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe TransformEncryption
a -> GetMLTransformResponse
s {$sel:transformEncryption:GetMLTransformResponse' :: Maybe TransformEncryption
transformEncryption = Maybe TransformEncryption
a} :: GetMLTransformResponse)

-- | A description of the transform.
getMLTransformResponse_description :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_description :: (Maybe Text -> f (Maybe Text))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_description = (GetMLTransformResponse -> Maybe Text)
-> (GetMLTransformResponse -> Maybe Text -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Text
description :: Maybe Text
$sel:description:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Text
a -> GetMLTransformResponse
s {$sel:description:GetMLTransformResponse' :: Maybe Text
description = Maybe Text
a} :: GetMLTransformResponse)

-- | The date and time when the transform was created.
getMLTransformResponse_createdOn :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.UTCTime)
getMLTransformResponse_createdOn :: (Maybe UTCTime -> f (Maybe UTCTime))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_createdOn = (GetMLTransformResponse -> Maybe POSIX)
-> (GetMLTransformResponse
    -> Maybe POSIX -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe POSIX
createdOn :: Maybe POSIX
$sel:createdOn:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe POSIX
createdOn} -> Maybe POSIX
createdOn) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe POSIX
a -> GetMLTransformResponse
s {$sel:createdOn:GetMLTransformResponse' :: Maybe POSIX
createdOn = Maybe POSIX
a} :: GetMLTransformResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> GetMLTransformResponse -> f GetMLTransformResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> GetMLTransformResponse
-> f GetMLTransformResponse
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 unique identifier of the transform, generated at the time that the
-- transform was created.
getMLTransformResponse_transformId :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_transformId :: (Maybe Text -> f (Maybe Text))
-> GetMLTransformResponse -> f GetMLTransformResponse
getMLTransformResponse_transformId = (GetMLTransformResponse -> Maybe Text)
-> (GetMLTransformResponse -> Maybe Text -> GetMLTransformResponse)
-> Lens
     GetMLTransformResponse
     GetMLTransformResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTransformResponse' {Maybe Text
transformId :: Maybe Text
$sel:transformId:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
transformId} -> Maybe Text
transformId) (\s :: GetMLTransformResponse
s@GetMLTransformResponse' {} Maybe Text
a -> GetMLTransformResponse
s {$sel:transformId:GetMLTransformResponse' :: Maybe Text
transformId = Maybe Text
a} :: GetMLTransformResponse)

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

instance Prelude.NFData GetMLTransformResponse