{-# 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.FraudDetector.GetRules
(
GetRules (..),
newGetRules,
getRules_maxResults,
getRules_nextToken,
getRules_ruleId,
getRules_ruleVersion,
getRules_detectorId,
GetRulesResponse (..),
newGetRulesResponse,
getRulesResponse_nextToken,
getRulesResponse_ruleDetails,
getRulesResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FraudDetector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data GetRules = GetRules'
{
GetRules -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
GetRules -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetRules -> Maybe Text
ruleId :: Prelude.Maybe Prelude.Text,
GetRules -> Maybe Text
ruleVersion :: Prelude.Maybe Prelude.Text,
GetRules -> Text
detectorId :: Prelude.Text
}
deriving (GetRules -> GetRules -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRules -> GetRules -> Bool
$c/= :: GetRules -> GetRules -> Bool
== :: GetRules -> GetRules -> Bool
$c== :: GetRules -> GetRules -> Bool
Prelude.Eq, ReadPrec [GetRules]
ReadPrec GetRules
Int -> ReadS GetRules
ReadS [GetRules]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetRules]
$creadListPrec :: ReadPrec [GetRules]
readPrec :: ReadPrec GetRules
$creadPrec :: ReadPrec GetRules
readList :: ReadS [GetRules]
$creadList :: ReadS [GetRules]
readsPrec :: Int -> ReadS GetRules
$creadsPrec :: Int -> ReadS GetRules
Prelude.Read, Int -> GetRules -> ShowS
[GetRules] -> ShowS
GetRules -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRules] -> ShowS
$cshowList :: [GetRules] -> ShowS
show :: GetRules -> String
$cshow :: GetRules -> String
showsPrec :: Int -> GetRules -> ShowS
$cshowsPrec :: Int -> GetRules -> ShowS
Prelude.Show, forall x. Rep GetRules x -> GetRules
forall x. GetRules -> Rep GetRules x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetRules x -> GetRules
$cfrom :: forall x. GetRules -> Rep GetRules x
Prelude.Generic)
newGetRules ::
Prelude.Text ->
GetRules
newGetRules :: Text -> GetRules
newGetRules Text
pDetectorId_ =
GetRules'
{ $sel:maxResults:GetRules' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetRules' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:ruleId:GetRules' :: Maybe Text
ruleId = forall a. Maybe a
Prelude.Nothing,
$sel:ruleVersion:GetRules' :: Maybe Text
ruleVersion = forall a. Maybe a
Prelude.Nothing,
$sel:detectorId:GetRules' :: Text
detectorId = Text
pDetectorId_
}
getRules_maxResults :: Lens.Lens' GetRules (Prelude.Maybe Prelude.Natural)
getRules_maxResults :: Lens' GetRules (Maybe Natural)
getRules_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRules' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetRules' :: GetRules -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetRules
s@GetRules' {} Maybe Natural
a -> GetRules
s {$sel:maxResults:GetRules' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetRules)
getRules_nextToken :: Lens.Lens' GetRules (Prelude.Maybe Prelude.Text)
getRules_nextToken :: Lens' GetRules (Maybe Text)
getRules_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRules' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetRules' :: GetRules -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetRules
s@GetRules' {} Maybe Text
a -> GetRules
s {$sel:nextToken:GetRules' :: Maybe Text
nextToken = Maybe Text
a} :: GetRules)
getRules_ruleId :: Lens.Lens' GetRules (Prelude.Maybe Prelude.Text)
getRules_ruleId :: Lens' GetRules (Maybe Text)
getRules_ruleId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRules' {Maybe Text
ruleId :: Maybe Text
$sel:ruleId:GetRules' :: GetRules -> Maybe Text
ruleId} -> Maybe Text
ruleId) (\s :: GetRules
s@GetRules' {} Maybe Text
a -> GetRules
s {$sel:ruleId:GetRules' :: Maybe Text
ruleId = Maybe Text
a} :: GetRules)
getRules_ruleVersion :: Lens.Lens' GetRules (Prelude.Maybe Prelude.Text)
getRules_ruleVersion :: Lens' GetRules (Maybe Text)
getRules_ruleVersion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRules' {Maybe Text
ruleVersion :: Maybe Text
$sel:ruleVersion:GetRules' :: GetRules -> Maybe Text
ruleVersion} -> Maybe Text
ruleVersion) (\s :: GetRules
s@GetRules' {} Maybe Text
a -> GetRules
s {$sel:ruleVersion:GetRules' :: Maybe Text
ruleVersion = Maybe Text
a} :: GetRules)
getRules_detectorId :: Lens.Lens' GetRules Prelude.Text
getRules_detectorId :: Lens' GetRules Text
getRules_detectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRules' {Text
detectorId :: Text
$sel:detectorId:GetRules' :: GetRules -> Text
detectorId} -> Text
detectorId) (\s :: GetRules
s@GetRules' {} Text
a -> GetRules
s {$sel:detectorId:GetRules' :: Text
detectorId = Text
a} :: GetRules)
instance Core.AWSRequest GetRules where
type AWSResponse GetRules = GetRulesResponse
request :: (Service -> Service) -> GetRules -> Request GetRules
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 GetRules
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse GetRules)))
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 Text -> Maybe [RuleDetail] -> Int -> GetRulesResponse
GetRulesResponse'
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
"nextToken")
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
"ruleDetails" 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 GetRules where
hashWithSalt :: Int -> GetRules -> Int
hashWithSalt Int
_salt GetRules' {Maybe Natural
Maybe Text
Text
detectorId :: Text
ruleVersion :: Maybe Text
ruleId :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:GetRules' :: GetRules -> Text
$sel:ruleVersion:GetRules' :: GetRules -> Maybe Text
$sel:ruleId:GetRules' :: GetRules -> Maybe Text
$sel:nextToken:GetRules' :: GetRules -> Maybe Text
$sel:maxResults:GetRules' :: GetRules -> Maybe Natural
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ruleId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
ruleVersion
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
detectorId
instance Prelude.NFData GetRules where
rnf :: GetRules -> ()
rnf GetRules' {Maybe Natural
Maybe Text
Text
detectorId :: Text
ruleVersion :: Maybe Text
ruleId :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:GetRules' :: GetRules -> Text
$sel:ruleVersion:GetRules' :: GetRules -> Maybe Text
$sel:ruleId:GetRules' :: GetRules -> Maybe Text
$sel:nextToken:GetRules' :: GetRules -> Maybe Text
$sel:maxResults:GetRules' :: GetRules -> Maybe Natural
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ruleId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ruleVersion
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
detectorId
instance Data.ToHeaders GetRules where
toHeaders :: GetRules -> ResponseHeaders
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 -> ResponseHeaders
Data.=# ( ByteString
"AWSHawksNestServiceFacade.GetRules" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetRules where
toJSON :: GetRules -> Value
toJSON GetRules' {Maybe Natural
Maybe Text
Text
detectorId :: Text
ruleVersion :: Maybe Text
ruleId :: Maybe Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
$sel:detectorId:GetRules' :: GetRules -> Text
$sel:ruleVersion:GetRules' :: GetRules -> Maybe Text
$sel:ruleId:GetRules' :: GetRules -> Maybe Text
$sel:nextToken:GetRules' :: GetRules -> Maybe Text
$sel:maxResults:GetRules' :: GetRules -> Maybe Natural
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"maxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
(Key
"nextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken,
(Key
"ruleId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ruleId,
(Key
"ruleVersion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
ruleVersion,
forall a. a -> Maybe a
Prelude.Just (Key
"detectorId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
detectorId)
]
)
instance Data.ToPath GetRules where
toPath :: GetRules -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetRules where
toQuery :: GetRules -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetRulesResponse = GetRulesResponse'
{
GetRulesResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetRulesResponse -> Maybe [RuleDetail]
ruleDetails :: Prelude.Maybe [RuleDetail],
GetRulesResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetRulesResponse -> GetRulesResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetRulesResponse -> GetRulesResponse -> Bool
$c/= :: GetRulesResponse -> GetRulesResponse -> Bool
== :: GetRulesResponse -> GetRulesResponse -> Bool
$c== :: GetRulesResponse -> GetRulesResponse -> Bool
Prelude.Eq, Int -> GetRulesResponse -> ShowS
[GetRulesResponse] -> ShowS
GetRulesResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetRulesResponse] -> ShowS
$cshowList :: [GetRulesResponse] -> ShowS
show :: GetRulesResponse -> String
$cshow :: GetRulesResponse -> String
showsPrec :: Int -> GetRulesResponse -> ShowS
$cshowsPrec :: Int -> GetRulesResponse -> ShowS
Prelude.Show, forall x. Rep GetRulesResponse x -> GetRulesResponse
forall x. GetRulesResponse -> Rep GetRulesResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetRulesResponse x -> GetRulesResponse
$cfrom :: forall x. GetRulesResponse -> Rep GetRulesResponse x
Prelude.Generic)
newGetRulesResponse ::
Prelude.Int ->
GetRulesResponse
newGetRulesResponse :: Int -> GetRulesResponse
newGetRulesResponse Int
pHttpStatus_ =
GetRulesResponse'
{ $sel:nextToken:GetRulesResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:ruleDetails:GetRulesResponse' :: Maybe [RuleDetail]
ruleDetails = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetRulesResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getRulesResponse_nextToken :: Lens.Lens' GetRulesResponse (Prelude.Maybe Prelude.Text)
getRulesResponse_nextToken :: Lens' GetRulesResponse (Maybe Text)
getRulesResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRulesResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetRulesResponse' :: GetRulesResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetRulesResponse
s@GetRulesResponse' {} Maybe Text
a -> GetRulesResponse
s {$sel:nextToken:GetRulesResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetRulesResponse)
getRulesResponse_ruleDetails :: Lens.Lens' GetRulesResponse (Prelude.Maybe [RuleDetail])
getRulesResponse_ruleDetails :: Lens' GetRulesResponse (Maybe [RuleDetail])
getRulesResponse_ruleDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRulesResponse' {Maybe [RuleDetail]
ruleDetails :: Maybe [RuleDetail]
$sel:ruleDetails:GetRulesResponse' :: GetRulesResponse -> Maybe [RuleDetail]
ruleDetails} -> Maybe [RuleDetail]
ruleDetails) (\s :: GetRulesResponse
s@GetRulesResponse' {} Maybe [RuleDetail]
a -> GetRulesResponse
s {$sel:ruleDetails:GetRulesResponse' :: Maybe [RuleDetail]
ruleDetails = Maybe [RuleDetail]
a} :: GetRulesResponse) 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
getRulesResponse_httpStatus :: Lens.Lens' GetRulesResponse Prelude.Int
getRulesResponse_httpStatus :: Lens' GetRulesResponse Int
getRulesResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetRulesResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetRulesResponse' :: GetRulesResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetRulesResponse
s@GetRulesResponse' {} Int
a -> GetRulesResponse
s {$sel:httpStatus:GetRulesResponse' :: Int
httpStatus = Int
a} :: GetRulesResponse)
instance Prelude.NFData GetRulesResponse where
rnf :: GetRulesResponse -> ()
rnf GetRulesResponse' {Int
Maybe [RuleDetail]
Maybe Text
httpStatus :: Int
ruleDetails :: Maybe [RuleDetail]
nextToken :: Maybe Text
$sel:httpStatus:GetRulesResponse' :: GetRulesResponse -> Int
$sel:ruleDetails:GetRulesResponse' :: GetRulesResponse -> Maybe [RuleDetail]
$sel:nextToken:GetRulesResponse' :: GetRulesResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [RuleDetail]
ruleDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus