{-# 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.RDS.AddSourceIdentifierToSubscription
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Adds a source identifier to an existing RDS event notification
-- subscription.
module Amazonka.RDS.AddSourceIdentifierToSubscription
  ( -- * Creating a Request
    AddSourceIdentifierToSubscription (..),
    newAddSourceIdentifierToSubscription,

    -- * Request Lenses
    addSourceIdentifierToSubscription_subscriptionName,
    addSourceIdentifierToSubscription_sourceIdentifier,

    -- * Destructuring the Response
    AddSourceIdentifierToSubscriptionResponse (..),
    newAddSourceIdentifierToSubscriptionResponse,

    -- * Response Lenses
    addSourceIdentifierToSubscriptionResponse_eventSubscription,
    addSourceIdentifierToSubscriptionResponse_httpStatus,
  )
where

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 Amazonka.RDS.Types
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- |
--
-- /See:/ 'newAddSourceIdentifierToSubscription' smart constructor.
data AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscription'
  { -- | The name of the RDS event notification subscription you want to add a
    -- source identifier to.
    AddSourceIdentifierToSubscription -> Text
subscriptionName :: Prelude.Text,
    -- | The identifier of the event source to be added.
    --
    -- Constraints:
    --
    -- -   If the source type is a DB instance, a @DBInstanceIdentifier@ value
    --     must be supplied.
    --
    -- -   If the source type is a DB cluster, a @DBClusterIdentifier@ value
    --     must be supplied.
    --
    -- -   If the source type is a DB parameter group, a @DBParameterGroupName@
    --     value must be supplied.
    --
    -- -   If the source type is a DB security group, a @DBSecurityGroupName@
    --     value must be supplied.
    --
    -- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ value
    --     must be supplied.
    --
    -- -   If the source type is a DB cluster snapshot, a
    --     @DBClusterSnapshotIdentifier@ value must be supplied.
    --
    -- -   If the source type is an RDS Proxy, a @DBProxyName@ value must be
    --     supplied.
    AddSourceIdentifierToSubscription -> Text
sourceIdentifier :: Prelude.Text
  }
  deriving (AddSourceIdentifierToSubscription
-> AddSourceIdentifierToSubscription -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AddSourceIdentifierToSubscription
-> AddSourceIdentifierToSubscription -> Bool
$c/= :: AddSourceIdentifierToSubscription
-> AddSourceIdentifierToSubscription -> Bool
== :: AddSourceIdentifierToSubscription
-> AddSourceIdentifierToSubscription -> Bool
$c== :: AddSourceIdentifierToSubscription
-> AddSourceIdentifierToSubscription -> Bool
Prelude.Eq, ReadPrec [AddSourceIdentifierToSubscription]
ReadPrec AddSourceIdentifierToSubscription
Int -> ReadS AddSourceIdentifierToSubscription
ReadS [AddSourceIdentifierToSubscription]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [AddSourceIdentifierToSubscription]
$creadListPrec :: ReadPrec [AddSourceIdentifierToSubscription]
readPrec :: ReadPrec AddSourceIdentifierToSubscription
$creadPrec :: ReadPrec AddSourceIdentifierToSubscription
readList :: ReadS [AddSourceIdentifierToSubscription]
$creadList :: ReadS [AddSourceIdentifierToSubscription]
readsPrec :: Int -> ReadS AddSourceIdentifierToSubscription
$creadsPrec :: Int -> ReadS AddSourceIdentifierToSubscription
Prelude.Read, Int -> AddSourceIdentifierToSubscription -> ShowS
[AddSourceIdentifierToSubscription] -> ShowS
AddSourceIdentifierToSubscription -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AddSourceIdentifierToSubscription] -> ShowS
$cshowList :: [AddSourceIdentifierToSubscription] -> ShowS
show :: AddSourceIdentifierToSubscription -> String
$cshow :: AddSourceIdentifierToSubscription -> String
showsPrec :: Int -> AddSourceIdentifierToSubscription -> ShowS
$cshowsPrec :: Int -> AddSourceIdentifierToSubscription -> ShowS
Prelude.Show, forall x.
Rep AddSourceIdentifierToSubscription x
-> AddSourceIdentifierToSubscription
forall x.
AddSourceIdentifierToSubscription
-> Rep AddSourceIdentifierToSubscription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep AddSourceIdentifierToSubscription x
-> AddSourceIdentifierToSubscription
$cfrom :: forall x.
AddSourceIdentifierToSubscription
-> Rep AddSourceIdentifierToSubscription x
Prelude.Generic)

