{-# 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.DocumentDB.RemoveSourceIdentifierFromSubscription
-- 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)
--
-- Removes a source identifier from an existing Amazon DocumentDB event
-- notification subscription.
module Amazonka.DocumentDB.RemoveSourceIdentifierFromSubscription
  ( -- * Creating a Request
    RemoveSourceIdentifierFromSubscription (..),
    newRemoveSourceIdentifierFromSubscription,

    -- * Request Lenses
    removeSourceIdentifierFromSubscription_subscriptionName,
    removeSourceIdentifierFromSubscription_sourceIdentifier,

    -- * Destructuring the Response
    RemoveSourceIdentifierFromSubscriptionResponse (..),
    newRemoveSourceIdentifierFromSubscriptionResponse,

    -- * Response Lenses
    removeSourceIdentifierFromSubscriptionResponse_eventSubscription,
    removeSourceIdentifierFromSubscriptionResponse_httpStatus,
  )
where

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

-- | Represents the input to RemoveSourceIdentifierFromSubscription.
--
-- /See:/ 'newRemoveSourceIdentifierFromSubscription' smart constructor.
data RemoveSourceIdentifierFromSubscription = RemoveSourceIdentifierFromSubscription'
  { -- | The name of the Amazon DocumentDB event notification subscription that
    -- you want to remove a source identifier from.
    RemoveSourceIdentifierFromSubscription -> Text
subscriptionName :: Prelude.Text,
    -- | The source identifier to be removed from the subscription, such as the
    -- instance identifier for an instance, or the name of a security group.
    RemoveSourceIdentifierFromSubscription -> Text
sourceIdentifier :: Prelude.Text
  }
  deriving (RemoveSourceIdentifierFromSubscription
-> RemoveSourceIdentifierFromSubscription -> Bool
(RemoveSourceIdentifierFromSubscription
 -> RemoveSourceIdentifierFromSubscription -> Bool)
-> (RemoveSourceIdentifierFromSubscription
    -> RemoveSourceIdentifierFromSubscription -> Bool)
-> Eq RemoveSourceIdentifierFromSubscription
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveSourceIdentifierFromSubscription
-> RemoveSourceIdentifierFromSubscription -> Bool
$c/= :: RemoveSourceIdentifierFromSubscription
-> RemoveSourceIdentifierFromSubscription -> Bool
== :: RemoveSourceIdentifierFromSubscription
-> RemoveSourceIdentifierFromSubscription -> Bool
$c== :: RemoveSourceIdentifierFromSubscription
-> RemoveSourceIdentifierFromSubscription -> Bool
Prelude.Eq, ReadPrec [RemoveSourceIdentifierFromSubscription]
ReadPrec RemoveSourceIdentifierFromSubscription
Int -> ReadS RemoveSourceIdentifierFromSubscription
ReadS [RemoveSourceIdentifierFromSubscription]
(Int -> ReadS RemoveSourceIdentifierFromSubscription)
-> ReadS [RemoveSourceIdentifierFromSubscription]
-> ReadPrec RemoveSourceIdentifierFromSubscription
-> ReadPrec [RemoveSourceIdentifierFromSubscription]
-> Read RemoveSourceIdentifierFromSubscription
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveSourceIdentifierFromSubscription]
$creadListPrec :: ReadPrec [RemoveSourceIdentifierFromSubscription]
readPrec :: ReadPrec RemoveSourceIdentifierFromSubscription
$creadPrec :: ReadPrec RemoveSourceIdentifierFromSubscription
readList :: ReadS [RemoveSourceIdentifierFromSubscription]
$creadList :: ReadS [RemoveSourceIdentifierFromSubscription]
readsPrec :: Int -> ReadS RemoveSourceIdentifierFromSubscription
$creadsPrec :: Int -> ReadS RemoveSourceIdentifierFromSubscription
Prelude.Read, Int -> RemoveSourceIdentifierFromSubscription -> ShowS
[RemoveSourceIdentifierFromSubscription] -> ShowS
RemoveSourceIdentifierFromSubscription -> String
(Int -> RemoveSourceIdentifierFromSubscription -> ShowS)
-> (RemoveSourceIdentifierFromSubscription -> String)
-> ([RemoveSourceIdentifierFromSubscription] -> ShowS)
-> Show RemoveSourceIdentifierFromSubscription
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveSourceIdentifierFromSubscription] -> ShowS
$cshowList :: [RemoveSourceIdentifierFromSubscription] -> ShowS
show :: RemoveSourceIdentifierFromSubscription -> String
$cshow :: RemoveSourceIdentifierFromSubscription -> String
showsPrec :: Int -> RemoveSourceIdentifierFromSubscription -> ShowS
$cshowsPrec :: Int -> RemoveSourceIdentifierFromSubscription -> ShowS
Prelude.Show, (forall x.
 RemoveSourceIdentifierFromSubscription
 -> Rep RemoveSourceIdentifierFromSubscription x)
