{-# 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.SageMaker.ListMonitoringAlerts
-- 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 the alerts for a single monitoring schedule.
--
-- This operation returns paginated results.
module Amazonka.SageMaker.ListMonitoringAlerts
  ( -- * Creating a Request
    ListMonitoringAlerts (..),
    newListMonitoringAlerts,

    -- * Request Lenses
    listMonitoringAlerts_maxResults,
    listMonitoringAlerts_nextToken,
    listMonitoringAlerts_monitoringScheduleName,

    -- * Destructuring the Response
    ListMonitoringAlertsResponse (..),
    newListMonitoringAlertsResponse,

    -- * Response Lenses
    listMonitoringAlertsResponse_monitoringAlertSummaries,
    listMonitoringAlertsResponse_nextToken,
    listMonitoringAlertsResponse_httpStatus,
  )
where

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

-- | /See:/ 'newListMonitoringAlerts' smart constructor.
data ListMonitoringAlerts = ListMonitoringAlerts'
  { -- | The maximum number of results to display. The default is 100.
    ListMonitoringAlerts -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | If the result of the previous @ListMonitoringAlerts@ request was
    -- truncated, the response includes a @NextToken@. To retrieve the next set
    -- of alerts in the history, use the token in the next request.
    ListMonitoringAlerts -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The name of a monitoring schedule.
    ListMonitoringAlerts -> Text
monitoringScheduleName :: Prelude.Text
  }
  deriving (ListMonitoringAlerts -> ListMonitoringAlerts -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListMonitoringAlerts -> ListMonitoringAlerts -> Bool
$c/= :: ListMonitoringAlerts -> ListMonitoringAlerts -> Bool
== :: ListMonitoringAlerts -> ListMonitoringAlerts -> Bool
$c== :: ListMonitoringAlerts -> ListMonitoringAlerts -> Bool
Prelude.Eq, ReadPrec [ListMonitoringAlerts]
ReadPrec ListMonitoringAlerts
Int -> ReadS ListMonitoringAlerts
ReadS [ListMonitoringAlerts]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListMonitoringAlerts]
$creadListPrec :: ReadPrec [ListMonitoringAlerts]
readPrec :: ReadPrec ListMonitoringAlerts
$creadPrec :: ReadPrec ListMonitoringAlerts
readList :: ReadS [ListMonitoringAlerts]
$creadList :: ReadS [ListMonitoringAlerts]
readsPrec :: Int -> ReadS ListMonitoringAlerts
$creadsPrec :: Int -> ReadS ListMonitoringAlerts
Prelude.Read, Int -> ListMonitoringAlerts -> ShowS
[ListMonitoringAlerts] -> ShowS
ListMonitoringAlerts -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListMonitoringAlerts] -> ShowS
$cshowList :: [ListMonitoringAlerts] -> ShowS
show :: ListMonitoringAlerts -> String
$cshow :: ListMonitoringAlerts -> String
showsPrec :: Int -> ListMonitoringAlerts -> ShowS
$cshowsPrec :: Int -> ListMonitoringAlerts -> ShowS
Prelude.Show, forall x. Rep ListMonitoringAlerts x -> ListMonitoringAlerts
forall x. ListMonitoringAlerts -> Rep ListMonitoringAlerts x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListMonitoringAlerts x -> ListMonitoringAlerts
$cfrom :: forall x. ListMonitoringAlerts -> Rep ListMonitoringAlerts x
Prelude.Generic)

-- |
-- Create a value of 'ListMonitoringAlerts' 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', 'listMonitoringAlerts_maxResults' - The maximum number of results to display. The default is 100.
--
-- 'nextToken', 'listMonitoringAlerts_nextToken' - If the result of the previous @ListMonitoringAlerts@ request was
-- truncated, the response includes a @NextToken@. To retrieve the next set
-- of alerts in the history, use the token in the next request.
--
-- 'monitoringScheduleName', 'listMonitoringAlerts_monitoringScheduleName' - The name of a monitoring schedule.
newListMonitoringAlerts ::
  -- | 'monitoringScheduleName'
  Prelude.Text ->
  ListMonitoringAlerts
newListMonitoringAlerts :: Text -> ListMonitoringAlerts
newListMonitoringAlerts Text
pMonitoringScheduleName_ =
  ListMonitoringAlerts'
    { $sel:maxResults:ListMonitoringAlerts' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListMonitoringAlerts' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:monitoringScheduleName:ListMonitoringAlerts' :: Text
monitoringScheduleName = Text
pMonitoringScheduleName_
    }

-- | The maximum number of results to display. The default is 100.
listMonitoringAlerts_maxResults :: Lens.Lens' ListMonitoringAlerts (Prelude.Maybe Prelude.Natural)
listMonitoringAlerts_maxResults :: Lens' ListMonitoringAlerts (Maybe Natural)
listMonitoringAlerts_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListMonitoringAlerts' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListMonitoringAlerts' :: ListMonitoringAlerts -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListMonitoringAlerts
s@ListMonitoringAlerts' {} Maybe Natural
a -> ListMonitoringAlerts
s {$sel:maxResults:ListMonitoringAlerts' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListMonitoringAlerts)

-- | If the result of the previous @ListMonitoringAlerts@ request was
-- truncated, the response includes a @NextToken@. To retrieve the next set
-- of alerts in the history, use the token in the next request.
listMonitoringAlerts_nextToken :: Lens.Lens' ListMonitoringAlerts (Prelude.Maybe Prelude.Text)
listMonitoringAlerts_nextToken :: Lens' ListMonitoringAlerts (Maybe Text)
listMonitoringAlerts_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListMonitoringAlerts' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListMonitoringAlerts' :: ListMonitoringAlerts -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListMonitoringAlerts
s@ListMonitoringAlerts' {} Maybe Text
a -> ListMonitoringAlerts
s {$sel:nextToken:ListMonitoringAlerts' :: Maybe Text
nextToken = Maybe Text
a} :: ListMonitoringAlerts)

-- | The name of a monitoring schedule.
listMonitoringAlerts_monitoringScheduleName :: Lens.Lens' ListMonitoringAlerts Prelude.Text
listMonitoringAlerts_monitoringScheduleName :: Lens' ListMonitoringAlerts Text
listMonitoringAlerts_monitoringScheduleName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListMonitoringAlerts' {Text
monitoringScheduleName :: Text
$sel:monitoringScheduleName:ListMonitoringAlerts' :: ListMonitoringAlerts -> Text
monitoringScheduleName} -> Text
monitoringScheduleName) (\s :: ListMonitoringAlerts
s@ListMonitoringAlerts' {} Text
a -> ListMonitoringAlerts
s {$sel:monitoringScheduleName:ListMonitoringAlerts' :: Text
monitoringScheduleName = Text
a} :: ListMonitoringAlerts)

instance Core.AWSPager ListMonitoringAlerts where
  page :: ListMonitoringAlerts
-> AWSResponse ListMonitoringAlerts -> Maybe ListMonitoringAlerts
page ListMonitoringAlerts
rq AWSResponse ListMonitoringAlerts
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListMonitoringAlerts
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListMonitoringAlertsResponse (Maybe Text)
listMonitoringAlertsResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListMonitoringAlerts
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  ListMonitoringAlertsResponse
  (Maybe (NonEmpty MonitoringAlertSummary))
listMonitoringAlertsResponse_monitoringAlertSummaries
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (p :: * -> * -> *) (f :: * -> *) s a.
(Profunctor p, Contravariant f) =>
(s -> a) -> Optic' p f s a
Lens.to forall l. IsList l => l -> [Item l]
Prelude.toList
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListMonitoringAlerts
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListMonitoringAlerts (Maybe Text)
listMonitoringAlerts_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListMonitoringAlerts
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListMonitoringAlertsResponse (Maybe Text)
listMonitoringAlertsResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListMonitoringAlerts where
  type
    AWSResponse ListMonitoringAlerts =
      ListMonitoringAlertsResponse
  request :: (Service -> Service)
-> ListMonitoringAlerts -> Request ListMonitoringAlerts
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 ListMonitoringAlerts
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListMonitoringAlerts)))
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 (NonEmpty MonitoringAlertSummary)
-> Maybe Text -> Int -> ListMonitoringAlertsResponse
ListMonitoringAlertsResponse'
            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
"MonitoringAlertSummaries")
            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 ListMonitoringAlerts where
  hashWithSalt :: Int -> ListMonitoringAlerts -> Int
hashWithSalt Int
_salt ListMonitoringAlerts' {Maybe Natural
Maybe Text
Text
monitoringScheduleName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:monitoringScheduleName:ListMonitoringAlerts' :: ListMonitoringAlerts -> Text
$sel:nextToken:ListMonitoringAlerts' :: ListMonitoringAlerts -> Maybe Text
$sel:maxResults:ListMonitoringAlerts' :: ListMonitoringAlerts -> 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
monitoringScheduleName

instance Prelude.NFData ListMonitoringAlerts where
  rnf :: ListMonitoringAlerts -> ()
rnf ListMonitoringAlerts' {Maybe Natural
Maybe Text
Text
monitoringScheduleName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:monitoringScheduleName:ListMonitoringAlerts' :: ListMonitoringAlerts -> Text
$sel:nextToken:ListMonitoringAlerts' :: ListMonitoringAlerts -> Maybe Text
$sel:maxResults:ListMonitoringAlerts' :: ListMonitoringAlerts -> 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
monitoringScheduleName

instance Data.ToHeaders ListMonitoringAlerts where
  toHeaders :: ListMonitoringAlerts -> 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
"SageMaker.ListMonitoringAlerts" ::
                          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 ListMonitoringAlerts where
  toJSON :: ListMonitoringAlerts -> Value
toJSON ListMonitoringAlerts' {Maybe Natural
Maybe Text
Text
monitoringScheduleName :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:monitoringScheduleName:ListMonitoringAlerts' :: ListMonitoringAlerts -> Text
$sel:nextToken:ListMonitoringAlerts' :: ListMonitoringAlerts -> Maybe Text
$sel:maxResults:ListMonitoringAlerts' :: ListMonitoringAlerts -> 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
"MonitoringScheduleName"
                  forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
monitoringScheduleName
              )
          ]
      )

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

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

-- | /See:/ 'newListMonitoringAlertsResponse' smart constructor.
data ListMonitoringAlertsResponse = ListMonitoringAlertsResponse'
  { -- | A JSON array where each element is a summary for a monitoring alert.
    ListMonitoringAlertsResponse
-> Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries :: Prelude.Maybe (Prelude.NonEmpty MonitoringAlertSummary),
    -- | If the response is truncated, SageMaker returns this token. To retrieve
    -- the next set of alerts, use it in the subsequent request.
    ListMonitoringAlertsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    ListMonitoringAlertsResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListMonitoringAlertsResponse
-> ListMonitoringAlertsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListMonitoringAlertsResponse
-> ListMonitoringAlertsResponse -> Bool
$c/= :: ListMonitoringAlertsResponse
-> ListMonitoringAlertsResponse -> Bool
== :: ListMonitoringAlertsResponse
-> ListMonitoringAlertsResponse -> Bool
$c== :: ListMonitoringAlertsResponse
-> ListMonitoringAlertsResponse -> Bool
Prelude.Eq, ReadPrec [ListMonitoringAlertsResponse]
ReadPrec ListMonitoringAlertsResponse
Int -> ReadS ListMonitoringAlertsResponse
ReadS [ListMonitoringAlertsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListMonitoringAlertsResponse]
$creadListPrec :: ReadPrec [ListMonitoringAlertsResponse]
readPrec :: ReadPrec ListMonitoringAlertsResponse
$creadPrec :: ReadPrec ListMonitoringAlertsResponse
readList :: ReadS [ListMonitoringAlertsResponse]
$creadList :: ReadS [ListMonitoringAlertsResponse]
readsPrec :: Int -> ReadS ListMonitoringAlertsResponse
$creadsPrec :: Int -> ReadS ListMonitoringAlertsResponse
Prelude.Read, Int -> ListMonitoringAlertsResponse -> ShowS
[ListMonitoringAlertsResponse] -> ShowS
ListMonitoringAlertsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListMonitoringAlertsResponse] -> ShowS
$cshowList :: [ListMonitoringAlertsResponse] -> ShowS
show :: ListMonitoringAlertsResponse -> String
$cshow :: ListMonitoringAlertsResponse -> String
showsPrec :: Int -> ListMonitoringAlertsResponse -> ShowS
$cshowsPrec :: Int -> ListMonitoringAlertsResponse -> ShowS
Prelude.Show, forall x.
Rep ListMonitoringAlertsResponse x -> ListMonitoringAlertsResponse
forall x.
ListMonitoringAlertsResponse -> Rep ListMonitoringAlertsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListMonitoringAlertsResponse x -> ListMonitoringAlertsResponse
$cfrom :: forall x.
ListMonitoringAlertsResponse -> Rep ListMonitoringAlertsResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListMonitoringAlertsResponse' 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:
--
-- 'monitoringAlertSummaries', 'listMonitoringAlertsResponse_monitoringAlertSummaries' - A JSON array where each element is a summary for a monitoring alert.
--
-- 'nextToken', 'listMonitoringAlertsResponse_nextToken' - If the response is truncated, SageMaker returns this token. To retrieve
-- the next set of alerts, use it in the subsequent request.
--
-- 'httpStatus', 'listMonitoringAlertsResponse_httpStatus' - The response's http status code.
newListMonitoringAlertsResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListMonitoringAlertsResponse
newListMonitoringAlertsResponse :: Int -> ListMonitoringAlertsResponse
newListMonitoringAlertsResponse Int
pHttpStatus_ =
  ListMonitoringAlertsResponse'
    { $sel:monitoringAlertSummaries:ListMonitoringAlertsResponse' :: Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListMonitoringAlertsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListMonitoringAlertsResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A JSON array where each element is a summary for a monitoring alert.
listMonitoringAlertsResponse_monitoringAlertSummaries :: Lens.Lens' ListMonitoringAlertsResponse (Prelude.Maybe (Prelude.NonEmpty MonitoringAlertSummary))
listMonitoringAlertsResponse_monitoringAlertSummaries :: Lens'
  ListMonitoringAlertsResponse
  (Maybe (NonEmpty MonitoringAlertSummary))
listMonitoringAlertsResponse_monitoringAlertSummaries = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListMonitoringAlertsResponse' {Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries :: Maybe (NonEmpty MonitoringAlertSummary)
$sel:monitoringAlertSummaries:ListMonitoringAlertsResponse' :: ListMonitoringAlertsResponse
-> Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries} -> Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries) (\s :: ListMonitoringAlertsResponse
s@ListMonitoringAlertsResponse' {} Maybe (NonEmpty MonitoringAlertSummary)
a -> ListMonitoringAlertsResponse
s {$sel:monitoringAlertSummaries:ListMonitoringAlertsResponse' :: Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries = Maybe (NonEmpty MonitoringAlertSummary)
a} :: ListMonitoringAlertsResponse) 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

-- | If the response is truncated, SageMaker returns this token. To retrieve
-- the next set of alerts, use it in the subsequent request.
listMonitoringAlertsResponse_nextToken :: Lens.Lens' ListMonitoringAlertsResponse (Prelude.Maybe Prelude.Text)
listMonitoringAlertsResponse_nextToken :: Lens' ListMonitoringAlertsResponse (Maybe Text)
listMonitoringAlertsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListMonitoringAlertsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListMonitoringAlertsResponse' :: ListMonitoringAlertsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListMonitoringAlertsResponse
s@ListMonitoringAlertsResponse' {} Maybe Text
a -> ListMonitoringAlertsResponse
s {$sel:nextToken:ListMonitoringAlertsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListMonitoringAlertsResponse)

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

instance Prelude.NFData ListMonitoringAlertsResponse where
  rnf :: ListMonitoringAlertsResponse -> ()
rnf ListMonitoringAlertsResponse' {Int
Maybe (NonEmpty MonitoringAlertSummary)
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
monitoringAlertSummaries :: Maybe (NonEmpty MonitoringAlertSummary)
$sel:httpStatus:ListMonitoringAlertsResponse' :: ListMonitoringAlertsResponse -> Int
$sel:nextToken:ListMonitoringAlertsResponse' :: ListMonitoringAlertsResponse -> Maybe Text
$sel:monitoringAlertSummaries:ListMonitoringAlertsResponse' :: ListMonitoringAlertsResponse
-> Maybe (NonEmpty MonitoringAlertSummary)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty MonitoringAlertSummary)
monitoringAlertSummaries
      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