{-# 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.DescribeInferenceScheduler
-- 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)
--
-- Specifies information about the inference scheduler being used,
-- including name, model, status, and associated metadata
module Amazonka.LookoutEquipment.DescribeInferenceScheduler
  ( -- * Creating a Request
    DescribeInferenceScheduler (..),
    newDescribeInferenceScheduler,

    -- * Request Lenses
    describeInferenceScheduler_inferenceSchedulerName,

    -- * Destructuring the Response
    DescribeInferenceSchedulerResponse (..),
    newDescribeInferenceSchedulerResponse,

    -- * Response Lenses
    describeInferenceSchedulerResponse_status,
    describeInferenceSchedulerResponse_dataUploadFrequency,
    describeInferenceSchedulerResponse_dataDelayOffsetInMinutes,
    describeInferenceSchedulerResponse_modelArn,
    describeInferenceSchedulerResponse_createdAt,
    describeInferenceSchedulerResponse_modelName,
    describeInferenceSchedulerResponse_inferenceSchedulerArn,
    describeInferenceSchedulerResponse_dataOutputConfiguration,
    describeInferenceSchedulerResponse_updatedAt,
    describeInferenceSchedulerResponse_inferenceSchedulerName,
    describeInferenceSchedulerResponse_dataInputConfiguration,
    describeInferenceSchedulerResponse_serverSideKmsKeyId,
    describeInferenceSchedulerResponse_roleArn,
    describeInferenceSchedulerResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDescribeInferenceScheduler' smart constructor.
data DescribeInferenceScheduler = DescribeInferenceScheduler'
  { -- | The name of the inference scheduler being described.
    DescribeInferenceScheduler -> Text
inferenceSchedulerName :: Prelude.Text
  }
  deriving (DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool
(DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool)
-> (DescribeInferenceScheduler
    -> DescribeInferenceScheduler -> Bool)
-> Eq DescribeInferenceScheduler
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool
$c/= :: DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool
== :: DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool
$c== :: DescribeInferenceScheduler -> DescribeInferenceScheduler -> Bool
Prelude.Eq, ReadPrec [DescribeInferenceScheduler]
ReadPrec DescribeInferenceScheduler
Int -> ReadS DescribeInferenceScheduler
ReadS [DescribeInferenceScheduler]
(Int -> ReadS DescribeInferenceScheduler)
-> ReadS [DescribeInferenceScheduler]
-> ReadPrec DescribeInferenceScheduler
-> ReadPrec [DescribeInferenceScheduler]
-> Read DescribeInferenceScheduler
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInferenceScheduler]
$creadListPrec :: ReadPrec [DescribeInferenceScheduler]
readPrec :: ReadPrec DescribeInferenceScheduler
$creadPrec :: ReadPrec DescribeInferenceScheduler
readList :: ReadS [DescribeInferenceScheduler]
$creadList :: ReadS [DescribeInferenceScheduler]
readsPrec :: Int -> ReadS DescribeInferenceScheduler
$creadsPrec :: Int -> ReadS DescribeInferenceScheduler
Prelude.Read, Int -> DescribeInferenceScheduler -> ShowS
[DescribeInferenceScheduler] -> ShowS
DescribeInferenceScheduler -> String
(Int -> DescribeInferenceScheduler -> ShowS)
-> (DescribeInferenceScheduler -> String)
-> ([DescribeInferenceScheduler] -> ShowS)
-> Show DescribeInferenceScheduler
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInferenceScheduler] -> ShowS
$cshowList :: [DescribeInferenceScheduler] -> ShowS
show :: DescribeInferenceScheduler -> String
$cshow :: DescribeInferenceScheduler -> String
showsPrec :: Int -> DescribeInferenceScheduler -> ShowS
$cshowsPrec :: Int -> DescribeInferenceScheduler -> ShowS
Prelude.Show, (forall x.
 DescribeInferenceScheduler -> Rep DescribeInferenceScheduler x)
-> (forall x.
    Rep DescribeInferenceScheduler x -> DescribeInferenceScheduler)
-> Generic DescribeInferenceScheduler
forall x.
Rep DescribeInferenceScheduler x -> DescribeInferenceScheduler
forall x.
DescribeInferenceScheduler -> Rep DescribeInferenceScheduler x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInferenceScheduler x -> DescribeInferenceScheduler
$cfrom :: forall x.
DescribeInferenceScheduler -> Rep DescribeInferenceScheduler x
Prelude.Generic)

-- |
-- Create a value of 'DescribeInferenceScheduler' 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:
--
-- 'inferenceSchedulerName', 'describeInferenceScheduler_inferenceSchedulerName' - The name of the inference scheduler being described.
newDescribeInferenceScheduler ::
  -- | 'inferenceSchedulerName'
  Prelude.Text ->
  DescribeInferenceScheduler
newDescribeInferenceScheduler :: Text -> DescribeInferenceScheduler
newDescribeInferenceScheduler
  Text
pInferenceSchedulerName_ =
    DescribeInferenceScheduler' :: Text -> DescribeInferenceScheduler
DescribeInferenceScheduler'
      { $sel:inferenceSchedulerName:DescribeInferenceScheduler' :: Text
inferenceSchedulerName =
          Text
pInferenceSchedulerName_
      }

-- | The name of the inference scheduler being described.
describeInferenceScheduler_inferenceSchedulerName :: Lens.Lens' DescribeInferenceScheduler Prelude.Text
describeInferenceScheduler_inferenceSchedulerName :: (Text -> f Text)
-> DescribeInferenceScheduler -> f DescribeInferenceScheduler
describeInferenceScheduler_inferenceSchedulerName = (DescribeInferenceScheduler -> Text)
-> (DescribeInferenceScheduler
    -> Text -> DescribeInferenceScheduler)
-> Lens
     DescribeInferenceScheduler DescribeInferenceScheduler Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceScheduler' {Text
inferenceSchedulerName :: Text
$sel:inferenceSchedulerName:DescribeInferenceScheduler' :: DescribeInferenceScheduler -> Text
inferenceSchedulerName} -> Text
inferenceSchedulerName) (\s :: DescribeInferenceScheduler
s@DescribeInferenceScheduler' {} Text
a -> DescribeInferenceScheduler
s {$sel:inferenceSchedulerName:DescribeInferenceScheduler' :: Text
inferenceSchedulerName = Text
a} :: DescribeInferenceScheduler)

instance Core.AWSRequest DescribeInferenceScheduler where
  type
    AWSResponse DescribeInferenceScheduler =
      DescribeInferenceSchedulerResponse
  request :: DescribeInferenceScheduler -> Request DescribeInferenceScheduler
request = Service
-> DescribeInferenceScheduler -> Request DescribeInferenceScheduler
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy DescribeInferenceScheduler
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeInferenceScheduler)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse DescribeInferenceScheduler))
-> Logger
-> Service
-> Proxy DescribeInferenceScheduler
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribeInferenceScheduler)))
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 InferenceSchedulerStatus
-> Maybe DataUploadFrequency
-> Maybe Natural
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe InferenceOutputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe InferenceInputConfiguration
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeInferenceSchedulerResponse
DescribeInferenceSchedulerResponse'
            (Maybe InferenceSchedulerStatus
 -> Maybe DataUploadFrequency
 -> Maybe Natural
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Maybe InferenceOutputConfiguration
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe InferenceInputConfiguration
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe InferenceSchedulerStatus)
-> Either
     String
     (Maybe DataUploadFrequency
      -> Maybe Natural
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe InferenceSchedulerStatus)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Status")
            Either
  String
  (Maybe DataUploadFrequency
   -> Maybe Natural
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe DataUploadFrequency)
-> Either
     String
     (Maybe Natural
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe DataUploadFrequency)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DataUploadFrequency")
            Either
  String
  (Maybe Natural
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Natural)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Natural)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DataDelayOffsetInMinutes")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
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
"ModelArn")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreatedAt")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
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
"ModelName")
            Either
  String
  (Maybe Text
   -> Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe InferenceOutputConfiguration
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
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
"InferenceSchedulerArn")
            Either
  String
  (Maybe InferenceOutputConfiguration
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe InferenceOutputConfiguration)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object
-> Text -> Either String (Maybe InferenceOutputConfiguration)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DataOutputConfiguration")
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"UpdatedAt")
            Either
  String
  (Maybe Text
   -> Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe InferenceInputConfiguration
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> DescribeInferenceSchedulerResponse)
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
"InferenceSchedulerName")
            Either
  String
  (Maybe InferenceInputConfiguration
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe InferenceInputConfiguration)
-> Either
     String
     (Maybe Text
      -> Maybe Text -> Int -> DescribeInferenceSchedulerResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe InferenceInputConfiguration)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"DataInputConfiguration")
            Either
  String
  (Maybe Text
   -> Maybe Text -> Int -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String (Maybe Text -> Int -> DescribeInferenceSchedulerResponse)
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
"ServerSideKmsKeyId")
            Either
  String (Maybe Text -> Int -> DescribeInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either String (Int -> DescribeInferenceSchedulerResponse)
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
"RoleArn")
            Either String (Int -> DescribeInferenceSchedulerResponse)
-> Either String Int
-> Either String DescribeInferenceSchedulerResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribeInferenceScheduler

instance Prelude.NFData DescribeInferenceScheduler

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

instance Core.ToJSON DescribeInferenceScheduler where
  toJSON :: DescribeInferenceScheduler -> Value
toJSON DescribeInferenceScheduler' {Text
inferenceSchedulerName :: Text
$sel:inferenceSchedulerName:DescribeInferenceScheduler' :: DescribeInferenceScheduler -> 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
"InferenceSchedulerName"
                  Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
inferenceSchedulerName
              )
          ]
      )

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

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

-- | /See:/ 'newDescribeInferenceSchedulerResponse' smart constructor.
data DescribeInferenceSchedulerResponse = DescribeInferenceSchedulerResponse'
  { -- | Indicates the status of the inference scheduler.
    DescribeInferenceSchedulerResponse
-> Maybe InferenceSchedulerStatus
status :: Prelude.Maybe InferenceSchedulerStatus,
    -- | Specifies how often data is uploaded to the source S3 bucket for the
    -- input data. This value is the length of time between data uploads. For
    -- instance, if you select 5 minutes, Amazon Lookout for Equipment will
    -- upload the real-time data to the source bucket once every 5 minutes.
    -- This frequency also determines how often Amazon Lookout for Equipment
    -- starts a scheduled inference on your data. In this example, it starts
    -- once every 5 minutes.
    DescribeInferenceSchedulerResponse -> Maybe DataUploadFrequency
dataUploadFrequency :: Prelude.Maybe DataUploadFrequency,
    -- | A period of time (in minutes) by which inference on the data is delayed
    -- after the data starts. For instance, if you select an offset delay time
    -- of five minutes, inference will not begin on the data until the first
    -- data measurement after the five minute mark. For example, if five
    -- minutes is selected, the inference scheduler will wake up at the
    -- configured frequency with the additional five minute delay time to check
    -- the customer S3 bucket. The customer can upload data at the same
    -- frequency and they don\'t need to stop and restart the scheduler when
    -- uploading new data.
    DescribeInferenceSchedulerResponse -> Maybe Natural
dataDelayOffsetInMinutes :: Prelude.Maybe Prelude.Natural,
    -- | The Amazon Resource Name (ARN) of the ML model of the inference
    -- scheduler being described.
    DescribeInferenceSchedulerResponse -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | Specifies the time at which the inference scheduler was created.
    DescribeInferenceSchedulerResponse -> Maybe POSIX
createdAt :: Prelude.Maybe Core.POSIX,
    -- | The name of the ML model of the inference scheduler being described.
    DescribeInferenceSchedulerResponse -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the inference scheduler being
    -- described.
    DescribeInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerArn :: Prelude.Maybe Prelude.Text,
    -- | Specifies information for the output results for the inference
    -- scheduler, including the output S3 location.
    DescribeInferenceSchedulerResponse
-> Maybe InferenceOutputConfiguration
dataOutputConfiguration :: Prelude.Maybe InferenceOutputConfiguration,
    -- | Specifies the time at which the inference scheduler was last updated, if
    -- it was.
    DescribeInferenceSchedulerResponse -> Maybe POSIX
updatedAt :: Prelude.Maybe Core.POSIX,
    -- | The name of the inference scheduler being described.
    DescribeInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerName :: Prelude.Maybe Prelude.Text,
    -- | Specifies configuration information for the input data for the inference
    -- scheduler, including delimiter, format, and dataset location.
    DescribeInferenceSchedulerResponse
-> Maybe InferenceInputConfiguration
dataInputConfiguration :: Prelude.Maybe InferenceInputConfiguration,
    -- | Provides the identifier of the KMS key used to encrypt inference
    -- scheduler data by Amazon Lookout for Equipment.
    DescribeInferenceSchedulerResponse -> Maybe Text
serverSideKmsKeyId :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of a role with permission to access the
    -- data source for the inference scheduler being described.
    DescribeInferenceSchedulerResponse -> Maybe Text
roleArn :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    DescribeInferenceSchedulerResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribeInferenceSchedulerResponse
-> DescribeInferenceSchedulerResponse -> Bool
(DescribeInferenceSchedulerResponse
 -> DescribeInferenceSchedulerResponse -> Bool)
-> (DescribeInferenceSchedulerResponse
    -> DescribeInferenceSchedulerResponse -> Bool)
-> Eq DescribeInferenceSchedulerResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribeInferenceSchedulerResponse
-> DescribeInferenceSchedulerResponse -> Bool
$c/= :: DescribeInferenceSchedulerResponse
-> DescribeInferenceSchedulerResponse -> Bool
== :: DescribeInferenceSchedulerResponse
-> DescribeInferenceSchedulerResponse -> Bool
$c== :: DescribeInferenceSchedulerResponse
-> DescribeInferenceSchedulerResponse -> Bool
Prelude.Eq, ReadPrec [DescribeInferenceSchedulerResponse]
ReadPrec DescribeInferenceSchedulerResponse
Int -> ReadS DescribeInferenceSchedulerResponse
ReadS [DescribeInferenceSchedulerResponse]
(Int -> ReadS DescribeInferenceSchedulerResponse)
-> ReadS [DescribeInferenceSchedulerResponse]
-> ReadPrec DescribeInferenceSchedulerResponse
-> ReadPrec [DescribeInferenceSchedulerResponse]
-> Read DescribeInferenceSchedulerResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribeInferenceSchedulerResponse]
$creadListPrec :: ReadPrec [DescribeInferenceSchedulerResponse]
readPrec :: ReadPrec DescribeInferenceSchedulerResponse
$creadPrec :: ReadPrec DescribeInferenceSchedulerResponse
readList :: ReadS [DescribeInferenceSchedulerResponse]
$creadList :: ReadS [DescribeInferenceSchedulerResponse]
readsPrec :: Int -> ReadS DescribeInferenceSchedulerResponse
$creadsPrec :: Int -> ReadS DescribeInferenceSchedulerResponse
Prelude.Read, Int -> DescribeInferenceSchedulerResponse -> ShowS
[DescribeInferenceSchedulerResponse] -> ShowS
DescribeInferenceSchedulerResponse -> String
(Int -> DescribeInferenceSchedulerResponse -> ShowS)
-> (DescribeInferenceSchedulerResponse -> String)
-> ([DescribeInferenceSchedulerResponse] -> ShowS)
-> Show DescribeInferenceSchedulerResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribeInferenceSchedulerResponse] -> ShowS
$cshowList :: [DescribeInferenceSchedulerResponse] -> ShowS
show :: DescribeInferenceSchedulerResponse -> String
$cshow :: DescribeInferenceSchedulerResponse -> String
showsPrec :: Int -> DescribeInferenceSchedulerResponse -> ShowS
$cshowsPrec :: Int -> DescribeInferenceSchedulerResponse -> ShowS
Prelude.Show, (forall x.
 DescribeInferenceSchedulerResponse
 -> Rep DescribeInferenceSchedulerResponse x)
-> (forall x.
    Rep DescribeInferenceSchedulerResponse x
    -> DescribeInferenceSchedulerResponse)
-> Generic DescribeInferenceSchedulerResponse
forall x.
Rep DescribeInferenceSchedulerResponse x
-> DescribeInferenceSchedulerResponse
forall x.
DescribeInferenceSchedulerResponse
-> Rep DescribeInferenceSchedulerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribeInferenceSchedulerResponse x
-> DescribeInferenceSchedulerResponse
$cfrom :: forall x.
DescribeInferenceSchedulerResponse
-> Rep DescribeInferenceSchedulerResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribeInferenceSchedulerResponse' 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:
--
-- 'status', 'describeInferenceSchedulerResponse_status' - Indicates the status of the inference scheduler.
--
-- 'dataUploadFrequency', 'describeInferenceSchedulerResponse_dataUploadFrequency' - Specifies how often data is uploaded to the source S3 bucket for the
-- input data. This value is the length of time between data uploads. For
-- instance, if you select 5 minutes, Amazon Lookout for Equipment will
-- upload the real-time data to the source bucket once every 5 minutes.
-- This frequency also determines how often Amazon Lookout for Equipment
-- starts a scheduled inference on your data. In this example, it starts
-- once every 5 minutes.
--
-- 'dataDelayOffsetInMinutes', 'describeInferenceSchedulerResponse_dataDelayOffsetInMinutes' - A period of time (in minutes) by which inference on the data is delayed
-- after the data starts. For instance, if you select an offset delay time
-- of five minutes, inference will not begin on the data until the first
-- data measurement after the five minute mark. For example, if five
-- minutes is selected, the inference scheduler will wake up at the
-- configured frequency with the additional five minute delay time to check
-- the customer S3 bucket. The customer can upload data at the same
-- frequency and they don\'t need to stop and restart the scheduler when
-- uploading new data.
--
-- 'modelArn', 'describeInferenceSchedulerResponse_modelArn' - The Amazon Resource Name (ARN) of the ML model of the inference
-- scheduler being described.
--
-- 'createdAt', 'describeInferenceSchedulerResponse_createdAt' - Specifies the time at which the inference scheduler was created.
--
-- 'modelName', 'describeInferenceSchedulerResponse_modelName' - The name of the ML model of the inference scheduler being described.
--
-- 'inferenceSchedulerArn', 'describeInferenceSchedulerResponse_inferenceSchedulerArn' - The Amazon Resource Name (ARN) of the inference scheduler being
-- described.
--
-- 'dataOutputConfiguration', 'describeInferenceSchedulerResponse_dataOutputConfiguration' - Specifies information for the output results for the inference
-- scheduler, including the output S3 location.
--
-- 'updatedAt', 'describeInferenceSchedulerResponse_updatedAt' - Specifies the time at which the inference scheduler was last updated, if
-- it was.
--
-- 'inferenceSchedulerName', 'describeInferenceSchedulerResponse_inferenceSchedulerName' - The name of the inference scheduler being described.
--
-- 'dataInputConfiguration', 'describeInferenceSchedulerResponse_dataInputConfiguration' - Specifies configuration information for the input data for the inference
-- scheduler, including delimiter, format, and dataset location.
--
-- 'serverSideKmsKeyId', 'describeInferenceSchedulerResponse_serverSideKmsKeyId' - Provides the identifier of the KMS key used to encrypt inference
-- scheduler data by Amazon Lookout for Equipment.
--
-- 'roleArn', 'describeInferenceSchedulerResponse_roleArn' - The Amazon Resource Name (ARN) of a role with permission to access the
-- data source for the inference scheduler being described.
--
-- 'httpStatus', 'describeInferenceSchedulerResponse_httpStatus' - The response's http status code.
newDescribeInferenceSchedulerResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribeInferenceSchedulerResponse
newDescribeInferenceSchedulerResponse :: Int -> DescribeInferenceSchedulerResponse
newDescribeInferenceSchedulerResponse Int
pHttpStatus_ =
  DescribeInferenceSchedulerResponse' :: Maybe InferenceSchedulerStatus
-> Maybe DataUploadFrequency
-> Maybe Natural
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Maybe InferenceOutputConfiguration
-> Maybe POSIX
-> Maybe Text
-> Maybe InferenceInputConfiguration
-> Maybe Text
-> Maybe Text
-> Int
-> DescribeInferenceSchedulerResponse
DescribeInferenceSchedulerResponse'
    { $sel:status:DescribeInferenceSchedulerResponse' :: Maybe InferenceSchedulerStatus
status =
        Maybe InferenceSchedulerStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:dataUploadFrequency:DescribeInferenceSchedulerResponse' :: Maybe DataUploadFrequency
dataUploadFrequency = Maybe DataUploadFrequency
forall a. Maybe a
Prelude.Nothing,
      $sel:dataDelayOffsetInMinutes:DescribeInferenceSchedulerResponse' :: Maybe Natural
dataDelayOffsetInMinutes =
        Maybe Natural
forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:DescribeInferenceSchedulerResponse' :: Maybe Text
modelArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:createdAt:DescribeInferenceSchedulerResponse' :: Maybe POSIX
createdAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:DescribeInferenceSchedulerResponse' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerArn:DescribeInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dataOutputConfiguration:DescribeInferenceSchedulerResponse' :: Maybe InferenceOutputConfiguration
dataOutputConfiguration =
        Maybe InferenceOutputConfiguration
forall a. Maybe a
Prelude.Nothing,
      $sel:updatedAt:DescribeInferenceSchedulerResponse' :: Maybe POSIX
updatedAt = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerName:DescribeInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerName =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dataInputConfiguration:DescribeInferenceSchedulerResponse' :: Maybe InferenceInputConfiguration
dataInputConfiguration =
        Maybe InferenceInputConfiguration
forall a. Maybe a
Prelude.Nothing,
      $sel:serverSideKmsKeyId:DescribeInferenceSchedulerResponse' :: Maybe Text
serverSideKmsKeyId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:roleArn:DescribeInferenceSchedulerResponse' :: Maybe Text
roleArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribeInferenceSchedulerResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | Indicates the status of the inference scheduler.
describeInferenceSchedulerResponse_status :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe InferenceSchedulerStatus)
describeInferenceSchedulerResponse_status :: (Maybe InferenceSchedulerStatus
 -> f (Maybe InferenceSchedulerStatus))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_status = (DescribeInferenceSchedulerResponse
 -> Maybe InferenceSchedulerStatus)
-> (DescribeInferenceSchedulerResponse
    -> Maybe InferenceSchedulerStatus
    -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe InferenceSchedulerStatus)
     (Maybe InferenceSchedulerStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe InferenceSchedulerStatus
status :: Maybe InferenceSchedulerStatus
$sel:status:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse
-> Maybe InferenceSchedulerStatus
status} -> Maybe InferenceSchedulerStatus
status) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe InferenceSchedulerStatus
a -> DescribeInferenceSchedulerResponse
s {$sel:status:DescribeInferenceSchedulerResponse' :: Maybe InferenceSchedulerStatus
status = Maybe InferenceSchedulerStatus
a} :: DescribeInferenceSchedulerResponse)

-- | Specifies how often data is uploaded to the source S3 bucket for the
-- input data. This value is the length of time between data uploads. For
-- instance, if you select 5 minutes, Amazon Lookout for Equipment will
-- upload the real-time data to the source bucket once every 5 minutes.
-- This frequency also determines how often Amazon Lookout for Equipment
-- starts a scheduled inference on your data. In this example, it starts
-- once every 5 minutes.
describeInferenceSchedulerResponse_dataUploadFrequency :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe DataUploadFrequency)
describeInferenceSchedulerResponse_dataUploadFrequency :: (Maybe DataUploadFrequency -> f (Maybe DataUploadFrequency))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_dataUploadFrequency = (DescribeInferenceSchedulerResponse -> Maybe DataUploadFrequency)
-> (DescribeInferenceSchedulerResponse
    -> Maybe DataUploadFrequency -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe DataUploadFrequency)
     (Maybe DataUploadFrequency)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe DataUploadFrequency
dataUploadFrequency :: Maybe DataUploadFrequency
$sel:dataUploadFrequency:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe DataUploadFrequency
dataUploadFrequency} -> Maybe DataUploadFrequency
dataUploadFrequency) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe DataUploadFrequency
a -> DescribeInferenceSchedulerResponse
s {$sel:dataUploadFrequency:DescribeInferenceSchedulerResponse' :: Maybe DataUploadFrequency
dataUploadFrequency = Maybe DataUploadFrequency
a} :: DescribeInferenceSchedulerResponse)

-- | A period of time (in minutes) by which inference on the data is delayed
-- after the data starts. For instance, if you select an offset delay time
-- of five minutes, inference will not begin on the data until the first
-- data measurement after the five minute mark. For example, if five
-- minutes is selected, the inference scheduler will wake up at the
-- configured frequency with the additional five minute delay time to check
-- the customer S3 bucket. The customer can upload data at the same
-- frequency and they don\'t need to stop and restart the scheduler when
-- uploading new data.
describeInferenceSchedulerResponse_dataDelayOffsetInMinutes :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Natural)
describeInferenceSchedulerResponse_dataDelayOffsetInMinutes :: (Maybe Natural -> f (Maybe Natural))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_dataDelayOffsetInMinutes = (DescribeInferenceSchedulerResponse -> Maybe Natural)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Natural -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Natural)
     (Maybe Natural)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Natural
dataDelayOffsetInMinutes :: Maybe Natural
$sel:dataDelayOffsetInMinutes:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Natural
dataDelayOffsetInMinutes} -> Maybe Natural
dataDelayOffsetInMinutes) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Natural
a -> DescribeInferenceSchedulerResponse
s {$sel:dataDelayOffsetInMinutes:DescribeInferenceSchedulerResponse' :: Maybe Natural
dataDelayOffsetInMinutes = Maybe Natural
a} :: DescribeInferenceSchedulerResponse)

-- | The Amazon Resource Name (ARN) of the ML model of the inference
-- scheduler being described.
describeInferenceSchedulerResponse_modelArn :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_modelArn :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_modelArn = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
modelArn :: Maybe Text
$sel:modelArn:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
modelArn} -> Maybe Text
modelArn) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:modelArn:DescribeInferenceSchedulerResponse' :: Maybe Text
modelArn = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

-- | Specifies the time at which the inference scheduler was created.
describeInferenceSchedulerResponse_createdAt :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.UTCTime)
describeInferenceSchedulerResponse_createdAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_createdAt = (DescribeInferenceSchedulerResponse -> Maybe POSIX)
-> (DescribeInferenceSchedulerResponse
    -> Maybe POSIX -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe POSIX
createdAt :: Maybe POSIX
$sel:createdAt:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe POSIX
createdAt} -> Maybe POSIX
createdAt) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe POSIX
a -> DescribeInferenceSchedulerResponse
s {$sel:createdAt:DescribeInferenceSchedulerResponse' :: Maybe POSIX
createdAt = Maybe POSIX
a} :: DescribeInferenceSchedulerResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeInferenceSchedulerResponse
 -> f DescribeInferenceSchedulerResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the ML model of the inference scheduler being described.
describeInferenceSchedulerResponse_modelName :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_modelName :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_modelName = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
modelName :: Maybe Text
$sel:modelName:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
modelName} -> Maybe Text
modelName) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:modelName:DescribeInferenceSchedulerResponse' :: Maybe Text
modelName = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

-- | The Amazon Resource Name (ARN) of the inference scheduler being
-- described.
describeInferenceSchedulerResponse_inferenceSchedulerArn :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_inferenceSchedulerArn :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_inferenceSchedulerArn = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
inferenceSchedulerArn :: Maybe Text
$sel:inferenceSchedulerArn:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerArn} -> Maybe Text
inferenceSchedulerArn) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:inferenceSchedulerArn:DescribeInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerArn = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

-- | Specifies information for the output results for the inference
-- scheduler, including the output S3 location.
describeInferenceSchedulerResponse_dataOutputConfiguration :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe InferenceOutputConfiguration)
describeInferenceSchedulerResponse_dataOutputConfiguration :: (Maybe InferenceOutputConfiguration
 -> f (Maybe InferenceOutputConfiguration))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_dataOutputConfiguration = (DescribeInferenceSchedulerResponse
 -> Maybe InferenceOutputConfiguration)
-> (DescribeInferenceSchedulerResponse
    -> Maybe InferenceOutputConfiguration
    -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe InferenceOutputConfiguration)
     (Maybe InferenceOutputConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe InferenceOutputConfiguration
dataOutputConfiguration :: Maybe InferenceOutputConfiguration
$sel:dataOutputConfiguration:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse
-> Maybe InferenceOutputConfiguration
dataOutputConfiguration} -> Maybe InferenceOutputConfiguration
dataOutputConfiguration) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe InferenceOutputConfiguration
a -> DescribeInferenceSchedulerResponse
s {$sel:dataOutputConfiguration:DescribeInferenceSchedulerResponse' :: Maybe InferenceOutputConfiguration
dataOutputConfiguration = Maybe InferenceOutputConfiguration
a} :: DescribeInferenceSchedulerResponse)

-- | Specifies the time at which the inference scheduler was last updated, if
-- it was.
describeInferenceSchedulerResponse_updatedAt :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.UTCTime)
describeInferenceSchedulerResponse_updatedAt :: (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_updatedAt = (DescribeInferenceSchedulerResponse -> Maybe POSIX)
-> (DescribeInferenceSchedulerResponse
    -> Maybe POSIX -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe POSIX
updatedAt :: Maybe POSIX
$sel:updatedAt:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe POSIX
updatedAt} -> Maybe POSIX
updatedAt) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe POSIX
a -> DescribeInferenceSchedulerResponse
s {$sel:updatedAt:DescribeInferenceSchedulerResponse' :: Maybe POSIX
updatedAt = Maybe POSIX
a} :: DescribeInferenceSchedulerResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> DescribeInferenceSchedulerResponse
 -> f DescribeInferenceSchedulerResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the inference scheduler being described.
describeInferenceSchedulerResponse_inferenceSchedulerName :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_inferenceSchedulerName :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_inferenceSchedulerName = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
inferenceSchedulerName :: Maybe Text
$sel:inferenceSchedulerName:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerName} -> Maybe Text
inferenceSchedulerName) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:inferenceSchedulerName:DescribeInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerName = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

-- | Specifies configuration information for the input data for the inference
-- scheduler, including delimiter, format, and dataset location.
describeInferenceSchedulerResponse_dataInputConfiguration :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe InferenceInputConfiguration)
describeInferenceSchedulerResponse_dataInputConfiguration :: (Maybe InferenceInputConfiguration
 -> f (Maybe InferenceInputConfiguration))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_dataInputConfiguration = (DescribeInferenceSchedulerResponse
 -> Maybe InferenceInputConfiguration)
-> (DescribeInferenceSchedulerResponse
    -> Maybe InferenceInputConfiguration
    -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe InferenceInputConfiguration)
     (Maybe InferenceInputConfiguration)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe InferenceInputConfiguration
dataInputConfiguration :: Maybe InferenceInputConfiguration
$sel:dataInputConfiguration:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse
-> Maybe InferenceInputConfiguration
dataInputConfiguration} -> Maybe InferenceInputConfiguration
dataInputConfiguration) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe InferenceInputConfiguration
a -> DescribeInferenceSchedulerResponse
s {$sel:dataInputConfiguration:DescribeInferenceSchedulerResponse' :: Maybe InferenceInputConfiguration
dataInputConfiguration = Maybe InferenceInputConfiguration
a} :: DescribeInferenceSchedulerResponse)

-- | Provides the identifier of the KMS key used to encrypt inference
-- scheduler data by Amazon Lookout for Equipment.
describeInferenceSchedulerResponse_serverSideKmsKeyId :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_serverSideKmsKeyId :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_serverSideKmsKeyId = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
serverSideKmsKeyId :: Maybe Text
$sel:serverSideKmsKeyId:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
serverSideKmsKeyId} -> Maybe Text
serverSideKmsKeyId) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:serverSideKmsKeyId:DescribeInferenceSchedulerResponse' :: Maybe Text
serverSideKmsKeyId = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

-- | The Amazon Resource Name (ARN) of a role with permission to access the
-- data source for the inference scheduler being described.
describeInferenceSchedulerResponse_roleArn :: Lens.Lens' DescribeInferenceSchedulerResponse (Prelude.Maybe Prelude.Text)
describeInferenceSchedulerResponse_roleArn :: (Maybe Text -> f (Maybe Text))
-> DescribeInferenceSchedulerResponse
-> f DescribeInferenceSchedulerResponse
describeInferenceSchedulerResponse_roleArn = (DescribeInferenceSchedulerResponse -> Maybe Text)
-> (DescribeInferenceSchedulerResponse
    -> Maybe Text -> DescribeInferenceSchedulerResponse)
-> Lens
     DescribeInferenceSchedulerResponse
     DescribeInferenceSchedulerResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribeInferenceSchedulerResponse' {Maybe Text
roleArn :: Maybe Text
$sel:roleArn:DescribeInferenceSchedulerResponse' :: DescribeInferenceSchedulerResponse -> Maybe Text
roleArn} -> Maybe Text
roleArn) (\s :: DescribeInferenceSchedulerResponse
s@DescribeInferenceSchedulerResponse' {} Maybe Text
a -> DescribeInferenceSchedulerResponse
s {$sel:roleArn:DescribeInferenceSchedulerResponse' :: Maybe Text
roleArn = Maybe Text
a} :: DescribeInferenceSchedulerResponse)

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

instance
  Prelude.NFData
    DescribeInferenceSchedulerResponse