-- |
-- Create a value of 'AddSourceIdentifierToSubscription' 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', 'addSourceIdentifierToSubscription_subscriptionName' - The name of the RDS event notification subscription you want to add a
-- source identifier to.
--
-- 'sourceIdentifier', 'addSourceIdentifierToSubscription_sourceIdentifier' - The identifier of the event source to be added.
--
-- Constraints:
--
-- -   If the source type is a DB instance, a @DBInstanceIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB cluster, a @DBClusterIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB parameter group, a @DBParameterGroupName@
--     value must be supplied.
--
-- -   If the source type is a DB security group, a @DBSecurityGroupName@
--     value must be supplied.
--
-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB cluster snapshot, a
--     @DBClusterSnapshotIdentifier@ value must be supplied.
--
-- -   If the source type is an RDS Proxy, a @DBProxyName@ value must be
--     supplied.
newAddSourceIdentifierToSubscription ::
  -- | 'subscriptionName'
  Prelude.Text ->
  -- | 'sourceIdentifier'
  Prelude.Text ->
  AddSourceIdentifierToSubscription
newAddSourceIdentifierToSubscription :: Text -> Text -> AddSourceIdentifierToSubscription
newAddSourceIdentifierToSubscription
  Text
pSubscriptionName_
  Text
pSourceIdentifier_ =
    AddSourceIdentifierToSubscription'
      { $sel:subscriptionName:AddSourceIdentifierToSubscription' :: Text
subscriptionName =
          Text
pSubscriptionName_,
        $sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: Text
sourceIdentifier = Text
pSourceIdentifier_
      }

-- | The name of the RDS event notification subscription you want to add a
-- source identifier to.
addSourceIdentifierToSubscription_subscriptionName :: Lens.Lens' AddSourceIdentifierToSubscription Prelude.Text
addSourceIdentifierToSubscription_subscriptionName :: Lens' AddSourceIdentifierToSubscription Text
addSourceIdentifierToSubscription_subscriptionName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddSourceIdentifierToSubscription' {Text
subscriptionName :: Text
$sel:subscriptionName:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
subscriptionName} -> Text
subscriptionName) (\s :: AddSourceIdentifierToSubscription
s@AddSourceIdentifierToSubscription' {} Text
a -> AddSourceIdentifierToSubscription
s {$sel:subscriptionName:AddSourceIdentifierToSubscription' :: Text
subscriptionName = Text
a} :: AddSourceIdentifierToSubscription)

-- | The identifier of the event source to be added.
--
-- Constraints:
--
-- -   If the source type is a DB instance, a @DBInstanceIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB cluster, a @DBClusterIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB parameter group, a @DBParameterGroupName@
--     value must be supplied.
--
-- -   If the source type is a DB security group, a @DBSecurityGroupName@
--     value must be supplied.
--
-- -   If the source type is a DB snapshot, a @DBSnapshotIdentifier@ value
--     must be supplied.
--
-- -   If the source type is a DB cluster snapshot, a
--     @DBClusterSnapshotIdentifier@ value must be supplied.
--
-- -   If the source type is an RDS Proxy, a @DBProxyName@ value must be
--     supplied.
addSourceIdentifierToSubscription_sourceIdentifier :: Lens.Lens' AddSourceIdentifierToSubscription Prelude.Text
addSourceIdentifierToSubscription_sourceIdentifier :: Lens' AddSourceIdentifierToSubscription Text
addSourceIdentifierToSubscription_sourceIdentifier = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\AddSourceIdentifierToSubscription' {Text
sourceIdentifier :: Text
$sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
sourceIdentifier} -> Text
sourceIdentifier) (\s :: AddSourceIdentifierToSubscription
s@AddSourceIdentifierToSubscription' {} Text
a -> AddSourceIdentifierToSubscription
s {$sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: Text
sourceIdentifier = Text
a} :: AddSourceIdentifierToSubscription)

instance
  Core.AWSRequest
    AddSourceIdentifierToSubscription
  where
  type
    AWSResponse AddSourceIdentifierToSubscription =
      AddSourceIdentifierToSubscriptionResponse
  request :: (Service -> Service)
-> AddSourceIdentifierToSubscription
-> Request AddSourceIdentifierToSubscription
request Service -> Service
overrides =
    forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy AddSourceIdentifierToSubscription
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse AddSourceIdentifierToSubscription)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
Text
-> (Int
    -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXMLWrapper
      Text
"AddSourceIdentifierToSubscriptionResult"
      ( \Int
s ResponseHeaders
h [Node]
x ->
          Maybe EventSubscription
-> Int -> AddSourceIdentifierToSubscriptionResponse
AddSourceIdentifierToSubscriptionResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ([Node]
x forall a. FromXML a => [Node] -> Text -> Either String (Maybe a)
Data..@? Text
"EventSubscription")
            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
    AddSourceIdentifierToSubscription
  where
  hashWithSalt :: Int -> AddSourceIdentifierToSubscription -> Int
hashWithSalt
    Int
_salt
    AddSourceIdentifierToSubscription' {Text
sourceIdentifier :: Text
subscriptionName :: Text
$sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
$sel:subscriptionName:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
subscriptionName
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sourceIdentifier

instance
  Prelude.NFData
    AddSourceIdentifierToSubscription
  where
  rnf :: AddSourceIdentifierToSubscription -> ()
rnf AddSourceIdentifierToSubscription' {Text
sourceIdentifier :: Text
subscriptionName :: Text
$sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
$sel:subscriptionName:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
subscriptionName
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
sourceIdentifier

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

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

instance
  Data.ToQuery
    AddSourceIdentifierToSubscription
  where
  toQuery :: AddSourceIdentifierToSubscription -> QueryString
toQuery AddSourceIdentifierToSubscription' {Text
sourceIdentifier :: Text
subscriptionName :: Text
$sel:sourceIdentifier:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
$sel:subscriptionName:AddSourceIdentifierToSubscription' :: AddSourceIdentifierToSubscription -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"Action"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: ( ByteString
"AddSourceIdentifierToSubscription" ::
                      Prelude.ByteString
                  ),
        ByteString
"Version"
          forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2014-10-31" :: Prelude.ByteString),
        ByteString
"SubscriptionName" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
subscriptionName,
        ByteString
"SourceIdentifier" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
sourceIdentifier
      ]

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

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

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

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

instance
  Prelude.NFData
    AddSourceIdentifierToSubscriptionResponse
  where
  rnf :: AddSourceIdentifierToSubscriptionResponse -> ()
rnf AddSourceIdentifierToSubscriptionResponse' {Int
Maybe EventSubscription
httpStatus :: Int
eventSubscription :: Maybe EventSubscription
$sel:httpStatus:AddSourceIdentifierToSubscriptionResponse' :: AddSourceIdentifierToSubscriptionResponse -> Int
$sel:eventSubscription:AddSourceIdentifierToSubscriptionResponse' :: AddSourceIdentifierToSubscriptionResponse
-> Maybe EventSubscription
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe EventSubscription
eventSubscription
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus