{-# 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.Neptune.DeleteDBClusterEndpoint
-- 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)
--
-- Deletes a custom endpoint and removes it from an Amazon Neptune DB
-- cluster.
module Amazonka.Neptune.DeleteDBClusterEndpoint
  ( -- * Creating a Request
    DeleteDBClusterEndpoint (..),
    newDeleteDBClusterEndpoint,

    -- * Request Lenses
    deleteDBClusterEndpoint_dbClusterEndpointIdentifier,

    -- * Destructuring the Response
    DeleteDBClusterEndpointResponse (..),
    newDeleteDBClusterEndpointResponse,

    -- * Response Lenses
    deleteDBClusterEndpointResponse_status,
    deleteDBClusterEndpointResponse_dbClusterIdentifier,
    deleteDBClusterEndpointResponse_dbClusterEndpointArn,
    deleteDBClusterEndpointResponse_customEndpointType,
    deleteDBClusterEndpointResponse_staticMembers,
    deleteDBClusterEndpointResponse_endpointType,
    deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier,
    deleteDBClusterEndpointResponse_endpoint,
    deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier,
    deleteDBClusterEndpointResponse_excludedMembers,
    deleteDBClusterEndpointResponse_httpStatus,
  )
where

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

-- | /See:/ 'newDeleteDBClusterEndpoint' smart constructor.
data DeleteDBClusterEndpoint = DeleteDBClusterEndpoint'
  { -- | The identifier associated with the custom endpoint. This parameter is
    -- stored as a lowercase string.
    DeleteDBClusterEndpoint -> Text
dbClusterEndpointIdentifier :: Prelude.Text
  }
  deriving (DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool
(DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool)
-> (DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool)
-> Eq DeleteDBClusterEndpoint
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool
$c/= :: DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool
== :: DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool
$c== :: DeleteDBClusterEndpoint -> DeleteDBClusterEndpoint -> Bool
Prelude.Eq, ReadPrec [DeleteDBClusterEndpoint]
ReadPrec DeleteDBClusterEndpoint
Int -> ReadS DeleteDBClusterEndpoint
ReadS [DeleteDBClusterEndpoint]
(Int -> ReadS DeleteDBClusterEndpoint)
-> ReadS [DeleteDBClusterEndpoint]
-> ReadPrec DeleteDBClusterEndpoint
-> ReadPrec [DeleteDBClusterEndpoint]
-> Read DeleteDBClusterEndpoint
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDBClusterEndpoint]
$creadListPrec :: ReadPrec [DeleteDBClusterEndpoint]
readPrec :: ReadPrec DeleteDBClusterEndpoint
$creadPrec :: ReadPrec DeleteDBClusterEndpoint
readList :: ReadS [DeleteDBClusterEndpoint]
$creadList :: ReadS [DeleteDBClusterEndpoint]
readsPrec :: Int -> ReadS DeleteDBClusterEndpoint
$creadsPrec :: Int -> ReadS DeleteDBClusterEndpoint
Prelude.Read, Int -> DeleteDBClusterEndpoint -> ShowS
[DeleteDBClusterEndpoint] -> ShowS
DeleteDBClusterEndpoint -> String
(Int -> DeleteDBClusterEndpoint -> ShowS)
-> (DeleteDBClusterEndpoint -> String)
-> ([DeleteDBClusterEndpoint] -> ShowS)
-> Show DeleteDBClusterEndpoint
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDBClusterEndpoint] -> ShowS
$cshowList :: [DeleteDBClusterEndpoint] -> ShowS
show :: DeleteDBClusterEndpoint -> String
$cshow :: DeleteDBClusterEndpoint -> String
showsPrec :: Int -> DeleteDBClusterEndpoint -> ShowS
$cshowsPrec :: Int -> DeleteDBClusterEndpoint -> ShowS
Prelude.Show, (forall x.
 DeleteDBClusterEndpoint -> Rep DeleteDBClusterEndpoint x)
-> (forall x.
    Rep DeleteDBClusterEndpoint x -> DeleteDBClusterEndpoint)
-> Generic DeleteDBClusterEndpoint
forall x. Rep DeleteDBClusterEndpoint x -> DeleteDBClusterEndpoint
forall x. DeleteDBClusterEndpoint -> Rep DeleteDBClusterEndpoint x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DeleteDBClusterEndpoint x -> DeleteDBClusterEndpoint
$cfrom :: forall x. DeleteDBClusterEndpoint -> Rep DeleteDBClusterEndpoint x
Prelude.Generic)

-- |
-- Create a value of 'DeleteDBClusterEndpoint' 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:
--
-- 'dbClusterEndpointIdentifier', 'deleteDBClusterEndpoint_dbClusterEndpointIdentifier' - The identifier associated with the custom endpoint. This parameter is
-- stored as a lowercase string.
newDeleteDBClusterEndpoint ::
  -- | 'dbClusterEndpointIdentifier'
  Prelude.Text ->
  DeleteDBClusterEndpoint
newDeleteDBClusterEndpoint :: Text -> DeleteDBClusterEndpoint
newDeleteDBClusterEndpoint
  Text
pDBClusterEndpointIdentifier_ =
    DeleteDBClusterEndpoint' :: Text -> DeleteDBClusterEndpoint
DeleteDBClusterEndpoint'
      { $sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpoint' :: Text
dbClusterEndpointIdentifier =
          Text
pDBClusterEndpointIdentifier_
      }

-- | The identifier associated with the custom endpoint. This parameter is
-- stored as a lowercase string.
deleteDBClusterEndpoint_dbClusterEndpointIdentifier :: Lens.Lens' DeleteDBClusterEndpoint Prelude.Text
deleteDBClusterEndpoint_dbClusterEndpointIdentifier :: (Text -> f Text)
-> DeleteDBClusterEndpoint -> f DeleteDBClusterEndpoint
deleteDBClusterEndpoint_dbClusterEndpointIdentifier = (DeleteDBClusterEndpoint -> Text)
-> (DeleteDBClusterEndpoint -> Text -> DeleteDBClusterEndpoint)
-> Lens DeleteDBClusterEndpoint DeleteDBClusterEndpoint Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpoint' {Text
dbClusterEndpointIdentifier :: Text
$sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpoint' :: DeleteDBClusterEndpoint -> Text
dbClusterEndpointIdentifier} -> Text
dbClusterEndpointIdentifier) (\s :: DeleteDBClusterEndpoint
s@DeleteDBClusterEndpoint' {} Text
a -> DeleteDBClusterEndpoint
s {$sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpoint' :: Text
dbClusterEndpointIdentifier = Text
a} :: DeleteDBClusterEndpoint)

instance Core.AWSRequest DeleteDBClusterEndpoint where
  type
    AWSResponse DeleteDBClusterEndpoint =
      DeleteDBClusterEndpointResponse
  request :: DeleteDBClusterEndpoint -> Request DeleteDBClusterEndpoint
request = Service
-> DeleteDBClusterEndpoint -> Request DeleteDBClusterEndpoint
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
  response :: Logger
-> Service
-> Proxy DeleteDBClusterEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DeleteDBClusterEndpoint)))
response =
    Text
-> (Int
    -> ResponseHeaders
    -> [Node]
    -> Either String (AWSResponse DeleteDBClusterEndpoint))
-> Logger
-> Service
-> Proxy DeleteDBClusterEndpoint
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DeleteDBClusterEndpoint)))
forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
      Text
"DeleteDBClusterEndpointResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Int
-> DeleteDBClusterEndpointResponse
DeleteDBClusterEndpointResponse'
            (Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe [Text]
 -> Int
 -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Status")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"DBClusterIdentifier")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"DBClusterEndpointArn")
            Either
  String
  (Maybe Text
   -> Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe [Text]
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"CustomEndpointType")
            Either
  String
  (Maybe [Text]
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe [Text])
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x [Node] -> Text -> Either String (Maybe [Node])
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"StaticMembers" Either String (Maybe [Node]) -> [Node] -> Either String [Node]
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ [Node]
forall a. Monoid a => a
Prelude.mempty
                            Either String [Node]
-> ([Node] -> Either String (Maybe [Text]))
-> Either String (Maybe [Text])
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= ([Node] -> Either String [Text])
-> [Node] -> Either String (Maybe [Text])
forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (Text -> [Node] -> Either String [Text]
forall a. FromXML a => Text -> [Node] -> Either String [a]
Core.parseXMLList Text
"member")
                        )
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"EndpointType")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe Text
      -> Maybe [Text]
      -> Int
      -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"DBClusterEndpointIdentifier")
            Either
  String
  (Maybe Text
   -> Maybe Text
   -> Maybe [Text]
   -> Int
   -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe Text
      -> Maybe [Text] -> Int -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"Endpoint")
            Either
  String
  (Maybe Text
   -> Maybe [Text] -> Int -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe Text)
-> Either
     String (Maybe [Text] -> Int -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ([Node]
x [Node] -> Text -> Either String (Maybe Text)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"DBClusterEndpointResourceIdentifier")
            Either
  String (Maybe [Text] -> Int -> DeleteDBClusterEndpointResponse)
-> Either String (Maybe [Text])
-> Either String (Int -> DeleteDBClusterEndpointResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( [Node]
x [Node] -> Text -> Either String (Maybe [Node])
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"ExcludedMembers" Either String (Maybe [Node]) -> [Node] -> Either String [Node]
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ [Node]
forall a. Monoid a => a
Prelude.mempty
                            Either String [Node]
-> ([Node] -> Either String (Maybe [Text]))
-> Either String (Maybe [Text])
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
Prelude.>>= ([Node] -> Either String [Text])
-> [Node] -> Either String (Maybe [Text])
forall (f :: * -> *) a b.
Applicative f =>
([a] -> f b) -> [a] -> f (Maybe b)
Core.may (Text -> [Node] -> Either String [Text]
forall a. FromXML a => Text -> [Node] -> Either String [a]
Core.parseXMLList Text
"member")
                        )
            Either String (Int -> DeleteDBClusterEndpointResponse)
-> Either String Int
-> Either String DeleteDBClusterEndpointResponse
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 DeleteDBClusterEndpoint

instance Prelude.NFData DeleteDBClusterEndpoint

instance Core.ToHeaders DeleteDBClusterEndpoint where
  toHeaders :: DeleteDBClusterEndpoint -> ResponseHeaders
toHeaders = ResponseHeaders -> DeleteDBClusterEndpoint -> ResponseHeaders
forall a b. a -> b -> a
Prelude.const ResponseHeaders
forall a. Monoid a => a
Prelude.mempty

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

instance Core.ToQuery DeleteDBClusterEndpoint where
  toQuery :: DeleteDBClusterEndpoint -> QueryString
toQuery DeleteDBClusterEndpoint' {Text
dbClusterEndpointIdentifier :: Text
$sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpoint' :: DeleteDBClusterEndpoint -> Text
..} =
    [QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"DeleteDBClusterEndpoint" :: Prelude.ByteString),
        ByteString
"Version"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        ByteString
"DBClusterEndpointIdentifier"
          ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
dbClusterEndpointIdentifier
      ]

-- | This data type represents the information you need to connect to an
-- Amazon Neptune DB cluster. This data type is used as a response element
-- in the following actions:
--
-- -   @CreateDBClusterEndpoint@
--
-- -   @DescribeDBClusterEndpoints@
--
-- -   @ModifyDBClusterEndpoint@
--
-- -   @DeleteDBClusterEndpoint@
--
-- For the data structure that represents Amazon RDS DB instance endpoints,
-- see @Endpoint@.
--
-- /See:/ 'newDeleteDBClusterEndpointResponse' smart constructor.
data DeleteDBClusterEndpointResponse = DeleteDBClusterEndpointResponse'
  { -- | The current status of the endpoint. One of: @creating@, @available@,
    -- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an
    -- endpoint that cannot be used for a certain kind of cluster, such as a
    -- @writer@ endpoint for a read-only secondary cluster in a global
    -- database.
    DeleteDBClusterEndpointResponse -> Maybe Text
status :: Prelude.Maybe Prelude.Text,
    -- | The DB cluster identifier of the DB cluster associated with the
    -- endpoint. This parameter is stored as a lowercase string.
    DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The Amazon Resource Name (ARN) for the endpoint.
    DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointArn :: Prelude.Maybe Prelude.Text,
    -- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,
    -- @ANY@.
    DeleteDBClusterEndpointResponse -> Maybe Text
customEndpointType :: Prelude.Maybe Prelude.Text,
    -- | List of DB instance identifiers that are part of the custom endpoint
    -- group.
    DeleteDBClusterEndpointResponse -> Maybe [Text]
staticMembers :: Prelude.Maybe [Prelude.Text],
    -- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.
    DeleteDBClusterEndpointResponse -> Maybe Text
endpointType :: Prelude.Maybe Prelude.Text,
    -- | The identifier associated with the endpoint. This parameter is stored as
    -- a lowercase string.
    DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointIdentifier :: Prelude.Maybe Prelude.Text,
    -- | The DNS address of the endpoint.
    DeleteDBClusterEndpointResponse -> Maybe Text
endpoint :: Prelude.Maybe Prelude.Text,
    -- | A unique system-generated identifier for an endpoint. It remains the
    -- same for the whole life of the endpoint.
    DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointResourceIdentifier :: Prelude.Maybe Prelude.Text,
    -- | List of DB instance identifiers that aren\'t part of the custom endpoint
    -- group. All other eligible instances are reachable through the custom
    -- endpoint. Only relevant if the list of static members is empty.
    DeleteDBClusterEndpointResponse -> Maybe [Text]
excludedMembers :: Prelude.Maybe [Prelude.Text],
    -- | The response's http status code.
    DeleteDBClusterEndpointResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DeleteDBClusterEndpointResponse
-> DeleteDBClusterEndpointResponse -> Bool
(DeleteDBClusterEndpointResponse
 -> DeleteDBClusterEndpointResponse -> Bool)
-> (DeleteDBClusterEndpointResponse
    -> DeleteDBClusterEndpointResponse -> Bool)
-> Eq DeleteDBClusterEndpointResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteDBClusterEndpointResponse
-> DeleteDBClusterEndpointResponse -> Bool
$c/= :: DeleteDBClusterEndpointResponse
-> DeleteDBClusterEndpointResponse -> Bool
== :: DeleteDBClusterEndpointResponse
-> DeleteDBClusterEndpointResponse -> Bool
$c== :: DeleteDBClusterEndpointResponse
-> DeleteDBClusterEndpointResponse -> Bool
Prelude.Eq, ReadPrec [DeleteDBClusterEndpointResponse]
ReadPrec DeleteDBClusterEndpointResponse
Int -> ReadS DeleteDBClusterEndpointResponse
ReadS [DeleteDBClusterEndpointResponse]
(Int -> ReadS DeleteDBClusterEndpointResponse)
-> ReadS [DeleteDBClusterEndpointResponse]
-> ReadPrec DeleteDBClusterEndpointResponse
-> ReadPrec [DeleteDBClusterEndpointResponse]
-> Read DeleteDBClusterEndpointResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DeleteDBClusterEndpointResponse]
$creadListPrec :: ReadPrec [DeleteDBClusterEndpointResponse]
readPrec :: ReadPrec DeleteDBClusterEndpointResponse
$creadPrec :: ReadPrec DeleteDBClusterEndpointResponse
readList :: ReadS [DeleteDBClusterEndpointResponse]
$creadList :: ReadS [DeleteDBClusterEndpointResponse]
readsPrec :: Int -> ReadS DeleteDBClusterEndpointResponse
$creadsPrec :: Int -> ReadS DeleteDBClusterEndpointResponse
Prelude.Read, Int -> DeleteDBClusterEndpointResponse -> ShowS
[DeleteDBClusterEndpointResponse] -> ShowS
DeleteDBClusterEndpointResponse -> String
(Int -> DeleteDBClusterEndpointResponse -> ShowS)
-> (DeleteDBClusterEndpointResponse -> String)
-> ([DeleteDBClusterEndpointResponse] -> ShowS)
-> Show DeleteDBClusterEndpointResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DeleteDBClusterEndpointResponse] -> ShowS
$cshowList :: [DeleteDBClusterEndpointResponse] -> ShowS
show :: DeleteDBClusterEndpointResponse -> String
$cshow :: DeleteDBClusterEndpointResponse -> String
showsPrec :: Int -> DeleteDBClusterEndpointResponse -> ShowS
$cshowsPrec :: Int -> DeleteDBClusterEndpointResponse -> ShowS
Prelude.Show, (forall x.
 DeleteDBClusterEndpointResponse
 -> Rep DeleteDBClusterEndpointResponse x)
-> (forall x.
    Rep DeleteDBClusterEndpointResponse x
    -> DeleteDBClusterEndpointResponse)
-> Generic DeleteDBClusterEndpointResponse
forall x.
Rep DeleteDBClusterEndpointResponse x
-> DeleteDBClusterEndpointResponse
forall x.
DeleteDBClusterEndpointResponse
-> Rep DeleteDBClusterEndpointResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DeleteDBClusterEndpointResponse x
-> DeleteDBClusterEndpointResponse
$cfrom :: forall x.
DeleteDBClusterEndpointResponse
-> Rep DeleteDBClusterEndpointResponse x
Prelude.Generic)

-- |
-- Create a value of 'DeleteDBClusterEndpointResponse' 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', 'deleteDBClusterEndpointResponse_status' - The current status of the endpoint. One of: @creating@, @available@,
-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an
-- endpoint that cannot be used for a certain kind of cluster, such as a
-- @writer@ endpoint for a read-only secondary cluster in a global
-- database.
--
-- 'dbClusterIdentifier', 'deleteDBClusterEndpointResponse_dbClusterIdentifier' - The DB cluster identifier of the DB cluster associated with the
-- endpoint. This parameter is stored as a lowercase string.
--
-- 'dbClusterEndpointArn', 'deleteDBClusterEndpointResponse_dbClusterEndpointArn' - The Amazon Resource Name (ARN) for the endpoint.
--
-- 'customEndpointType', 'deleteDBClusterEndpointResponse_customEndpointType' - The type associated with a custom endpoint. One of: @READER@, @WRITER@,
-- @ANY@.
--
-- 'staticMembers', 'deleteDBClusterEndpointResponse_staticMembers' - List of DB instance identifiers that are part of the custom endpoint
-- group.
--
-- 'endpointType', 'deleteDBClusterEndpointResponse_endpointType' - The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.
--
-- 'dbClusterEndpointIdentifier', 'deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier' - The identifier associated with the endpoint. This parameter is stored as
-- a lowercase string.
--
-- 'endpoint', 'deleteDBClusterEndpointResponse_endpoint' - The DNS address of the endpoint.
--
-- 'dbClusterEndpointResourceIdentifier', 'deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier' - A unique system-generated identifier for an endpoint. It remains the
-- same for the whole life of the endpoint.
--
-- 'excludedMembers', 'deleteDBClusterEndpointResponse_excludedMembers' - List of DB instance identifiers that aren\'t part of the custom endpoint
-- group. All other eligible instances are reachable through the custom
-- endpoint. Only relevant if the list of static members is empty.
--
-- 'httpStatus', 'deleteDBClusterEndpointResponse_httpStatus' - The response's http status code.
newDeleteDBClusterEndpointResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DeleteDBClusterEndpointResponse
newDeleteDBClusterEndpointResponse :: Int -> DeleteDBClusterEndpointResponse
newDeleteDBClusterEndpointResponse Int
pHttpStatus_ =
  DeleteDBClusterEndpointResponse' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe [Text]
-> Int
-> DeleteDBClusterEndpointResponse
DeleteDBClusterEndpointResponse'
    { $sel:status:DeleteDBClusterEndpointResponse' :: Maybe Text
status =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterIdentifier = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterEndpointArn:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:customEndpointType:DeleteDBClusterEndpointResponse' :: Maybe Text
customEndpointType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:staticMembers:DeleteDBClusterEndpointResponse' :: Maybe [Text]
staticMembers = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:endpointType:DeleteDBClusterEndpointResponse' :: Maybe Text
endpointType = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointIdentifier =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:endpoint:DeleteDBClusterEndpointResponse' :: Maybe Text
endpoint = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:dbClusterEndpointResourceIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointResourceIdentifier =
        Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:excludedMembers:DeleteDBClusterEndpointResponse' :: Maybe [Text]
excludedMembers = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DeleteDBClusterEndpointResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The current status of the endpoint. One of: @creating@, @available@,
-- @deleting@, @inactive@, @modifying@. The @inactive@ state applies to an
-- endpoint that cannot be used for a certain kind of cluster, such as a
-- @writer@ endpoint for a read-only secondary cluster in a global
-- database.
deleteDBClusterEndpointResponse_status :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_status :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_status = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
status :: Maybe Text
$sel:status:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
status} -> Maybe Text
status) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:status:DeleteDBClusterEndpointResponse' :: Maybe Text
status = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | The DB cluster identifier of the DB cluster associated with the
-- endpoint. This parameter is stored as a lowercase string.
deleteDBClusterEndpointResponse_dbClusterIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_dbClusterIdentifier :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_dbClusterIdentifier = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
dbClusterIdentifier :: Maybe Text
$sel:dbClusterIdentifier:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterIdentifier} -> Maybe Text
dbClusterIdentifier) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:dbClusterIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterIdentifier = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | The Amazon Resource Name (ARN) for the endpoint.
deleteDBClusterEndpointResponse_dbClusterEndpointArn :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_dbClusterEndpointArn :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_dbClusterEndpointArn = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
dbClusterEndpointArn :: Maybe Text
$sel:dbClusterEndpointArn:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointArn} -> Maybe Text
dbClusterEndpointArn) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:dbClusterEndpointArn:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointArn = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | The type associated with a custom endpoint. One of: @READER@, @WRITER@,
-- @ANY@.
deleteDBClusterEndpointResponse_customEndpointType :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_customEndpointType :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_customEndpointType = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
customEndpointType :: Maybe Text
$sel:customEndpointType:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
customEndpointType} -> Maybe Text
customEndpointType) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:customEndpointType:DeleteDBClusterEndpointResponse' :: Maybe Text
customEndpointType = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | List of DB instance identifiers that are part of the custom endpoint
-- group.
deleteDBClusterEndpointResponse_staticMembers :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])
deleteDBClusterEndpointResponse_staticMembers :: (Maybe [Text] -> f (Maybe [Text]))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_staticMembers = (DeleteDBClusterEndpointResponse -> Maybe [Text])
-> (DeleteDBClusterEndpointResponse
    -> Maybe [Text] -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe [Text]
staticMembers :: Maybe [Text]
$sel:staticMembers:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe [Text]
staticMembers} -> Maybe [Text]
staticMembers) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe [Text]
a -> DeleteDBClusterEndpointResponse
s {$sel:staticMembers:DeleteDBClusterEndpointResponse' :: Maybe [Text]
staticMembers = Maybe [Text]
a} :: DeleteDBClusterEndpointResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> DeleteDBClusterEndpointResponse
 -> f DeleteDBClusterEndpointResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The type of the endpoint. One of: @READER@, @WRITER@, @CUSTOM@.
deleteDBClusterEndpointResponse_endpointType :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_endpointType :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_endpointType = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
endpointType :: Maybe Text
$sel:endpointType:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
endpointType} -> Maybe Text
endpointType) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:endpointType:DeleteDBClusterEndpointResponse' :: Maybe Text
endpointType = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | The identifier associated with the endpoint. This parameter is stored as
-- a lowercase string.
deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_dbClusterEndpointIdentifier = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
dbClusterEndpointIdentifier :: Maybe Text
$sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointIdentifier} -> Maybe Text
dbClusterEndpointIdentifier) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:dbClusterEndpointIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointIdentifier = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | The DNS address of the endpoint.
deleteDBClusterEndpointResponse_endpoint :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_endpoint :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_endpoint = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
endpoint :: Maybe Text
$sel:endpoint:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
endpoint} -> Maybe Text
endpoint) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:endpoint:DeleteDBClusterEndpointResponse' :: Maybe Text
endpoint = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | A unique system-generated identifier for an endpoint. It remains the
-- same for the whole life of the endpoint.
deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe Prelude.Text)
deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier :: (Maybe Text -> f (Maybe Text))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_dbClusterEndpointResourceIdentifier = (DeleteDBClusterEndpointResponse -> Maybe Text)
-> (DeleteDBClusterEndpointResponse
    -> Maybe Text -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe Text
dbClusterEndpointResourceIdentifier :: Maybe Text
$sel:dbClusterEndpointResourceIdentifier:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe Text
dbClusterEndpointResourceIdentifier} -> Maybe Text
dbClusterEndpointResourceIdentifier) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe Text
a -> DeleteDBClusterEndpointResponse
s {$sel:dbClusterEndpointResourceIdentifier:DeleteDBClusterEndpointResponse' :: Maybe Text
dbClusterEndpointResourceIdentifier = Maybe Text
a} :: DeleteDBClusterEndpointResponse)

-- | List of DB instance identifiers that aren\'t part of the custom endpoint
-- group. All other eligible instances are reachable through the custom
-- endpoint. Only relevant if the list of static members is empty.
deleteDBClusterEndpointResponse_excludedMembers :: Lens.Lens' DeleteDBClusterEndpointResponse (Prelude.Maybe [Prelude.Text])
deleteDBClusterEndpointResponse_excludedMembers :: (Maybe [Text] -> f (Maybe [Text]))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
deleteDBClusterEndpointResponse_excludedMembers = (DeleteDBClusterEndpointResponse -> Maybe [Text])
-> (DeleteDBClusterEndpointResponse
    -> Maybe [Text] -> DeleteDBClusterEndpointResponse)
-> Lens
     DeleteDBClusterEndpointResponse
     DeleteDBClusterEndpointResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DeleteDBClusterEndpointResponse' {Maybe [Text]
excludedMembers :: Maybe [Text]
$sel:excludedMembers:DeleteDBClusterEndpointResponse' :: DeleteDBClusterEndpointResponse -> Maybe [Text]
excludedMembers} -> Maybe [Text]
excludedMembers) (\s :: DeleteDBClusterEndpointResponse
s@DeleteDBClusterEndpointResponse' {} Maybe [Text]
a -> DeleteDBClusterEndpointResponse
s {$sel:excludedMembers:DeleteDBClusterEndpointResponse' :: Maybe [Text]
excludedMembers = Maybe [Text]
a} :: DeleteDBClusterEndpointResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> DeleteDBClusterEndpointResponse
 -> f DeleteDBClusterEndpointResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> DeleteDBClusterEndpointResponse
-> f DeleteDBClusterEndpointResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
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 [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

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

instance
  Prelude.NFData
    DeleteDBClusterEndpointResponse