{-# 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.AmplifyBackend.UpdateBackendAPI
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates an existing backend API resource.
module Amazonka.AmplifyBackend.UpdateBackendAPI
  ( -- * Creating a Request
    UpdateBackendAPI (..),
    newUpdateBackendAPI,

    -- * Request Lenses
    updateBackendAPI_resourceConfig,
    updateBackendAPI_appId,
    updateBackendAPI_backendEnvironmentName,
    updateBackendAPI_resourceName,

    -- * Destructuring the Response
    UpdateBackendAPIResponse (..),
    newUpdateBackendAPIResponse,

    -- * Response Lenses
    updateBackendAPIResponse_appId,
    updateBackendAPIResponse_backendEnvironmentName,
    updateBackendAPIResponse_error,
    updateBackendAPIResponse_jobId,
    updateBackendAPIResponse_operation,
    updateBackendAPIResponse_status,
    updateBackendAPIResponse_httpStatus,
  )
where

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

-- | The request body for UpdateBackendAPI.
--
-- /See:/ 'newUpdateBackendAPI' smart constructor.
data UpdateBackendAPI = UpdateBackendAPI'
  { -- | Defines the resource configuration for the data model in your Amplify
    -- project.
    UpdateBackendAPI -> Maybe BackendAPIResourceConfig
resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,
    -- | The app ID.
    UpdateBackendAPI -> Text
appId :: Prelude.Text,
    -- | The name of the backend environment.
    UpdateBackendAPI -> Text
backendEnvironmentName :: Prelude.Text,
    -- | The name of this resource.
    UpdateBackendAPI -> Text
resourceName :: Prelude.Text
  }
  deriving (UpdateBackendAPI -> UpdateBackendAPI -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBackendAPI -> UpdateBackendAPI -> Bool
$c/= :: UpdateBackendAPI -> UpdateBackendAPI -> Bool
== :: UpdateBackendAPI -> UpdateBackendAPI -> Bool
$c== :: UpdateBackendAPI -> UpdateBackendAPI -> Bool
Prelude.Eq, ReadPrec [UpdateBackendAPI]
ReadPrec UpdateBackendAPI
Int -> ReadS UpdateBackendAPI
ReadS [UpdateBackendAPI]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateBackendAPI]
$creadListPrec :: ReadPrec [UpdateBackendAPI]
readPrec :: ReadPrec UpdateBackendAPI
$creadPrec :: ReadPrec UpdateBackendAPI
readList :: ReadS [UpdateBackendAPI]
$creadList :: ReadS [UpdateBackendAPI]
readsPrec :: Int -> ReadS UpdateBackendAPI
$creadsPrec :: Int -> ReadS UpdateBackendAPI
Prelude.Read, Int -> UpdateBackendAPI -> ShowS
[UpdateBackendAPI] -> ShowS
UpdateBackendAPI -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBackendAPI] -> ShowS
$cshowList :: [UpdateBackendAPI] -> ShowS
show :: UpdateBackendAPI -> String
$cshow :: UpdateBackendAPI -> String
showsPrec :: Int -> UpdateBackendAPI -> ShowS
$cshowsPrec :: Int -> UpdateBackendAPI -> ShowS
Prelude.Show, forall x. Rep UpdateBackendAPI x -> UpdateBackendAPI
forall x. UpdateBackendAPI -> Rep UpdateBackendAPI x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdateBackendAPI x -> UpdateBackendAPI
$cfrom :: forall x. UpdateBackendAPI -> Rep UpdateBackendAPI x
Prelude.Generic)

-- |
-- Create a value of 'UpdateBackendAPI' 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:
--
-- 'resourceConfig', 'updateBackendAPI_resourceConfig' - Defines the resource configuration for the data model in your Amplify
-- project.
--
-- 'appId', 'updateBackendAPI_appId' - The app ID.
--
-- 'backendEnvironmentName', 'updateBackendAPI_backendEnvironmentName' - The name of the backend environment.
--
-- 'resourceName', 'updateBackendAPI_resourceName' - The name of this resource.
newUpdateBackendAPI ::
  -- | 'appId'
  Prelude.Text ->
  -- | 'backendEnvironmentName'
  Prelude.Text ->
  -- | 'resourceName'
  Prelude.Text ->
  UpdateBackendAPI
newUpdateBackendAPI :: Text -> Text -> Text -> UpdateBackendAPI
newUpdateBackendAPI
  Text
pAppId_
  Text
pBackendEnvironmentName_
  Text
pResourceName_ =
    UpdateBackendAPI'
      { $sel:resourceConfig:UpdateBackendAPI' :: Maybe BackendAPIResourceConfig
resourceConfig = forall a. Maybe a
Prelude.Nothing,
        $sel:appId:UpdateBackendAPI' :: Text
appId = Text
pAppId_,
        $sel:backendEnvironmentName:UpdateBackendAPI' :: Text
backendEnvironmentName = Text
pBackendEnvironmentName_,
        $sel:resourceName:UpdateBackendAPI' :: Text
resourceName = Text
pResourceName_
      }

-- | Defines the resource configuration for the data model in your Amplify
-- project.
updateBackendAPI_resourceConfig :: Lens.Lens' UpdateBackendAPI (Prelude.Maybe BackendAPIResourceConfig)
updateBackendAPI_resourceConfig :: Lens' UpdateBackendAPI (Maybe BackendAPIResourceConfig)
updateBackendAPI_resourceConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPI' {Maybe BackendAPIResourceConfig
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceConfig:UpdateBackendAPI' :: UpdateBackendAPI -> Maybe BackendAPIResourceConfig
resourceConfig} -> Maybe BackendAPIResourceConfig
resourceConfig) (\s :: UpdateBackendAPI
s@UpdateBackendAPI' {} Maybe BackendAPIResourceConfig
a -> UpdateBackendAPI
s {$sel:resourceConfig:UpdateBackendAPI' :: Maybe BackendAPIResourceConfig
resourceConfig = Maybe BackendAPIResourceConfig
a} :: UpdateBackendAPI)

-- | The app ID.
updateBackendAPI_appId :: Lens.Lens' UpdateBackendAPI Prelude.Text
updateBackendAPI_appId :: Lens' UpdateBackendAPI Text
updateBackendAPI_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPI' {Text
appId :: Text
$sel:appId:UpdateBackendAPI' :: UpdateBackendAPI -> Text
appId} -> Text
appId) (\s :: UpdateBackendAPI
s@UpdateBackendAPI' {} Text
a -> UpdateBackendAPI
s {$sel:appId:UpdateBackendAPI' :: Text
appId = Text
a} :: UpdateBackendAPI)

-- | The name of the backend environment.
updateBackendAPI_backendEnvironmentName :: Lens.Lens' UpdateBackendAPI Prelude.Text
updateBackendAPI_backendEnvironmentName :: Lens' UpdateBackendAPI Text
updateBackendAPI_backendEnvironmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPI' {Text
backendEnvironmentName :: Text
$sel:backendEnvironmentName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
backendEnvironmentName} -> Text
backendEnvironmentName) (\s :: UpdateBackendAPI
s@UpdateBackendAPI' {} Text
a -> UpdateBackendAPI
s {$sel:backendEnvironmentName:UpdateBackendAPI' :: Text
backendEnvironmentName = Text
a} :: UpdateBackendAPI)

-- | The name of this resource.
updateBackendAPI_resourceName :: Lens.Lens' UpdateBackendAPI Prelude.Text
updateBackendAPI_resourceName :: Lens' UpdateBackendAPI Text
updateBackendAPI_resourceName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPI' {Text
resourceName :: Text
$sel:resourceName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
resourceName} -> Text
resourceName) (\s :: UpdateBackendAPI
s@UpdateBackendAPI' {} Text
a -> UpdateBackendAPI
s {$sel:resourceName:UpdateBackendAPI' :: Text
resourceName = Text
a} :: UpdateBackendAPI)

instance Core.AWSRequest UpdateBackendAPI where
  type
    AWSResponse UpdateBackendAPI =
      UpdateBackendAPIResponse
  request :: (Service -> Service)
-> UpdateBackendAPI -> Request UpdateBackendAPI
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateBackendAPI
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse UpdateBackendAPI)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> UpdateBackendAPIResponse
UpdateBackendAPIResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"appId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"backendEnvironmentName")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"error")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"jobId")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"operation")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"status")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable UpdateBackendAPI where
  hashWithSalt :: Int -> UpdateBackendAPI -> Int
hashWithSalt Int
_salt UpdateBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:backendEnvironmentName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:appId:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:resourceConfig:UpdateBackendAPI' :: UpdateBackendAPI -> Maybe BackendAPIResourceConfig
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe BackendAPIResourceConfig
resourceConfig
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
backendEnvironmentName
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceName

instance Prelude.NFData UpdateBackendAPI where
  rnf :: UpdateBackendAPI -> ()
rnf UpdateBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:backendEnvironmentName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:appId:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:resourceConfig:UpdateBackendAPI' :: UpdateBackendAPI -> Maybe BackendAPIResourceConfig
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe BackendAPIResourceConfig
resourceConfig
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
appId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
backendEnvironmentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
resourceName

instance Data.ToHeaders UpdateBackendAPI where
  toHeaders :: UpdateBackendAPI -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON UpdateBackendAPI where
  toJSON :: UpdateBackendAPI -> Value
toJSON UpdateBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:backendEnvironmentName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:appId:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:resourceConfig:UpdateBackendAPI' :: UpdateBackendAPI -> Maybe BackendAPIResourceConfig
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"resourceConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe BackendAPIResourceConfig
resourceConfig,
            forall a. a -> Maybe a
Prelude.Just (Key
"resourceName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceName)
          ]
      )

instance Data.ToPath UpdateBackendAPI where
  toPath :: UpdateBackendAPI -> ByteString
toPath UpdateBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:backendEnvironmentName:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:appId:UpdateBackendAPI' :: UpdateBackendAPI -> Text
$sel:resourceConfig:UpdateBackendAPI' :: UpdateBackendAPI -> Maybe BackendAPIResourceConfig
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/backend/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId,
        ByteString
"/api/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
backendEnvironmentName
      ]

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

-- | /See:/ 'newUpdateBackendAPIResponse' smart constructor.
data UpdateBackendAPIResponse = UpdateBackendAPIResponse'
  { -- | The app ID.
    UpdateBackendAPIResponse -> Maybe Text
appId :: Prelude.Maybe Prelude.Text,
    -- | The name of the backend environment.
    UpdateBackendAPIResponse -> Maybe Text
backendEnvironmentName :: Prelude.Maybe Prelude.Text,
    -- | If the request fails, this error is returned.
    UpdateBackendAPIResponse -> Maybe Text
error :: Prelude.Maybe Prelude.Text,
    -- | The ID for the job.
    UpdateBackendAPIResponse -> Maybe Text
jobId :: Prelude.Maybe Prelude.Text,
    -- | The name of the operation.
    UpdateBackendAPIResponse -> Maybe Text
operation :: Prelude.Maybe Prelude.Text,
    -- | The current status of the request.
    UpdateBackendAPIResponse -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdateBackendAPIResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateBackendAPIResponse -> UpdateBackendAPIResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateBackendAPIResponse -> UpdateBackendAPIResponse -> Bool
$c/= :: UpdateBackendAPIResponse -> UpdateBackendAPIResponse -> Bool
== :: UpdateBackendAPIResponse -> UpdateBackendAPIResponse -> Bool
$c== :: UpdateBackendAPIResponse -> UpdateBackendAPIResponse -> Bool
Prelude.Eq, ReadPrec [UpdateBackendAPIResponse]
ReadPrec UpdateBackendAPIResponse
Int -> ReadS UpdateBackendAPIResponse
ReadS [UpdateBackendAPIResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateBackendAPIResponse]
$creadListPrec :: ReadPrec [UpdateBackendAPIResponse]
readPrec :: ReadPrec UpdateBackendAPIResponse
$creadPrec :: ReadPrec UpdateBackendAPIResponse
readList :: ReadS [UpdateBackendAPIResponse]
$creadList :: ReadS [UpdateBackendAPIResponse]
readsPrec :: Int -> ReadS UpdateBackendAPIResponse
$creadsPrec :: Int -> ReadS UpdateBackendAPIResponse
Prelude.Read, Int -> UpdateBackendAPIResponse -> ShowS
[UpdateBackendAPIResponse] -> ShowS
UpdateBackendAPIResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateBackendAPIResponse] -> ShowS
$cshowList :: [UpdateBackendAPIResponse] -> ShowS
show :: UpdateBackendAPIResponse -> String
$cshow :: UpdateBackendAPIResponse -> String
showsPrec :: Int -> UpdateBackendAPIResponse -> ShowS
$cshowsPrec :: Int -> UpdateBackendAPIResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateBackendAPIResponse x -> UpdateBackendAPIResponse
forall x.
UpdateBackendAPIResponse -> Rep UpdateBackendAPIResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateBackendAPIResponse x -> UpdateBackendAPIResponse
$cfrom :: forall x.
UpdateBackendAPIResponse -> Rep UpdateBackendAPIResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateBackendAPIResponse' 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:
--
-- 'appId', 'updateBackendAPIResponse_appId' - The app ID.
--
-- 'backendEnvironmentName', 'updateBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.
--
-- 'error', 'updateBackendAPIResponse_error' - If the request fails, this error is returned.
--
-- 'jobId', 'updateBackendAPIResponse_jobId' - The ID for the job.
--
-- 'operation', 'updateBackendAPIResponse_operation' - The name of the operation.
--
-- 'status', 'updateBackendAPIResponse_status' - The current status of the request.
--
-- 'httpStatus', 'updateBackendAPIResponse_httpStatus' - The response's http status code.
newUpdateBackendAPIResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateBackendAPIResponse
newUpdateBackendAPIResponse :: Int -> UpdateBackendAPIResponse
newUpdateBackendAPIResponse Int
pHttpStatus_ =
  UpdateBackendAPIResponse'
    { $sel:appId:UpdateBackendAPIResponse' :: Maybe Text
appId = forall a. Maybe a
Prelude.Nothing,
      $sel:backendEnvironmentName:UpdateBackendAPIResponse' :: Maybe Text
backendEnvironmentName = forall a. Maybe a
Prelude.Nothing,
      $sel:error:UpdateBackendAPIResponse' :: Maybe Text
error = forall a. Maybe a
Prelude.Nothing,
      $sel:jobId:UpdateBackendAPIResponse' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
      $sel:operation:UpdateBackendAPIResponse' :: Maybe Text
operation = forall a. Maybe a
Prelude.Nothing,
      $sel:status:UpdateBackendAPIResponse' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdateBackendAPIResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The app ID.
updateBackendAPIResponse_appId :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_appId :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
appId :: Maybe Text
$sel:appId:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
appId} -> Maybe Text
appId) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:appId:UpdateBackendAPIResponse' :: Maybe Text
appId = Maybe Text
a} :: UpdateBackendAPIResponse)

-- | The name of the backend environment.
updateBackendAPIResponse_backendEnvironmentName :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_backendEnvironmentName :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_backendEnvironmentName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
backendEnvironmentName :: Maybe Text
$sel:backendEnvironmentName:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
backendEnvironmentName} -> Maybe Text
backendEnvironmentName) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:backendEnvironmentName:UpdateBackendAPIResponse' :: Maybe Text
backendEnvironmentName = Maybe Text
a} :: UpdateBackendAPIResponse)

-- | If the request fails, this error is returned.
updateBackendAPIResponse_error :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_error :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_error = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
error :: Maybe Text
$sel:error:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
error} -> Maybe Text
error) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:error:UpdateBackendAPIResponse' :: Maybe Text
error = Maybe Text
a} :: UpdateBackendAPIResponse)

-- | The ID for the job.
updateBackendAPIResponse_jobId :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_jobId :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_jobId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
jobId :: Maybe Text
$sel:jobId:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
jobId} -> Maybe Text
jobId) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:jobId:UpdateBackendAPIResponse' :: Maybe Text
jobId = Maybe Text
a} :: UpdateBackendAPIResponse)

-- | The name of the operation.
updateBackendAPIResponse_operation :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_operation :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_operation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
operation :: Maybe Text
$sel:operation:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
operation} -> Maybe Text
operation) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:operation:UpdateBackendAPIResponse' :: Maybe Text
operation = Maybe Text
a} :: UpdateBackendAPIResponse)

-- | The current status of the request.
updateBackendAPIResponse_status :: Lens.Lens' UpdateBackendAPIResponse (Prelude.Maybe Prelude.Text)
updateBackendAPIResponse_status :: Lens' UpdateBackendAPIResponse (Maybe Text)
updateBackendAPIResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateBackendAPIResponse' {Maybe Text
status :: Maybe Text
$sel:status:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
status} -> Maybe Text
status) (\s :: UpdateBackendAPIResponse
s@UpdateBackendAPIResponse' {} Maybe Text
a -> UpdateBackendAPIResponse
s {$sel:status:UpdateBackendAPIResponse' :: Maybe Text
status = Maybe Text
a} :: UpdateBackendAPIResponse)

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

instance Prelude.NFData UpdateBackendAPIResponse where
  rnf :: UpdateBackendAPIResponse -> ()
rnf UpdateBackendAPIResponse' {Int
Maybe Text
httpStatus :: Int
status :: Maybe Text
operation :: Maybe Text
jobId :: Maybe Text
error :: Maybe Text
backendEnvironmentName :: Maybe Text
appId :: Maybe Text
$sel:httpStatus:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Int
$sel:status:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
$sel:operation:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
$sel:jobId:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
$sel:error:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
$sel:backendEnvironmentName:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
$sel:appId:UpdateBackendAPIResponse' :: UpdateBackendAPIResponse -> Maybe Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
backendEnvironmentName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
error
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
jobId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
operation
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus