{-# 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.GetSamplingTargets
(
GetSamplingTargets (..),
newGetSamplingTargets,
getSamplingTargets_samplingStatisticsDocuments,
GetSamplingTargetsResponse (..),
newGetSamplingTargetsResponse,
getSamplingTargetsResponse_lastRuleModification,
getSamplingTargetsResponse_samplingTargetDocuments,
getSamplingTargetsResponse_unprocessedStatistics,
getSamplingTargetsResponse_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 GetSamplingTargets = GetSamplingTargets'
{
GetSamplingTargets -> [SamplingStatisticsDocument]
samplingStatisticsDocuments :: [SamplingStatisticsDocument]
}
deriving (GetSamplingTargets -> GetSamplingTargets -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSamplingTargets -> GetSamplingTargets -> Bool
$c/= :: GetSamplingTargets -> GetSamplingTargets -> Bool
== :: GetSamplingTargets -> GetSamplingTargets -> Bool
$c== :: GetSamplingTargets -> GetSamplingTargets -> Bool
Prelude.Eq, ReadPrec [GetSamplingTargets]
ReadPrec GetSamplingTargets
Int -> ReadS GetSamplingTargets
ReadS [GetSamplingTargets]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSamplingTargets]
$creadListPrec :: ReadPrec [GetSamplingTargets]
readPrec :: ReadPrec GetSamplingTargets
$creadPrec :: ReadPrec GetSamplingTargets
readList :: ReadS [GetSamplingTargets]
$creadList :: ReadS [GetSamplingTargets]
readsPrec :: Int -> ReadS GetSamplingTargets
$creadsPrec :: Int -> ReadS GetSamplingTargets
Prelude.Read, Int -> GetSamplingTargets -> ShowS
[GetSamplingTargets] -> ShowS
GetSamplingTargets -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSamplingTargets] -> ShowS
$cshowList :: [GetSamplingTargets] -> ShowS
show :: GetSamplingTargets -> String
$cshow :: GetSamplingTargets -> String
showsPrec :: Int -> GetSamplingTargets -> ShowS
$cshowsPrec :: Int -> GetSamplingTargets -> ShowS
Prelude.Show, forall x. Rep GetSamplingTargets x -> GetSamplingTargets
forall x. GetSamplingTargets -> Rep GetSamplingTargets x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetSamplingTargets x -> GetSamplingTargets
$cfrom :: forall x. GetSamplingTargets -> Rep GetSamplingTargets x
Prelude.Generic)
newGetSamplingTargets ::
GetSamplingTargets
newGetSamplingTargets :: GetSamplingTargets
newGetSamplingTargets =
GetSamplingTargets'
{ $sel:samplingStatisticsDocuments:GetSamplingTargets' :: [SamplingStatisticsDocument]
samplingStatisticsDocuments =
forall a. Monoid a => a
Prelude.mempty
}
getSamplingTargets_samplingStatisticsDocuments :: Lens.Lens' GetSamplingTargets [SamplingStatisticsDocument]
getSamplingTargets_samplingStatisticsDocuments :: Lens' GetSamplingTargets [SamplingStatisticsDocument]
getSamplingTargets_samplingStatisticsDocuments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSamplingTargets' {[SamplingStatisticsDocument]
samplingStatisticsDocuments :: [SamplingStatisticsDocument]
$sel:samplingStatisticsDocuments:GetSamplingTargets' :: GetSamplingTargets -> [SamplingStatisticsDocument]
samplingStatisticsDocuments} -> [SamplingStatisticsDocument]
samplingStatisticsDocuments) (\s :: GetSamplingTargets
s@GetSamplingTargets' {} [SamplingStatisticsDocument]
a -> GetSamplingTargets
s {$sel:samplingStatisticsDocuments:GetSamplingTargets' :: [SamplingStatisticsDocument]
samplingStatisticsDocuments = [SamplingStatisticsDocument]
a} :: GetSamplingTargets) 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 GetSamplingTargets where
type
AWSResponse GetSamplingTargets =
GetSamplingTargetsResponse
request :: (Service -> Service)
-> GetSamplingTargets -> Request GetSamplingTargets
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 GetSamplingTargets
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetSamplingTargets)))
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 POSIX
-> Maybe [SamplingTargetDocument]
-> Maybe [UnprocessedStatistics]
-> Int
-> GetSamplingTargetsResponse
GetSamplingTargetsResponse'
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
"LastRuleModification")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"SamplingTargetDocuments"
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.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"UnprocessedStatistics"
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 GetSamplingTargets where
hashWithSalt :: Int -> GetSamplingTargets -> Int
hashWithSalt Int
_salt GetSamplingTargets' {[SamplingStatisticsDocument]
samplingStatisticsDocuments :: [SamplingStatisticsDocument]
$sel:samplingStatisticsDocuments:GetSamplingTargets' :: GetSamplingTargets -> [SamplingStatisticsDocument]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [SamplingStatisticsDocument]
samplingStatisticsDocuments
instance Prelude.NFData GetSamplingTargets where
rnf :: GetSamplingTargets -> ()
rnf GetSamplingTargets' {[SamplingStatisticsDocument]
samplingStatisticsDocuments :: [SamplingStatisticsDocument]
$sel:samplingStatisticsDocuments:GetSamplingTargets' :: GetSamplingTargets -> [SamplingStatisticsDocument]
..} =
forall a. NFData a => a -> ()
Prelude.rnf [SamplingStatisticsDocument]
samplingStatisticsDocuments
instance Data.ToHeaders GetSamplingTargets where
toHeaders :: GetSamplingTargets -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON GetSamplingTargets where
toJSON :: GetSamplingTargets -> Value
toJSON GetSamplingTargets' {[SamplingStatisticsDocument]
samplingStatisticsDocuments :: [SamplingStatisticsDocument]
$sel:samplingStatisticsDocuments:GetSamplingTargets' :: GetSamplingTargets -> [SamplingStatisticsDocument]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"SamplingStatisticsDocuments"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= [SamplingStatisticsDocument]
samplingStatisticsDocuments
)
]
)
instance Data.ToPath GetSamplingTargets where
toPath :: GetSamplingTargets -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/SamplingTargets"
instance Data.ToQuery GetSamplingTargets where
toQuery :: GetSamplingTargets -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSamplingTargetsResponse = GetSamplingTargetsResponse'
{
GetSamplingTargetsResponse -> Maybe POSIX
lastRuleModification :: Prelude.Maybe Data.POSIX,
GetSamplingTargetsResponse -> Maybe [SamplingTargetDocument]
samplingTargetDocuments :: Prelude.Maybe [SamplingTargetDocument],
GetSamplingTargetsResponse -> Maybe [UnprocessedStatistics]
unprocessedStatistics :: Prelude.Maybe [UnprocessedStatistics],
GetSamplingTargetsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetSamplingTargetsResponse -> GetSamplingTargetsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSamplingTargetsResponse -> GetSamplingTargetsResponse -> Bool
$c/= :: GetSamplingTargetsResponse -> GetSamplingTargetsResponse -> Bool
== :: GetSamplingTargetsResponse -> GetSamplingTargetsResponse -> Bool
$c== :: GetSamplingTargetsResponse -> GetSamplingTargetsResponse -> Bool
Prelude.Eq, ReadPrec [GetSamplingTargetsResponse]
ReadPrec GetSamplingTargetsResponse
Int -> ReadS GetSamplingTargetsResponse
ReadS [GetSamplingTargetsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSamplingTargetsResponse]
$creadListPrec :: ReadPrec [GetSamplingTargetsResponse]
readPrec :: ReadPrec GetSamplingTargetsResponse
$creadPrec :: ReadPrec GetSamplingTargetsResponse
readList :: ReadS [GetSamplingTargetsResponse]
$creadList :: ReadS [GetSamplingTargetsResponse]
readsPrec :: Int -> ReadS GetSamplingTargetsResponse
$creadsPrec :: Int -> ReadS GetSamplingTargetsResponse
Prelude.Read, Int -> GetSamplingTargetsResponse -> ShowS
[GetSamplingTargetsResponse] -> ShowS
GetSamplingTargetsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSamplingTargetsResponse] -> ShowS
$cshowList :: [GetSamplingTargetsResponse] -> ShowS
show :: GetSamplingTargetsResponse -> String
$cshow :: GetSamplingTargetsResponse -> String
showsPrec :: Int -> GetSamplingTargetsResponse -> ShowS
$cshowsPrec :: Int -> GetSamplingTargetsResponse -> ShowS
Prelude.Show, forall x.
Rep GetSamplingTargetsResponse x -> GetSamplingTargetsResponse
forall x.
GetSamplingTargetsResponse -> Rep GetSamplingTargetsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSamplingTargetsResponse x -> GetSamplingTargetsResponse
$cfrom :: forall x.
GetSamplingTargetsResponse -> Rep GetSamplingTargetsResponse x
Prelude.Generic)
newGetSamplingTargetsResponse ::
Prelude.Int ->
GetSamplingTargetsResponse
newGetSamplingTargetsResponse :: Int -> GetSamplingTargetsResponse
newGetSamplingTargetsResponse Int
pHttpStatus_ =
GetSamplingTargetsResponse'
{ $sel:lastRuleModification:GetSamplingTargetsResponse' :: Maybe POSIX
lastRuleModification =
forall a. Maybe a
Prelude.Nothing,
$sel:samplingTargetDocuments:GetSamplingTargetsResponse' :: Maybe [SamplingTargetDocument]
samplingTargetDocuments = forall a. Maybe a
Prelude.Nothing,
$sel:unprocessedStatistics:GetSamplingTargetsResponse' :: Maybe [UnprocessedStatistics]
unprocessedStatistics = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSamplingTargetsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getSamplingTargetsResponse_lastRuleModification :: Lens.Lens' GetSamplingTargetsResponse (Prelude.Maybe Prelude.UTCTime)
getSamplingTargetsResponse_lastRuleModification :: Lens' GetSamplingTargetsResponse (Maybe UTCTime)
getSamplingTargetsResponse_lastRuleModification = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSamplingTargetsResponse' {Maybe POSIX
lastRuleModification :: Maybe POSIX
$sel:lastRuleModification:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe POSIX
lastRuleModification} -> Maybe POSIX
lastRuleModification) (\s :: GetSamplingTargetsResponse
s@GetSamplingTargetsResponse' {} Maybe POSIX
a -> GetSamplingTargetsResponse
s {$sel:lastRuleModification:GetSamplingTargetsResponse' :: Maybe POSIX
lastRuleModification = Maybe POSIX
a} :: GetSamplingTargetsResponse) 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 (a :: Format). Iso' (Time a) UTCTime
Data._Time
getSamplingTargetsResponse_samplingTargetDocuments :: Lens.Lens' GetSamplingTargetsResponse (Prelude.Maybe [SamplingTargetDocument])
getSamplingTargetsResponse_samplingTargetDocuments :: Lens' GetSamplingTargetsResponse (Maybe [SamplingTargetDocument])
getSamplingTargetsResponse_samplingTargetDocuments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSamplingTargetsResponse' {Maybe [SamplingTargetDocument]
samplingTargetDocuments :: Maybe [SamplingTargetDocument]
$sel:samplingTargetDocuments:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe [SamplingTargetDocument]
samplingTargetDocuments} -> Maybe [SamplingTargetDocument]
samplingTargetDocuments) (\s :: GetSamplingTargetsResponse
s@GetSamplingTargetsResponse' {} Maybe [SamplingTargetDocument]
a -> GetSamplingTargetsResponse
s {$sel:samplingTargetDocuments:GetSamplingTargetsResponse' :: Maybe [SamplingTargetDocument]
samplingTargetDocuments = Maybe [SamplingTargetDocument]
a} :: GetSamplingTargetsResponse) 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
getSamplingTargetsResponse_unprocessedStatistics :: Lens.Lens' GetSamplingTargetsResponse (Prelude.Maybe [UnprocessedStatistics])
getSamplingTargetsResponse_unprocessedStatistics :: Lens' GetSamplingTargetsResponse (Maybe [UnprocessedStatistics])
getSamplingTargetsResponse_unprocessedStatistics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSamplingTargetsResponse' {Maybe [UnprocessedStatistics]
unprocessedStatistics :: Maybe [UnprocessedStatistics]
$sel:unprocessedStatistics:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe [UnprocessedStatistics]
unprocessedStatistics} -> Maybe [UnprocessedStatistics]
unprocessedStatistics) (\s :: GetSamplingTargetsResponse
s@GetSamplingTargetsResponse' {} Maybe [UnprocessedStatistics]
a -> GetSamplingTargetsResponse
s {$sel:unprocessedStatistics:GetSamplingTargetsResponse' :: Maybe [UnprocessedStatistics]
unprocessedStatistics = Maybe [UnprocessedStatistics]
a} :: GetSamplingTargetsResponse) 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
getSamplingTargetsResponse_httpStatus :: Lens.Lens' GetSamplingTargetsResponse Prelude.Int
getSamplingTargetsResponse_httpStatus :: Lens' GetSamplingTargetsResponse Int
getSamplingTargetsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSamplingTargetsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSamplingTargetsResponse
s@GetSamplingTargetsResponse' {} Int
a -> GetSamplingTargetsResponse
s {$sel:httpStatus:GetSamplingTargetsResponse' :: Int
httpStatus = Int
a} :: GetSamplingTargetsResponse)
instance Prelude.NFData GetSamplingTargetsResponse where
rnf :: GetSamplingTargetsResponse -> ()
rnf GetSamplingTargetsResponse' {Int
Maybe [SamplingTargetDocument]
Maybe [UnprocessedStatistics]
Maybe POSIX
httpStatus :: Int
unprocessedStatistics :: Maybe [UnprocessedStatistics]
samplingTargetDocuments :: Maybe [SamplingTargetDocument]
lastRuleModification :: Maybe POSIX
$sel:httpStatus:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Int
$sel:unprocessedStatistics:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe [UnprocessedStatistics]
$sel:samplingTargetDocuments:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe [SamplingTargetDocument]
$sel:lastRuleModification:GetSamplingTargetsResponse' :: GetSamplingTargetsResponse -> Maybe POSIX
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe POSIX
lastRuleModification
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [SamplingTargetDocument]
samplingTargetDocuments
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [UnprocessedStatistics]
unprocessedStatistics
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus