{-# 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.CloudFront.CreateMonitoringSubscription
(
CreateMonitoringSubscription (..),
newCreateMonitoringSubscription,
createMonitoringSubscription_monitoringSubscription,
createMonitoringSubscription_distributionId,
CreateMonitoringSubscriptionResponse (..),
newCreateMonitoringSubscriptionResponse,
createMonitoringSubscriptionResponse_monitoringSubscription,
createMonitoringSubscriptionResponse_httpStatus,
)
where
import Amazonka.CloudFront.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateMonitoringSubscription = CreateMonitoringSubscription'
{
CreateMonitoringSubscription -> MonitoringSubscription
monitoringSubscription :: MonitoringSubscription,
CreateMonitoringSubscription -> Text
distributionId :: Prelude.Text
}
deriving (CreateMonitoringSubscription
-> CreateMonitoringSubscription -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateMonitoringSubscription
-> CreateMonitoringSubscription -> Bool
$c/= :: CreateMonitoringSubscription
-> CreateMonitoringSubscription -> Bool
== :: CreateMonitoringSubscription
-> CreateMonitoringSubscription -> Bool
$c== :: CreateMonitoringSubscription
-> CreateMonitoringSubscription -> Bool
Prelude.Eq, ReadPrec [CreateMonitoringSubscription]
ReadPrec CreateMonitoringSubscription
Int -> ReadS CreateMonitoringSubscription
ReadS [CreateMonitoringSubscription]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateMonitoringSubscription]
$creadListPrec :: ReadPrec [CreateMonitoringSubscription]
readPrec :: ReadPrec CreateMonitoringSubscription
$creadPrec :: ReadPrec CreateMonitoringSubscription
readList :: ReadS [CreateMonitoringSubscription]
$creadList :: ReadS [CreateMonitoringSubscription]
readsPrec :: Int -> ReadS CreateMonitoringSubscription
$creadsPrec :: Int -> ReadS CreateMonitoringSubscription
Prelude.Read, Int -> CreateMonitoringSubscription -> ShowS
[CreateMonitoringSubscription] -> ShowS
CreateMonitoringSubscription -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateMonitoringSubscription] -> ShowS
$cshowList :: [CreateMonitoringSubscription] -> ShowS
show :: CreateMonitoringSubscription -> String
$cshow :: CreateMonitoringSubscription -> String
showsPrec :: Int -> CreateMonitoringSubscription -> ShowS
$cshowsPrec :: Int -> CreateMonitoringSubscription -> ShowS
Prelude.Show, forall x.
Rep CreateMonitoringSubscription x -> CreateMonitoringSubscription
forall x.
CreateMonitoringSubscription -> Rep CreateMonitoringSubscription x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateMonitoringSubscription x -> CreateMonitoringSubscription
$cfrom :: forall x.
CreateMonitoringSubscription -> Rep CreateMonitoringSubscription x
Prelude.Generic)
newCreateMonitoringSubscription ::
MonitoringSubscription ->
Prelude.Text ->
CreateMonitoringSubscription
newCreateMonitoringSubscription :: MonitoringSubscription -> Text -> CreateMonitoringSubscription
newCreateMonitoringSubscription
MonitoringSubscription
pMonitoringSubscription_
Text
pDistributionId_ =
CreateMonitoringSubscription'
{ $sel:monitoringSubscription:CreateMonitoringSubscription' :: MonitoringSubscription
monitoringSubscription =
MonitoringSubscription
pMonitoringSubscription_,
$sel:distributionId:CreateMonitoringSubscription' :: Text
distributionId = Text
pDistributionId_
}
createMonitoringSubscription_monitoringSubscription :: Lens.Lens' CreateMonitoringSubscription MonitoringSubscription
createMonitoringSubscription_monitoringSubscription :: Lens' CreateMonitoringSubscription MonitoringSubscription
createMonitoringSubscription_monitoringSubscription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMonitoringSubscription' {MonitoringSubscription
monitoringSubscription :: MonitoringSubscription
$sel:monitoringSubscription:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> MonitoringSubscription
monitoringSubscription} -> MonitoringSubscription
monitoringSubscription) (\s :: CreateMonitoringSubscription
s@CreateMonitoringSubscription' {} MonitoringSubscription
a -> CreateMonitoringSubscription
s {$sel:monitoringSubscription:CreateMonitoringSubscription' :: MonitoringSubscription
monitoringSubscription = MonitoringSubscription
a} :: CreateMonitoringSubscription)
createMonitoringSubscription_distributionId :: Lens.Lens' CreateMonitoringSubscription Prelude.Text
createMonitoringSubscription_distributionId :: Lens' CreateMonitoringSubscription Text
createMonitoringSubscription_distributionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMonitoringSubscription' {Text
distributionId :: Text
$sel:distributionId:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> Text
distributionId} -> Text
distributionId) (\s :: CreateMonitoringSubscription
s@CreateMonitoringSubscription' {} Text
a -> CreateMonitoringSubscription
s {$sel:distributionId:CreateMonitoringSubscription' :: Text
distributionId = Text
a} :: CreateMonitoringSubscription)
instance Core.AWSRequest CreateMonitoringSubscription where
type
AWSResponse CreateMonitoringSubscription =
CreateMonitoringSubscriptionResponse
request :: (Service -> Service)
-> CreateMonitoringSubscription
-> Request CreateMonitoringSubscription
request Service -> Service
overrides =
forall a. (ToRequest a, ToElement a) => Service -> a -> Request a
Request.postXML (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy CreateMonitoringSubscription
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateMonitoringSubscription)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> [Node] -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveXML
( \Int
s ResponseHeaders
h [Node]
x ->
Maybe MonitoringSubscription
-> Int -> CreateMonitoringSubscriptionResponse
CreateMonitoringSubscriptionResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (forall a. FromXML a => [Node] -> Either String a
Data.parseXML [Node]
x)
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
CreateMonitoringSubscription
where
hashWithSalt :: Int -> CreateMonitoringSubscription -> Int
hashWithSalt Int
_salt CreateMonitoringSubscription' {Text
MonitoringSubscription
distributionId :: Text
monitoringSubscription :: MonitoringSubscription
$sel:distributionId:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> Text
$sel:monitoringSubscription:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> MonitoringSubscription
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MonitoringSubscription
monitoringSubscription
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
distributionId
instance Prelude.NFData CreateMonitoringSubscription where
rnf :: CreateMonitoringSubscription -> ()
rnf CreateMonitoringSubscription' {Text
MonitoringSubscription
distributionId :: Text
monitoringSubscription :: MonitoringSubscription
$sel:distributionId:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> Text
$sel:monitoringSubscription:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> MonitoringSubscription
..} =
forall a. NFData a => a -> ()
Prelude.rnf MonitoringSubscription
monitoringSubscription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
distributionId
instance Data.ToElement CreateMonitoringSubscription where
toElement :: CreateMonitoringSubscription -> Element
toElement CreateMonitoringSubscription' {Text
MonitoringSubscription
distributionId :: Text
monitoringSubscription :: MonitoringSubscription
$sel:distributionId:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> Text
$sel:monitoringSubscription:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> MonitoringSubscription
..} =
forall a. ToXML a => Name -> a -> Element
Data.mkElement
Name
"{http://cloudfront.amazonaws.com/doc/2020-05-31/}MonitoringSubscription"
MonitoringSubscription
monitoringSubscription
instance Data.ToHeaders CreateMonitoringSubscription where
toHeaders :: CreateMonitoringSubscription -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath CreateMonitoringSubscription where
toPath :: CreateMonitoringSubscription -> ByteString
toPath CreateMonitoringSubscription' {Text
MonitoringSubscription
distributionId :: Text
monitoringSubscription :: MonitoringSubscription
$sel:distributionId:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> Text
$sel:monitoringSubscription:CreateMonitoringSubscription' :: CreateMonitoringSubscription -> MonitoringSubscription
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/2020-05-31/distributions/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
distributionId,
ByteString
"/monitoring-subscription/"
]
instance Data.ToQuery CreateMonitoringSubscription where
toQuery :: CreateMonitoringSubscription -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateMonitoringSubscriptionResponse = CreateMonitoringSubscriptionResponse'
{
CreateMonitoringSubscriptionResponse
-> Maybe MonitoringSubscription
monitoringSubscription :: Prelude.Maybe MonitoringSubscription,
CreateMonitoringSubscriptionResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateMonitoringSubscriptionResponse
-> CreateMonitoringSubscriptionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateMonitoringSubscriptionResponse
-> CreateMonitoringSubscriptionResponse -> Bool
$c/= :: CreateMonitoringSubscriptionResponse
-> CreateMonitoringSubscriptionResponse -> Bool
== :: CreateMonitoringSubscriptionResponse
-> CreateMonitoringSubscriptionResponse -> Bool
$c== :: CreateMonitoringSubscriptionResponse
-> CreateMonitoringSubscriptionResponse -> Bool
Prelude.Eq, ReadPrec [CreateMonitoringSubscriptionResponse]
ReadPrec CreateMonitoringSubscriptionResponse
Int -> ReadS CreateMonitoringSubscriptionResponse
ReadS [CreateMonitoringSubscriptionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateMonitoringSubscriptionResponse]
$creadListPrec :: ReadPrec [CreateMonitoringSubscriptionResponse]
readPrec :: ReadPrec CreateMonitoringSubscriptionResponse
$creadPrec :: ReadPrec CreateMonitoringSubscriptionResponse
readList :: ReadS [CreateMonitoringSubscriptionResponse]
$creadList :: ReadS [CreateMonitoringSubscriptionResponse]
readsPrec :: Int -> ReadS CreateMonitoringSubscriptionResponse
$creadsPrec :: Int -> ReadS CreateMonitoringSubscriptionResponse
Prelude.Read, Int -> CreateMonitoringSubscriptionResponse -> ShowS
[CreateMonitoringSubscriptionResponse] -> ShowS
CreateMonitoringSubscriptionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateMonitoringSubscriptionResponse] -> ShowS
$cshowList :: [CreateMonitoringSubscriptionResponse] -> ShowS
show :: CreateMonitoringSubscriptionResponse -> String
$cshow :: CreateMonitoringSubscriptionResponse -> String
showsPrec :: Int -> CreateMonitoringSubscriptionResponse -> ShowS
$cshowsPrec :: Int -> CreateMonitoringSubscriptionResponse -> ShowS
Prelude.Show, forall x.
Rep CreateMonitoringSubscriptionResponse x
-> CreateMonitoringSubscriptionResponse
forall x.
CreateMonitoringSubscriptionResponse
-> Rep CreateMonitoringSubscriptionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateMonitoringSubscriptionResponse x
-> CreateMonitoringSubscriptionResponse
$cfrom :: forall x.
CreateMonitoringSubscriptionResponse
-> Rep CreateMonitoringSubscriptionResponse x
Prelude.Generic)
newCreateMonitoringSubscriptionResponse ::
Prelude.Int ->
CreateMonitoringSubscriptionResponse
newCreateMonitoringSubscriptionResponse :: Int -> CreateMonitoringSubscriptionResponse
newCreateMonitoringSubscriptionResponse Int
pHttpStatus_ =
CreateMonitoringSubscriptionResponse'
{ $sel:monitoringSubscription:CreateMonitoringSubscriptionResponse' :: Maybe MonitoringSubscription
monitoringSubscription =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateMonitoringSubscriptionResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createMonitoringSubscriptionResponse_monitoringSubscription :: Lens.Lens' CreateMonitoringSubscriptionResponse (Prelude.Maybe MonitoringSubscription)
createMonitoringSubscriptionResponse_monitoringSubscription :: Lens'
CreateMonitoringSubscriptionResponse (Maybe MonitoringSubscription)
createMonitoringSubscriptionResponse_monitoringSubscription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMonitoringSubscriptionResponse' {Maybe MonitoringSubscription
monitoringSubscription :: Maybe MonitoringSubscription
$sel:monitoringSubscription:CreateMonitoringSubscriptionResponse' :: CreateMonitoringSubscriptionResponse
-> Maybe MonitoringSubscription
monitoringSubscription} -> Maybe MonitoringSubscription
monitoringSubscription) (\s :: CreateMonitoringSubscriptionResponse
s@CreateMonitoringSubscriptionResponse' {} Maybe MonitoringSubscription
a -> CreateMonitoringSubscriptionResponse
s {$sel:monitoringSubscription:CreateMonitoringSubscriptionResponse' :: Maybe MonitoringSubscription
monitoringSubscription = Maybe MonitoringSubscription
a} :: CreateMonitoringSubscriptionResponse)
createMonitoringSubscriptionResponse_httpStatus :: Lens.Lens' CreateMonitoringSubscriptionResponse Prelude.Int
createMonitoringSubscriptionResponse_httpStatus :: Lens' CreateMonitoringSubscriptionResponse Int
createMonitoringSubscriptionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateMonitoringSubscriptionResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateMonitoringSubscriptionResponse' :: CreateMonitoringSubscriptionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateMonitoringSubscriptionResponse
s@CreateMonitoringSubscriptionResponse' {} Int
a -> CreateMonitoringSubscriptionResponse
s {$sel:httpStatus:CreateMonitoringSubscriptionResponse' :: Int
httpStatus = Int
a} :: CreateMonitoringSubscriptionResponse)
instance
Prelude.NFData
CreateMonitoringSubscriptionResponse
where
rnf :: CreateMonitoringSubscriptionResponse -> ()
rnf CreateMonitoringSubscriptionResponse' {Int
Maybe MonitoringSubscription
httpStatus :: Int
monitoringSubscription :: Maybe MonitoringSubscription
$sel:httpStatus:CreateMonitoringSubscriptionResponse' :: CreateMonitoringSubscriptionResponse -> Int
$sel:monitoringSubscription:CreateMonitoringSubscriptionResponse' :: CreateMonitoringSubscriptionResponse
-> Maybe MonitoringSubscription
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe MonitoringSubscription
monitoringSubscription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus