{-# 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.CreateSizeConstraintSet
(
CreateSizeConstraintSet (..),
newCreateSizeConstraintSet,
createSizeConstraintSet_name,
createSizeConstraintSet_changeToken,
CreateSizeConstraintSetResponse (..),
newCreateSizeConstraintSetResponse,
createSizeConstraintSetResponse_changeToken,
createSizeConstraintSetResponse_sizeConstraintSet,
createSizeConstraintSetResponse_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 CreateSizeConstraintSet = CreateSizeConstraintSet'
{
CreateSizeConstraintSet -> Text
name :: Prelude.Text,
CreateSizeConstraintSet -> Text
changeToken :: Prelude.Text
}
deriving (CreateSizeConstraintSet -> CreateSizeConstraintSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSizeConstraintSet -> CreateSizeConstraintSet -> Bool
$c/= :: CreateSizeConstraintSet -> CreateSizeConstraintSet -> Bool
== :: CreateSizeConstraintSet -> CreateSizeConstraintSet -> Bool
$c== :: CreateSizeConstraintSet -> CreateSizeConstraintSet -> Bool
Prelude.Eq, ReadPrec [CreateSizeConstraintSet]
ReadPrec CreateSizeConstraintSet
Int -> ReadS CreateSizeConstraintSet
ReadS [CreateSizeConstraintSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSizeConstraintSet]
$creadListPrec :: ReadPrec [CreateSizeConstraintSet]
readPrec :: ReadPrec CreateSizeConstraintSet
$creadPrec :: ReadPrec CreateSizeConstraintSet
readList :: ReadS [CreateSizeConstraintSet]
$creadList :: ReadS [CreateSizeConstraintSet]
readsPrec :: Int -> ReadS CreateSizeConstraintSet
$creadsPrec :: Int -> ReadS CreateSizeConstraintSet
Prelude.Read, Int -> CreateSizeConstraintSet -> ShowS
[CreateSizeConstraintSet] -> ShowS
CreateSizeConstraintSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSizeConstraintSet] -> ShowS
$cshowList :: [CreateSizeConstraintSet] -> ShowS
show :: CreateSizeConstraintSet -> String
$cshow :: CreateSizeConstraintSet -> String
showsPrec :: Int -> CreateSizeConstraintSet -> ShowS
$cshowsPrec :: Int -> CreateSizeConstraintSet -> ShowS
Prelude.Show, forall x. Rep CreateSizeConstraintSet x -> CreateSizeConstraintSet
forall x. CreateSizeConstraintSet -> Rep CreateSizeConstraintSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateSizeConstraintSet x -> CreateSizeConstraintSet
$cfrom :: forall x. CreateSizeConstraintSet -> Rep CreateSizeConstraintSet x
Prelude.Generic)
newCreateSizeConstraintSet ::
Prelude.Text ->
Prelude.Text ->
CreateSizeConstraintSet
newCreateSizeConstraintSet :: Text -> Text -> CreateSizeConstraintSet
newCreateSizeConstraintSet Text
pName_ Text
pChangeToken_ =
CreateSizeConstraintSet'
{ $sel:name:CreateSizeConstraintSet' :: Text
name = Text
pName_,
$sel:changeToken:CreateSizeConstraintSet' :: Text
changeToken = Text
pChangeToken_
}
createSizeConstraintSet_name :: Lens.Lens' CreateSizeConstraintSet Prelude.Text
createSizeConstraintSet_name :: Lens' CreateSizeConstraintSet Text
createSizeConstraintSet_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSizeConstraintSet' {Text
name :: Text
$sel:name:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
name} -> Text
name) (\s :: CreateSizeConstraintSet
s@CreateSizeConstraintSet' {} Text
a -> CreateSizeConstraintSet
s {$sel:name:CreateSizeConstraintSet' :: Text
name = Text
a} :: CreateSizeConstraintSet)
createSizeConstraintSet_changeToken :: Lens.Lens' CreateSizeConstraintSet Prelude.Text
createSizeConstraintSet_changeToken :: Lens' CreateSizeConstraintSet Text
createSizeConstraintSet_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSizeConstraintSet' {Text
changeToken :: Text
$sel:changeToken:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
changeToken} -> Text
changeToken) (\s :: CreateSizeConstraintSet
s@CreateSizeConstraintSet' {} Text
a -> CreateSizeConstraintSet
s {$sel:changeToken:CreateSizeConstraintSet' :: Text
changeToken = Text
a} :: CreateSizeConstraintSet)
instance Core.AWSRequest CreateSizeConstraintSet where
type
AWSResponse CreateSizeConstraintSet =
CreateSizeConstraintSetResponse
request :: (Service -> Service)
-> CreateSizeConstraintSet -> Request CreateSizeConstraintSet
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 CreateSizeConstraintSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateSizeConstraintSet)))
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 SizeConstraintSet
-> Int
-> CreateSizeConstraintSetResponse
CreateSizeConstraintSetResponse'
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
"SizeConstraintSet")
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 CreateSizeConstraintSet where
hashWithSalt :: Int -> CreateSizeConstraintSet -> Int
hashWithSalt Int
_salt CreateSizeConstraintSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
$sel:name:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
changeToken
instance Prelude.NFData CreateSizeConstraintSet where
rnf :: CreateSizeConstraintSet -> ()
rnf CreateSizeConstraintSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
$sel:name:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
..} =
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
changeToken
instance Data.ToHeaders CreateSizeConstraintSet where
toHeaders :: CreateSizeConstraintSet -> 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.CreateSizeConstraintSet" ::
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 CreateSizeConstraintSet where
toJSON :: CreateSizeConstraintSet -> Value
toJSON CreateSizeConstraintSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
$sel:name:CreateSizeConstraintSet' :: CreateSizeConstraintSet -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ 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
"ChangeToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
changeToken)
]
)
instance Data.ToPath CreateSizeConstraintSet where
toPath :: CreateSizeConstraintSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateSizeConstraintSet where
toQuery :: CreateSizeConstraintSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateSizeConstraintSetResponse = CreateSizeConstraintSetResponse'
{
CreateSizeConstraintSetResponse -> Maybe Text
changeToken :: Prelude.Maybe Prelude.Text,
CreateSizeConstraintSetResponse -> Maybe SizeConstraintSet
sizeConstraintSet :: Prelude.Maybe SizeConstraintSet,
CreateSizeConstraintSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateSizeConstraintSetResponse
-> CreateSizeConstraintSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSizeConstraintSetResponse
-> CreateSizeConstraintSetResponse -> Bool
$c/= :: CreateSizeConstraintSetResponse
-> CreateSizeConstraintSetResponse -> Bool
== :: CreateSizeConstraintSetResponse
-> CreateSizeConstraintSetResponse -> Bool
$c== :: CreateSizeConstraintSetResponse
-> CreateSizeConstraintSetResponse -> Bool
Prelude.Eq, ReadPrec [CreateSizeConstraintSetResponse]
ReadPrec CreateSizeConstraintSetResponse
Int -> ReadS CreateSizeConstraintSetResponse
ReadS [CreateSizeConstraintSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSizeConstraintSetResponse]
$creadListPrec :: ReadPrec [CreateSizeConstraintSetResponse]
readPrec :: ReadPrec CreateSizeConstraintSetResponse
$creadPrec :: ReadPrec CreateSizeConstraintSetResponse
readList :: ReadS [CreateSizeConstraintSetResponse]
$creadList :: ReadS [CreateSizeConstraintSetResponse]
readsPrec :: Int -> ReadS CreateSizeConstraintSetResponse
$creadsPrec :: Int -> ReadS CreateSizeConstraintSetResponse
Prelude.Read, Int -> CreateSizeConstraintSetResponse -> ShowS
[CreateSizeConstraintSetResponse] -> ShowS
CreateSizeConstraintSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSizeConstraintSetResponse] -> ShowS
$cshowList :: [CreateSizeConstraintSetResponse] -> ShowS
show :: CreateSizeConstraintSetResponse -> String
$cshow :: CreateSizeConstraintSetResponse -> String
showsPrec :: Int -> CreateSizeConstraintSetResponse -> ShowS
$cshowsPrec :: Int -> CreateSizeConstraintSetResponse -> ShowS
Prelude.Show, forall x.
Rep CreateSizeConstraintSetResponse x
-> CreateSizeConstraintSetResponse
forall x.
CreateSizeConstraintSetResponse
-> Rep CreateSizeConstraintSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateSizeConstraintSetResponse x
-> CreateSizeConstraintSetResponse
$cfrom :: forall x.
CreateSizeConstraintSetResponse
-> Rep CreateSizeConstraintSetResponse x
Prelude.Generic)
newCreateSizeConstraintSetResponse ::
Prelude.Int ->
CreateSizeConstraintSetResponse
newCreateSizeConstraintSetResponse :: Int -> CreateSizeConstraintSetResponse
newCreateSizeConstraintSetResponse Int
pHttpStatus_ =
CreateSizeConstraintSetResponse'
{ $sel:changeToken:CreateSizeConstraintSetResponse' :: Maybe Text
changeToken =
forall a. Maybe a
Prelude.Nothing,
$sel:sizeConstraintSet:CreateSizeConstraintSetResponse' :: Maybe SizeConstraintSet
sizeConstraintSet = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateSizeConstraintSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createSizeConstraintSetResponse_changeToken :: Lens.Lens' CreateSizeConstraintSetResponse (Prelude.Maybe Prelude.Text)
createSizeConstraintSetResponse_changeToken :: Lens' CreateSizeConstraintSetResponse (Maybe Text)
createSizeConstraintSetResponse_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSizeConstraintSetResponse' {Maybe Text
changeToken :: Maybe Text
$sel:changeToken:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> Maybe Text
changeToken} -> Maybe Text
changeToken) (\s :: CreateSizeConstraintSetResponse
s@CreateSizeConstraintSetResponse' {} Maybe Text
a -> CreateSizeConstraintSetResponse
s {$sel:changeToken:CreateSizeConstraintSetResponse' :: Maybe Text
changeToken = Maybe Text
a} :: CreateSizeConstraintSetResponse)
createSizeConstraintSetResponse_sizeConstraintSet :: Lens.Lens' CreateSizeConstraintSetResponse (Prelude.Maybe SizeConstraintSet)
createSizeConstraintSetResponse_sizeConstraintSet :: Lens' CreateSizeConstraintSetResponse (Maybe SizeConstraintSet)
createSizeConstraintSetResponse_sizeConstraintSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSizeConstraintSetResponse' {Maybe SizeConstraintSet
sizeConstraintSet :: Maybe SizeConstraintSet
$sel:sizeConstraintSet:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> Maybe SizeConstraintSet
sizeConstraintSet} -> Maybe SizeConstraintSet
sizeConstraintSet) (\s :: CreateSizeConstraintSetResponse
s@CreateSizeConstraintSetResponse' {} Maybe SizeConstraintSet
a -> CreateSizeConstraintSetResponse
s {$sel:sizeConstraintSet:CreateSizeConstraintSetResponse' :: Maybe SizeConstraintSet
sizeConstraintSet = Maybe SizeConstraintSet
a} :: CreateSizeConstraintSetResponse)
createSizeConstraintSetResponse_httpStatus :: Lens.Lens' CreateSizeConstraintSetResponse Prelude.Int
createSizeConstraintSetResponse_httpStatus :: Lens' CreateSizeConstraintSetResponse Int
createSizeConstraintSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSizeConstraintSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateSizeConstraintSetResponse
s@CreateSizeConstraintSetResponse' {} Int
a -> CreateSizeConstraintSetResponse
s {$sel:httpStatus:CreateSizeConstraintSetResponse' :: Int
httpStatus = Int
a} :: CreateSizeConstraintSetResponse)
instance
Prelude.NFData
CreateSizeConstraintSetResponse
where
rnf :: CreateSizeConstraintSetResponse -> ()
rnf CreateSizeConstraintSetResponse' {Int
Maybe Text
Maybe SizeConstraintSet
httpStatus :: Int
sizeConstraintSet :: Maybe SizeConstraintSet
changeToken :: Maybe Text
$sel:httpStatus:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> Int
$sel:sizeConstraintSet:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> Maybe SizeConstraintSet
$sel:changeToken:CreateSizeConstraintSetResponse' :: CreateSizeConstraintSetResponse -> 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 SizeConstraintSet
sizeConstraintSet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus