{-# 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.XRay.PutTraceSegments
(
PutTraceSegments (..),
newPutTraceSegments,
putTraceSegments_traceSegmentDocuments,
PutTraceSegmentsResponse (..),
newPutTraceSegmentsResponse,
putTraceSegmentsResponse_unprocessedTraceSegments,
putTraceSegmentsResponse_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.XRay.Types
data PutTraceSegments = PutTraceSegments'
{
PutTraceSegments -> [Text]
traceSegmentDocuments :: [Prelude.Text]
}
deriving (PutTraceSegments -> PutTraceSegments -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutTraceSegments -> PutTraceSegments -> Bool
$c/= :: PutTraceSegments -> PutTraceSegments -> Bool
== :: PutTraceSegments -> PutTraceSegments -> Bool
$c== :: PutTraceSegments -> PutTraceSegments -> Bool
Prelude.Eq, ReadPrec [PutTraceSegments]
ReadPrec PutTraceSegments
Int -> ReadS PutTraceSegments
ReadS [PutTraceSegments]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutTraceSegments]
$creadListPrec :: ReadPrec [PutTraceSegments]
readPrec :: ReadPrec PutTraceSegments
$creadPrec :: ReadPrec PutTraceSegments
readList :: ReadS [PutTraceSegments]
$creadList :: ReadS [PutTraceSegments]
readsPrec :: Int -> ReadS PutTraceSegments
$creadsPrec :: Int -> ReadS PutTraceSegments
Prelude.Read, Int -> PutTraceSegments -> ShowS
[PutTraceSegments] -> ShowS
PutTraceSegments -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutTraceSegments] -> ShowS
$cshowList :: [PutTraceSegments] -> ShowS
show :: PutTraceSegments -> String
$cshow :: PutTraceSegments -> String
showsPrec :: Int -> PutTraceSegments -> ShowS
$cshowsPrec :: Int -> PutTraceSegments -> ShowS
Prelude.Show, forall x. Rep PutTraceSegments x -> PutTraceSegments
forall x. PutTraceSegments -> Rep PutTraceSegments x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutTraceSegments x -> PutTraceSegments
$cfrom :: forall x. PutTraceSegments -> Rep PutTraceSegments x
Prelude.Generic)
newPutTraceSegments ::
PutTraceSegments
newPutTraceSegments :: PutTraceSegments
newPutTraceSegments =
PutTraceSegments'
{ $sel:traceSegmentDocuments:PutTraceSegments' :: [Text]
traceSegmentDocuments =
forall a. Monoid a => a
Prelude.mempty
}
putTraceSegments_traceSegmentDocuments :: Lens.Lens' PutTraceSegments [Prelude.Text]
putTraceSegments_traceSegmentDocuments :: Lens' PutTraceSegments [Text]
putTraceSegments_traceSegmentDocuments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutTraceSegments' {[Text]
traceSegmentDocuments :: [Text]
$sel:traceSegmentDocuments:PutTraceSegments' :: PutTraceSegments -> [Text]
traceSegmentDocuments} -> [Text]
traceSegmentDocuments) (\s :: PutTraceSegments
s@PutTraceSegments' {} [Text]
a -> PutTraceSegments
s {$sel:traceSegmentDocuments:PutTraceSegments' :: [Text]
traceSegmentDocuments = [Text]
a} :: PutTraceSegments) 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
instance Core.AWSRequest PutTraceSegments where
type
AWSResponse PutTraceSegments =
PutTraceSegmentsResponse
request :: (Service -> Service)
-> PutTraceSegments -> Request PutTraceSegments
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 PutTraceSegments
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutTraceSegments)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
( \Int
s ResponseHeaders
h Object
x ->
Maybe [UnprocessedTraceSegment] -> Int -> PutTraceSegmentsResponse
PutTraceSegmentsResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"UnprocessedTraceSegments"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
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 PutTraceSegments where
hashWithSalt :: Int -> PutTraceSegments -> Int
hashWithSalt Int
_salt PutTraceSegments' {[Text]
traceSegmentDocuments :: [Text]
$sel:traceSegmentDocuments:PutTraceSegments' :: PutTraceSegments -> [Text]
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [Text]
traceSegmentDocuments
instance Prelude.NFData PutTraceSegments where
rnf :: PutTraceSegments -> ()
rnf PutTraceSegments' {[Text]
traceSegmentDocuments :: [Text]
$sel:traceSegmentDocuments:PutTraceSegments' :: PutTraceSegments -> [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf [Text]
traceSegmentDocuments
instance Data.ToHeaders PutTraceSegments where
toHeaders :: PutTraceSegments -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON PutTraceSegments where
toJSON :: PutTraceSegments -> Value
toJSON PutTraceSegments' {[Text]
traceSegmentDocuments :: [Text]
$sel:traceSegmentDocuments:PutTraceSegments' :: PutTraceSegments -> [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"TraceSegmentDocuments"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [Text]
traceSegmentDocuments
)
]
)
instance Data.ToPath PutTraceSegments where
toPath :: PutTraceSegments -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/TraceSegments"
instance Data.ToQuery PutTraceSegments where
toQuery :: PutTraceSegments -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutTraceSegmentsResponse = PutTraceSegmentsResponse'
{
PutTraceSegmentsResponse -> Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments :: Prelude.Maybe [UnprocessedTraceSegment],
PutTraceSegmentsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutTraceSegmentsResponse -> PutTraceSegmentsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutTraceSegmentsResponse -> PutTraceSegmentsResponse -> Bool
$c/= :: PutTraceSegmentsResponse -> PutTraceSegmentsResponse -> Bool
== :: PutTraceSegmentsResponse -> PutTraceSegmentsResponse -> Bool
$c== :: PutTraceSegmentsResponse -> PutTraceSegmentsResponse -> Bool
Prelude.Eq, ReadPrec [PutTraceSegmentsResponse]
ReadPrec PutTraceSegmentsResponse
Int -> ReadS PutTraceSegmentsResponse
ReadS [PutTraceSegmentsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutTraceSegmentsResponse]
$creadListPrec :: ReadPrec [PutTraceSegmentsResponse]
readPrec :: ReadPrec PutTraceSegmentsResponse
$creadPrec :: ReadPrec PutTraceSegmentsResponse
readList :: ReadS [PutTraceSegmentsResponse]
$creadList :: ReadS [PutTraceSegmentsResponse]
readsPrec :: Int -> ReadS PutTraceSegmentsResponse
$creadsPrec :: Int -> ReadS PutTraceSegmentsResponse
Prelude.Read, Int -> PutTraceSegmentsResponse -> ShowS
[PutTraceSegmentsResponse] -> ShowS
PutTraceSegmentsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutTraceSegmentsResponse] -> ShowS
$cshowList :: [PutTraceSegmentsResponse] -> ShowS
show :: PutTraceSegmentsResponse -> String
$cshow :: PutTraceSegmentsResponse -> String
showsPrec :: Int -> PutTraceSegmentsResponse -> ShowS
$cshowsPrec :: Int -> PutTraceSegmentsResponse -> ShowS
Prelude.Show, forall x.
Rep PutTraceSegmentsResponse x -> PutTraceSegmentsResponse
forall x.
PutTraceSegmentsResponse -> Rep PutTraceSegmentsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutTraceSegmentsResponse x -> PutTraceSegmentsResponse
$cfrom :: forall x.
PutTraceSegmentsResponse -> Rep PutTraceSegmentsResponse x
Prelude.Generic)
newPutTraceSegmentsResponse ::
Prelude.Int ->
PutTraceSegmentsResponse
newPutTraceSegmentsResponse :: Int -> PutTraceSegmentsResponse
newPutTraceSegmentsResponse Int
pHttpStatus_ =
PutTraceSegmentsResponse'
{ $sel:unprocessedTraceSegments:PutTraceSegmentsResponse' :: Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:PutTraceSegmentsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
putTraceSegmentsResponse_unprocessedTraceSegments :: Lens.Lens' PutTraceSegmentsResponse (Prelude.Maybe [UnprocessedTraceSegment])
putTraceSegmentsResponse_unprocessedTraceSegments :: Lens' PutTraceSegmentsResponse (Maybe [UnprocessedTraceSegment])
putTraceSegmentsResponse_unprocessedTraceSegments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutTraceSegmentsResponse' {Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments :: Maybe [UnprocessedTraceSegment]
$sel:unprocessedTraceSegments:PutTraceSegmentsResponse' :: PutTraceSegmentsResponse -> Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments} -> Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments) (\s :: PutTraceSegmentsResponse
s@PutTraceSegmentsResponse' {} Maybe [UnprocessedTraceSegment]
a -> PutTraceSegmentsResponse
s {$sel:unprocessedTraceSegments:PutTraceSegmentsResponse' :: Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments = Maybe [UnprocessedTraceSegment]
a} :: PutTraceSegmentsResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
putTraceSegmentsResponse_httpStatus :: Lens.Lens' PutTraceSegmentsResponse Prelude.Int
putTraceSegmentsResponse_httpStatus :: Lens' PutTraceSegmentsResponse Int
putTraceSegmentsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutTraceSegmentsResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutTraceSegmentsResponse' :: PutTraceSegmentsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutTraceSegmentsResponse
s@PutTraceSegmentsResponse' {} Int
a -> PutTraceSegmentsResponse
s {$sel:httpStatus:PutTraceSegmentsResponse' :: Int
httpStatus = Int
a} :: PutTraceSegmentsResponse)
instance Prelude.NFData PutTraceSegmentsResponse where
rnf :: PutTraceSegmentsResponse -> ()
rnf PutTraceSegmentsResponse' {Int
Maybe [UnprocessedTraceSegment]
httpStatus :: Int
unprocessedTraceSegments :: Maybe [UnprocessedTraceSegment]
$sel:httpStatus:PutTraceSegmentsResponse' :: PutTraceSegmentsResponse -> Int
$sel:unprocessedTraceSegments:PutTraceSegmentsResponse' :: PutTraceSegmentsResponse -> Maybe [UnprocessedTraceSegment]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [UnprocessedTraceSegment]
unprocessedTraceSegments
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus