{-# 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.StartInferenceScheduler
-- 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)
--
-- Starts an inference scheduler.
module Amazonka.LookoutEquipment.StartInferenceScheduler
  ( -- * Creating a Request
    StartInferenceScheduler (..),
    newStartInferenceScheduler,

    -- * Request Lenses
    startInferenceScheduler_inferenceSchedulerName,

    -- * Destructuring the Response
    StartInferenceSchedulerResponse (..),
    newStartInferenceSchedulerResponse,

    -- * Response Lenses
    startInferenceSchedulerResponse_status,
    startInferenceSchedulerResponse_modelArn,
    startInferenceSchedulerResponse_modelName,
    startInferenceSchedulerResponse_inferenceSchedulerArn,
    startInferenceSchedulerResponse_inferenceSchedulerName,
    startInferenceSchedulerResponse_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:/ 'newStartInferenceScheduler' smart constructor.
data StartInferenceScheduler = StartInferenceScheduler'
  { -- | The name of the inference scheduler to be started.
    StartInferenceScheduler -> Text
inferenceSchedulerName :: Prelude.Text
  }
  deriving (StartInferenceScheduler -> StartInferenceScheduler -> Bool
(StartInferenceScheduler -> StartInferenceScheduler -> Bool)
-> (StartInferenceScheduler -> StartInferenceScheduler -> Bool)
-> Eq StartInferenceScheduler
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartInferenceScheduler -> StartInferenceScheduler -> Bool
$c/= :: StartInferenceScheduler -> StartInferenceScheduler -> Bool
== :: StartInferenceScheduler -> StartInferenceScheduler -> Bool
$c== :: StartInferenceScheduler -> StartInferenceScheduler -> Bool
Prelude.Eq, ReadPrec [StartInferenceScheduler]
ReadPrec StartInferenceScheduler
Int -> ReadS StartInferenceScheduler
ReadS [StartInferenceScheduler]
(Int -> ReadS StartInferenceScheduler)
-> ReadS [StartInferenceScheduler]
-> ReadPrec StartInferenceScheduler
-> ReadPrec [StartInferenceScheduler]
-> Read StartInferenceScheduler
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartInferenceScheduler]
$creadListPrec :: ReadPrec [StartInferenceScheduler]
readPrec :: ReadPrec StartInferenceScheduler
$creadPrec :: ReadPrec StartInferenceScheduler
readList :: ReadS [StartInferenceScheduler]
$creadList :: ReadS [StartInferenceScheduler]
readsPrec :: Int -> ReadS StartInferenceScheduler
$creadsPrec :: Int -> ReadS StartInferenceScheduler
Prelude.Read, Int -> StartInferenceScheduler -> ShowS
[StartInferenceScheduler] -> ShowS
StartInferenceScheduler -> String
(Int -> StartInferenceScheduler -> ShowS)
-> (StartInferenceScheduler -> String)
-> ([StartInferenceScheduler] -> ShowS)
-> Show StartInferenceScheduler
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartInferenceScheduler] -> ShowS
$cshowList :: [StartInferenceScheduler] -> ShowS
show :: StartInferenceScheduler -> String
$cshow :: StartInferenceScheduler -> String
showsPrec :: Int -> StartInferenceScheduler -> ShowS
$cshowsPrec :: Int -> StartInferenceScheduler -> ShowS
Prelude.Show, (forall x.
 StartInferenceScheduler -> Rep StartInferenceScheduler x)
-> (forall x.
    Rep StartInferenceScheduler x -> StartInferenceScheduler)
-> Generic StartInferenceScheduler
forall x. Rep StartInferenceScheduler x -> StartInferenceScheduler
forall x. StartInferenceScheduler -> Rep StartInferenceScheduler x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep StartInferenceScheduler x -> StartInferenceScheduler
$cfrom :: forall x. StartInferenceScheduler -> Rep StartInferenceScheduler x
Prelude.Generic)

-- |
-- Create a value of 'StartInferenceScheduler' 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', 'startInferenceScheduler_inferenceSchedulerName' - The name of the inference scheduler to be started.
newStartInferenceScheduler ::
  -- | 'inferenceSchedulerName'
  Prelude.Text ->
  StartInferenceScheduler
newStartInferenceScheduler :: Text -> StartInferenceScheduler
newStartInferenceScheduler Text
pInferenceSchedulerName_ =
  StartInferenceScheduler' :: Text -> StartInferenceScheduler
StartInferenceScheduler'
    { $sel:inferenceSchedulerName:StartInferenceScheduler' :: Text
inferenceSchedulerName =
        Text
pInferenceSchedulerName_
    }

-- | The name of the inference scheduler to be started.
startInferenceScheduler_inferenceSchedulerName :: Lens.Lens' StartInferenceScheduler Prelude.Text
startInferenceScheduler_inferenceSchedulerName :: (Text -> f Text)
-> StartInferenceScheduler -> f StartInferenceScheduler
startInferenceScheduler_inferenceSchedulerName = (StartInferenceScheduler -> Text)
-> (StartInferenceScheduler -> Text -> StartInferenceScheduler)
-> Lens StartInferenceScheduler StartInferenceScheduler Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\StartInferenceScheduler' {Text
inferenceSchedulerName :: Text
$sel:inferenceSchedulerName:StartInferenceScheduler' :: StartInferenceScheduler -> Text
inferenceSchedulerName} -> Text
inferenceSchedulerName) (\s :: StartInferenceScheduler
s@StartInferenceScheduler' {} Text
a -> StartInferenceScheduler
s {$sel:inferenceSchedulerName:StartInferenceScheduler' :: Text
inferenceSchedulerName = Text
a} :: StartInferenceScheduler)

instance Core.AWSRequest StartInferenceScheduler where
  type
    AWSResponse StartInferenceScheduler =
      StartInferenceSchedulerResponse
  request :: StartInferenceScheduler -> Request StartInferenceScheduler
request = Service
-> StartInferenceScheduler -> Request StartInferenceScheduler
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy StartInferenceScheduler
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse StartInferenceScheduler)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse StartInferenceScheduler))
-> Logger
-> Service
-> Proxy StartInferenceScheduler
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse StartInferenceScheduler)))
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 Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> StartInferenceSchedulerResponse
StartInferenceSchedulerResponse'
            (Maybe InferenceSchedulerStatus
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> StartInferenceSchedulerResponse)
-> Either String (Maybe InferenceSchedulerStatus)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> StartInferenceSchedulerResponse)
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 Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> StartInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> StartInferenceSchedulerResponse)
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 Text
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> StartInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text -> Int -> StartInferenceSchedulerResponse)
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 Text -> Int -> StartInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either
     String (Maybe Text -> Int -> StartInferenceSchedulerResponse)
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 Text -> Int -> StartInferenceSchedulerResponse)
-> Either String (Maybe Text)
-> Either String (Int -> StartInferenceSchedulerResponse)
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 (Int -> StartInferenceSchedulerResponse)
-> Either String Int
-> Either String StartInferenceSchedulerResponse
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 StartInferenceScheduler

instance Prelude.NFData StartInferenceScheduler

instance Core.ToHeaders StartInferenceScheduler where
  toHeaders :: StartInferenceScheduler -> ResponseHeaders
toHeaders =
    ResponseHeaders -> StartInferenceScheduler -> 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.StartInferenceScheduler" ::
                          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 StartInferenceScheduler where
  toJSON :: StartInferenceScheduler -> Value
toJSON StartInferenceScheduler' {Text
inferenceSchedulerName :: Text
$sel:inferenceSchedulerName:StartInferenceScheduler' :: StartInferenceScheduler -> 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 StartInferenceScheduler where
  toPath :: StartInferenceScheduler -> ByteString
toPath = ByteString -> StartInferenceScheduler -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"

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

-- | /See:/ 'newStartInferenceSchedulerResponse' smart constructor.
data StartInferenceSchedulerResponse = StartInferenceSchedulerResponse'
  { -- | Indicates the status of the inference scheduler.
    StartInferenceSchedulerResponse -> Maybe InferenceSchedulerStatus
status :: Prelude.Maybe InferenceSchedulerStatus,
    -- | The Amazon Resource Name (ARN) of the ML model being used by the
    -- inference scheduler.
    StartInferenceSchedulerResponse -> Maybe Text
modelArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the ML model being used by the inference scheduler.
    StartInferenceSchedulerResponse -> Maybe Text
modelName :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) of the inference scheduler being started.
    StartInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerArn :: Prelude.Maybe Prelude.Text,
    -- | The name of the inference scheduler being started.
    StartInferenceSchedulerResponse -> Maybe Text
inferenceSchedulerName :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    StartInferenceSchedulerResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (StartInferenceSchedulerResponse
-> StartInferenceSchedulerResponse -> Bool
(StartInferenceSchedulerResponse
 -> StartInferenceSchedulerResponse -> Bool)
-> (StartInferenceSchedulerResponse
    -> StartInferenceSchedulerResponse -> Bool)
-> Eq StartInferenceSchedulerResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: StartInferenceSchedulerResponse
-> StartInferenceSchedulerResponse -> Bool
$c/= :: StartInferenceSchedulerResponse
-> StartInferenceSchedulerResponse -> Bool
== :: StartInferenceSchedulerResponse
-> StartInferenceSchedulerResponse -> Bool
$c== :: StartInferenceSchedulerResponse
-> StartInferenceSchedulerResponse -> Bool
Prelude.Eq, ReadPrec [StartInferenceSchedulerResponse]
ReadPrec StartInferenceSchedulerResponse
Int -> ReadS StartInferenceSchedulerResponse
ReadS [StartInferenceSchedulerResponse]
(Int -> ReadS StartInferenceSchedulerResponse)
-> ReadS [StartInferenceSchedulerResponse]
-> ReadPrec StartInferenceSchedulerResponse
-> ReadPrec [StartInferenceSchedulerResponse]
-> Read StartInferenceSchedulerResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [StartInferenceSchedulerResponse]
$creadListPrec :: ReadPrec [StartInferenceSchedulerResponse]
readPrec :: ReadPrec StartInferenceSchedulerResponse
$creadPrec :: ReadPrec StartInferenceSchedulerResponse
readList :: ReadS [StartInferenceSchedulerResponse]
$creadList :: ReadS [StartInferenceSchedulerResponse]
readsPrec :: Int -> ReadS StartInferenceSchedulerResponse
$creadsPrec :: Int -> ReadS StartInferenceSchedulerResponse
Prelude.Read, Int -> StartInferenceSchedulerResponse -> ShowS
[StartInferenceSchedulerResponse] -> ShowS
StartInferenceSchedulerResponse -> String
(Int -> StartInferenceSchedulerResponse -> ShowS)
-> (StartInferenceSchedulerResponse -> String)
-> ([StartInferenceSchedulerResponse] -> ShowS)
-> Show StartInferenceSchedulerResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [StartInferenceSchedulerResponse] -> ShowS
$cshowList :: [StartInferenceSchedulerResponse] -> ShowS
show :: StartInferenceSchedulerResponse -> String
$cshow :: StartInferenceSchedulerResponse -> String
showsPrec :: Int -> StartInferenceSchedulerResponse -> ShowS
$cshowsPrec :: Int -> StartInferenceSchedulerResponse -> ShowS
Prelude.Show, (forall x.
 StartInferenceSchedulerResponse
 -> Rep StartInferenceSchedulerResponse x)
-> (forall x.
    Rep StartInferenceSchedulerResponse x
    -> StartInferenceSchedulerResponse)
-> Generic StartInferenceSchedulerResponse
forall x.
Rep StartInferenceSchedulerResponse x
-> StartInferenceSchedulerResponse
forall x.
StartInferenceSchedulerResponse
-> Rep StartInferenceSchedulerResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep StartInferenceSchedulerResponse x
-> StartInferenceSchedulerResponse
$cfrom :: forall x.
StartInferenceSchedulerResponse
-> Rep StartInferenceSchedulerResponse x
Prelude.Generic)

-- |
-- Create a value of 'StartInferenceSchedulerResponse' 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', 'startInferenceSchedulerResponse_status' - Indicates the status of the inference scheduler.
--
-- 'modelArn', 'startInferenceSchedulerResponse_modelArn' - The Amazon Resource Name (ARN) of the ML model being used by the
-- inference scheduler.
--
-- 'modelName', 'startInferenceSchedulerResponse_modelName' - The name of the ML model being used by the inference scheduler.
--
-- 'inferenceSchedulerArn', 'startInferenceSchedulerResponse_inferenceSchedulerArn' - The Amazon Resource Name (ARN) of the inference scheduler being started.
--
-- 'inferenceSchedulerName', 'startInferenceSchedulerResponse_inferenceSchedulerName' - The name of the inference scheduler being started.
--
-- 'httpStatus', 'startInferenceSchedulerResponse_httpStatus' - The response's http status code.
newStartInferenceSchedulerResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  StartInferenceSchedulerResponse
newStartInferenceSchedulerResponse :: Int -> StartInferenceSchedulerResponse
newStartInferenceSchedulerResponse Int
pHttpStatus_ =
  StartInferenceSchedulerResponse' :: Maybe InferenceSchedulerStatus
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> StartInferenceSchedulerResponse
StartInferenceSchedulerResponse'
    { $sel:status:StartInferenceSchedulerResponse' :: Maybe InferenceSchedulerStatus
status =
        Maybe InferenceSchedulerStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:modelArn:StartInferenceSchedulerResponse' :: Maybe Text
modelArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modelName:StartInferenceSchedulerResponse' :: Maybe Text
modelName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerArn:StartInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:inferenceSchedulerName:StartInferenceSchedulerResponse' :: Maybe Text
inferenceSchedulerName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:StartInferenceSchedulerResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

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

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

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

instance
  Prelude.NFData
    StartInferenceSchedulerResponse