-> (forall x.
    Rep RemoveSourceIdentifierFromSubscription x
    -> RemoveSourceIdentifierFromSubscription)
-> Generic RemoveSourceIdentifierFromSubscription
forall x.
Rep RemoveSourceIdentifierFromSubscription x
-> RemoveSourceIdentifierFromSubscription
forall x.
RemoveSourceIdentifierFromSubscription
-> Rep RemoveSourceIdentifierFromSubscription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveSourceIdentifierFromSubscription x
-> RemoveSourceIdentifierFromSubscription
$cfrom :: forall x.
RemoveSourceIdentifierFromSubscription
-> Rep RemoveSourceIdentifierFromSubscription x
Prelude.Generic)

-- |
-- Create a value of 'RemoveSourceIdentifierFromSubscription' 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:
--
-- 'subscriptionName', 'removeSourceIdentifierFromSubscription_subscriptionName' - The name of the Amazon DocumentDB event notification subscription that
-- you want to remove a source identifier from.
--
-- 'sourceIdentifier', 'removeSourceIdentifierFromSubscription_sourceIdentifier' - The source identifier to be removed from the subscription, such as the
-- instance identifier for an instance, or the name of a security group.
newRemoveSourceIdentifierFromSubscription ::
  -- | 'subscriptionName'
  Prelude.Text ->
  -- | 'sourceIdentifier'
  Prelude.Text ->
  RemoveSourceIdentifierFromSubscription
newRemoveSourceIdentifierFromSubscription :: Text -> Text -> RemoveSourceIdentifierFromSubscription
newRemoveSourceIdentifierFromSubscription
  Text
pSubscriptionName_
  Text
pSourceIdentifier_ =
    RemoveSourceIdentifierFromSubscription' :: Text -> Text -> RemoveSourceIdentifierFromSubscription
RemoveSourceIdentifierFromSubscription'
      { $sel:subscriptionName:RemoveSourceIdentifierFromSubscription' :: Text
subscriptionName =
          Text
pSubscriptionName_,
        $sel:sourceIdentifier:RemoveSourceIdentifierFromSubscription' :: Text
sourceIdentifier =
          Text
pSourceIdentifier_
      }

-- | The name of the Amazon DocumentDB event notification subscription that
-- you want to remove a source identifier from.
removeSourceIdentifierFromSubscription_subscriptionName :: Lens.Lens' RemoveSourceIdentifierFromSubscription Prelude.Text
removeSourceIdentifierFromSubscription_subscriptionName :: (Text -> f Text)
-> RemoveSourceIdentifierFromSubscription
-> f RemoveSourceIdentifierFromSubscription
removeSourceIdentifierFromSubscription_subscriptionName = (RemoveSourceIdentifierFromSubscription -> Text)
-> (RemoveSourceIdentifierFromSubscription
    -> Text -> RemoveSourceIdentifierFromSubscription)
-> Lens
     RemoveSourceIdentifierFromSubscription
     RemoveSourceIdentifierFromSubscription
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveSourceIdentifierFromSubscription' {Text
subscriptionName :: Text
$sel:subscriptionName:RemoveSourceIdentifierFromSubscription' :: RemoveSourceIdentifierFromSubscription -> Text
subscriptionName} -> Text
subscriptionName) (\s :: RemoveSourceIdentifierFromSubscription
s@RemoveSourceIdentifierFromSubscription' {} Text
a -> RemoveSourceIdentifierFromSubscription
s {$sel:subscriptionName:RemoveSourceIdentifierFromSubscription' :: Text
subscriptionName = Text
a} :: RemoveSourceIdentifierFromSubscription)

-- | The source identifier to be removed from the subscription, such as the
-- instance identifier for an instance, or the name of a security group.
removeSourceIdentifierFromSubscription_sourceIdentifier :: Lens.Lens' RemoveSourceIdentifierFromSubscription Prelude.Text
removeSourceIdentifierFromSubscription_sourceIdentifier :: (Text -> f Text)
-> RemoveSourceIdentifierFromSubscription
-> f RemoveSourceIdentifierFromSubscription
removeSourceIdentifierFromSubscription_sourceIdentifier = (RemoveSourceIdentifierFromSubscription -> Text)
-> (RemoveSourceIdentifierFromSubscription
    -> Text -> RemoveSourceIdentifierFromSubscription)
-> Lens
     RemoveSourceIdentifierFromSubscription
     RemoveSourceIdentifierFromSubscription
     Text
     Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveSourceIdentifierFromSubscription' {Text
sourceIdentifier :: Text
$sel:sourceIdentifier:RemoveSourceIdentifierFromSubscription' :: RemoveSourceIdentifierFromSubscription -> Text
sourceIdentifier} -> Text
sourceIdentifier) (\s :: RemoveSourceIdentifierFromSubscription
s@RemoveSourceIdentifierFromSubscription' {} Text
a -> RemoveSourceIdentifierFromSubscription
s {$sel:sourceIdentifier:RemoveSourceIdentifierFromSubscription' :: Text
sourceIdentifier = Text
a} :: RemoveSourceIdentifierFromSubscription)

instance
  Core.AWSRequest
    RemoveSourceIdentifierFromSubscription
  where
  type
    AWSResponse
      RemoveSourceIdentifierFromSubscription =
      RemoveSourceIdentifierFromSubscriptionResponse
  request :: RemoveSourceIdentifierFromSubscription
-> Request RemoveSourceIdentifierFromSubscription
request = Service
-> RemoveSourceIdentifierFromSubscription
-> Request RemoveSourceIdentifierFromSubscription
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
  response :: Logger
-> Service
-> Proxy RemoveSourceIdentifierFromSubscription
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse RemoveSourceIdentifierFromSubscription)))
response =
    Text
-> (Int
    -> ResponseHeaders
    -> [Node]
    -> Either
         String (AWSResponse RemoveSourceIdentifierFromSubscription))
-> Logger
-> Service
-> Proxy RemoveSourceIdentifierFromSubscription
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse RemoveSourceIdentifierFromSubscription)))
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
"RemoveSourceIdentifierFromSubscriptionResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe EventSubscription
-> Int -> RemoveSourceIdentifierFromSubscriptionResponse
RemoveSourceIdentifierFromSubscriptionResponse'
            (Maybe EventSubscription
 -> Int -> RemoveSourceIdentifierFromSubscriptionResponse)
-> Either String (Maybe EventSubscription)
-> Either
     String (Int -> RemoveSourceIdentifierFromSubscriptionResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x [Node] -> Text -> Either String (Maybe EventSubscription)
forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Core..@? Text
"EventSubscription")
              Either
  String (Int -> RemoveSourceIdentifierFromSubscriptionResponse)
-> Either String Int
-> Either String RemoveSourceIdentifierFromSubscriptionResponse
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
    RemoveSourceIdentifierFromSubscription

instance
  Prelude.NFData
    RemoveSourceIdentifierFromSubscription

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

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

instance
  Core.ToQuery
    RemoveSourceIdentifierFromSubscription
  where
  toQuery :: RemoveSourceIdentifierFromSubscription -> QueryString
toQuery RemoveSourceIdentifierFromSubscription' {Text
sourceIdentifier :: Text
subscriptionName :: Text
$sel:sourceIdentifier:RemoveSourceIdentifierFromSubscription' :: RemoveSourceIdentifierFromSubscription -> Text
$sel:subscriptionName:RemoveSourceIdentifierFromSubscription' :: RemoveSourceIdentifierFromSubscription -> 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
"RemoveSourceIdentifierFromSubscription" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        ByteString
"SubscriptionName" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
subscriptionName,
        ByteString
"SourceIdentifier" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
sourceIdentifier
      ]

-- | /See:/ 'newRemoveSourceIdentifierFromSubscriptionResponse' smart constructor.
data RemoveSourceIdentifierFromSubscriptionResponse = RemoveSourceIdentifierFromSubscriptionResponse'
  { RemoveSourceIdentifierFromSubscriptionResponse
-> Maybe EventSubscription
eventSubscription :: Prelude.Maybe EventSubscription,
    -- | The response's http status code.
    RemoveSourceIdentifierFromSubscriptionResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (RemoveSourceIdentifierFromSubscriptionResponse
-> RemoveSourceIdentifierFromSubscriptionResponse -> Bool
(RemoveSourceIdentifierFromSubscriptionResponse
 -> RemoveSourceIdentifierFromSubscriptionResponse -> Bool)
-> (RemoveSourceIdentifierFromSubscriptionResponse
    -> RemoveSourceIdentifierFromSubscriptionResponse -> Bool)
-> Eq RemoveSourceIdentifierFromSubscriptionResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RemoveSourceIdentifierFromSubscriptionResponse
-> RemoveSourceIdentifierFromSubscriptionResponse -> Bool
$c/= :: RemoveSourceIdentifierFromSubscriptionResponse
-> RemoveSourceIdentifierFromSubscriptionResponse -> Bool
== :: RemoveSourceIdentifierFromSubscriptionResponse
-> RemoveSourceIdentifierFromSubscriptionResponse -> Bool
$c== :: RemoveSourceIdentifierFromSubscriptionResponse
-> RemoveSourceIdentifierFromSubscriptionResponse -> Bool
Prelude.Eq, ReadPrec [RemoveSourceIdentifierFromSubscriptionResponse]
ReadPrec RemoveSourceIdentifierFromSubscriptionResponse
Int -> ReadS RemoveSourceIdentifierFromSubscriptionResponse
ReadS [RemoveSourceIdentifierFromSubscriptionResponse]
(Int -> ReadS RemoveSourceIdentifierFromSubscriptionResponse)
-> ReadS [RemoveSourceIdentifierFromSubscriptionResponse]
-> ReadPrec RemoveSourceIdentifierFromSubscriptionResponse
-> ReadPrec [RemoveSourceIdentifierFromSubscriptionResponse]
-> Read RemoveSourceIdentifierFromSubscriptionResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RemoveSourceIdentifierFromSubscriptionResponse]
$creadListPrec :: ReadPrec [RemoveSourceIdentifierFromSubscriptionResponse]
readPrec :: ReadPrec RemoveSourceIdentifierFromSubscriptionResponse
$creadPrec :: ReadPrec RemoveSourceIdentifierFromSubscriptionResponse
readList :: ReadS [RemoveSourceIdentifierFromSubscriptionResponse]
$creadList :: ReadS [RemoveSourceIdentifierFromSubscriptionResponse]
readsPrec :: Int -> ReadS RemoveSourceIdentifierFromSubscriptionResponse
$creadsPrec :: Int -> ReadS RemoveSourceIdentifierFromSubscriptionResponse
Prelude.Read, Int -> RemoveSourceIdentifierFromSubscriptionResponse -> ShowS
[RemoveSourceIdentifierFromSubscriptionResponse] -> ShowS
RemoveSourceIdentifierFromSubscriptionResponse -> String
(Int -> RemoveSourceIdentifierFromSubscriptionResponse -> ShowS)
-> (RemoveSourceIdentifierFromSubscriptionResponse -> String)
-> ([RemoveSourceIdentifierFromSubscriptionResponse] -> ShowS)
-> Show RemoveSourceIdentifierFromSubscriptionResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RemoveSourceIdentifierFromSubscriptionResponse] -> ShowS
$cshowList :: [RemoveSourceIdentifierFromSubscriptionResponse] -> ShowS
show :: RemoveSourceIdentifierFromSubscriptionResponse -> String
$cshow :: RemoveSourceIdentifierFromSubscriptionResponse -> String
showsPrec :: Int -> RemoveSourceIdentifierFromSubscriptionResponse -> ShowS
$cshowsPrec :: Int -> RemoveSourceIdentifierFromSubscriptionResponse -> ShowS
Prelude.Show, (forall x.
 RemoveSourceIdentifierFromSubscriptionResponse
 -> Rep RemoveSourceIdentifierFromSubscriptionResponse x)
