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

    -- * Request Lenses
    deleteBackendAPI_resourceConfig,
    deleteBackendAPI_appId,
    deleteBackendAPI_backendEnvironmentName,
    deleteBackendAPI_resourceName,

    -- * Destructuring the Response
    DeleteBackendAPIResponse (..),
    newDeleteBackendAPIResponse,

    -- * Response Lenses
    deleteBackendAPIResponse_appId,
    deleteBackendAPIResponse_backendEnvironmentName,
    deleteBackendAPIResponse_error,
    deleteBackendAPIResponse_jobId,
    deleteBackendAPIResponse_operation,
    deleteBackendAPIResponse_status,
    deleteBackendAPIResponse_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 DeleteBackendAPI.
--
-- /See:/ 'newDeleteBackendAPI' smart constructor.
data DeleteBackendAPI = DeleteBackendAPI'
  { -- | Defines the resource configuration for the data model in your Amplify
    -- project.
    DeleteBackendAPI -> Maybe BackendAPIResourceConfig
resourceConfig :: Prelude.Maybe BackendAPIResourceConfig,
    -- | The app ID.
    DeleteBackendAPI -> Text
appId :: Prelude.Text,
    -- | The name of the backend environment.
    DeleteBackendAPI -> Text
backendEnvironmentName :: Prelude.Text,
    -- | The name of this resource.
    DeleteBackendAPI -> Text
resourceName :: Prelude.Text
  }
  deriving (DeleteBackendAPI -> DeleteBackendAPI -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteBackendAPI -> DeleteBackendAPI -> Bool
$c/= :: DeleteBackendAPI -> DeleteBackendAPI -> Bool
== :: DeleteBackendAPI -> DeleteBackendAPI -> Bool
$c== :: DeleteBackendAPI -> DeleteBackendAPI -> Bool
Prelude.Eq, ReadPrec [DeleteBackendAPI]
ReadPrec DeleteBackendAPI
Int -> ReadS DeleteBackendAPI
ReadS [DeleteBackendAPI]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteBackendAPI]
$creadListPrec :: ReadPrec [DeleteBackendAPI]
readPrec :: ReadPrec DeleteBackendAPI
$creadPrec :: ReadPrec DeleteBackendAPI
readList :: ReadS [DeleteBackendAPI]
$creadList :: ReadS [DeleteBackendAPI]
readsPrec :: Int -> ReadS DeleteBackendAPI
$creadsPrec :: Int -> ReadS DeleteBackendAPI
Prelude.Read, Int -> DeleteBackendAPI -> ShowS
[DeleteBackendAPI] -> ShowS
DeleteBackendAPI -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteBackendAPI] -> ShowS
$cshowList :: [DeleteBackendAPI] -> ShowS
show :: DeleteBackendAPI -> String
$cshow :: DeleteBackendAPI -> String
showsPrec :: Int -> DeleteBackendAPI -> ShowS
$cshowsPrec :: Int -> DeleteBackendAPI -> ShowS
Prelude.Show, forall x. Rep DeleteBackendAPI x -> DeleteBackendAPI
forall x. DeleteBackendAPI -> Rep DeleteBackendAPI x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteBackendAPI x -> DeleteBackendAPI
$cfrom :: forall x. DeleteBackendAPI -> Rep DeleteBackendAPI x
Prelude.Generic)

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

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

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

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

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

instance Core.AWSRequest DeleteBackendAPI where
  type
    AWSResponse DeleteBackendAPI =
      DeleteBackendAPIResponse
  request :: (Service -> Service)
-> DeleteBackendAPI -> Request DeleteBackendAPI
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 DeleteBackendAPI
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse DeleteBackendAPI)))
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
-> DeleteBackendAPIResponse
DeleteBackendAPIResponse'
            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 DeleteBackendAPI where
  hashWithSalt :: Int -> DeleteBackendAPI -> Int
hashWithSalt Int
_salt DeleteBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:backendEnvironmentName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:appId:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:resourceConfig:DeleteBackendAPI' :: DeleteBackendAPI -> 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 DeleteBackendAPI where
  rnf :: DeleteBackendAPI -> ()
rnf DeleteBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:backendEnvironmentName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:appId:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:resourceConfig:DeleteBackendAPI' :: DeleteBackendAPI -> 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 DeleteBackendAPI where
  toHeaders :: DeleteBackendAPI -> 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 DeleteBackendAPI where
  toJSON :: DeleteBackendAPI -> Value
toJSON DeleteBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:backendEnvironmentName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:appId:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:resourceConfig:DeleteBackendAPI' :: DeleteBackendAPI -> 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 DeleteBackendAPI where
  toPath :: DeleteBackendAPI -> ByteString
toPath DeleteBackendAPI' {Maybe BackendAPIResourceConfig
Text
resourceName :: Text
backendEnvironmentName :: Text
appId :: Text
resourceConfig :: Maybe BackendAPIResourceConfig
$sel:resourceName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:backendEnvironmentName:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:appId:DeleteBackendAPI' :: DeleteBackendAPI -> Text
$sel:resourceConfig:DeleteBackendAPI' :: DeleteBackendAPI -> 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,
        ByteString
"/remove"
      ]

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

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

-- |
-- Create a value of 'DeleteBackendAPIResponse' 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', 'deleteBackendAPIResponse_appId' - The app ID.
--
-- 'backendEnvironmentName', 'deleteBackendAPIResponse_backendEnvironmentName' - The name of the backend environment.
--
-- 'error', 'deleteBackendAPIResponse_error' - If the request fails, this error is returned.
--
-- 'jobId', 'deleteBackendAPIResponse_jobId' - The ID for the job.
--
-- 'operation', 'deleteBackendAPIResponse_operation' - The name of the operation.
--
-- 'status', 'deleteBackendAPIResponse_status' - The current status of the request.
--
-- 'httpStatus', 'deleteBackendAPIResponse_httpStatus' - The response's http status code.
newDeleteBackendAPIResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteBackendAPIResponse
newDeleteBackendAPIResponse :: Int -> DeleteBackendAPIResponse
newDeleteBackendAPIResponse Int
pHttpStatus_ =
  DeleteBackendAPIResponse'
    { $sel:appId:DeleteBackendAPIResponse' :: Maybe Text
appId = forall a. Maybe a
Prelude.Nothing,
      $sel:backendEnvironmentName:DeleteBackendAPIResponse' :: Maybe Text
backendEnvironmentName = forall a. Maybe a
Prelude.Nothing,
      $sel:error:DeleteBackendAPIResponse' :: Maybe Text
error = forall a. Maybe a
Prelude.Nothing,
      $sel:jobId:DeleteBackendAPIResponse' :: Maybe Text
jobId = forall a. Maybe a
Prelude.Nothing,
      $sel:operation:DeleteBackendAPIResponse' :: Maybe Text
operation = forall a. Maybe a
Prelude.Nothing,
      $sel:status:DeleteBackendAPIResponse' :: Maybe Text
status = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DeleteBackendAPIResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

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

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

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

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

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

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

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

instance Prelude.NFData DeleteBackendAPIResponse where
  rnf :: DeleteBackendAPIResponse -> ()
rnf DeleteBackendAPIResponse' {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:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Int
$sel:status:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Maybe Text
$sel:operation:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Maybe Text
$sel:jobId:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Maybe Text
$sel:error:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Maybe Text
$sel:backendEnvironmentName:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> Maybe Text
$sel:appId:DeleteBackendAPIResponse' :: DeleteBackendAPIResponse -> 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