{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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_createdOn,
    getMLTransformResponse_description,
    getMLTransformResponse_evaluationMetrics,
    getMLTransformResponse_glueVersion,
    getMLTransformResponse_inputRecordTables,
    getMLTransformResponse_labelCount,
    getMLTransformResponse_lastModifiedOn,
    getMLTransformResponse_maxCapacity,
    getMLTransformResponse_maxRetries,
    getMLTransformResponse_name,
    getMLTransformResponse_numberOfWorkers,
    getMLTransformResponse_parameters,
    getMLTransformResponse_role,
    getMLTransformResponse_schema,
    getMLTransformResponse_status,
    getMLTransformResponse_timeout,
    getMLTransformResponse_transformEncryption,
    getMLTransformResponse_transformId,
    getMLTransformResponse_workerType,
    getMLTransformResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Glue.Types
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
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]
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
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. 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' {$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 :: Lens' GetMLTransform Text
getMLTransform_transformId = 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 :: (Service -> Service) -> GetMLTransform -> Request GetMLTransform
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy GetMLTransform
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetMLTransform)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe POSIX
-> Maybe Text
-> Maybe EvaluationMetrics
-> Maybe Text
-> Maybe [GlueTable]
-> Maybe Int
-> Maybe POSIX
-> Maybe Double
-> Maybe Int
-> Maybe Text
-> Maybe Int
-> Maybe TransformParameters
-> Maybe Text
-> Maybe [SchemaColumn]
-> Maybe TransformStatusType
-> Maybe Natural
-> Maybe TransformEncryption
-> Maybe Text
-> Maybe WorkerType
-> Int
-> GetMLTransformResponse
GetMLTransformResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"CreatedOn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Description")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"EvaluationMetrics")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"GlueVersion")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InputRecordTables"
                            forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LabelCount")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"LastModifiedOn")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"MaxCapacity")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"MaxRetries")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Name")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NumberOfWorkers")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Parameters")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Role")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Schema" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Timeout")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TransformEncryption")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"TransformId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"WorkerType")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

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

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

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

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

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

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

-- | /See:/ 'newGetMLTransformResponse' smart constructor.
data GetMLTransformResponse = GetMLTransformResponse'
  { -- | The date and time when the transform was created.
    GetMLTransformResponse -> Maybe POSIX
createdOn :: Prelude.Maybe Data.POSIX,
    -- | A description of the transform.
    GetMLTransformResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The latest evaluation metrics.
    GetMLTransformResponse -> Maybe EvaluationMetrics
evaluationMetrics :: Prelude.Maybe EvaluationMetrics,
    -- | 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,
    -- | A list of Glue table definitions used by the transform.
    GetMLTransformResponse -> Maybe [GlueTable]
inputRecordTables :: Prelude.Maybe [GlueTable],
    -- | The number of labels available for this transform.
    GetMLTransformResponse -> Maybe Int
labelCount :: Prelude.Maybe Prelude.Int,
    -- | The date and time when the transform was last modified.
    GetMLTransformResponse -> Maybe POSIX
lastModifiedOn :: Prelude.Maybe Data.POSIX,
    -- | 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 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 unique name given to the transform when it was created.
    GetMLTransformResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The number of workers of a defined @workerType@ that are allocated when
    -- this task runs.
    GetMLTransformResponse -> Maybe Int
numberOfWorkers :: Prelude.Maybe Prelude.Int,
    -- | The configuration parameters that are specific to the algorithm used.
    GetMLTransformResponse -> Maybe TransformParameters
parameters :: Prelude.Maybe TransformParameters,
    -- | The name or Amazon Resource Name (ARN) of the IAM role with the required
    -- permissions.
    GetMLTransformResponse -> Maybe Text
role' :: Prelude.Maybe Prelude.Text,
    -- | 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 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 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,
    -- | The unique identifier of the transform, generated at the time that the
    -- transform was created.
    GetMLTransformResponse -> Maybe Text
transformId :: Prelude.Maybe Prelude.Text,
    -- | 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,
    -- | The response's http status code.
    GetMLTransformResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetMLTransformResponse -> GetMLTransformResponse -> Bool
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]
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
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. 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:
--
-- 'createdOn', 'getMLTransformResponse_createdOn' - The date and time when the transform was created.
--
-- 'description', 'getMLTransformResponse_description' - A description of the transform.
--
-- 'evaluationMetrics', 'getMLTransformResponse_evaluationMetrics' - The latest evaluation metrics.
--
-- '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.
--
-- 'inputRecordTables', 'getMLTransformResponse_inputRecordTables' - A list of Glue table definitions used by the transform.
--
-- 'labelCount', 'getMLTransformResponse_labelCount' - The number of labels available for this transform.
--
-- 'lastModifiedOn', 'getMLTransformResponse_lastModifiedOn' - The date and time when the transform was last modified.
--
-- '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.
--
-- 'maxRetries', 'getMLTransformResponse_maxRetries' - The maximum number of times to retry a task for this transform after a
-- task run fails.
--
-- 'name', 'getMLTransformResponse_name' - The unique name given to the transform when it was created.
--
-- 'numberOfWorkers', 'getMLTransformResponse_numberOfWorkers' - The number of workers of a defined @workerType@ that are allocated when
-- this task runs.
--
-- 'parameters', 'getMLTransformResponse_parameters' - The configuration parameters that are specific to the algorithm used.
--
-- 'role'', 'getMLTransformResponse_role' - The name or Amazon Resource Name (ARN) of the IAM role with the required
-- permissions.
--
-- 'schema', 'getMLTransformResponse_schema' - The @Map\<Column, Type>@ object that represents the schema that this
-- transform accepts. Has an upper bound of 100 columns.
--
-- '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\".
--
-- '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.
--
-- 'transformId', 'getMLTransformResponse_transformId' - The unique identifier of the transform, generated at the time that the
-- transform was created.
--
-- '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.
--
-- 'httpStatus', 'getMLTransformResponse_httpStatus' - The response's http status code.
newGetMLTransformResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetMLTransformResponse
newGetMLTransformResponse :: Int -> GetMLTransformResponse
newGetMLTransformResponse Int
pHttpStatus_ =
  GetMLTransformResponse'
    { $sel:createdOn:GetMLTransformResponse' :: Maybe POSIX
createdOn =
        forall a. Maybe a
Prelude.Nothing,
      $sel:description:GetMLTransformResponse' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
      $sel:evaluationMetrics:GetMLTransformResponse' :: Maybe EvaluationMetrics
evaluationMetrics = forall a. Maybe a
Prelude.Nothing,
      $sel:glueVersion:GetMLTransformResponse' :: Maybe Text
glueVersion = forall a. Maybe a
Prelude.Nothing,
      $sel:inputRecordTables:GetMLTransformResponse' :: Maybe [GlueTable]
inputRecordTables = forall a. Maybe a
Prelude.Nothing,
      $sel:labelCount:GetMLTransformResponse' :: Maybe Int
labelCount = forall a. Maybe a
Prelude.Nothing,
      $sel:lastModifiedOn:GetMLTransformResponse' :: Maybe POSIX
lastModifiedOn = forall a. Maybe a
Prelude.Nothing,
      $sel:maxCapacity:GetMLTransformResponse' :: Maybe Double
maxCapacity = forall a. Maybe a
Prelude.Nothing,
      $sel:maxRetries:GetMLTransformResponse' :: Maybe Int
maxRetries = forall a. Maybe a
Prelude.Nothing,
      $sel:name:GetMLTransformResponse' :: Maybe Text
name = forall a. Maybe a
Prelude.Nothing,
      $sel:numberOfWorkers:GetMLTransformResponse' :: Maybe Int
numberOfWorkers = forall a. Maybe a
Prelude.Nothing,
      $sel:parameters:GetMLTransformResponse' :: Maybe TransformParameters
parameters = forall a. Maybe a
Prelude.Nothing,
      $sel:role':GetMLTransformResponse' :: Maybe Text
role' = forall a. Maybe a
Prelude.Nothing,
      $sel:schema:GetMLTransformResponse' :: Maybe [SchemaColumn]
schema = forall a. Maybe a
Prelude.Nothing,
      $sel:status:GetMLTransformResponse' :: Maybe TransformStatusType
status = forall a. Maybe a
Prelude.Nothing,
      $sel:timeout:GetMLTransformResponse' :: Maybe Natural
timeout = forall a. Maybe a
Prelude.Nothing,
      $sel:transformEncryption:GetMLTransformResponse' :: Maybe TransformEncryption
transformEncryption = forall a. Maybe a
Prelude.Nothing,
      $sel:transformId:GetMLTransformResponse' :: Maybe Text
transformId = forall a. Maybe a
Prelude.Nothing,
      $sel:workerType:GetMLTransformResponse' :: Maybe WorkerType
workerType = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetMLTransformResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The date and time when the transform was created.
getMLTransformResponse_createdOn :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.UTCTime)
getMLTransformResponse_createdOn :: Lens' GetMLTransformResponse (Maybe UTCTime)
getMLTransformResponse_createdOn = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | A description of the transform.
getMLTransformResponse_description :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_description :: Lens' GetMLTransformResponse (Maybe Text)
getMLTransformResponse_description = 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 latest evaluation metrics.
getMLTransformResponse_evaluationMetrics :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe EvaluationMetrics)
getMLTransformResponse_evaluationMetrics :: Lens' GetMLTransformResponse (Maybe EvaluationMetrics)
getMLTransformResponse_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)

-- | 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 :: Lens' GetMLTransformResponse (Maybe Text)
getMLTransformResponse_glueVersion = 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)

-- | A list of Glue table definitions used by the transform.
getMLTransformResponse_inputRecordTables :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe [GlueTable])
getMLTransformResponse_inputRecordTables :: Lens' GetMLTransformResponse (Maybe [GlueTable])
getMLTransformResponse_inputRecordTables = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The number of labels available for this transform.
getMLTransformResponse_labelCount :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Int)
getMLTransformResponse_labelCount :: Lens' GetMLTransformResponse (Maybe Int)
getMLTransformResponse_labelCount = 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 date and time when the transform was last modified.
getMLTransformResponse_lastModifiedOn :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.UTCTime)
getMLTransformResponse_lastModifiedOn :: Lens' GetMLTransformResponse (Maybe UTCTime)
getMLTransformResponse_lastModifiedOn = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | The 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 :: Lens' GetMLTransformResponse (Maybe Double)
getMLTransformResponse_maxCapacity = 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 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 :: Lens' GetMLTransformResponse (Maybe Int)
getMLTransformResponse_maxRetries = 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 unique name given to the transform when it was created.
getMLTransformResponse_name :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe Prelude.Text)
getMLTransformResponse_name :: Lens' GetMLTransformResponse (Maybe Text)
getMLTransformResponse_name = 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 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 :: Lens' GetMLTransformResponse (Maybe Int)
getMLTransformResponse_numberOfWorkers = 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 configuration parameters that are specific to the algorithm used.
getMLTransformResponse_parameters :: Lens.Lens' GetMLTransformResponse (Prelude.Maybe TransformParameters)
getMLTransformResponse_parameters :: Lens' GetMLTransformResponse (Maybe TransformParameters)
getMLTransformResponse_parameters = 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 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 :: Lens' GetMLTransformResponse (Maybe Text)
getMLTransformResponse_role = 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 @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 :: Lens' GetMLTransformResponse (Maybe [SchemaColumn])
getMLTransformResponse_schema = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | 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 :: Lens' GetMLTransformResponse (Maybe TransformStatusType)
getMLTransformResponse_status = 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 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 :: Lens' GetMLTransformResponse (Maybe Natural)
getMLTransformResponse_timeout = 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 :: Lens' GetMLTransformResponse (Maybe TransformEncryption)
getMLTransformResponse_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)

-- | 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 :: Lens' GetMLTransformResponse (Maybe Text)
getMLTransformResponse_transformId = 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 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 :: Lens' GetMLTransformResponse (Maybe WorkerType)
getMLTransformResponse_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)

-- | The response's http status code.
getMLTransformResponse_httpStatus :: Lens.Lens' GetMLTransformResponse Prelude.Int
getMLTransformResponse_httpStatus :: Lens' GetMLTransformResponse Int
getMLTransformResponse_httpStatus = 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 where
  rnf :: GetMLTransformResponse -> ()
rnf GetMLTransformResponse' {Int
Maybe Double
Maybe Int
Maybe Natural
Maybe [GlueTable]
Maybe [SchemaColumn]
Maybe Text
Maybe POSIX
Maybe TransformEncryption
Maybe TransformStatusType
Maybe TransformParameters
Maybe EvaluationMetrics
Maybe WorkerType
httpStatus :: Int
workerType :: Maybe WorkerType
transformId :: Maybe Text
transformEncryption :: Maybe TransformEncryption
timeout :: Maybe Natural
status :: Maybe TransformStatusType
schema :: Maybe [SchemaColumn]
role' :: Maybe Text
parameters :: Maybe TransformParameters
numberOfWorkers :: Maybe Int
name :: Maybe Text
maxRetries :: Maybe Int
maxCapacity :: Maybe Double
lastModifiedOn :: Maybe POSIX
labelCount :: Maybe Int
inputRecordTables :: Maybe [GlueTable]
glueVersion :: Maybe Text
evaluationMetrics :: Maybe EvaluationMetrics
description :: Maybe Text
createdOn :: Maybe POSIX
$sel:httpStatus:GetMLTransformResponse' :: GetMLTransformResponse -> Int
$sel:workerType:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe WorkerType
$sel:transformId:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
$sel:transformEncryption:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformEncryption
$sel:timeout:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Natural
$sel:status:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformStatusType
$sel:schema:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe [SchemaColumn]
$sel:role':GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
$sel:parameters:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe TransformParameters
$sel:numberOfWorkers:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
$sel:name:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
$sel:maxRetries:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
$sel:maxCapacity:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Double
$sel:lastModifiedOn:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe POSIX
$sel:labelCount:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Int
$sel:inputRecordTables:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe [GlueTable]
$sel:glueVersion:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
$sel:evaluationMetrics:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe EvaluationMetrics
$sel:description:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe Text
$sel:createdOn:GetMLTransformResponse' :: GetMLTransformResponse -> Maybe POSIX
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
createdOn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe EvaluationMetrics
evaluationMetrics
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
glueVersion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [GlueTable]
inputRecordTables
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
labelCount
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastModifiedOn
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Double
maxCapacity
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
maxRetries
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
name
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
numberOfWorkers
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TransformParameters
parameters
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
role'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SchemaColumn]
schema
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TransformStatusType
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
timeout
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TransformEncryption
transformEncryption
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
transformId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe WorkerType
workerType
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus