{-# 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.Inspector.SubscribeToEvent
(
SubscribeToEvent (..),
newSubscribeToEvent,
subscribeToEvent_resourceArn,
subscribeToEvent_event,
subscribeToEvent_topicArn,
SubscribeToEventResponse (..),
newSubscribeToEventResponse,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.Inspector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data SubscribeToEvent = SubscribeToEvent'
{
SubscribeToEvent -> Text
resourceArn :: Prelude.Text,
SubscribeToEvent -> InspectorEvent
event :: InspectorEvent,
SubscribeToEvent -> Text
topicArn :: Prelude.Text
}
deriving (SubscribeToEvent -> SubscribeToEvent -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscribeToEvent -> SubscribeToEvent -> Bool
$c/= :: SubscribeToEvent -> SubscribeToEvent -> Bool
== :: SubscribeToEvent -> SubscribeToEvent -> Bool
$c== :: SubscribeToEvent -> SubscribeToEvent -> Bool
Prelude.Eq, ReadPrec [SubscribeToEvent]
ReadPrec SubscribeToEvent
Int -> ReadS SubscribeToEvent
ReadS [SubscribeToEvent]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SubscribeToEvent]
$creadListPrec :: ReadPrec [SubscribeToEvent]
readPrec :: ReadPrec SubscribeToEvent
$creadPrec :: ReadPrec SubscribeToEvent
readList :: ReadS [SubscribeToEvent]
$creadList :: ReadS [SubscribeToEvent]
readsPrec :: Int -> ReadS SubscribeToEvent
$creadsPrec :: Int -> ReadS SubscribeToEvent
Prelude.Read, Int -> SubscribeToEvent -> ShowS
[SubscribeToEvent] -> ShowS
SubscribeToEvent -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscribeToEvent] -> ShowS
$cshowList :: [SubscribeToEvent] -> ShowS
show :: SubscribeToEvent -> String
$cshow :: SubscribeToEvent -> String
showsPrec :: Int -> SubscribeToEvent -> ShowS
$cshowsPrec :: Int -> SubscribeToEvent -> ShowS
Prelude.Show, forall x. Rep SubscribeToEvent x -> SubscribeToEvent
forall x. SubscribeToEvent -> Rep SubscribeToEvent x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep SubscribeToEvent x -> SubscribeToEvent
$cfrom :: forall x. SubscribeToEvent -> Rep SubscribeToEvent x
Prelude.Generic)
newSubscribeToEvent ::
Prelude.Text ->
InspectorEvent ->
Prelude.Text ->
SubscribeToEvent
newSubscribeToEvent :: Text -> InspectorEvent -> Text -> SubscribeToEvent
newSubscribeToEvent Text
pResourceArn_ InspectorEvent
pEvent_ Text
pTopicArn_ =
SubscribeToEvent'
{ $sel:resourceArn:SubscribeToEvent' :: Text
resourceArn = Text
pResourceArn_,
$sel:event:SubscribeToEvent' :: InspectorEvent
event = InspectorEvent
pEvent_,
$sel:topicArn:SubscribeToEvent' :: Text
topicArn = Text
pTopicArn_
}
subscribeToEvent_resourceArn :: Lens.Lens' SubscribeToEvent Prelude.Text
subscribeToEvent_resourceArn :: Lens' SubscribeToEvent Text
subscribeToEvent_resourceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubscribeToEvent' {Text
resourceArn :: Text
$sel:resourceArn:SubscribeToEvent' :: SubscribeToEvent -> Text
resourceArn} -> Text
resourceArn) (\s :: SubscribeToEvent
s@SubscribeToEvent' {} Text
a -> SubscribeToEvent
s {$sel:resourceArn:SubscribeToEvent' :: Text
resourceArn = Text
a} :: SubscribeToEvent)
subscribeToEvent_event :: Lens.Lens' SubscribeToEvent InspectorEvent
subscribeToEvent_event :: Lens' SubscribeToEvent InspectorEvent
subscribeToEvent_event = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubscribeToEvent' {InspectorEvent
event :: InspectorEvent
$sel:event:SubscribeToEvent' :: SubscribeToEvent -> InspectorEvent
event} -> InspectorEvent
event) (\s :: SubscribeToEvent
s@SubscribeToEvent' {} InspectorEvent
a -> SubscribeToEvent
s {$sel:event:SubscribeToEvent' :: InspectorEvent
event = InspectorEvent
a} :: SubscribeToEvent)
subscribeToEvent_topicArn :: Lens.Lens' SubscribeToEvent Prelude.Text
subscribeToEvent_topicArn :: Lens' SubscribeToEvent Text
subscribeToEvent_topicArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\SubscribeToEvent' {Text
topicArn :: Text
$sel:topicArn:SubscribeToEvent' :: SubscribeToEvent -> Text
topicArn} -> Text
topicArn) (\s :: SubscribeToEvent
s@SubscribeToEvent' {} Text
a -> SubscribeToEvent
s {$sel:topicArn:SubscribeToEvent' :: Text
topicArn = Text
a} :: SubscribeToEvent)
instance Core.AWSRequest SubscribeToEvent where
type
AWSResponse SubscribeToEvent =
SubscribeToEventResponse
request :: (Service -> Service)
-> SubscribeToEvent -> Request SubscribeToEvent
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy SubscribeToEvent
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse SubscribeToEvent)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull SubscribeToEventResponse
SubscribeToEventResponse'
instance Prelude.Hashable SubscribeToEvent where
hashWithSalt :: Int -> SubscribeToEvent -> Int
hashWithSalt Int
_salt SubscribeToEvent' {Text
InspectorEvent
topicArn :: Text
event :: InspectorEvent
resourceArn :: Text
$sel:topicArn:SubscribeToEvent' :: SubscribeToEvent -> Text
$sel:event:SubscribeToEvent' :: SubscribeToEvent -> InspectorEvent
$sel:resourceArn:SubscribeToEvent' :: SubscribeToEvent -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
resourceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` InspectorEvent
event
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
topicArn
instance Prelude.NFData SubscribeToEvent where
rnf :: SubscribeToEvent -> ()
rnf SubscribeToEvent' {Text
InspectorEvent
topicArn :: Text
event :: InspectorEvent
resourceArn :: Text
$sel:topicArn:SubscribeToEvent' :: SubscribeToEvent -> Text
$sel:event:SubscribeToEvent' :: SubscribeToEvent -> InspectorEvent
$sel:resourceArn:SubscribeToEvent' :: SubscribeToEvent -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
resourceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf InspectorEvent
event
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
topicArn
instance Data.ToHeaders SubscribeToEvent where
toHeaders :: SubscribeToEvent -> [Header]
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"InspectorService.SubscribeToEvent" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON SubscribeToEvent where
toJSON :: SubscribeToEvent -> Value
toJSON SubscribeToEvent' {Text
InspectorEvent
topicArn :: Text
event :: InspectorEvent
resourceArn :: Text
$sel:topicArn:SubscribeToEvent' :: SubscribeToEvent -> Text
$sel:event:SubscribeToEvent' :: SubscribeToEvent -> InspectorEvent
$sel:resourceArn:SubscribeToEvent' :: SubscribeToEvent -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"resourceArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
resourceArn),
forall a. a -> Maybe a
Prelude.Just (Key
"event" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= InspectorEvent
event),
forall a. a -> Maybe a
Prelude.Just (Key
"topicArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
topicArn)
]
)
instance Data.ToPath SubscribeToEvent where
toPath :: SubscribeToEvent -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery SubscribeToEvent where
toQuery :: SubscribeToEvent -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data SubscribeToEventResponse = SubscribeToEventResponse'
{
}
deriving (SubscribeToEventResponse -> SubscribeToEventResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SubscribeToEventResponse -> SubscribeToEventResponse -> Bool
$c/= :: SubscribeToEventResponse -> SubscribeToEventResponse -> Bool
== :: SubscribeToEventResponse -> SubscribeToEventResponse -> Bool
$c== :: SubscribeToEventResponse -> SubscribeToEventResponse -> Bool
Prelude.Eq, ReadPrec [SubscribeToEventResponse]
ReadPrec SubscribeToEventResponse
Int -> ReadS SubscribeToEventResponse
ReadS [SubscribeToEventResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [SubscribeToEventResponse]
$creadListPrec :: ReadPrec [SubscribeToEventResponse]
readPrec :: ReadPrec SubscribeToEventResponse
$creadPrec :: ReadPrec SubscribeToEventResponse
readList :: ReadS [SubscribeToEventResponse]
$creadList :: ReadS [SubscribeToEventResponse]
readsPrec :: Int -> ReadS SubscribeToEventResponse
$creadsPrec :: Int -> ReadS SubscribeToEventResponse
Prelude.Read, Int -> SubscribeToEventResponse -> ShowS
[SubscribeToEventResponse] -> ShowS
SubscribeToEventResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SubscribeToEventResponse] -> ShowS
$cshowList :: [SubscribeToEventResponse] -> ShowS
show :: SubscribeToEventResponse -> String
$cshow :: SubscribeToEventResponse -> String
showsPrec :: Int -> SubscribeToEventResponse -> ShowS
$cshowsPrec :: Int -> SubscribeToEventResponse -> ShowS
Prelude.Show, forall x.
Rep SubscribeToEventResponse x -> SubscribeToEventResponse
forall x.
SubscribeToEventResponse -> Rep SubscribeToEventResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep SubscribeToEventResponse x -> SubscribeToEventResponse
$cfrom :: forall x.
SubscribeToEventResponse -> Rep SubscribeToEventResponse x
Prelude.Generic)
newSubscribeToEventResponse ::
SubscribeToEventResponse
newSubscribeToEventResponse :: SubscribeToEventResponse
newSubscribeToEventResponse =
SubscribeToEventResponse
SubscribeToEventResponse'
instance Prelude.NFData SubscribeToEventResponse where
rnf :: SubscribeToEventResponse -> ()
rnf SubscribeToEventResponse
_ = ()