{-# 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.WAF.CreateRateBasedRule
(
CreateRateBasedRule (..),
newCreateRateBasedRule,
createRateBasedRule_tags,
createRateBasedRule_name,
createRateBasedRule_metricName,
createRateBasedRule_rateKey,
createRateBasedRule_rateLimit,
createRateBasedRule_changeToken,
CreateRateBasedRuleResponse (..),
newCreateRateBasedRuleResponse,
createRateBasedRuleResponse_changeToken,
createRateBasedRuleResponse_rule,
createRateBasedRuleResponse_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.WAF.Types
data CreateRateBasedRule = CreateRateBasedRule'
{ CreateRateBasedRule -> Maybe (NonEmpty Tag)
tags :: Prelude.Maybe (Prelude.NonEmpty Tag),
CreateRateBasedRule -> Text
name :: Prelude.Text,
CreateRateBasedRule -> Text
metricName :: Prelude.Text,
CreateRateBasedRule -> RateKey
rateKey :: RateKey,
CreateRateBasedRule -> Natural
rateLimit :: Prelude.Natural,
CreateRateBasedRule -> Text
changeToken :: Prelude.Text
}
deriving (CreateRateBasedRule -> CreateRateBasedRule -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRateBasedRule -> CreateRateBasedRule -> Bool
$c/= :: CreateRateBasedRule -> CreateRateBasedRule -> Bool
== :: CreateRateBasedRule -> CreateRateBasedRule -> Bool
$c== :: CreateRateBasedRule -> CreateRateBasedRule -> Bool
Prelude.Eq, ReadPrec [CreateRateBasedRule]
ReadPrec CreateRateBasedRule
Int -> ReadS CreateRateBasedRule
ReadS [CreateRateBasedRule]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRateBasedRule]
$creadListPrec :: ReadPrec [CreateRateBasedRule]
readPrec :: ReadPrec CreateRateBasedRule
$creadPrec :: ReadPrec CreateRateBasedRule
readList :: ReadS [CreateRateBasedRule]
$creadList :: ReadS [CreateRateBasedRule]
readsPrec :: Int -> ReadS CreateRateBasedRule
$creadsPrec :: Int -> ReadS CreateRateBasedRule
Prelude.Read, Int -> CreateRateBasedRule -> ShowS
[CreateRateBasedRule] -> ShowS
CreateRateBasedRule -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRateBasedRule] -> ShowS
$cshowList :: [CreateRateBasedRule] -> ShowS
show :: CreateRateBasedRule -> String
$cshow :: CreateRateBasedRule -> String
showsPrec :: Int -> CreateRateBasedRule -> ShowS
$cshowsPrec :: Int -> CreateRateBasedRule -> ShowS
Prelude.Show, forall x. Rep CreateRateBasedRule x -> CreateRateBasedRule
forall x. CreateRateBasedRule -> Rep CreateRateBasedRule x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateRateBasedRule x -> CreateRateBasedRule
$cfrom :: forall x. CreateRateBasedRule -> Rep CreateRateBasedRule x
Prelude.Generic)
newCreateRateBasedRule ::
Prelude.Text ->
Prelude.Text ->
RateKey ->
Prelude.Natural ->
Prelude.Text ->
CreateRateBasedRule
newCreateRateBasedRule :: Text -> Text -> RateKey -> Natural -> Text -> CreateRateBasedRule
newCreateRateBasedRule
Text
pName_
Text
pMetricName_
RateKey
pRateKey_
Natural
pRateLimit_
Text
pChangeToken_ =
CreateRateBasedRule'
{ $sel:tags:CreateRateBasedRule' :: Maybe (NonEmpty Tag)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateRateBasedRule' :: Text
name = Text
pName_,
$sel:metricName:CreateRateBasedRule' :: Text
metricName = Text
pMetricName_,
$sel:rateKey:CreateRateBasedRule' :: RateKey
rateKey = RateKey
pRateKey_,
$sel:rateLimit:CreateRateBasedRule' :: Natural
rateLimit = Natural
pRateLimit_,
$sel:changeToken:CreateRateBasedRule' :: Text
changeToken = Text
pChangeToken_
}
createRateBasedRule_tags :: Lens.Lens' CreateRateBasedRule (Prelude.Maybe (Prelude.NonEmpty Tag))
createRateBasedRule_tags :: Lens' CreateRateBasedRule (Maybe (NonEmpty Tag))
createRateBasedRule_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {Maybe (NonEmpty Tag)
tags :: Maybe (NonEmpty Tag)
$sel:tags:CreateRateBasedRule' :: CreateRateBasedRule -> Maybe (NonEmpty Tag)
tags} -> Maybe (NonEmpty Tag)
tags) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} Maybe (NonEmpty Tag)
a -> CreateRateBasedRule
s {$sel:tags:CreateRateBasedRule' :: Maybe (NonEmpty Tag)
tags = Maybe (NonEmpty Tag)
a} :: CreateRateBasedRule) 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
createRateBasedRule_name :: Lens.Lens' CreateRateBasedRule Prelude.Text
createRateBasedRule_name :: Lens' CreateRateBasedRule Text
createRateBasedRule_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {Text
name :: Text
$sel:name:CreateRateBasedRule' :: CreateRateBasedRule -> Text
name} -> Text
name) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} Text
a -> CreateRateBasedRule
s {$sel:name:CreateRateBasedRule' :: Text
name = Text
a} :: CreateRateBasedRule)
createRateBasedRule_metricName :: Lens.Lens' CreateRateBasedRule Prelude.Text
createRateBasedRule_metricName :: Lens' CreateRateBasedRule Text
createRateBasedRule_metricName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {Text
metricName :: Text
$sel:metricName:CreateRateBasedRule' :: CreateRateBasedRule -> Text
metricName} -> Text
metricName) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} Text
a -> CreateRateBasedRule
s {$sel:metricName:CreateRateBasedRule' :: Text
metricName = Text
a} :: CreateRateBasedRule)
createRateBasedRule_rateKey :: Lens.Lens' CreateRateBasedRule RateKey
createRateBasedRule_rateKey :: Lens' CreateRateBasedRule RateKey
createRateBasedRule_rateKey = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {RateKey
rateKey :: RateKey
$sel:rateKey:CreateRateBasedRule' :: CreateRateBasedRule -> RateKey
rateKey} -> RateKey
rateKey) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} RateKey
a -> CreateRateBasedRule
s {$sel:rateKey:CreateRateBasedRule' :: RateKey
rateKey = RateKey
a} :: CreateRateBasedRule)
createRateBasedRule_rateLimit :: Lens.Lens' CreateRateBasedRule Prelude.Natural
createRateBasedRule_rateLimit :: Lens' CreateRateBasedRule Natural
createRateBasedRule_rateLimit = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {Natural
rateLimit :: Natural
$sel:rateLimit:CreateRateBasedRule' :: CreateRateBasedRule -> Natural
rateLimit} -> Natural
rateLimit) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} Natural
a -> CreateRateBasedRule
s {$sel:rateLimit:CreateRateBasedRule' :: Natural
rateLimit = Natural
a} :: CreateRateBasedRule)
createRateBasedRule_changeToken :: Lens.Lens' CreateRateBasedRule Prelude.Text
createRateBasedRule_changeToken :: Lens' CreateRateBasedRule Text
createRateBasedRule_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRule' {Text
changeToken :: Text
$sel:changeToken:CreateRateBasedRule' :: CreateRateBasedRule -> Text
changeToken} -> Text
changeToken) (\s :: CreateRateBasedRule
s@CreateRateBasedRule' {} Text
a -> CreateRateBasedRule
s {$sel:changeToken:CreateRateBasedRule' :: Text
changeToken = Text
a} :: CreateRateBasedRule)
instance Core.AWSRequest CreateRateBasedRule where
type
AWSResponse CreateRateBasedRule =
CreateRateBasedRuleResponse
request :: (Service -> Service)
-> CreateRateBasedRule -> Request CreateRateBasedRule
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 CreateRateBasedRule
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateRateBasedRule)))
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 RateBasedRule -> Int -> CreateRateBasedRuleResponse
CreateRateBasedRuleResponse'
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
"ChangeToken")
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
"Rule")
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 CreateRateBasedRule where
hashWithSalt :: Int -> CreateRateBasedRule -> Int
hashWithSalt Int
_salt CreateRateBasedRule' {Natural
Maybe (NonEmpty Tag)
Text
RateKey
changeToken :: Text
rateLimit :: Natural
rateKey :: RateKey
metricName :: Text
name :: Text
tags :: Maybe (NonEmpty Tag)
$sel:changeToken:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:rateLimit:CreateRateBasedRule' :: CreateRateBasedRule -> Natural
$sel:rateKey:CreateRateBasedRule' :: CreateRateBasedRule -> RateKey
$sel:metricName:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:name:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:tags:CreateRateBasedRule' :: CreateRateBasedRule -> Maybe (NonEmpty Tag)
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Tag)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
metricName
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` RateKey
rateKey
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Natural
rateLimit
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
changeToken
instance Prelude.NFData CreateRateBasedRule where
rnf :: CreateRateBasedRule -> ()
rnf CreateRateBasedRule' {Natural
Maybe (NonEmpty Tag)
Text
RateKey
changeToken :: Text
rateLimit :: Natural
rateKey :: RateKey
metricName :: Text
name :: Text
tags :: Maybe (NonEmpty Tag)
$sel:changeToken:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:rateLimit:CreateRateBasedRule' :: CreateRateBasedRule -> Natural
$sel:rateKey:CreateRateBasedRule' :: CreateRateBasedRule -> RateKey
$sel:metricName:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:name:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:tags:CreateRateBasedRule' :: CreateRateBasedRule -> Maybe (NonEmpty Tag)
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe (NonEmpty Tag)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
name
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
metricName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf RateKey
rateKey
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Natural
rateLimit
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
changeToken
instance Data.ToHeaders CreateRateBasedRule where
toHeaders :: CreateRateBasedRule -> 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
"AWSWAF_20150824.CreateRateBasedRule" ::
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 CreateRateBasedRule where
toJSON :: CreateRateBasedRule -> Value
toJSON CreateRateBasedRule' {Natural
Maybe (NonEmpty Tag)
Text
RateKey
changeToken :: Text
rateLimit :: Natural
rateKey :: RateKey
metricName :: Text
name :: Text
tags :: Maybe (NonEmpty Tag)
$sel:changeToken:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:rateLimit:CreateRateBasedRule' :: CreateRateBasedRule -> Natural
$sel:rateKey:CreateRateBasedRule' :: CreateRateBasedRule -> RateKey
$sel:metricName:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:name:CreateRateBasedRule' :: CreateRateBasedRule -> Text
$sel:tags:CreateRateBasedRule' :: CreateRateBasedRule -> Maybe (NonEmpty Tag)
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"Tags" 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 (NonEmpty Tag)
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"Name" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
name),
forall a. a -> Maybe a
Prelude.Just (Key
"MetricName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
metricName),
forall a. a -> Maybe a
Prelude.Just (Key
"RateKey" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= RateKey
rateKey),
forall a. a -> Maybe a
Prelude.Just (Key
"RateLimit" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Natural
rateLimit),
forall a. a -> Maybe a
Prelude.Just (Key
"ChangeToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
changeToken)
]
)
instance Data.ToPath CreateRateBasedRule where
toPath :: CreateRateBasedRule -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateRateBasedRule where
toQuery :: CreateRateBasedRule -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateRateBasedRuleResponse = CreateRateBasedRuleResponse'
{
CreateRateBasedRuleResponse -> Maybe Text
changeToken :: Prelude.Maybe Prelude.Text,
CreateRateBasedRuleResponse -> Maybe RateBasedRule
rule :: Prelude.Maybe RateBasedRule,
CreateRateBasedRuleResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateRateBasedRuleResponse -> CreateRateBasedRuleResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateRateBasedRuleResponse -> CreateRateBasedRuleResponse -> Bool
$c/= :: CreateRateBasedRuleResponse -> CreateRateBasedRuleResponse -> Bool
== :: CreateRateBasedRuleResponse -> CreateRateBasedRuleResponse -> Bool
$c== :: CreateRateBasedRuleResponse -> CreateRateBasedRuleResponse -> Bool
Prelude.Eq, ReadPrec [CreateRateBasedRuleResponse]
ReadPrec CreateRateBasedRuleResponse
Int -> ReadS CreateRateBasedRuleResponse
ReadS [CreateRateBasedRuleResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateRateBasedRuleResponse]
$creadListPrec :: ReadPrec [CreateRateBasedRuleResponse]
readPrec :: ReadPrec CreateRateBasedRuleResponse
$creadPrec :: ReadPrec CreateRateBasedRuleResponse
readList :: ReadS [CreateRateBasedRuleResponse]
$creadList :: ReadS [CreateRateBasedRuleResponse]
readsPrec :: Int -> ReadS CreateRateBasedRuleResponse
$creadsPrec :: Int -> ReadS CreateRateBasedRuleResponse
Prelude.Read, Int -> CreateRateBasedRuleResponse -> ShowS
[CreateRateBasedRuleResponse] -> ShowS
CreateRateBasedRuleResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateRateBasedRuleResponse] -> ShowS
$cshowList :: [CreateRateBasedRuleResponse] -> ShowS
show :: CreateRateBasedRuleResponse -> String
$cshow :: CreateRateBasedRuleResponse -> String
showsPrec :: Int -> CreateRateBasedRuleResponse -> ShowS
$cshowsPrec :: Int -> CreateRateBasedRuleResponse -> ShowS
Prelude.Show, forall x.
Rep CreateRateBasedRuleResponse x -> CreateRateBasedRuleResponse
forall x.
CreateRateBasedRuleResponse -> Rep CreateRateBasedRuleResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateRateBasedRuleResponse x -> CreateRateBasedRuleResponse
$cfrom :: forall x.
CreateRateBasedRuleResponse -> Rep CreateRateBasedRuleResponse x
Prelude.Generic)
newCreateRateBasedRuleResponse ::
Prelude.Int ->
CreateRateBasedRuleResponse
newCreateRateBasedRuleResponse :: Int -> CreateRateBasedRuleResponse
newCreateRateBasedRuleResponse Int
pHttpStatus_ =
CreateRateBasedRuleResponse'
{ $sel:changeToken:CreateRateBasedRuleResponse' :: Maybe Text
changeToken =
forall a. Maybe a
Prelude.Nothing,
$sel:rule:CreateRateBasedRuleResponse' :: Maybe RateBasedRule
rule = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateRateBasedRuleResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createRateBasedRuleResponse_changeToken :: Lens.Lens' CreateRateBasedRuleResponse (Prelude.Maybe Prelude.Text)
createRateBasedRuleResponse_changeToken :: Lens' CreateRateBasedRuleResponse (Maybe Text)
createRateBasedRuleResponse_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRuleResponse' {Maybe Text
changeToken :: Maybe Text
$sel:changeToken:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Maybe Text
changeToken} -> Maybe Text
changeToken) (\s :: CreateRateBasedRuleResponse
s@CreateRateBasedRuleResponse' {} Maybe Text
a -> CreateRateBasedRuleResponse
s {$sel:changeToken:CreateRateBasedRuleResponse' :: Maybe Text
changeToken = Maybe Text
a} :: CreateRateBasedRuleResponse)
createRateBasedRuleResponse_rule :: Lens.Lens' CreateRateBasedRuleResponse (Prelude.Maybe RateBasedRule)
createRateBasedRuleResponse_rule :: Lens' CreateRateBasedRuleResponse (Maybe RateBasedRule)
createRateBasedRuleResponse_rule = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRuleResponse' {Maybe RateBasedRule
rule :: Maybe RateBasedRule
$sel:rule:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Maybe RateBasedRule
rule} -> Maybe RateBasedRule
rule) (\s :: CreateRateBasedRuleResponse
s@CreateRateBasedRuleResponse' {} Maybe RateBasedRule
a -> CreateRateBasedRuleResponse
s {$sel:rule:CreateRateBasedRuleResponse' :: Maybe RateBasedRule
rule = Maybe RateBasedRule
a} :: CreateRateBasedRuleResponse)
createRateBasedRuleResponse_httpStatus :: Lens.Lens' CreateRateBasedRuleResponse Prelude.Int
createRateBasedRuleResponse_httpStatus :: Lens' CreateRateBasedRuleResponse Int
createRateBasedRuleResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateRateBasedRuleResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateRateBasedRuleResponse
s@CreateRateBasedRuleResponse' {} Int
a -> CreateRateBasedRuleResponse
s {$sel:httpStatus:CreateRateBasedRuleResponse' :: Int
httpStatus = Int
a} :: CreateRateBasedRuleResponse)
instance Prelude.NFData CreateRateBasedRuleResponse where
rnf :: CreateRateBasedRuleResponse -> ()
rnf CreateRateBasedRuleResponse' {Int
Maybe Text
Maybe RateBasedRule
httpStatus :: Int
rule :: Maybe RateBasedRule
changeToken :: Maybe Text
$sel:httpStatus:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Int
$sel:rule:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Maybe RateBasedRule
$sel:changeToken:CreateRateBasedRuleResponse' :: CreateRateBasedRuleResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
changeToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RateBasedRule
rule
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus