{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.LookoutEquipment.ListInferenceEvents
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists all inference events that have been found for the specified
-- inference scheduler.
module Amazonka.LookoutEquipment.ListInferenceEvents
  ( -- * Creating a Request
    ListInferenceEvents (..),
    newListInferenceEvents,

    -- * Request Lenses
    listInferenceEvents_maxResults,
    listInferenceEvents_nextToken,
    listInferenceEvents_inferenceSchedulerName,
    listInferenceEvents_intervalStartTime,
    listInferenceEvents_intervalEndTime,

    -- * Destructuring the Response
    ListInferenceEventsResponse (..),
    newListInferenceEventsResponse,

    -- * Response Lenses
    listInferenceEventsResponse_inferenceEventSummaries,
    listInferenceEventsResponse_nextToken,
    listInferenceEventsResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.LookoutEquipment.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListInferenceEvents' smart constructor.
data ListInferenceEvents = ListInferenceEvents'
  { -- | Specifies the maximum number of inference events to list.
    ListInferenceEvents -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | An opaque pagination token indicating where to continue the listing of
    -- inference events.
    ListInferenceEvents -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The name of the inference scheduler for the inference events listed.
    ListInferenceEvents -> Text
inferenceSchedulerName :: Prelude.Text,
    -- | Lookout for Equipment will return all the inference events with an end
    -- time equal to or greater than the start time given.
    ListInferenceEvents -> POSIX
intervalStartTime :: Data.POSIX,
    -- | Returns all the inference events with an end start time equal to or
    -- greater than less than the end time given
    ListInferenceEvents -> POSIX
intervalEndTime :: Data.POSIX
  }
  deriving (ListInferenceEvents -> ListInferenceEvents -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListInferenceEvents -> ListInferenceEvents -> Bool
$c/= :: ListInferenceEvents -> ListInferenceEvents -> Bool
== :: ListInferenceEvents -> ListInferenceEvents -> Bool
$c== :: ListInferenceEvents -> ListInferenceEvents -> Bool
Prelude.Eq, ReadPrec [ListInferenceEvents]
ReadPrec ListInferenceEvents
Int -> ReadS ListInferenceEvents
ReadS [ListInferenceEvents]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListInferenceEvents]
$creadListPrec :: ReadPrec [ListInferenceEvents]
readPrec :: ReadPrec ListInferenceEvents
$creadPrec :: ReadPrec ListInferenceEvents
readList :: ReadS [ListInferenceEvents]
$creadList :: ReadS [ListInferenceEvents]
readsPrec :: Int -> ReadS ListInferenceEvents
$creadsPrec :: Int -> ReadS ListInferenceEvents
Prelude.Read, Int -> ListInferenceEvents -> ShowS
[ListInferenceEvents] -> ShowS
ListInferenceEvents -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListInferenceEvents] -> ShowS
$cshowList :: [ListInferenceEvents] -> ShowS
show :: ListInferenceEvents -> String
$cshow :: ListInferenceEvents -> String
showsPrec :: Int -> ListInferenceEvents -> ShowS
$cshowsPrec :: Int -> ListInferenceEvents -> ShowS
Prelude.Show, forall x. Rep ListInferenceEvents x -> ListInferenceEvents
forall x. ListInferenceEvents -> Rep ListInferenceEvents x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListInferenceEvents x -> ListInferenceEvents
$cfrom :: forall x. ListInferenceEvents -> Rep ListInferenceEvents x
Prelude.Generic)

-- |
-- Create a value of 'ListInferenceEvents' 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:
--
-- 'maxResults', 'listInferenceEvents_maxResults' - Specifies the maximum number of inference events to list.
--
-- 'nextToken', 'listInferenceEvents_nextToken' - An opaque pagination token indicating where to continue the listing of
-- inference events.
--
-- 'inferenceSchedulerName', 'listInferenceEvents_inferenceSchedulerName' - The name of the inference scheduler for the inference events listed.
--
-- 'intervalStartTime', 'listInferenceEvents_intervalStartTime' - Lookout for Equipment will return all the inference events with an end
-- time equal to or greater than the start time given.
--
-- 'intervalEndTime', 'listInferenceEvents_intervalEndTime' - Returns all the inference events with an end start time equal to or
-- greater than less than the end time given
newListInferenceEvents ::
  -- | 'inferenceSchedulerName'
  Prelude.Text ->
  -- | 'intervalStartTime'
  Prelude.UTCTime ->
  -- | 'intervalEndTime'
  Prelude.UTCTime ->
  ListInferenceEvents
newListInferenceEvents :: Text -> UTCTime -> UTCTime -> ListInferenceEvents
newListInferenceEvents
  Text
pInferenceSchedulerName_
  UTCTime
pIntervalStartTime_
  UTCTime
pIntervalEndTime_ =
    ListInferenceEvents'
      { $sel:maxResults:ListInferenceEvents' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
        $sel:nextToken:ListInferenceEvents' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
        $sel:inferenceSchedulerName:ListInferenceEvents' :: Text
inferenceSchedulerName = Text
pInferenceSchedulerName_,
        $sel:intervalStartTime:ListInferenceEvents' :: POSIX
intervalStartTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pIntervalStartTime_,
        $sel:intervalEndTime:ListInferenceEvents' :: POSIX
intervalEndTime =
          forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pIntervalEndTime_
      }

-- | Specifies the maximum number of inference events to list.
listInferenceEvents_maxResults :: Lens.Lens' ListInferenceEvents (Prelude.Maybe Prelude.Natural)
listInferenceEvents_maxResults :: Lens' ListInferenceEvents (Maybe Natural)
listInferenceEvents_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEvents' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListInferenceEvents' :: ListInferenceEvents -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListInferenceEvents
s@ListInferenceEvents' {} Maybe Natural
a -> ListInferenceEvents
s {$sel:maxResults:ListInferenceEvents' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListInferenceEvents)

-- | An opaque pagination token indicating where to continue the listing of
-- inference events.
listInferenceEvents_nextToken :: Lens.Lens' ListInferenceEvents (Prelude.Maybe Prelude.Text)
listInferenceEvents_nextToken :: Lens' ListInferenceEvents (Maybe Text)
listInferenceEvents_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEvents' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListInferenceEvents' :: ListInferenceEvents -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListInferenceEvents
s@ListInferenceEvents' {} Maybe Text
a -> ListInferenceEvents
s {$sel:nextToken:ListInferenceEvents' :: Maybe Text
nextToken = Maybe Text
a} :: ListInferenceEvents)

-- | The name of the inference scheduler for the inference events listed.
listInferenceEvents_inferenceSchedulerName :: Lens.Lens' ListInferenceEvents Prelude.Text
listInferenceEvents_inferenceSchedulerName :: Lens' ListInferenceEvents Text
listInferenceEvents_inferenceSchedulerName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEvents' {Text
inferenceSchedulerName :: Text
$sel:inferenceSchedulerName:ListInferenceEvents' :: ListInferenceEvents -> Text
inferenceSchedulerName} -> Text
inferenceSchedulerName) (\s :: ListInferenceEvents
s@ListInferenceEvents' {} Text
a -> ListInferenceEvents
s {$sel:inferenceSchedulerName:ListInferenceEvents' :: Text
inferenceSchedulerName = Text
a} :: ListInferenceEvents)

-- | Lookout for Equipment will return all the inference events with an end
-- time equal to or greater than the start time given.
listInferenceEvents_intervalStartTime :: Lens.Lens' ListInferenceEvents Prelude.UTCTime
listInferenceEvents_intervalStartTime :: Lens' ListInferenceEvents UTCTime
listInferenceEvents_intervalStartTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEvents' {POSIX
intervalStartTime :: POSIX
$sel:intervalStartTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
intervalStartTime} -> POSIX
intervalStartTime) (\s :: ListInferenceEvents
s@ListInferenceEvents' {} POSIX
a -> ListInferenceEvents
s {$sel:intervalStartTime:ListInferenceEvents' :: POSIX
intervalStartTime = POSIX
a} :: ListInferenceEvents) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

-- | Returns all the inference events with an end start time equal to or
-- greater than less than the end time given
listInferenceEvents_intervalEndTime :: Lens.Lens' ListInferenceEvents Prelude.UTCTime
listInferenceEvents_intervalEndTime :: Lens' ListInferenceEvents UTCTime
listInferenceEvents_intervalEndTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEvents' {POSIX
intervalEndTime :: POSIX
$sel:intervalEndTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
intervalEndTime} -> POSIX
intervalEndTime) (\s :: ListInferenceEvents
s@ListInferenceEvents' {} POSIX
a -> ListInferenceEvents
s {$sel:intervalEndTime:ListInferenceEvents' :: POSIX
intervalEndTime = POSIX
a} :: ListInferenceEvents) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time

instance Core.AWSRequest ListInferenceEvents where
  type
    AWSResponse ListInferenceEvents =
      ListInferenceEventsResponse
  request :: (Service -> Service)
-> ListInferenceEvents -> Request ListInferenceEvents
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 ListInferenceEvents
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListInferenceEvents)))
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 [InferenceEventSummary]
-> Maybe Text -> Int -> ListInferenceEventsResponse
ListInferenceEventsResponse'
            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
"InferenceEventSummaries"
                            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
"NextToken")
            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 ListInferenceEvents where
  hashWithSalt :: Int -> ListInferenceEvents -> Int
hashWithSalt Int
_salt ListInferenceEvents' {Maybe Natural
Maybe Text
Text
POSIX
intervalEndTime :: POSIX
intervalStartTime :: POSIX
inferenceSchedulerName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:intervalEndTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:intervalStartTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:inferenceSchedulerName:ListInferenceEvents' :: ListInferenceEvents -> Text
$sel:nextToken:ListInferenceEvents' :: ListInferenceEvents -> Maybe Text
$sel:maxResults:ListInferenceEvents' :: ListInferenceEvents -> Maybe Natural
..} =
    Int
_salt
      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` Text
inferenceSchedulerName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
intervalStartTime
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
intervalEndTime

instance Prelude.NFData ListInferenceEvents where
  rnf :: ListInferenceEvents -> ()
rnf ListInferenceEvents' {Maybe Natural
Maybe Text
Text
POSIX
intervalEndTime :: POSIX
intervalStartTime :: POSIX
inferenceSchedulerName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:intervalEndTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:intervalStartTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:inferenceSchedulerName:ListInferenceEvents' :: ListInferenceEvents -> Text
$sel:nextToken:ListInferenceEvents' :: ListInferenceEvents -> Maybe Text
$sel:maxResults:ListInferenceEvents' :: ListInferenceEvents -> Maybe Natural
..} =
    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 Text
inferenceSchedulerName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
intervalStartTime
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
intervalEndTime

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

instance Data.ToJSON ListInferenceEvents where
  toJSON :: ListInferenceEvents -> Value
toJSON ListInferenceEvents' {Maybe Natural
Maybe Text
Text
POSIX
intervalEndTime :: POSIX
intervalStartTime :: POSIX
inferenceSchedulerName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:intervalEndTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:intervalStartTime:ListInferenceEvents' :: ListInferenceEvents -> POSIX
$sel:inferenceSchedulerName:ListInferenceEvents' :: ListInferenceEvents -> Text
$sel:nextToken:ListInferenceEvents' :: ListInferenceEvents -> Maybe Text
$sel:maxResults:ListInferenceEvents' :: ListInferenceEvents -> Maybe Natural
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (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,
            forall a. a -> Maybe a
Prelude.Just
              ( Key
"InferenceSchedulerName"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
inferenceSchedulerName
              ),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"IntervalStartTime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= POSIX
intervalStartTime),
            forall a. a -> Maybe a
Prelude.Just
              (Key
"IntervalEndTime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= POSIX
intervalEndTime)
          ]
      )

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

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

-- | /See:/ 'newListInferenceEventsResponse' smart constructor.
data ListInferenceEventsResponse = ListInferenceEventsResponse'
  { -- | Provides an array of information about the individual inference events
    -- returned from the @ListInferenceEvents@ operation, including scheduler
    -- used, event start time, event end time, diagnostics, and so on.
    ListInferenceEventsResponse -> Maybe [InferenceEventSummary]
inferenceEventSummaries :: Prelude.Maybe [InferenceEventSummary],
    -- | An opaque pagination token indicating where to continue the listing of
    -- inference executions.
    ListInferenceEventsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListInferenceEventsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListInferenceEventsResponse -> ListInferenceEventsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListInferenceEventsResponse -> ListInferenceEventsResponse -> Bool
$c/= :: ListInferenceEventsResponse -> ListInferenceEventsResponse -> Bool
== :: ListInferenceEventsResponse -> ListInferenceEventsResponse -> Bool
$c== :: ListInferenceEventsResponse -> ListInferenceEventsResponse -> Bool
Prelude.Eq, ReadPrec [ListInferenceEventsResponse]
ReadPrec ListInferenceEventsResponse
Int -> ReadS ListInferenceEventsResponse
ReadS [ListInferenceEventsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListInferenceEventsResponse]
$creadListPrec :: ReadPrec [ListInferenceEventsResponse]
readPrec :: ReadPrec ListInferenceEventsResponse
$creadPrec :: ReadPrec ListInferenceEventsResponse
readList :: ReadS [ListInferenceEventsResponse]
$creadList :: ReadS [ListInferenceEventsResponse]
readsPrec :: Int -> ReadS ListInferenceEventsResponse
$creadsPrec :: Int -> ReadS ListInferenceEventsResponse
Prelude.Read, Int -> ListInferenceEventsResponse -> ShowS
[ListInferenceEventsResponse] -> ShowS
ListInferenceEventsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListInferenceEventsResponse] -> ShowS
$cshowList :: [ListInferenceEventsResponse] -> ShowS
show :: ListInferenceEventsResponse -> String
$cshow :: ListInferenceEventsResponse -> String
showsPrec :: Int -> ListInferenceEventsResponse -> ShowS
$cshowsPrec :: Int -> ListInferenceEventsResponse -> ShowS
Prelude.Show, forall x.
Rep ListInferenceEventsResponse x -> ListInferenceEventsResponse
forall x.
ListInferenceEventsResponse -> Rep ListInferenceEventsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListInferenceEventsResponse x -> ListInferenceEventsResponse
$cfrom :: forall x.
ListInferenceEventsResponse -> Rep ListInferenceEventsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListInferenceEventsResponse' 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:
--
-- 'inferenceEventSummaries', 'listInferenceEventsResponse_inferenceEventSummaries' - Provides an array of information about the individual inference events
-- returned from the @ListInferenceEvents@ operation, including scheduler
-- used, event start time, event end time, diagnostics, and so on.
--
-- 'nextToken', 'listInferenceEventsResponse_nextToken' - An opaque pagination token indicating where to continue the listing of
-- inference executions.
--
-- 'httpStatus', 'listInferenceEventsResponse_httpStatus' - The response's http status code.
newListInferenceEventsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListInferenceEventsResponse
newListInferenceEventsResponse :: Int -> ListInferenceEventsResponse
newListInferenceEventsResponse Int
pHttpStatus_ =
  ListInferenceEventsResponse'
    { $sel:inferenceEventSummaries:ListInferenceEventsResponse' :: Maybe [InferenceEventSummary]
inferenceEventSummaries =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListInferenceEventsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListInferenceEventsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Provides an array of information about the individual inference events
-- returned from the @ListInferenceEvents@ operation, including scheduler
-- used, event start time, event end time, diagnostics, and so on.
listInferenceEventsResponse_inferenceEventSummaries :: Lens.Lens' ListInferenceEventsResponse (Prelude.Maybe [InferenceEventSummary])
listInferenceEventsResponse_inferenceEventSummaries :: Lens' ListInferenceEventsResponse (Maybe [InferenceEventSummary])
listInferenceEventsResponse_inferenceEventSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEventsResponse' {Maybe [InferenceEventSummary]
inferenceEventSummaries :: Maybe [InferenceEventSummary]
$sel:inferenceEventSummaries:ListInferenceEventsResponse' :: ListInferenceEventsResponse -> Maybe [InferenceEventSummary]
inferenceEventSummaries} -> Maybe [InferenceEventSummary]
inferenceEventSummaries) (\s :: ListInferenceEventsResponse
s@ListInferenceEventsResponse' {} Maybe [InferenceEventSummary]
a -> ListInferenceEventsResponse
s {$sel:inferenceEventSummaries:ListInferenceEventsResponse' :: Maybe [InferenceEventSummary]
inferenceEventSummaries = Maybe [InferenceEventSummary]
a} :: ListInferenceEventsResponse) 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

-- | An opaque pagination token indicating where to continue the listing of
-- inference executions.
listInferenceEventsResponse_nextToken :: Lens.Lens' ListInferenceEventsResponse (Prelude.Maybe Prelude.Text)
listInferenceEventsResponse_nextToken :: Lens' ListInferenceEventsResponse (Maybe Text)
listInferenceEventsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListInferenceEventsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListInferenceEventsResponse' :: ListInferenceEventsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListInferenceEventsResponse
s@ListInferenceEventsResponse' {} Maybe Text
a -> ListInferenceEventsResponse
s {$sel:nextToken:ListInferenceEventsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListInferenceEventsResponse)

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

instance Prelude.NFData ListInferenceEventsResponse where
  rnf :: ListInferenceEventsResponse -> ()
rnf ListInferenceEventsResponse' {Int
Maybe [InferenceEventSummary]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
inferenceEventSummaries :: Maybe [InferenceEventSummary]
$sel:httpStatus:ListInferenceEventsResponse' :: ListInferenceEventsResponse -> Int
$sel:nextToken:ListInferenceEventsResponse' :: ListInferenceEventsResponse -> Maybe Text
$sel:inferenceEventSummaries:ListInferenceEventsResponse' :: ListInferenceEventsResponse -> Maybe [InferenceEventSummary]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [InferenceEventSummary]
inferenceEventSummaries
      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 Int
httpStatus