{-# 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 #-}
module Amazonka.RDS.AddSourceIdentifierToSubscription
(
AddSourceIdentifierToSubscription (..),
newAddSourceIdentifierToSubscription,
addSourceIdentifierToSubscription_subscriptionName,
addSourceIdentifierToSubscription_sourceIdentifier,
AddSourceIdentifierToSubscriptionResponse (..),
newAddSourceIdentifierToSubscriptionResponse,
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
data AddSourceIdentifierToSubscription = AddSourceIdentifierToSubscription'
{
AddSourceIdentifierToSubscription -> Text
subscriptionName :: Prelude.Text,
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)
newAddSourceIdentifierToSubscription ::
Prelude.Text ->
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_
}
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)
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
]
data AddSourceIdentifierToSubscriptionResponse = AddSourceIdentifierToSubscriptionResponse'
{ AddSourceIdentifierToSubscriptionResponse
-> Maybe EventSubscription
eventSubscription :: Prelude.Maybe EventSubscription,
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)
newAddSourceIdentifierToSubscriptionResponse ::
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_
}
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)
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