{-# 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.Rum.PutRumEvents
(
PutRumEvents (..),
newPutRumEvents,
putRumEvents_appMonitorDetails,
putRumEvents_batchId,
putRumEvents_id,
putRumEvents_rumEvents,
putRumEvents_userDetails,
PutRumEventsResponse (..),
newPutRumEventsResponse,
putRumEventsResponse_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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.Rum.Types
data PutRumEvents = PutRumEvents'
{
PutRumEvents -> AppMonitorDetails
appMonitorDetails :: AppMonitorDetails,
PutRumEvents -> Text
batchId :: Prelude.Text,
PutRumEvents -> Text
id :: Prelude.Text,
PutRumEvents -> [RumEvent]
rumEvents :: [RumEvent],
PutRumEvents -> UserDetails
userDetails :: UserDetails
}
deriving (PutRumEvents -> PutRumEvents -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutRumEvents -> PutRumEvents -> Bool
$c/= :: PutRumEvents -> PutRumEvents -> Bool
== :: PutRumEvents -> PutRumEvents -> Bool
$c== :: PutRumEvents -> PutRumEvents -> Bool
Prelude.Eq, ReadPrec [PutRumEvents]
ReadPrec PutRumEvents
Int -> ReadS PutRumEvents
ReadS [PutRumEvents]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutRumEvents]
$creadListPrec :: ReadPrec [PutRumEvents]
readPrec :: ReadPrec PutRumEvents
$creadPrec :: ReadPrec PutRumEvents
readList :: ReadS [PutRumEvents]
$creadList :: ReadS [PutRumEvents]
readsPrec :: Int -> ReadS PutRumEvents
$creadsPrec :: Int -> ReadS PutRumEvents
Prelude.Read, Int -> PutRumEvents -> ShowS
[PutRumEvents] -> ShowS
PutRumEvents -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutRumEvents] -> ShowS
$cshowList :: [PutRumEvents] -> ShowS
show :: PutRumEvents -> String
$cshow :: PutRumEvents -> String
showsPrec :: Int -> PutRumEvents -> ShowS
$cshowsPrec :: Int -> PutRumEvents -> ShowS
Prelude.Show, forall x. Rep PutRumEvents x -> PutRumEvents
forall x. PutRumEvents -> Rep PutRumEvents x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutRumEvents x -> PutRumEvents
$cfrom :: forall x. PutRumEvents -> Rep PutRumEvents x
Prelude.Generic)
newPutRumEvents ::
AppMonitorDetails ->
Prelude.Text ->
Prelude.Text ->
UserDetails ->
PutRumEvents
newPutRumEvents :: AppMonitorDetails -> Text -> Text -> UserDetails -> PutRumEvents
newPutRumEvents
AppMonitorDetails
pAppMonitorDetails_
Text
pBatchId_
Text
pId_
UserDetails
pUserDetails_ =
PutRumEvents'
{ $sel:appMonitorDetails:PutRumEvents' :: AppMonitorDetails
appMonitorDetails =
AppMonitorDetails
pAppMonitorDetails_,
$sel:batchId:PutRumEvents' :: Text
batchId = Text
pBatchId_,
$sel:id:PutRumEvents' :: Text
id = Text
pId_,
$sel:rumEvents:PutRumEvents' :: [RumEvent]
rumEvents = forall a. Monoid a => a
Prelude.mempty,
$sel:userDetails:PutRumEvents' :: UserDetails
userDetails = UserDetails
pUserDetails_
}
putRumEvents_appMonitorDetails :: Lens.Lens' PutRumEvents AppMonitorDetails
putRumEvents_appMonitorDetails :: Lens' PutRumEvents AppMonitorDetails
putRumEvents_appMonitorDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEvents' {AppMonitorDetails
appMonitorDetails :: AppMonitorDetails
$sel:appMonitorDetails:PutRumEvents' :: PutRumEvents -> AppMonitorDetails
appMonitorDetails} -> AppMonitorDetails
appMonitorDetails) (\s :: PutRumEvents
s@PutRumEvents' {} AppMonitorDetails
a -> PutRumEvents
s {$sel:appMonitorDetails:PutRumEvents' :: AppMonitorDetails
appMonitorDetails = AppMonitorDetails
a} :: PutRumEvents)
putRumEvents_batchId :: Lens.Lens' PutRumEvents Prelude.Text
putRumEvents_batchId :: Lens' PutRumEvents Text
putRumEvents_batchId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEvents' {Text
batchId :: Text
$sel:batchId:PutRumEvents' :: PutRumEvents -> Text
batchId} -> Text
batchId) (\s :: PutRumEvents
s@PutRumEvents' {} Text
a -> PutRumEvents
s {$sel:batchId:PutRumEvents' :: Text
batchId = Text
a} :: PutRumEvents)
putRumEvents_id :: Lens.Lens' PutRumEvents Prelude.Text
putRumEvents_id :: Lens' PutRumEvents Text
putRumEvents_id = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEvents' {Text
id :: Text
$sel:id:PutRumEvents' :: PutRumEvents -> Text
id} -> Text
id) (\s :: PutRumEvents
s@PutRumEvents' {} Text
a -> PutRumEvents
s {$sel:id:PutRumEvents' :: Text
id = Text
a} :: PutRumEvents)
putRumEvents_rumEvents :: Lens.Lens' PutRumEvents [RumEvent]
putRumEvents_rumEvents :: Lens' PutRumEvents [RumEvent]
putRumEvents_rumEvents = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEvents' {[RumEvent]
rumEvents :: [RumEvent]
$sel:rumEvents:PutRumEvents' :: PutRumEvents -> [RumEvent]
rumEvents} -> [RumEvent]
rumEvents) (\s :: PutRumEvents
s@PutRumEvents' {} [RumEvent]
a -> PutRumEvents
s {$sel:rumEvents:PutRumEvents' :: [RumEvent]
rumEvents = [RumEvent]
a} :: PutRumEvents) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putRumEvents_userDetails :: Lens.Lens' PutRumEvents UserDetails
putRumEvents_userDetails :: Lens' PutRumEvents UserDetails
putRumEvents_userDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEvents' {UserDetails
userDetails :: UserDetails
$sel:userDetails:PutRumEvents' :: PutRumEvents -> UserDetails
userDetails} -> UserDetails
userDetails) (\s :: PutRumEvents
s@PutRumEvents' {} UserDetails
a -> PutRumEvents
s {$sel:userDetails:PutRumEvents' :: UserDetails
userDetails = UserDetails
a} :: PutRumEvents)
instance Core.AWSRequest PutRumEvents where
type AWSResponse PutRumEvents = PutRumEventsResponse
request :: (Service -> Service) -> PutRumEvents -> Request PutRumEvents
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 PutRumEvents
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutRumEvents)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> PutRumEventsResponse
PutRumEventsResponse'
forall (f :: * -> *) a b. Functor 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 PutRumEvents where
hashWithSalt :: Int -> PutRumEvents -> Int
hashWithSalt Int
_salt PutRumEvents' {[RumEvent]
Text
AppMonitorDetails
UserDetails
userDetails :: UserDetails
rumEvents :: [RumEvent]
id :: Text
batchId :: Text
appMonitorDetails :: AppMonitorDetails
$sel:userDetails:PutRumEvents' :: PutRumEvents -> UserDetails
$sel:rumEvents:PutRumEvents' :: PutRumEvents -> [RumEvent]
$sel:id:PutRumEvents' :: PutRumEvents -> Text
$sel:batchId:PutRumEvents' :: PutRumEvents -> Text
$sel:appMonitorDetails:PutRumEvents' :: PutRumEvents -> AppMonitorDetails
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` AppMonitorDetails
appMonitorDetails
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
batchId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
id
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [RumEvent]
rumEvents
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` UserDetails
userDetails
instance Prelude.NFData PutRumEvents where
rnf :: PutRumEvents -> ()
rnf PutRumEvents' {[RumEvent]
Text
AppMonitorDetails
UserDetails
userDetails :: UserDetails
rumEvents :: [RumEvent]
id :: Text
batchId :: Text
appMonitorDetails :: AppMonitorDetails
$sel:userDetails:PutRumEvents' :: PutRumEvents -> UserDetails
$sel:rumEvents:PutRumEvents' :: PutRumEvents -> [RumEvent]
$sel:id:PutRumEvents' :: PutRumEvents -> Text
$sel:batchId:PutRumEvents' :: PutRumEvents -> Text
$sel:appMonitorDetails:PutRumEvents' :: PutRumEvents -> AppMonitorDetails
..} =
forall a. NFData a => a -> ()
Prelude.rnf AppMonitorDetails
appMonitorDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
batchId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
id
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [RumEvent]
rumEvents
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf UserDetails
userDetails
instance Data.ToHeaders PutRumEvents where
toHeaders :: PutRumEvents -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON PutRumEvents where
toJSON :: PutRumEvents -> Value
toJSON PutRumEvents' {[RumEvent]
Text
AppMonitorDetails
UserDetails
userDetails :: UserDetails
rumEvents :: [RumEvent]
id :: Text
batchId :: Text
appMonitorDetails :: AppMonitorDetails
$sel:userDetails:PutRumEvents' :: PutRumEvents -> UserDetails
$sel:rumEvents:PutRumEvents' :: PutRumEvents -> [RumEvent]
$sel:id:PutRumEvents' :: PutRumEvents -> Text
$sel:batchId:PutRumEvents' :: PutRumEvents -> Text
$sel:appMonitorDetails:PutRumEvents' :: PutRumEvents -> AppMonitorDetails
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
(Key
"AppMonitorDetails" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= AppMonitorDetails
appMonitorDetails),
forall a. a -> Maybe a
Prelude.Just (Key
"BatchId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
batchId),
forall a. a -> Maybe a
Prelude.Just (Key
"RumEvents" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [RumEvent]
rumEvents),
forall a. a -> Maybe a
Prelude.Just (Key
"UserDetails" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= UserDetails
userDetails)
]
)
instance Data.ToPath PutRumEvents where
toPath :: PutRumEvents -> ByteString
toPath PutRumEvents' {[RumEvent]
Text
AppMonitorDetails
UserDetails
userDetails :: UserDetails
rumEvents :: [RumEvent]
id :: Text
batchId :: Text
appMonitorDetails :: AppMonitorDetails
$sel:userDetails:PutRumEvents' :: PutRumEvents -> UserDetails
$sel:rumEvents:PutRumEvents' :: PutRumEvents -> [RumEvent]
$sel:id:PutRumEvents' :: PutRumEvents -> Text
$sel:batchId:PutRumEvents' :: PutRumEvents -> Text
$sel:appMonitorDetails:PutRumEvents' :: PutRumEvents -> AppMonitorDetails
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/appmonitors/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
id, ByteString
"/"]
instance Data.ToQuery PutRumEvents where
toQuery :: PutRumEvents -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutRumEventsResponse = PutRumEventsResponse'
{
PutRumEventsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutRumEventsResponse -> PutRumEventsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutRumEventsResponse -> PutRumEventsResponse -> Bool
$c/= :: PutRumEventsResponse -> PutRumEventsResponse -> Bool
== :: PutRumEventsResponse -> PutRumEventsResponse -> Bool
$c== :: PutRumEventsResponse -> PutRumEventsResponse -> Bool
Prelude.Eq, ReadPrec [PutRumEventsResponse]
ReadPrec PutRumEventsResponse
Int -> ReadS PutRumEventsResponse
ReadS [PutRumEventsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutRumEventsResponse]
$creadListPrec :: ReadPrec [PutRumEventsResponse]
readPrec :: ReadPrec PutRumEventsResponse
$creadPrec :: ReadPrec PutRumEventsResponse
readList :: ReadS [PutRumEventsResponse]
$creadList :: ReadS [PutRumEventsResponse]
readsPrec :: Int -> ReadS PutRumEventsResponse
$creadsPrec :: Int -> ReadS PutRumEventsResponse
Prelude.Read, Int -> PutRumEventsResponse -> ShowS
[PutRumEventsResponse] -> ShowS
PutRumEventsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutRumEventsResponse] -> ShowS
$cshowList :: [PutRumEventsResponse] -> ShowS
show :: PutRumEventsResponse -> String
$cshow :: PutRumEventsResponse -> String
showsPrec :: Int -> PutRumEventsResponse -> ShowS
$cshowsPrec :: Int -> PutRumEventsResponse -> ShowS
Prelude.Show, forall x. Rep PutRumEventsResponse x -> PutRumEventsResponse
forall x. PutRumEventsResponse -> Rep PutRumEventsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutRumEventsResponse x -> PutRumEventsResponse
$cfrom :: forall x. PutRumEventsResponse -> Rep PutRumEventsResponse x
Prelude.Generic)
newPutRumEventsResponse ::
Prelude.Int ->
PutRumEventsResponse
newPutRumEventsResponse :: Int -> PutRumEventsResponse
newPutRumEventsResponse Int
pHttpStatus_ =
PutRumEventsResponse' {$sel:httpStatus:PutRumEventsResponse' :: Int
httpStatus = Int
pHttpStatus_}
putRumEventsResponse_httpStatus :: Lens.Lens' PutRumEventsResponse Prelude.Int
putRumEventsResponse_httpStatus :: Lens' PutRumEventsResponse Int
putRumEventsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutRumEventsResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutRumEventsResponse' :: PutRumEventsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutRumEventsResponse
s@PutRumEventsResponse' {} Int
a -> PutRumEventsResponse
s {$sel:httpStatus:PutRumEventsResponse' :: Int
httpStatus = Int
a} :: PutRumEventsResponse)
instance Prelude.NFData PutRumEventsResponse where
rnf :: PutRumEventsResponse -> ()
rnf PutRumEventsResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutRumEventsResponse' :: PutRumEventsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus