{-# 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.Personalize.ListBatchInferenceJobs
-- 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 a list of the batch inference jobs that have been performed off of
-- a solution version.
--
-- This operation returns paginated results.
module Amazonka.Personalize.ListBatchInferenceJobs
  ( -- * Creating a Request
    ListBatchInferenceJobs (..),
    newListBatchInferenceJobs,

    -- * Request Lenses
    listBatchInferenceJobs_nextToken,
    listBatchInferenceJobs_maxResults,
    listBatchInferenceJobs_solutionVersionArn,

    -- * Destructuring the Response
    ListBatchInferenceJobsResponse (..),
    newListBatchInferenceJobsResponse,

    -- * Response Lenses
    listBatchInferenceJobsResponse_batchInferenceJobs,
    listBatchInferenceJobsResponse_nextToken,
    listBatchInferenceJobsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListBatchInferenceJobs' smart constructor.
data ListBatchInferenceJobs = ListBatchInferenceJobs'
  { -- | The token to request the next page of results.
    ListBatchInferenceJobs -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The maximum number of batch inference job results to return in each
    -- page. The default value is 100.
    ListBatchInferenceJobs -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | The Amazon Resource Name (ARN) of the solution version from which the
    -- batch inference jobs were created.
    ListBatchInferenceJobs -> Maybe Text
solutionVersionArn :: Prelude.Maybe Prelude.Text
  }
  deriving (ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool
(ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool)
-> (ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool)
-> Eq ListBatchInferenceJobs
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool
$c/= :: ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool
== :: ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool
$c== :: ListBatchInferenceJobs -> ListBatchInferenceJobs -> Bool
Prelude.Eq, ReadPrec [ListBatchInferenceJobs]
ReadPrec ListBatchInferenceJobs
Int -> ReadS ListBatchInferenceJobs
ReadS [ListBatchInferenceJobs]
(Int -> ReadS ListBatchInferenceJobs)
-> ReadS [ListBatchInferenceJobs]
-> ReadPrec ListBatchInferenceJobs
-> ReadPrec [ListBatchInferenceJobs]
-> Read ListBatchInferenceJobs
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListBatchInferenceJobs]
$creadListPrec :: ReadPrec [ListBatchInferenceJobs]
readPrec :: ReadPrec ListBatchInferenceJobs
$creadPrec :: ReadPrec ListBatchInferenceJobs
readList :: ReadS [ListBatchInferenceJobs]
$creadList :: ReadS [ListBatchInferenceJobs]
readsPrec :: Int -> ReadS ListBatchInferenceJobs
$creadsPrec :: Int -> ReadS ListBatchInferenceJobs
Prelude.Read, Int -> ListBatchInferenceJobs -> ShowS
[ListBatchInferenceJobs] -> ShowS
ListBatchInferenceJobs -> String
(Int -> ListBatchInferenceJobs -> ShowS)
-> (ListBatchInferenceJobs -> String)
-> ([ListBatchInferenceJobs] -> ShowS)
-> Show ListBatchInferenceJobs
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListBatchInferenceJobs] -> ShowS
$cshowList :: [ListBatchInferenceJobs] -> ShowS
show :: ListBatchInferenceJobs -> String
$cshow :: ListBatchInferenceJobs -> String
showsPrec :: Int -> ListBatchInferenceJobs -> ShowS
$cshowsPrec :: Int -> ListBatchInferenceJobs -> ShowS
Prelude.Show, (forall x. ListBatchInferenceJobs -> Rep ListBatchInferenceJobs x)
-> (forall x.
    Rep ListBatchInferenceJobs x -> ListBatchInferenceJobs)
-> Generic ListBatchInferenceJobs
forall x. Rep ListBatchInferenceJobs x -> ListBatchInferenceJobs
forall x. ListBatchInferenceJobs -> Rep ListBatchInferenceJobs x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListBatchInferenceJobs x -> ListBatchInferenceJobs
$cfrom :: forall x. ListBatchInferenceJobs -> Rep ListBatchInferenceJobs x
Prelude.Generic)

-- |
-- Create a value of 'ListBatchInferenceJobs' 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', 'listBatchInferenceJobs_nextToken' - The token to request the next page of results.
--
-- 'maxResults', 'listBatchInferenceJobs_maxResults' - The maximum number of batch inference job results to return in each
-- page. The default value is 100.
--
-- 'solutionVersionArn', 'listBatchInferenceJobs_solutionVersionArn' - The Amazon Resource Name (ARN) of the solution version from which the
-- batch inference jobs were created.
newListBatchInferenceJobs ::
  ListBatchInferenceJobs
newListBatchInferenceJobs :: ListBatchInferenceJobs
newListBatchInferenceJobs =
  ListBatchInferenceJobs' :: Maybe Text -> Maybe Natural -> Maybe Text -> ListBatchInferenceJobs
ListBatchInferenceJobs'
    { $sel:nextToken:ListBatchInferenceJobs' :: Maybe Text
nextToken =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListBatchInferenceJobs' :: Maybe Natural
maxResults = Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:solutionVersionArn:ListBatchInferenceJobs' :: Maybe Text
solutionVersionArn = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The token to request the next page of results.
listBatchInferenceJobs_nextToken :: Lens.Lens' ListBatchInferenceJobs (Prelude.Maybe Prelude.Text)
listBatchInferenceJobs_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListBatchInferenceJobs -> f ListBatchInferenceJobs
listBatchInferenceJobs_nextToken = (ListBatchInferenceJobs -> Maybe Text)
-> (ListBatchInferenceJobs -> Maybe Text -> ListBatchInferenceJobs)
-> Lens
     ListBatchInferenceJobs
     ListBatchInferenceJobs
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBatchInferenceJobs' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListBatchInferenceJobs
s@ListBatchInferenceJobs' {} Maybe Text
a -> ListBatchInferenceJobs
s {$sel:nextToken:ListBatchInferenceJobs' :: Maybe Text
nextToken = Maybe Text
a} :: ListBatchInferenceJobs)

-- | The maximum number of batch inference job results to return in each
-- page. The default value is 100.
listBatchInferenceJobs_maxResults :: Lens.Lens' ListBatchInferenceJobs (Prelude.Maybe Prelude.Natural)
listBatchInferenceJobs_maxResults :: (Maybe Natural -> f (Maybe Natural))
-> ListBatchInferenceJobs -> f ListBatchInferenceJobs
listBatchInferenceJobs_maxResults = (ListBatchInferenceJobs -> Maybe Natural)
-> (ListBatchInferenceJobs
    -> Maybe Natural -> ListBatchInferenceJobs)
-> Lens
     ListBatchInferenceJobs
     ListBatchInferenceJobs
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBatchInferenceJobs' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListBatchInferenceJobs
s@ListBatchInferenceJobs' {} Maybe Natural
a -> ListBatchInferenceJobs
s {$sel:maxResults:ListBatchInferenceJobs' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListBatchInferenceJobs)

-- | The Amazon Resource Name (ARN) of the solution version from which the
-- batch inference jobs were created.
listBatchInferenceJobs_solutionVersionArn :: Lens.Lens' ListBatchInferenceJobs (Prelude.Maybe Prelude.Text)
listBatchInferenceJobs_solutionVersionArn :: (Maybe Text -> f (Maybe Text))
-> ListBatchInferenceJobs -> f ListBatchInferenceJobs
listBatchInferenceJobs_solutionVersionArn = (ListBatchInferenceJobs -> Maybe Text)
-> (ListBatchInferenceJobs -> Maybe Text -> ListBatchInferenceJobs)
-> Lens
     ListBatchInferenceJobs
     ListBatchInferenceJobs
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBatchInferenceJobs' {Maybe Text
solutionVersionArn :: Maybe Text
$sel:solutionVersionArn:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Text
solutionVersionArn} -> Maybe Text
solutionVersionArn) (\s :: ListBatchInferenceJobs
s@ListBatchInferenceJobs' {} Maybe Text
a -> ListBatchInferenceJobs
s {$sel:solutionVersionArn:ListBatchInferenceJobs' :: Maybe Text
solutionVersionArn = Maybe Text
a} :: ListBatchInferenceJobs)

instance Core.AWSPager ListBatchInferenceJobs where
  page :: ListBatchInferenceJobs
-> AWSResponse ListBatchInferenceJobs
-> Maybe ListBatchInferenceJobs
page ListBatchInferenceJobs
rq AWSResponse ListBatchInferenceJobs
rs
    | Maybe Text -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListBatchInferenceJobs
ListBatchInferenceJobsResponse
rs
            ListBatchInferenceJobsResponse
-> Getting (First Text) ListBatchInferenceJobsResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> ListBatchInferenceJobsResponse
-> Const (First Text) ListBatchInferenceJobsResponse
Lens' ListBatchInferenceJobsResponse (Maybe Text)
listBatchInferenceJobsResponse_nextToken
              ((Maybe Text -> Const (First Text) (Maybe Text))
 -> ListBatchInferenceJobsResponse
 -> Const (First Text) ListBatchInferenceJobsResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) ListBatchInferenceJobsResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe ListBatchInferenceJobs
forall a. Maybe a
Prelude.Nothing
    | Maybe [BatchInferenceJobSummary] -> Bool
forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListBatchInferenceJobs
ListBatchInferenceJobsResponse
rs
            ListBatchInferenceJobsResponse
-> Getting
     (First [BatchInferenceJobSummary])
     ListBatchInferenceJobsResponse
     [BatchInferenceJobSummary]
-> Maybe [BatchInferenceJobSummary]
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe [BatchInferenceJobSummary]
 -> Const
      (First [BatchInferenceJobSummary])
      (Maybe [BatchInferenceJobSummary]))
-> ListBatchInferenceJobsResponse
-> Const
     (First [BatchInferenceJobSummary]) ListBatchInferenceJobsResponse
Lens'
  ListBatchInferenceJobsResponse (Maybe [BatchInferenceJobSummary])
listBatchInferenceJobsResponse_batchInferenceJobs
              ((Maybe [BatchInferenceJobSummary]
  -> Const
       (First [BatchInferenceJobSummary])
       (Maybe [BatchInferenceJobSummary]))
 -> ListBatchInferenceJobsResponse
 -> Const
      (First [BatchInferenceJobSummary]) ListBatchInferenceJobsResponse)
-> (([BatchInferenceJobSummary]
     -> Const
          (First [BatchInferenceJobSummary]) [BatchInferenceJobSummary])
    -> Maybe [BatchInferenceJobSummary]
    -> Const
         (First [BatchInferenceJobSummary])
         (Maybe [BatchInferenceJobSummary]))
-> Getting
     (First [BatchInferenceJobSummary])
     ListBatchInferenceJobsResponse
     [BatchInferenceJobSummary]
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([BatchInferenceJobSummary]
 -> Const
      (First [BatchInferenceJobSummary]) [BatchInferenceJobSummary])
-> Maybe [BatchInferenceJobSummary]
-> Const
     (First [BatchInferenceJobSummary])
     (Maybe [BatchInferenceJobSummary])
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
      Maybe ListBatchInferenceJobs
forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
      ListBatchInferenceJobs -> Maybe ListBatchInferenceJobs
forall a. a -> Maybe a
Prelude.Just (ListBatchInferenceJobs -> Maybe ListBatchInferenceJobs)
-> ListBatchInferenceJobs -> Maybe ListBatchInferenceJobs
forall a b. (a -> b) -> a -> b
Prelude.$
        ListBatchInferenceJobs
rq
          ListBatchInferenceJobs
-> (ListBatchInferenceJobs -> ListBatchInferenceJobs)
-> ListBatchInferenceJobs
forall a b. a -> (a -> b) -> b
Prelude.& (Maybe Text -> Identity (Maybe Text))
-> ListBatchInferenceJobs -> Identity ListBatchInferenceJobs
Lens
  ListBatchInferenceJobs
  ListBatchInferenceJobs
  (Maybe Text)
  (Maybe Text)
listBatchInferenceJobs_nextToken
          ((Maybe Text -> Identity (Maybe Text))
 -> ListBatchInferenceJobs -> Identity ListBatchInferenceJobs)
-> Maybe Text -> ListBatchInferenceJobs -> ListBatchInferenceJobs
forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListBatchInferenceJobs
ListBatchInferenceJobsResponse
rs
          ListBatchInferenceJobsResponse
-> Getting (First Text) ListBatchInferenceJobsResponse Text
-> Maybe Text
forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? (Maybe Text -> Const (First Text) (Maybe Text))
-> ListBatchInferenceJobsResponse
-> Const (First Text) ListBatchInferenceJobsResponse
Lens' ListBatchInferenceJobsResponse (Maybe Text)
listBatchInferenceJobsResponse_nextToken
            ((Maybe Text -> Const (First Text) (Maybe Text))
 -> ListBatchInferenceJobsResponse
 -> Const (First Text) ListBatchInferenceJobsResponse)
-> ((Text -> Const (First Text) Text)
    -> Maybe Text -> Const (First Text) (Maybe Text))
-> Getting (First Text) ListBatchInferenceJobsResponse Text
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (Text -> Const (First Text) Text)
-> Maybe Text -> Const (First Text) (Maybe Text)
forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListBatchInferenceJobs where
  type
    AWSResponse ListBatchInferenceJobs =
      ListBatchInferenceJobsResponse
  request :: ListBatchInferenceJobs -> Request ListBatchInferenceJobs
request = Service -> ListBatchInferenceJobs -> Request ListBatchInferenceJobs
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy ListBatchInferenceJobs
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListBatchInferenceJobs)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse ListBatchInferenceJobs))
-> Logger
-> Service
-> Proxy ListBatchInferenceJobs
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListBatchInferenceJobs)))
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 [BatchInferenceJobSummary]
-> Maybe Text -> Int -> ListBatchInferenceJobsResponse
ListBatchInferenceJobsResponse'
            (Maybe [BatchInferenceJobSummary]
 -> Maybe Text -> Int -> ListBatchInferenceJobsResponse)
-> Either String (Maybe [BatchInferenceJobSummary])
-> Either
     String (Maybe Text -> Int -> ListBatchInferenceJobsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x Object
-> Text -> Either String (Maybe (Maybe [BatchInferenceJobSummary]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"batchInferenceJobs"
                            Either String (Maybe (Maybe [BatchInferenceJobSummary]))
-> Maybe [BatchInferenceJobSummary]
-> Either String (Maybe [BatchInferenceJobSummary])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [BatchInferenceJobSummary]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either String (Maybe Text -> Int -> ListBatchInferenceJobsResponse)
-> Either String (Maybe Text)
-> Either String (Int -> ListBatchInferenceJobsResponse)
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
"nextToken")
            Either String (Int -> ListBatchInferenceJobsResponse)
-> Either String Int
-> Either String ListBatchInferenceJobsResponse
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 ListBatchInferenceJobs

instance Prelude.NFData ListBatchInferenceJobs

instance Core.ToHeaders ListBatchInferenceJobs where
  toHeaders :: ListBatchInferenceJobs -> ResponseHeaders
toHeaders =
    ResponseHeaders -> ListBatchInferenceJobs -> 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
"AmazonPersonalize.ListBatchInferenceJobs" ::
                          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 ListBatchInferenceJobs where
  toJSON :: ListBatchInferenceJobs -> Value
toJSON ListBatchInferenceJobs' {Maybe Natural
Maybe Text
solutionVersionArn :: Maybe Text
maxResults :: Maybe Natural
nextToken :: Maybe Text
$sel:solutionVersionArn:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Text
$sel:maxResults:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Natural
$sel:nextToken:ListBatchInferenceJobs' :: ListBatchInferenceJobs -> Maybe Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"nextToken" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken,
            (Text
"maxResults" Text -> Natural -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Natural -> Pair) -> Maybe Natural -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
            (Text
"solutionVersionArn" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
solutionVersionArn
          ]
      )

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

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

-- | /See:/ 'newListBatchInferenceJobsResponse' smart constructor.
data ListBatchInferenceJobsResponse = ListBatchInferenceJobsResponse'
  { -- | A list containing information on each job that is returned.
    ListBatchInferenceJobsResponse -> Maybe [BatchInferenceJobSummary]
batchInferenceJobs :: Prelude.Maybe [BatchInferenceJobSummary],
    -- | The token to use to retrieve the next page of results. The value is
    -- @null@ when there are no more results to return.
    ListBatchInferenceJobsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListBatchInferenceJobsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListBatchInferenceJobsResponse
-> ListBatchInferenceJobsResponse -> Bool
(ListBatchInferenceJobsResponse
 -> ListBatchInferenceJobsResponse -> Bool)
-> (ListBatchInferenceJobsResponse
    -> ListBatchInferenceJobsResponse -> Bool)
-> Eq ListBatchInferenceJobsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListBatchInferenceJobsResponse
-> ListBatchInferenceJobsResponse -> Bool
$c/= :: ListBatchInferenceJobsResponse
-> ListBatchInferenceJobsResponse -> Bool
== :: ListBatchInferenceJobsResponse
-> ListBatchInferenceJobsResponse -> Bool
$c== :: ListBatchInferenceJobsResponse
-> ListBatchInferenceJobsResponse -> Bool
Prelude.Eq, ReadPrec [ListBatchInferenceJobsResponse]
ReadPrec ListBatchInferenceJobsResponse
Int -> ReadS ListBatchInferenceJobsResponse
ReadS [ListBatchInferenceJobsResponse]
(Int -> ReadS ListBatchInferenceJobsResponse)
-> ReadS [ListBatchInferenceJobsResponse]
-> ReadPrec ListBatchInferenceJobsResponse
-> ReadPrec [ListBatchInferenceJobsResponse]
-> Read ListBatchInferenceJobsResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListBatchInferenceJobsResponse]
$creadListPrec :: ReadPrec [ListBatchInferenceJobsResponse]
readPrec :: ReadPrec ListBatchInferenceJobsResponse
$creadPrec :: ReadPrec ListBatchInferenceJobsResponse
readList :: ReadS [ListBatchInferenceJobsResponse]
$creadList :: ReadS [ListBatchInferenceJobsResponse]
readsPrec :: Int -> ReadS ListBatchInferenceJobsResponse
$creadsPrec :: Int -> ReadS ListBatchInferenceJobsResponse
Prelude.Read, Int -> ListBatchInferenceJobsResponse -> ShowS
[ListBatchInferenceJobsResponse] -> ShowS
ListBatchInferenceJobsResponse -> String
(Int -> ListBatchInferenceJobsResponse -> ShowS)
-> (ListBatchInferenceJobsResponse -> String)
-> ([ListBatchInferenceJobsResponse] -> ShowS)
-> Show ListBatchInferenceJobsResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListBatchInferenceJobsResponse] -> ShowS
$cshowList :: [ListBatchInferenceJobsResponse] -> ShowS
show :: ListBatchInferenceJobsResponse -> String
$cshow :: ListBatchInferenceJobsResponse -> String
showsPrec :: Int -> ListBatchInferenceJobsResponse -> ShowS
$cshowsPrec :: Int -> ListBatchInferenceJobsResponse -> ShowS
Prelude.Show, (forall x.
 ListBatchInferenceJobsResponse
 -> Rep ListBatchInferenceJobsResponse x)
-> (forall x.
    Rep ListBatchInferenceJobsResponse x
    -> ListBatchInferenceJobsResponse)
-> Generic ListBatchInferenceJobsResponse
forall x.
Rep ListBatchInferenceJobsResponse x
-> ListBatchInferenceJobsResponse
forall x.
ListBatchInferenceJobsResponse
-> Rep ListBatchInferenceJobsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListBatchInferenceJobsResponse x
-> ListBatchInferenceJobsResponse
$cfrom :: forall x.
ListBatchInferenceJobsResponse
-> Rep ListBatchInferenceJobsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListBatchInferenceJobsResponse' 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:
--
-- 'batchInferenceJobs', 'listBatchInferenceJobsResponse_batchInferenceJobs' - A list containing information on each job that is returned.
--
-- 'nextToken', 'listBatchInferenceJobsResponse_nextToken' - The token to use to retrieve the next page of results. The value is
-- @null@ when there are no more results to return.
--
-- 'httpStatus', 'listBatchInferenceJobsResponse_httpStatus' - The response's http status code.
newListBatchInferenceJobsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListBatchInferenceJobsResponse
newListBatchInferenceJobsResponse :: Int -> ListBatchInferenceJobsResponse
newListBatchInferenceJobsResponse Int
pHttpStatus_ =
  ListBatchInferenceJobsResponse' :: Maybe [BatchInferenceJobSummary]
-> Maybe Text -> Int -> ListBatchInferenceJobsResponse
ListBatchInferenceJobsResponse'
    { $sel:batchInferenceJobs:ListBatchInferenceJobsResponse' :: Maybe [BatchInferenceJobSummary]
batchInferenceJobs =
        Maybe [BatchInferenceJobSummary]
forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListBatchInferenceJobsResponse' :: Maybe Text
nextToken = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListBatchInferenceJobsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A list containing information on each job that is returned.
listBatchInferenceJobsResponse_batchInferenceJobs :: Lens.Lens' ListBatchInferenceJobsResponse (Prelude.Maybe [BatchInferenceJobSummary])
listBatchInferenceJobsResponse_batchInferenceJobs :: (Maybe [BatchInferenceJobSummary]
 -> f (Maybe [BatchInferenceJobSummary]))
-> ListBatchInferenceJobsResponse
-> f ListBatchInferenceJobsResponse
listBatchInferenceJobsResponse_batchInferenceJobs = (ListBatchInferenceJobsResponse
 -> Maybe [BatchInferenceJobSummary])
-> (ListBatchInferenceJobsResponse
    -> Maybe [BatchInferenceJobSummary]
    -> ListBatchInferenceJobsResponse)
-> Lens'
     ListBatchInferenceJobsResponse (Maybe [BatchInferenceJobSummary])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBatchInferenceJobsResponse' {Maybe [BatchInferenceJobSummary]
batchInferenceJobs :: Maybe [BatchInferenceJobSummary]
$sel:batchInferenceJobs:ListBatchInferenceJobsResponse' :: ListBatchInferenceJobsResponse -> Maybe [BatchInferenceJobSummary]
batchInferenceJobs} -> Maybe [BatchInferenceJobSummary]
batchInferenceJobs) (\s :: ListBatchInferenceJobsResponse
s@ListBatchInferenceJobsResponse' {} Maybe [BatchInferenceJobSummary]
a -> ListBatchInferenceJobsResponse
s {$sel:batchInferenceJobs:ListBatchInferenceJobsResponse' :: Maybe [BatchInferenceJobSummary]
batchInferenceJobs = Maybe [BatchInferenceJobSummary]
a} :: ListBatchInferenceJobsResponse) ((Maybe [BatchInferenceJobSummary]
  -> f (Maybe [BatchInferenceJobSummary]))
 -> ListBatchInferenceJobsResponse
 -> f ListBatchInferenceJobsResponse)
-> ((Maybe [BatchInferenceJobSummary]
     -> f (Maybe [BatchInferenceJobSummary]))
    -> Maybe [BatchInferenceJobSummary]
    -> f (Maybe [BatchInferenceJobSummary]))
-> (Maybe [BatchInferenceJobSummary]
    -> f (Maybe [BatchInferenceJobSummary]))
-> ListBatchInferenceJobsResponse
-> f ListBatchInferenceJobsResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
-> Iso
     (Maybe [BatchInferenceJobSummary])
     (Maybe [BatchInferenceJobSummary])
     (Maybe [BatchInferenceJobSummary])
     (Maybe [BatchInferenceJobSummary])
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
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
  [BatchInferenceJobSummary]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The token to use to retrieve the next page of results. The value is
-- @null@ when there are no more results to return.
listBatchInferenceJobsResponse_nextToken :: Lens.Lens' ListBatchInferenceJobsResponse (Prelude.Maybe Prelude.Text)
listBatchInferenceJobsResponse_nextToken :: (Maybe Text -> f (Maybe Text))
-> ListBatchInferenceJobsResponse
-> f ListBatchInferenceJobsResponse
listBatchInferenceJobsResponse_nextToken = (ListBatchInferenceJobsResponse -> Maybe Text)
-> (ListBatchInferenceJobsResponse
    -> Maybe Text -> ListBatchInferenceJobsResponse)
-> Lens' ListBatchInferenceJobsResponse (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListBatchInferenceJobsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListBatchInferenceJobsResponse' :: ListBatchInferenceJobsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListBatchInferenceJobsResponse
s@ListBatchInferenceJobsResponse' {} Maybe Text
a -> ListBatchInferenceJobsResponse
s {$sel:nextToken:ListBatchInferenceJobsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListBatchInferenceJobsResponse)

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

instance
  Prelude.NFData
    ListBatchInferenceJobsResponse