-> (forall x.
    Rep RemoveSourceIdentifierFromSubscriptionResponse x
    -> RemoveSourceIdentifierFromSubscriptionResponse)
-> Generic RemoveSourceIdentifierFromSubscriptionResponse
forall x.
Rep RemoveSourceIdentifierFromSubscriptionResponse x
-> RemoveSourceIdentifierFromSubscriptionResponse
forall x.
RemoveSourceIdentifierFromSubscriptionResponse
-> Rep RemoveSourceIdentifierFromSubscriptionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RemoveSourceIdentifierFromSubscriptionResponse x
-> RemoveSourceIdentifierFromSubscriptionResponse
$cfrom :: forall x.
RemoveSourceIdentifierFromSubscriptionResponse
-> Rep RemoveSourceIdentifierFromSubscriptionResponse x
Prelude.Generic)

-- |
-- Create a value of 'RemoveSourceIdentifierFromSubscriptionResponse' 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:
--
-- 'eventSubscription', 'removeSourceIdentifierFromSubscriptionResponse_eventSubscription' - Undocumented member.
--
-- 'httpStatus', 'removeSourceIdentifierFromSubscriptionResponse_httpStatus' - The response's http status code.
newRemoveSourceIdentifierFromSubscriptionResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  RemoveSourceIdentifierFromSubscriptionResponse
newRemoveSourceIdentifierFromSubscriptionResponse :: Int -> RemoveSourceIdentifierFromSubscriptionResponse
newRemoveSourceIdentifierFromSubscriptionResponse
  Int
pHttpStatus_ =
    RemoveSourceIdentifierFromSubscriptionResponse' :: Maybe EventSubscription
-> Int -> RemoveSourceIdentifierFromSubscriptionResponse
RemoveSourceIdentifierFromSubscriptionResponse'
      { $sel:eventSubscription:RemoveSourceIdentifierFromSubscriptionResponse' :: Maybe EventSubscription
eventSubscription =
          Maybe EventSubscription
forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:RemoveSourceIdentifierFromSubscriptionResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | Undocumented member.
removeSourceIdentifierFromSubscriptionResponse_eventSubscription :: Lens.Lens' RemoveSourceIdentifierFromSubscriptionResponse (Prelude.Maybe EventSubscription)
removeSourceIdentifierFromSubscriptionResponse_eventSubscription :: (Maybe EventSubscription -> f (Maybe EventSubscription))
-> RemoveSourceIdentifierFromSubscriptionResponse
-> f RemoveSourceIdentifierFromSubscriptionResponse
removeSourceIdentifierFromSubscriptionResponse_eventSubscription = (RemoveSourceIdentifierFromSubscriptionResponse
 -> Maybe EventSubscription)
-> (RemoveSourceIdentifierFromSubscriptionResponse
    -> Maybe EventSubscription
    -> RemoveSourceIdentifierFromSubscriptionResponse)
-> Lens
     RemoveSourceIdentifierFromSubscriptionResponse
     RemoveSourceIdentifierFromSubscriptionResponse
     (Maybe EventSubscription)
     (Maybe EventSubscription)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RemoveSourceIdentifierFromSubscriptionResponse' {Maybe EventSubscription
eventSubscription :: Maybe EventSubscription
$sel:eventSubscription:RemoveSourceIdentifierFromSubscriptionResponse' :: RemoveSourceIdentifierFromSubscriptionResponse
-> Maybe EventSubscription
eventSubscription} -> Maybe EventSubscription
eventSubscription) (\s :: RemoveSourceIdentifierFromSubscriptionResponse
s@RemoveSourceIdentifierFromSubscriptionResponse' {} Maybe EventSubscription
a -> RemoveSourceIdentifierFromSubscriptionResponse
s {$sel:eventSubscription:RemoveSourceIdentifierFromSubscriptionResponse' :: Maybe EventSubscription
eventSubscription = Maybe EventSubscription
a} :: RemoveSourceIdentifierFromSubscriptionResponse)

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

instance
  Prelude.NFData
    RemoveSourceIdentifierFromSubscriptionResponse