{-# 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.GetMLTaskRuns
-- 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 a list of runs for a machine learning transform. Machine learning
-- task runs are asynchronous tasks that Glue runs on your behalf as part
-- of various machine learning workflows. You can get a sortable,
-- filterable list of machine learning task runs by calling @GetMLTaskRuns@
-- with their parent transform\'s @TransformID@ and other optional
-- parameters as documented in this section.
--
-- This operation returns a list of historic runs and must be paginated.
module Amazonka.Glue.GetMLTaskRuns
  ( -- * Creating a Request
    GetMLTaskRuns (..),
    newGetMLTaskRuns,

    -- * Request Lenses
    getMLTaskRuns_filter,
    getMLTaskRuns_maxResults,
    getMLTaskRuns_nextToken,
    getMLTaskRuns_sort,
    getMLTaskRuns_transformId,

    -- * Destructuring the Response
    GetMLTaskRunsResponse (..),
    newGetMLTaskRunsResponse,

    -- * Response Lenses
    getMLTaskRunsResponse_nextToken,
    getMLTaskRunsResponse_taskRuns,
    getMLTaskRunsResponse_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:/ 'newGetMLTaskRuns' smart constructor.
data GetMLTaskRuns = GetMLTaskRuns'
  { -- | The filter criteria, in the @TaskRunFilterCriteria@ structure, for the
    -- task run.
    GetMLTaskRuns -> Maybe TaskRunFilterCriteria
filter' :: Prelude.Maybe TaskRunFilterCriteria,
    -- | The maximum number of results to return.
    GetMLTaskRuns -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | A token for pagination of the results. The default is empty.
    GetMLTaskRuns -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The sorting criteria, in the @TaskRunSortCriteria@ structure, for the
    -- task run.
    GetMLTaskRuns -> Maybe TaskRunSortCriteria
sort :: Prelude.Maybe TaskRunSortCriteria,
    -- | The unique identifier of the machine learning transform.
    GetMLTaskRuns -> Text
transformId :: Prelude.Text
  }
  deriving (GetMLTaskRuns -> GetMLTaskRuns -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetMLTaskRuns -> GetMLTaskRuns -> Bool
$c/= :: GetMLTaskRuns -> GetMLTaskRuns -> Bool
== :: GetMLTaskRuns -> GetMLTaskRuns -> Bool
$c== :: GetMLTaskRuns -> GetMLTaskRuns -> Bool
Prelude.Eq, ReadPrec [GetMLTaskRuns]
ReadPrec GetMLTaskRuns
Int -> ReadS GetMLTaskRuns
ReadS [GetMLTaskRuns]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetMLTaskRuns]
$creadListPrec :: ReadPrec [GetMLTaskRuns]
readPrec :: ReadPrec GetMLTaskRuns
$creadPrec :: ReadPrec GetMLTaskRuns
readList :: ReadS [GetMLTaskRuns]
$creadList :: ReadS [GetMLTaskRuns]
readsPrec :: Int -> ReadS GetMLTaskRuns
$creadsPrec :: Int -> ReadS GetMLTaskRuns
Prelude.Read, Int -> GetMLTaskRuns -> ShowS
[GetMLTaskRuns] -> ShowS
GetMLTaskRuns -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetMLTaskRuns] -> ShowS
$cshowList :: [GetMLTaskRuns] -> ShowS
show :: GetMLTaskRuns -> String
$cshow :: GetMLTaskRuns -> String
showsPrec :: Int -> GetMLTaskRuns -> ShowS
$cshowsPrec :: Int -> GetMLTaskRuns -> ShowS
Prelude.Show, forall x. Rep GetMLTaskRuns x -> GetMLTaskRuns
forall x. GetMLTaskRuns -> Rep GetMLTaskRuns x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMLTaskRuns x -> GetMLTaskRuns
$cfrom :: forall x. GetMLTaskRuns -> Rep GetMLTaskRuns x
Prelude.Generic)

-- |
-- Create a value of 'GetMLTaskRuns' 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:
--
-- 'filter'', 'getMLTaskRuns_filter' - The filter criteria, in the @TaskRunFilterCriteria@ structure, for the
-- task run.
--
-- 'maxResults', 'getMLTaskRuns_maxResults' - The maximum number of results to return.
--
-- 'nextToken', 'getMLTaskRuns_nextToken' - A token for pagination of the results. The default is empty.
--
-- 'sort', 'getMLTaskRuns_sort' - The sorting criteria, in the @TaskRunSortCriteria@ structure, for the
-- task run.
--
-- 'transformId', 'getMLTaskRuns_transformId' - The unique identifier of the machine learning transform.
newGetMLTaskRuns ::
  -- | 'transformId'
  Prelude.Text ->
  GetMLTaskRuns
newGetMLTaskRuns :: Text -> GetMLTaskRuns
newGetMLTaskRuns Text
pTransformId_ =
  GetMLTaskRuns'
    { $sel:filter':GetMLTaskRuns' :: Maybe TaskRunFilterCriteria
filter' = forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:GetMLTaskRuns' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:GetMLTaskRuns' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:sort:GetMLTaskRuns' :: Maybe TaskRunSortCriteria
sort = forall a. Maybe a
Prelude.Nothing,
      $sel:transformId:GetMLTaskRuns' :: Text
transformId = Text
pTransformId_
    }

-- | The filter criteria, in the @TaskRunFilterCriteria@ structure, for the
-- task run.
getMLTaskRuns_filter :: Lens.Lens' GetMLTaskRuns (Prelude.Maybe TaskRunFilterCriteria)
getMLTaskRuns_filter :: Lens' GetMLTaskRuns (Maybe TaskRunFilterCriteria)
getMLTaskRuns_filter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRuns' {Maybe TaskRunFilterCriteria
filter' :: Maybe TaskRunFilterCriteria
$sel:filter':GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunFilterCriteria
filter'} -> Maybe TaskRunFilterCriteria
filter') (\s :: GetMLTaskRuns
s@GetMLTaskRuns' {} Maybe TaskRunFilterCriteria
a -> GetMLTaskRuns
s {$sel:filter':GetMLTaskRuns' :: Maybe TaskRunFilterCriteria
filter' = Maybe TaskRunFilterCriteria
a} :: GetMLTaskRuns)

-- | The maximum number of results to return.
getMLTaskRuns_maxResults :: Lens.Lens' GetMLTaskRuns (Prelude.Maybe Prelude.Natural)
getMLTaskRuns_maxResults :: Lens' GetMLTaskRuns (Maybe Natural)
getMLTaskRuns_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRuns' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetMLTaskRuns
s@GetMLTaskRuns' {} Maybe Natural
a -> GetMLTaskRuns
s {$sel:maxResults:GetMLTaskRuns' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetMLTaskRuns)

-- | A token for pagination of the results. The default is empty.
getMLTaskRuns_nextToken :: Lens.Lens' GetMLTaskRuns (Prelude.Maybe Prelude.Text)
getMLTaskRuns_nextToken :: Lens' GetMLTaskRuns (Maybe Text)
getMLTaskRuns_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRuns' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetMLTaskRuns
s@GetMLTaskRuns' {} Maybe Text
a -> GetMLTaskRuns
s {$sel:nextToken:GetMLTaskRuns' :: Maybe Text
nextToken = Maybe Text
a} :: GetMLTaskRuns)

-- | The sorting criteria, in the @TaskRunSortCriteria@ structure, for the
-- task run.
getMLTaskRuns_sort :: Lens.Lens' GetMLTaskRuns (Prelude.Maybe TaskRunSortCriteria)
getMLTaskRuns_sort :: Lens' GetMLTaskRuns (Maybe TaskRunSortCriteria)
getMLTaskRuns_sort = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRuns' {Maybe TaskRunSortCriteria
sort :: Maybe TaskRunSortCriteria
$sel:sort:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunSortCriteria
sort} -> Maybe TaskRunSortCriteria
sort) (\s :: GetMLTaskRuns
s@GetMLTaskRuns' {} Maybe TaskRunSortCriteria
a -> GetMLTaskRuns
s {$sel:sort:GetMLTaskRuns' :: Maybe TaskRunSortCriteria
sort = Maybe TaskRunSortCriteria
a} :: GetMLTaskRuns)

-- | The unique identifier of the machine learning transform.
getMLTaskRuns_transformId :: Lens.Lens' GetMLTaskRuns Prelude.Text
getMLTaskRuns_transformId :: Lens' GetMLTaskRuns Text
getMLTaskRuns_transformId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRuns' {Text
transformId :: Text
$sel:transformId:GetMLTaskRuns' :: GetMLTaskRuns -> Text
transformId} -> Text
transformId) (\s :: GetMLTaskRuns
s@GetMLTaskRuns' {} Text
a -> GetMLTaskRuns
s {$sel:transformId:GetMLTaskRuns' :: Text
transformId = Text
a} :: GetMLTaskRuns)

instance Core.AWSRequest GetMLTaskRuns where
  type
    AWSResponse GetMLTaskRuns =
      GetMLTaskRunsResponse
  request :: (Service -> Service) -> GetMLTaskRuns -> Request GetMLTaskRuns
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 GetMLTaskRuns
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetMLTaskRuns)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text -> Maybe [TaskRun] -> Int -> GetMLTaskRunsResponse
GetMLTaskRunsResponse'
            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
"NextToken")
            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
"TaskRuns" 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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable GetMLTaskRuns where
  hashWithSalt :: Int -> GetMLTaskRuns -> Int
hashWithSalt Int
_salt GetMLTaskRuns' {Maybe Natural
Maybe Text
Maybe TaskRunSortCriteria
Maybe TaskRunFilterCriteria
Text
transformId :: Text
sort :: Maybe TaskRunSortCriteria
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe TaskRunFilterCriteria
$sel:transformId:GetMLTaskRuns' :: GetMLTaskRuns -> Text
$sel:sort:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunSortCriteria
$sel:nextToken:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Text
$sel:maxResults:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Natural
$sel:filter':GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunFilterCriteria
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TaskRunFilterCriteria
filter'
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe TaskRunSortCriteria
sort
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
transformId

instance Prelude.NFData GetMLTaskRuns where
  rnf :: GetMLTaskRuns -> ()
rnf GetMLTaskRuns' {Maybe Natural
Maybe Text
Maybe TaskRunSortCriteria
Maybe TaskRunFilterCriteria
Text
transformId :: Text
sort :: Maybe TaskRunSortCriteria
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe TaskRunFilterCriteria
$sel:transformId:GetMLTaskRuns' :: GetMLTaskRuns -> Text
$sel:sort:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunSortCriteria
$sel:nextToken:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Text
$sel:maxResults:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Natural
$sel:filter':GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunFilterCriteria
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskRunFilterCriteria
filter'
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe TaskRunSortCriteria
sort
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
transformId

instance Data.ToHeaders GetMLTaskRuns where
  toHeaders :: GetMLTaskRuns -> 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.GetMLTaskRuns" :: 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 GetMLTaskRuns where
  toJSON :: GetMLTaskRuns -> Value
toJSON GetMLTaskRuns' {Maybe Natural
Maybe Text
Maybe TaskRunSortCriteria
Maybe TaskRunFilterCriteria
Text
transformId :: Text
sort :: Maybe TaskRunSortCriteria
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe TaskRunFilterCriteria
$sel:transformId:GetMLTaskRuns' :: GetMLTaskRuns -> Text
$sel:sort:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunSortCriteria
$sel:nextToken:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Text
$sel:maxResults:GetMLTaskRuns' :: GetMLTaskRuns -> Maybe Natural
$sel:filter':GetMLTaskRuns' :: GetMLTaskRuns -> Maybe TaskRunFilterCriteria
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"Filter" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TaskRunFilterCriteria
filter',
            (Key
"MaxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
            (Key
"NextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken,
            (Key
"Sort" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe TaskRunSortCriteria
sort,
            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 GetMLTaskRuns where
  toPath :: GetMLTaskRuns -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newGetMLTaskRunsResponse' smart constructor.
data GetMLTaskRunsResponse = GetMLTaskRunsResponse'
  { -- | A pagination token, if more results are available.
    GetMLTaskRunsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | A list of task runs that are associated with the transform.
    GetMLTaskRunsResponse -> Maybe [TaskRun]
taskRuns :: Prelude.Maybe [TaskRun],
    -- | The response's http status code.
    GetMLTaskRunsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetMLTaskRunsResponse -> GetMLTaskRunsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetMLTaskRunsResponse -> GetMLTaskRunsResponse -> Bool
$c/= :: GetMLTaskRunsResponse -> GetMLTaskRunsResponse -> Bool
== :: GetMLTaskRunsResponse -> GetMLTaskRunsResponse -> Bool
$c== :: GetMLTaskRunsResponse -> GetMLTaskRunsResponse -> Bool
Prelude.Eq, ReadPrec [GetMLTaskRunsResponse]
ReadPrec GetMLTaskRunsResponse
Int -> ReadS GetMLTaskRunsResponse
ReadS [GetMLTaskRunsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetMLTaskRunsResponse]
$creadListPrec :: ReadPrec [GetMLTaskRunsResponse]
readPrec :: ReadPrec GetMLTaskRunsResponse
$creadPrec :: ReadPrec GetMLTaskRunsResponse
readList :: ReadS [GetMLTaskRunsResponse]
$creadList :: ReadS [GetMLTaskRunsResponse]
readsPrec :: Int -> ReadS GetMLTaskRunsResponse
$creadsPrec :: Int -> ReadS GetMLTaskRunsResponse
Prelude.Read, Int -> GetMLTaskRunsResponse -> ShowS
[GetMLTaskRunsResponse] -> ShowS
GetMLTaskRunsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetMLTaskRunsResponse] -> ShowS
$cshowList :: [GetMLTaskRunsResponse] -> ShowS
show :: GetMLTaskRunsResponse -> String
$cshow :: GetMLTaskRunsResponse -> String
showsPrec :: Int -> GetMLTaskRunsResponse -> ShowS
$cshowsPrec :: Int -> GetMLTaskRunsResponse -> ShowS
Prelude.Show, forall x. Rep GetMLTaskRunsResponse x -> GetMLTaskRunsResponse
forall x. GetMLTaskRunsResponse -> Rep GetMLTaskRunsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetMLTaskRunsResponse x -> GetMLTaskRunsResponse
$cfrom :: forall x. GetMLTaskRunsResponse -> Rep GetMLTaskRunsResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetMLTaskRunsResponse' 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:
--
-- 'nextToken', 'getMLTaskRunsResponse_nextToken' - A pagination token, if more results are available.
--
-- 'taskRuns', 'getMLTaskRunsResponse_taskRuns' - A list of task runs that are associated with the transform.
--
-- 'httpStatus', 'getMLTaskRunsResponse_httpStatus' - The response's http status code.
newGetMLTaskRunsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetMLTaskRunsResponse
newGetMLTaskRunsResponse :: Int -> GetMLTaskRunsResponse
newGetMLTaskRunsResponse Int
pHttpStatus_ =
  GetMLTaskRunsResponse'
    { $sel:nextToken:GetMLTaskRunsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:taskRuns:GetMLTaskRunsResponse' :: Maybe [TaskRun]
taskRuns = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetMLTaskRunsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A pagination token, if more results are available.
getMLTaskRunsResponse_nextToken :: Lens.Lens' GetMLTaskRunsResponse (Prelude.Maybe Prelude.Text)
getMLTaskRunsResponse_nextToken :: Lens' GetMLTaskRunsResponse (Maybe Text)
getMLTaskRunsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRunsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetMLTaskRunsResponse
s@GetMLTaskRunsResponse' {} Maybe Text
a -> GetMLTaskRunsResponse
s {$sel:nextToken:GetMLTaskRunsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetMLTaskRunsResponse)

-- | A list of task runs that are associated with the transform.
getMLTaskRunsResponse_taskRuns :: Lens.Lens' GetMLTaskRunsResponse (Prelude.Maybe [TaskRun])
getMLTaskRunsResponse_taskRuns :: Lens' GetMLTaskRunsResponse (Maybe [TaskRun])
getMLTaskRunsResponse_taskRuns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRunsResponse' {Maybe [TaskRun]
taskRuns :: Maybe [TaskRun]
$sel:taskRuns:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Maybe [TaskRun]
taskRuns} -> Maybe [TaskRun]
taskRuns) (\s :: GetMLTaskRunsResponse
s@GetMLTaskRunsResponse' {} Maybe [TaskRun]
a -> GetMLTaskRunsResponse
s {$sel:taskRuns:GetMLTaskRunsResponse' :: Maybe [TaskRun]
taskRuns = Maybe [TaskRun]
a} :: GetMLTaskRunsResponse) 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 response's http status code.
getMLTaskRunsResponse_httpStatus :: Lens.Lens' GetMLTaskRunsResponse Prelude.Int
getMLTaskRunsResponse_httpStatus :: Lens' GetMLTaskRunsResponse Int
getMLTaskRunsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetMLTaskRunsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetMLTaskRunsResponse
s@GetMLTaskRunsResponse' {} Int
a -> GetMLTaskRunsResponse
s {$sel:httpStatus:GetMLTaskRunsResponse' :: Int
httpStatus = Int
a} :: GetMLTaskRunsResponse)

instance Prelude.NFData GetMLTaskRunsResponse where
  rnf :: GetMLTaskRunsResponse -> ()
rnf GetMLTaskRunsResponse' {Int
Maybe [TaskRun]
Maybe Text
httpStatus :: Int
taskRuns :: Maybe [TaskRun]
nextToken :: Maybe Text
$sel:httpStatus:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Int
$sel:taskRuns:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Maybe [TaskRun]
$sel:nextToken:GetMLTaskRunsResponse' :: GetMLTaskRunsResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [TaskRun]
taskRuns
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus