{-# 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.DescribeMonitoringSchedule
-- 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)
--
-- Describes the schedule for a monitoring job.
module Amazonka.SageMaker.DescribeMonitoringSchedule
  ( -- * Creating a Request
    DescribeMonitoringSchedule (..),
    newDescribeMonitoringSchedule,

    -- * Request Lenses
    describeMonitoringSchedule_monitoringScheduleName,

    -- * Destructuring the Response
    DescribeMonitoringScheduleResponse (..),
    newDescribeMonitoringScheduleResponse,

    -- * Response Lenses
    describeMonitoringScheduleResponse_monitoringType,
    describeMonitoringScheduleResponse_failureReason,
    describeMonitoringScheduleResponse_endpointName,
    describeMonitoringScheduleResponse_lastMonitoringExecutionSummary,
    describeMonitoringScheduleResponse_httpStatus,
    describeMonitoringScheduleResponse_monitoringScheduleArn,
    describeMonitoringScheduleResponse_monitoringScheduleName,
    describeMonitoringScheduleResponse_monitoringScheduleStatus,
    describeMonitoringScheduleResponse_creationTime,
    describeMonitoringScheduleResponse_lastModifiedTime,
    describeMonitoringScheduleResponse_monitoringScheduleConfig,
  )
where

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

-- | /See:/ 'newDescribeMonitoringSchedule' smart constructor.
data DescribeMonitoringSchedule = DescribeMonitoringSchedule'
  { -- | Name of a previously created monitoring schedule.
    DescribeMonitoringSchedule -> Text
monitoringScheduleName :: Prelude.Text
  }
  deriving (DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool
(DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool)
-> (DescribeMonitoringSchedule
    -> DescribeMonitoringSchedule -> Bool)
-> Eq DescribeMonitoringSchedule
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool
$c/= :: DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool
== :: DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool
$c== :: DescribeMonitoringSchedule -> DescribeMonitoringSchedule -> Bool
Prelude.Eq, ReadPrec [DescribeMonitoringSchedule]
ReadPrec DescribeMonitoringSchedule
Int -> ReadS DescribeMonitoringSchedule
ReadS [DescribeMonitoringSchedule]
(Int -> ReadS DescribeMonitoringSchedule)
-> ReadS [DescribeMonitoringSchedule]
-> ReadPrec DescribeMonitoringSchedule
-> ReadPrec [DescribeMonitoringSchedule]
-> Read DescribeMonitoringSchedule
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMonitoringSchedule]
$creadListPrec :: ReadPrec [DescribeMonitoringSchedule]
readPrec :: ReadPrec DescribeMonitoringSchedule
$creadPrec :: ReadPrec DescribeMonitoringSchedule
readList :: ReadS [DescribeMonitoringSchedule]
$creadList :: ReadS [DescribeMonitoringSchedule]
readsPrec :: Int -> ReadS DescribeMonitoringSchedule
$creadsPrec :: Int -> ReadS DescribeMonitoringSchedule
Prelude.Read, Int -> DescribeMonitoringSchedule -> ShowS
[DescribeMonitoringSchedule] -> ShowS
DescribeMonitoringSchedule -> String
(Int -> DescribeMonitoringSchedule -> ShowS)
-> (DescribeMonitoringSchedule -> String)
-> ([DescribeMonitoringSchedule] -> ShowS)
-> Show DescribeMonitoringSchedule
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMonitoringSchedule] -> ShowS
$cshowList :: [DescribeMonitoringSchedule] -> ShowS
show :: DescribeMonitoringSchedule -> String
$cshow :: DescribeMonitoringSchedule -> String
showsPrec :: Int -> DescribeMonitoringSchedule -> ShowS
$cshowsPrec :: Int -> DescribeMonitoringSchedule -> ShowS
Prelude.Show, (forall x.
 DescribeMonitoringSchedule -> Rep DescribeMonitoringSchedule x)
-> (forall x.
    Rep DescribeMonitoringSchedule x -> DescribeMonitoringSchedule)
-> Generic DescribeMonitoringSchedule
forall x.
Rep DescribeMonitoringSchedule x -> DescribeMonitoringSchedule
forall x.
DescribeMonitoringSchedule -> Rep DescribeMonitoringSchedule x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeMonitoringSchedule x -> DescribeMonitoringSchedule
$cfrom :: forall x.
DescribeMonitoringSchedule -> Rep DescribeMonitoringSchedule x
Prelude.Generic)

-- |
-- Create a value of 'DescribeMonitoringSchedule' 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:
--
-- 'monitoringScheduleName', 'describeMonitoringSchedule_monitoringScheduleName' - Name of a previously created monitoring schedule.
newDescribeMonitoringSchedule ::
  -- | 'monitoringScheduleName'
  Prelude.Text ->
  DescribeMonitoringSchedule
newDescribeMonitoringSchedule :: Text -> DescribeMonitoringSchedule
newDescribeMonitoringSchedule
  Text
pMonitoringScheduleName_ =
    DescribeMonitoringSchedule' :: Text -> DescribeMonitoringSchedule
DescribeMonitoringSchedule'
      { $sel:monitoringScheduleName:DescribeMonitoringSchedule' :: Text
monitoringScheduleName =
          Text
pMonitoringScheduleName_
      }

-- | Name of a previously created monitoring schedule.
describeMonitoringSchedule_monitoringScheduleName :: Lens.Lens' DescribeMonitoringSchedule Prelude.Text
describeMonitoringSchedule_monitoringScheduleName :: (Text -> f Text)
-> DescribeMonitoringSchedule -> f DescribeMonitoringSchedule
describeMonitoringSchedule_monitoringScheduleName = (DescribeMonitoringSchedule -> Text)
-> (DescribeMonitoringSchedule
    -> Text -> DescribeMonitoringSchedule)
-> Lens
     DescribeMonitoringSchedule DescribeMonitoringSchedule Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringSchedule' {Text
monitoringScheduleName :: Text
$sel:monitoringScheduleName:DescribeMonitoringSchedule' :: DescribeMonitoringSchedule -> Text
monitoringScheduleName} -> Text
monitoringScheduleName) (\s :: DescribeMonitoringSchedule
s@DescribeMonitoringSchedule' {} Text
a -> DescribeMonitoringSchedule
s {$sel:monitoringScheduleName:DescribeMonitoringSchedule' :: Text
monitoringScheduleName = Text
a} :: DescribeMonitoringSchedule)

instance Core.AWSRequest DescribeMonitoringSchedule where
  type
    AWSResponse DescribeMonitoringSchedule =
      DescribeMonitoringScheduleResponse
  request :: DescribeMonitoringSchedule -> Request DescribeMonitoringSchedule
request = Service
-> DescribeMonitoringSchedule -> Request DescribeMonitoringSchedule
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeMonitoringSchedule
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeMonitoringSchedule)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeMonitoringSchedule))
-> Logger
-> Service
-> Proxy DescribeMonitoringSchedule
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeMonitoringSchedule)))
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 MonitoringType
-> Maybe Text
-> Maybe Text
-> Maybe MonitoringExecutionSummary
-> Int
-> Text
-> Text
-> ScheduleStatus
-> POSIX
-> POSIX
-> MonitoringScheduleConfig
-> DescribeMonitoringScheduleResponse
DescribeMonitoringScheduleResponse'
            (Maybe MonitoringType
 -> Maybe Text
 -> Maybe Text
 -> Maybe MonitoringExecutionSummary
 -> Int
 -> Text
 -> Text
 -> ScheduleStatus
 -> POSIX
 -> POSIX
 -> MonitoringScheduleConfig
 -> DescribeMonitoringScheduleResponse)
-> Either String (Maybe MonitoringType)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe MonitoringExecutionSummary
      -> Int
      -> Text
      -> Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe MonitoringType)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"MonitoringType")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe MonitoringExecutionSummary
   -> Int
   -> Text
   -> Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe MonitoringExecutionSummary
      -> Int
      -> Text
      -> Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
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
"FailureReason")
            Either
  String
  (Maybe Text
   -> Maybe MonitoringExecutionSummary
   -> Int
   -> Text
   -> Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe MonitoringExecutionSummary
      -> Int
      -> Text
      -> Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
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
"EndpointName")
            Either
  String
  (Maybe MonitoringExecutionSummary
   -> Int
   -> Text
   -> Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String (Maybe MonitoringExecutionSummary)
-> Either
     String
     (Int
      -> Text
      -> Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe MonitoringExecutionSummary)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"LastMonitoringExecutionSummary")
            Either
  String
  (Int
   -> Text
   -> Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String Int
-> Either
     String
     (Text
      -> Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
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))
            Either
  String
  (Text
   -> Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String Text
-> Either
     String
     (Text
      -> ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"MonitoringScheduleArn")
            Either
  String
  (Text
   -> ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String Text
-> Either
     String
     (ScheduleStatus
      -> POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String Text
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"MonitoringScheduleName")
            Either
  String
  (ScheduleStatus
   -> POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String ScheduleStatus
-> Either
     String
     (POSIX
      -> POSIX
      -> MonitoringScheduleConfig
      -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String ScheduleStatus
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"MonitoringScheduleStatus")
            Either
  String
  (POSIX
   -> POSIX
   -> MonitoringScheduleConfig
   -> DescribeMonitoringScheduleResponse)
-> Either String POSIX
-> Either
     String
     (POSIX
      -> MonitoringScheduleConfig -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"CreationTime")
            Either
  String
  (POSIX
   -> MonitoringScheduleConfig -> DescribeMonitoringScheduleResponse)
-> Either String POSIX
-> Either
     String
     (MonitoringScheduleConfig -> DescribeMonitoringScheduleResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String POSIX
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"LastModifiedTime")
            Either
  String
  (MonitoringScheduleConfig -> DescribeMonitoringScheduleResponse)
-> Either String MonitoringScheduleConfig
-> Either String DescribeMonitoringScheduleResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String MonitoringScheduleConfig
forall a. FromJSON a => Object -> Text -> Either String a
Core..:> Text
"MonitoringScheduleConfig")
      )

instance Prelude.Hashable DescribeMonitoringSchedule

instance Prelude.NFData DescribeMonitoringSchedule

instance Core.ToHeaders DescribeMonitoringSchedule where
  toHeaders :: DescribeMonitoringSchedule -> ResponseHeaders
toHeaders =
    ResponseHeaders -> DescribeMonitoringSchedule -> 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
"SageMaker.DescribeMonitoringSchedule" ::
                          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 DescribeMonitoringSchedule where
  toJSON :: DescribeMonitoringSchedule -> Value
toJSON DescribeMonitoringSchedule' {Text
monitoringScheduleName :: Text
$sel:monitoringScheduleName:DescribeMonitoringSchedule' :: DescribeMonitoringSchedule -> Text
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just
              ( Text
"MonitoringScheduleName"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
monitoringScheduleName
              )
          ]
      )

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

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

-- | /See:/ 'newDescribeMonitoringScheduleResponse' smart constructor.
data DescribeMonitoringScheduleResponse = DescribeMonitoringScheduleResponse'
  { -- | The type of the monitoring job that this schedule runs. This is one of
    -- the following values.
    --
    -- -   @DATA_QUALITY@ - The schedule is for a data quality monitoring job.
    --
    -- -   @MODEL_QUALITY@ - The schedule is for a model quality monitoring
    --     job.
    --
    -- -   @MODEL_BIAS@ - The schedule is for a bias monitoring job.
    --
    -- -   @MODEL_EXPLAINABILITY@ - The schedule is for an explainability
    --     monitoring job.
    DescribeMonitoringScheduleResponse -> Maybe MonitoringType
monitoringType :: Prelude.Maybe MonitoringType,
    -- | A string, up to one KB in size, that contains the reason a monitoring
    -- job failed, if it failed.
    DescribeMonitoringScheduleResponse -> Maybe Text
failureReason :: Prelude.Maybe Prelude.Text,
    -- | The name of the endpoint for the monitoring job.
    DescribeMonitoringScheduleResponse -> Maybe Text
endpointName :: Prelude.Maybe Prelude.Text,
    -- | Describes metadata on the last execution to run, if there was one.
    DescribeMonitoringScheduleResponse
-> Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary :: Prelude.Maybe MonitoringExecutionSummary,
    -- | The response's http status code.
    DescribeMonitoringScheduleResponse -> Int
httpStatus :: Prelude.Int,
    -- | The Amazon Resource Name (ARN) of the monitoring schedule.
    DescribeMonitoringScheduleResponse -> Text
monitoringScheduleArn :: Prelude.Text,
    -- | Name of the monitoring schedule.
    DescribeMonitoringScheduleResponse -> Text
monitoringScheduleName :: Prelude.Text,
    -- | The status of an monitoring job.
    DescribeMonitoringScheduleResponse -> ScheduleStatus
monitoringScheduleStatus :: ScheduleStatus,
    -- | The time at which the monitoring job was created.
    DescribeMonitoringScheduleResponse -> POSIX
creationTime :: Core.POSIX,
    -- | The time at which the monitoring job was last modified.
    DescribeMonitoringScheduleResponse -> POSIX
lastModifiedTime :: Core.POSIX,
    -- | The configuration object that specifies the monitoring schedule and
    -- defines the monitoring job.
    DescribeMonitoringScheduleResponse -> MonitoringScheduleConfig
monitoringScheduleConfig :: MonitoringScheduleConfig
  }
  deriving (DescribeMonitoringScheduleResponse
-> DescribeMonitoringScheduleResponse -> Bool
(DescribeMonitoringScheduleResponse
 -> DescribeMonitoringScheduleResponse -> Bool)
-> (DescribeMonitoringScheduleResponse
    -> DescribeMonitoringScheduleResponse -> Bool)
-> Eq DescribeMonitoringScheduleResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeMonitoringScheduleResponse
-> DescribeMonitoringScheduleResponse -> Bool
$c/= :: DescribeMonitoringScheduleResponse
-> DescribeMonitoringScheduleResponse -> Bool
== :: DescribeMonitoringScheduleResponse
-> DescribeMonitoringScheduleResponse -> Bool
$c== :: DescribeMonitoringScheduleResponse
-> DescribeMonitoringScheduleResponse -> Bool
Prelude.Eq, ReadPrec [DescribeMonitoringScheduleResponse]
ReadPrec DescribeMonitoringScheduleResponse
Int -> ReadS DescribeMonitoringScheduleResponse
ReadS [DescribeMonitoringScheduleResponse]
(Int -> ReadS DescribeMonitoringScheduleResponse)
-> ReadS [DescribeMonitoringScheduleResponse]
-> ReadPrec DescribeMonitoringScheduleResponse
-> ReadPrec [DescribeMonitoringScheduleResponse]
-> Read DescribeMonitoringScheduleResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeMonitoringScheduleResponse]
$creadListPrec :: ReadPrec [DescribeMonitoringScheduleResponse]
readPrec :: ReadPrec DescribeMonitoringScheduleResponse
$creadPrec :: ReadPrec DescribeMonitoringScheduleResponse
readList :: ReadS [DescribeMonitoringScheduleResponse]
$creadList :: ReadS [DescribeMonitoringScheduleResponse]
readsPrec :: Int -> ReadS DescribeMonitoringScheduleResponse
$creadsPrec :: Int -> ReadS DescribeMonitoringScheduleResponse
Prelude.Read, Int -> DescribeMonitoringScheduleResponse -> ShowS
[DescribeMonitoringScheduleResponse] -> ShowS
DescribeMonitoringScheduleResponse -> String
(Int -> DescribeMonitoringScheduleResponse -> ShowS)
-> (DescribeMonitoringScheduleResponse -> String)
-> ([DescribeMonitoringScheduleResponse] -> ShowS)
-> Show DescribeMonitoringScheduleResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeMonitoringScheduleResponse] -> ShowS
$cshowList :: [DescribeMonitoringScheduleResponse] -> ShowS
show :: DescribeMonitoringScheduleResponse -> String
$cshow :: DescribeMonitoringScheduleResponse -> String
showsPrec :: Int -> DescribeMonitoringScheduleResponse -> ShowS
$cshowsPrec :: Int -> DescribeMonitoringScheduleResponse -> ShowS
Prelude.Show, (forall x.
 DescribeMonitoringScheduleResponse
 -> Rep DescribeMonitoringScheduleResponse x)
-> (forall x.
    Rep DescribeMonitoringScheduleResponse x
    -> DescribeMonitoringScheduleResponse)
-> Generic DescribeMonitoringScheduleResponse
forall x.
Rep DescribeMonitoringScheduleResponse x
-> DescribeMonitoringScheduleResponse
forall x.
DescribeMonitoringScheduleResponse
-> Rep DescribeMonitoringScheduleResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeMonitoringScheduleResponse x
-> DescribeMonitoringScheduleResponse
$cfrom :: forall x.
DescribeMonitoringScheduleResponse
-> Rep DescribeMonitoringScheduleResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeMonitoringScheduleResponse' 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:
--
-- 'monitoringType', 'describeMonitoringScheduleResponse_monitoringType' - The type of the monitoring job that this schedule runs. This is one of
-- the following values.
--
-- -   @DATA_QUALITY@ - The schedule is for a data quality monitoring job.
--
-- -   @MODEL_QUALITY@ - The schedule is for a model quality monitoring
--     job.
--
-- -   @MODEL_BIAS@ - The schedule is for a bias monitoring job.
--
-- -   @MODEL_EXPLAINABILITY@ - The schedule is for an explainability
--     monitoring job.
--
-- 'failureReason', 'describeMonitoringScheduleResponse_failureReason' - A string, up to one KB in size, that contains the reason a monitoring
-- job failed, if it failed.
--
-- 'endpointName', 'describeMonitoringScheduleResponse_endpointName' - The name of the endpoint for the monitoring job.
--
-- 'lastMonitoringExecutionSummary', 'describeMonitoringScheduleResponse_lastMonitoringExecutionSummary' - Describes metadata on the last execution to run, if there was one.
--
-- 'httpStatus', 'describeMonitoringScheduleResponse_httpStatus' - The response's http status code.
--
-- 'monitoringScheduleArn', 'describeMonitoringScheduleResponse_monitoringScheduleArn' - The Amazon Resource Name (ARN) of the monitoring schedule.
--
-- 'monitoringScheduleName', 'describeMonitoringScheduleResponse_monitoringScheduleName' - Name of the monitoring schedule.
--
-- 'monitoringScheduleStatus', 'describeMonitoringScheduleResponse_monitoringScheduleStatus' - The status of an monitoring job.
--
-- 'creationTime', 'describeMonitoringScheduleResponse_creationTime' - The time at which the monitoring job was created.
--
-- 'lastModifiedTime', 'describeMonitoringScheduleResponse_lastModifiedTime' - The time at which the monitoring job was last modified.
--
-- 'monitoringScheduleConfig', 'describeMonitoringScheduleResponse_monitoringScheduleConfig' - The configuration object that specifies the monitoring schedule and
-- defines the monitoring job.
newDescribeMonitoringScheduleResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  -- | 'monitoringScheduleArn'
  Prelude.Text ->
  -- | 'monitoringScheduleName'
  Prelude.Text ->
  -- | 'monitoringScheduleStatus'
  ScheduleStatus ->
  -- | 'creationTime'
  Prelude.UTCTime ->
  -- | 'lastModifiedTime'
  Prelude.UTCTime ->
  -- | 'monitoringScheduleConfig'
  MonitoringScheduleConfig ->
  DescribeMonitoringScheduleResponse
newDescribeMonitoringScheduleResponse :: Int
-> Text
-> Text
-> ScheduleStatus
-> UTCTime
-> UTCTime
-> MonitoringScheduleConfig
-> DescribeMonitoringScheduleResponse
newDescribeMonitoringScheduleResponse
  Int
pHttpStatus_
  Text
pMonitoringScheduleArn_
  Text
pMonitoringScheduleName_
  ScheduleStatus
pMonitoringScheduleStatus_
  UTCTime
pCreationTime_
  UTCTime
pLastModifiedTime_
  MonitoringScheduleConfig
pMonitoringScheduleConfig_ =
    DescribeMonitoringScheduleResponse' :: Maybe MonitoringType
-> Maybe Text
-> Maybe Text
-> Maybe MonitoringExecutionSummary
-> Int
-> Text
-> Text
-> ScheduleStatus
-> POSIX
-> POSIX
-> MonitoringScheduleConfig
-> DescribeMonitoringScheduleResponse
DescribeMonitoringScheduleResponse'
      { $sel:monitoringType:DescribeMonitoringScheduleResponse' :: Maybe MonitoringType
monitoringType =
          Maybe MonitoringType
forall a. Maybe a
Prelude.Nothing,
        $sel:failureReason:DescribeMonitoringScheduleResponse' :: Maybe Text
failureReason = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:endpointName:DescribeMonitoringScheduleResponse' :: Maybe Text
endpointName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
        $sel:lastMonitoringExecutionSummary:DescribeMonitoringScheduleResponse' :: Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary =
          Maybe MonitoringExecutionSummary
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:DescribeMonitoringScheduleResponse' :: Int
httpStatus = Int
pHttpStatus_,
        $sel:monitoringScheduleArn:DescribeMonitoringScheduleResponse' :: Text
monitoringScheduleArn =
          Text
pMonitoringScheduleArn_,
        $sel:monitoringScheduleName:DescribeMonitoringScheduleResponse' :: Text
monitoringScheduleName =
          Text
pMonitoringScheduleName_,
        $sel:monitoringScheduleStatus:DescribeMonitoringScheduleResponse' :: ScheduleStatus
monitoringScheduleStatus =
          ScheduleStatus
pMonitoringScheduleStatus_,
        $sel:creationTime:DescribeMonitoringScheduleResponse' :: POSIX
creationTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pCreationTime_,
        $sel:lastModifiedTime:DescribeMonitoringScheduleResponse' :: POSIX
lastModifiedTime =
          Tagged UTCTime (Identity UTCTime) -> Tagged POSIX (Identity POSIX)
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time (Tagged UTCTime (Identity UTCTime)
 -> Tagged POSIX (Identity POSIX))
-> UTCTime -> POSIX
forall t b. AReview t b -> b -> t
Lens.# UTCTime
pLastModifiedTime_,
        $sel:monitoringScheduleConfig:DescribeMonitoringScheduleResponse' :: MonitoringScheduleConfig
monitoringScheduleConfig =
          MonitoringScheduleConfig
pMonitoringScheduleConfig_
      }

-- | The type of the monitoring job that this schedule runs. This is one of
-- the following values.
--
-- -   @DATA_QUALITY@ - The schedule is for a data quality monitoring job.
--
-- -   @MODEL_QUALITY@ - The schedule is for a model quality monitoring
--     job.
--
-- -   @MODEL_BIAS@ - The schedule is for a bias monitoring job.
--
-- -   @MODEL_EXPLAINABILITY@ - The schedule is for an explainability
--     monitoring job.
describeMonitoringScheduleResponse_monitoringType :: Lens.Lens' DescribeMonitoringScheduleResponse (Prelude.Maybe MonitoringType)
describeMonitoringScheduleResponse_monitoringType :: (Maybe MonitoringType -> f (Maybe MonitoringType))
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_monitoringType = (DescribeMonitoringScheduleResponse -> Maybe MonitoringType)
-> (DescribeMonitoringScheduleResponse
    -> Maybe MonitoringType -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     (Maybe MonitoringType)
     (Maybe MonitoringType)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Maybe MonitoringType
monitoringType :: Maybe MonitoringType
$sel:monitoringType:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> Maybe MonitoringType
monitoringType} -> Maybe MonitoringType
monitoringType) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Maybe MonitoringType
a -> DescribeMonitoringScheduleResponse
s {$sel:monitoringType:DescribeMonitoringScheduleResponse' :: Maybe MonitoringType
monitoringType = Maybe MonitoringType
a} :: DescribeMonitoringScheduleResponse)

-- | A string, up to one KB in size, that contains the reason a monitoring
-- job failed, if it failed.
describeMonitoringScheduleResponse_failureReason :: Lens.Lens' DescribeMonitoringScheduleResponse (Prelude.Maybe Prelude.Text)
describeMonitoringScheduleResponse_failureReason :: (Maybe Text -> f (Maybe Text))
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_failureReason = (DescribeMonitoringScheduleResponse -> Maybe Text)
-> (DescribeMonitoringScheduleResponse
    -> Maybe Text -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Maybe Text
failureReason :: Maybe Text
$sel:failureReason:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> Maybe Text
failureReason} -> Maybe Text
failureReason) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Maybe Text
a -> DescribeMonitoringScheduleResponse
s {$sel:failureReason:DescribeMonitoringScheduleResponse' :: Maybe Text
failureReason = Maybe Text
a} :: DescribeMonitoringScheduleResponse)

-- | The name of the endpoint for the monitoring job.
describeMonitoringScheduleResponse_endpointName :: Lens.Lens' DescribeMonitoringScheduleResponse (Prelude.Maybe Prelude.Text)
describeMonitoringScheduleResponse_endpointName :: (Maybe Text -> f (Maybe Text))
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_endpointName = (DescribeMonitoringScheduleResponse -> Maybe Text)
-> (DescribeMonitoringScheduleResponse
    -> Maybe Text -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Maybe Text
endpointName :: Maybe Text
$sel:endpointName:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> Maybe Text
endpointName} -> Maybe Text
endpointName) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Maybe Text
a -> DescribeMonitoringScheduleResponse
s {$sel:endpointName:DescribeMonitoringScheduleResponse' :: Maybe Text
endpointName = Maybe Text
a} :: DescribeMonitoringScheduleResponse)

-- | Describes metadata on the last execution to run, if there was one.
describeMonitoringScheduleResponse_lastMonitoringExecutionSummary :: Lens.Lens' DescribeMonitoringScheduleResponse (Prelude.Maybe MonitoringExecutionSummary)
describeMonitoringScheduleResponse_lastMonitoringExecutionSummary :: (Maybe MonitoringExecutionSummary
 -> f (Maybe MonitoringExecutionSummary))
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_lastMonitoringExecutionSummary = (DescribeMonitoringScheduleResponse
 -> Maybe MonitoringExecutionSummary)
-> (DescribeMonitoringScheduleResponse
    -> Maybe MonitoringExecutionSummary
    -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     (Maybe MonitoringExecutionSummary)
     (Maybe MonitoringExecutionSummary)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary :: Maybe MonitoringExecutionSummary
$sel:lastMonitoringExecutionSummary:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse
-> Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary} -> Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Maybe MonitoringExecutionSummary
a -> DescribeMonitoringScheduleResponse
s {$sel:lastMonitoringExecutionSummary:DescribeMonitoringScheduleResponse' :: Maybe MonitoringExecutionSummary
lastMonitoringExecutionSummary = Maybe MonitoringExecutionSummary
a} :: DescribeMonitoringScheduleResponse)

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

-- | The Amazon Resource Name (ARN) of the monitoring schedule.
describeMonitoringScheduleResponse_monitoringScheduleArn :: Lens.Lens' DescribeMonitoringScheduleResponse Prelude.Text
describeMonitoringScheduleResponse_monitoringScheduleArn :: (Text -> f Text)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_monitoringScheduleArn = (DescribeMonitoringScheduleResponse -> Text)
-> (DescribeMonitoringScheduleResponse
    -> Text -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Text
monitoringScheduleArn :: Text
$sel:monitoringScheduleArn:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> Text
monitoringScheduleArn} -> Text
monitoringScheduleArn) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Text
a -> DescribeMonitoringScheduleResponse
s {$sel:monitoringScheduleArn:DescribeMonitoringScheduleResponse' :: Text
monitoringScheduleArn = Text
a} :: DescribeMonitoringScheduleResponse)

-- | Name of the monitoring schedule.
describeMonitoringScheduleResponse_monitoringScheduleName :: Lens.Lens' DescribeMonitoringScheduleResponse Prelude.Text
describeMonitoringScheduleResponse_monitoringScheduleName :: (Text -> f Text)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_monitoringScheduleName = (DescribeMonitoringScheduleResponse -> Text)
-> (DescribeMonitoringScheduleResponse
    -> Text -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {Text
monitoringScheduleName :: Text
$sel:monitoringScheduleName:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> Text
monitoringScheduleName} -> Text
monitoringScheduleName) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} Text
a -> DescribeMonitoringScheduleResponse
s {$sel:monitoringScheduleName:DescribeMonitoringScheduleResponse' :: Text
monitoringScheduleName = Text
a} :: DescribeMonitoringScheduleResponse)

-- | The status of an monitoring job.
describeMonitoringScheduleResponse_monitoringScheduleStatus :: Lens.Lens' DescribeMonitoringScheduleResponse ScheduleStatus
describeMonitoringScheduleResponse_monitoringScheduleStatus :: (ScheduleStatus -> f ScheduleStatus)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_monitoringScheduleStatus = (DescribeMonitoringScheduleResponse -> ScheduleStatus)
-> (DescribeMonitoringScheduleResponse
    -> ScheduleStatus -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     ScheduleStatus
     ScheduleStatus
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {ScheduleStatus
monitoringScheduleStatus :: ScheduleStatus
$sel:monitoringScheduleStatus:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> ScheduleStatus
monitoringScheduleStatus} -> ScheduleStatus
monitoringScheduleStatus) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} ScheduleStatus
a -> DescribeMonitoringScheduleResponse
s {$sel:monitoringScheduleStatus:DescribeMonitoringScheduleResponse' :: ScheduleStatus
monitoringScheduleStatus = ScheduleStatus
a} :: DescribeMonitoringScheduleResponse)

-- | The time at which the monitoring job was created.
describeMonitoringScheduleResponse_creationTime :: Lens.Lens' DescribeMonitoringScheduleResponse Prelude.UTCTime
describeMonitoringScheduleResponse_creationTime :: (UTCTime -> f UTCTime)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_creationTime = (DescribeMonitoringScheduleResponse -> POSIX)
-> (DescribeMonitoringScheduleResponse
    -> POSIX -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     POSIX
     POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {POSIX
creationTime :: POSIX
$sel:creationTime:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> POSIX
creationTime} -> POSIX
creationTime) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} POSIX
a -> DescribeMonitoringScheduleResponse
s {$sel:creationTime:DescribeMonitoringScheduleResponse' :: POSIX
creationTime = POSIX
a} :: DescribeMonitoringScheduleResponse) ((POSIX -> f POSIX)
 -> DescribeMonitoringScheduleResponse
 -> f DescribeMonitoringScheduleResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The time at which the monitoring job was last modified.
describeMonitoringScheduleResponse_lastModifiedTime :: Lens.Lens' DescribeMonitoringScheduleResponse Prelude.UTCTime
describeMonitoringScheduleResponse_lastModifiedTime :: (UTCTime -> f UTCTime)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_lastModifiedTime = (DescribeMonitoringScheduleResponse -> POSIX)
-> (DescribeMonitoringScheduleResponse
    -> POSIX -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     POSIX
     POSIX
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {POSIX
lastModifiedTime :: POSIX
$sel:lastModifiedTime:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> POSIX
lastModifiedTime} -> POSIX
lastModifiedTime) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} POSIX
a -> DescribeMonitoringScheduleResponse
s {$sel:lastModifiedTime:DescribeMonitoringScheduleResponse' :: POSIX
lastModifiedTime = POSIX
a} :: DescribeMonitoringScheduleResponse) ((POSIX -> f POSIX)
 -> DescribeMonitoringScheduleResponse
 -> f DescribeMonitoringScheduleResponse)
-> ((UTCTime -> f UTCTime) -> POSIX -> f POSIX)
-> (UTCTime -> f UTCTime)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. (UTCTime -> f UTCTime) -> POSIX -> f POSIX
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The configuration object that specifies the monitoring schedule and
-- defines the monitoring job.
describeMonitoringScheduleResponse_monitoringScheduleConfig :: Lens.Lens' DescribeMonitoringScheduleResponse MonitoringScheduleConfig
describeMonitoringScheduleResponse_monitoringScheduleConfig :: (MonitoringScheduleConfig -> f MonitoringScheduleConfig)
-> DescribeMonitoringScheduleResponse
-> f DescribeMonitoringScheduleResponse
describeMonitoringScheduleResponse_monitoringScheduleConfig = (DescribeMonitoringScheduleResponse -> MonitoringScheduleConfig)
-> (DescribeMonitoringScheduleResponse
    -> MonitoringScheduleConfig -> DescribeMonitoringScheduleResponse)
-> Lens
     DescribeMonitoringScheduleResponse
     DescribeMonitoringScheduleResponse
     MonitoringScheduleConfig
     MonitoringScheduleConfig
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeMonitoringScheduleResponse' {MonitoringScheduleConfig
monitoringScheduleConfig :: MonitoringScheduleConfig
$sel:monitoringScheduleConfig:DescribeMonitoringScheduleResponse' :: DescribeMonitoringScheduleResponse -> MonitoringScheduleConfig
monitoringScheduleConfig} -> MonitoringScheduleConfig
monitoringScheduleConfig) (\s :: DescribeMonitoringScheduleResponse
s@DescribeMonitoringScheduleResponse' {} MonitoringScheduleConfig
a -> DescribeMonitoringScheduleResponse
s {$sel:monitoringScheduleConfig:DescribeMonitoringScheduleResponse' :: MonitoringScheduleConfig
monitoringScheduleConfig = MonitoringScheduleConfig
a} :: DescribeMonitoringScheduleResponse)

instance
  Prelude.NFData
    DescribeMonitoringScheduleResponse