{-# 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.WAFRegional.CreateXssMatchSet
(
CreateXssMatchSet (..),
newCreateXssMatchSet,
createXssMatchSet_name,
createXssMatchSet_changeToken,
CreateXssMatchSetResponse (..),
newCreateXssMatchSetResponse,
createXssMatchSetResponse_changeToken,
createXssMatchSetResponse_xssMatchSet,
createXssMatchSetResponse_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.WAFRegional.Types
data CreateXssMatchSet = CreateXssMatchSet'
{
CreateXssMatchSet -> Text
name :: Prelude.Text,
CreateXssMatchSet -> Text
changeToken :: Prelude.Text
}
deriving (CreateXssMatchSet -> CreateXssMatchSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateXssMatchSet -> CreateXssMatchSet -> Bool
$c/= :: CreateXssMatchSet -> CreateXssMatchSet -> Bool
== :: CreateXssMatchSet -> CreateXssMatchSet -> Bool
$c== :: CreateXssMatchSet -> CreateXssMatchSet -> Bool
Prelude.Eq, ReadPrec [CreateXssMatchSet]
ReadPrec CreateXssMatchSet
Int -> ReadS CreateXssMatchSet
ReadS [CreateXssMatchSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateXssMatchSet]
$creadListPrec :: ReadPrec [CreateXssMatchSet]
readPrec :: ReadPrec CreateXssMatchSet
$creadPrec :: ReadPrec CreateXssMatchSet
readList :: ReadS [CreateXssMatchSet]
$creadList :: ReadS [CreateXssMatchSet]
readsPrec :: Int -> ReadS CreateXssMatchSet
$creadsPrec :: Int -> ReadS CreateXssMatchSet
Prelude.Read, Int -> CreateXssMatchSet -> ShowS
[CreateXssMatchSet] -> ShowS
CreateXssMatchSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateXssMatchSet] -> ShowS
$cshowList :: [CreateXssMatchSet] -> ShowS
show :: CreateXssMatchSet -> String
$cshow :: CreateXssMatchSet -> String
showsPrec :: Int -> CreateXssMatchSet -> ShowS
$cshowsPrec :: Int -> CreateXssMatchSet -> ShowS
Prelude.Show, forall x. Rep CreateXssMatchSet x -> CreateXssMatchSet
forall x. CreateXssMatchSet -> Rep CreateXssMatchSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateXssMatchSet x -> CreateXssMatchSet
$cfrom :: forall x. CreateXssMatchSet -> Rep CreateXssMatchSet x
Prelude.Generic)
newCreateXssMatchSet ::
Prelude.Text ->
Prelude.Text ->
CreateXssMatchSet
newCreateXssMatchSet :: Text -> Text -> CreateXssMatchSet
newCreateXssMatchSet Text
pName_ Text
pChangeToken_ =
CreateXssMatchSet'
{ $sel:name:CreateXssMatchSet' :: Text
name = Text
pName_,
$sel:changeToken:CreateXssMatchSet' :: Text
changeToken = Text
pChangeToken_
}
createXssMatchSet_name :: Lens.Lens' CreateXssMatchSet Prelude.Text
createXssMatchSet_name :: Lens' CreateXssMatchSet Text
createXssMatchSet_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateXssMatchSet' {Text
name :: Text
$sel:name:CreateXssMatchSet' :: CreateXssMatchSet -> Text
name} -> Text
name) (\s :: CreateXssMatchSet
s@CreateXssMatchSet' {} Text
a -> CreateXssMatchSet
s {$sel:name:CreateXssMatchSet' :: Text
name = Text
a} :: CreateXssMatchSet)
createXssMatchSet_changeToken :: Lens.Lens' CreateXssMatchSet Prelude.Text
createXssMatchSet_changeToken :: Lens' CreateXssMatchSet Text
createXssMatchSet_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateXssMatchSet' {Text
changeToken :: Text
$sel:changeToken:CreateXssMatchSet' :: CreateXssMatchSet -> Text
changeToken} -> Text
changeToken) (\s :: CreateXssMatchSet
s@CreateXssMatchSet' {} Text
a -> CreateXssMatchSet
s {$sel:changeToken:CreateXssMatchSet' :: Text
changeToken = Text
a} :: CreateXssMatchSet)
instance Core.AWSRequest CreateXssMatchSet where
type
AWSResponse CreateXssMatchSet =
CreateXssMatchSetResponse
request :: (Service -> Service)
-> CreateXssMatchSet -> Request CreateXssMatchSet
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 CreateXssMatchSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateXssMatchSet)))
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 XssMatchSet -> Int -> CreateXssMatchSetResponse
CreateXssMatchSetResponse'
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
"XssMatchSet")
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 CreateXssMatchSet where
hashWithSalt :: Int -> CreateXssMatchSet -> Int
hashWithSalt Int
_salt CreateXssMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateXssMatchSet' :: CreateXssMatchSet -> Text
$sel:name:CreateXssMatchSet' :: CreateXssMatchSet -> 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 CreateXssMatchSet where
rnf :: CreateXssMatchSet -> ()
rnf CreateXssMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateXssMatchSet' :: CreateXssMatchSet -> Text
$sel:name:CreateXssMatchSet' :: CreateXssMatchSet -> 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 CreateXssMatchSet where
toHeaders :: CreateXssMatchSet -> 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_Regional_20161128.CreateXssMatchSet" ::
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 CreateXssMatchSet where
toJSON :: CreateXssMatchSet -> Value
toJSON CreateXssMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateXssMatchSet' :: CreateXssMatchSet -> Text
$sel:name:CreateXssMatchSet' :: CreateXssMatchSet -> 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 CreateXssMatchSet where
toPath :: CreateXssMatchSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateXssMatchSet where
toQuery :: CreateXssMatchSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateXssMatchSetResponse = CreateXssMatchSetResponse'
{
CreateXssMatchSetResponse -> Maybe Text
changeToken :: Prelude.Maybe Prelude.Text,
CreateXssMatchSetResponse -> Maybe XssMatchSet
xssMatchSet :: Prelude.Maybe XssMatchSet,
CreateXssMatchSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateXssMatchSetResponse -> CreateXssMatchSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateXssMatchSetResponse -> CreateXssMatchSetResponse -> Bool
$c/= :: CreateXssMatchSetResponse -> CreateXssMatchSetResponse -> Bool
== :: CreateXssMatchSetResponse -> CreateXssMatchSetResponse -> Bool
$c== :: CreateXssMatchSetResponse -> CreateXssMatchSetResponse -> Bool
Prelude.Eq, ReadPrec [CreateXssMatchSetResponse]
ReadPrec CreateXssMatchSetResponse
Int -> ReadS CreateXssMatchSetResponse
ReadS [CreateXssMatchSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateXssMatchSetResponse]
$creadListPrec :: ReadPrec [CreateXssMatchSetResponse]
readPrec :: ReadPrec CreateXssMatchSetResponse
$creadPrec :: ReadPrec CreateXssMatchSetResponse
readList :: ReadS [CreateXssMatchSetResponse]
$creadList :: ReadS [CreateXssMatchSetResponse]
readsPrec :: Int -> ReadS CreateXssMatchSetResponse
$creadsPrec :: Int -> ReadS CreateXssMatchSetResponse
Prelude.Read, Int -> CreateXssMatchSetResponse -> ShowS
[CreateXssMatchSetResponse] -> ShowS
CreateXssMatchSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateXssMatchSetResponse] -> ShowS
$cshowList :: [CreateXssMatchSetResponse] -> ShowS
show :: CreateXssMatchSetResponse -> String
$cshow :: CreateXssMatchSetResponse -> String
showsPrec :: Int -> CreateXssMatchSetResponse -> ShowS
$cshowsPrec :: Int -> CreateXssMatchSetResponse -> ShowS
Prelude.Show, forall x.
Rep CreateXssMatchSetResponse x -> CreateXssMatchSetResponse
forall x.
CreateXssMatchSetResponse -> Rep CreateXssMatchSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateXssMatchSetResponse x -> CreateXssMatchSetResponse
$cfrom :: forall x.
CreateXssMatchSetResponse -> Rep CreateXssMatchSetResponse x
Prelude.Generic)
newCreateXssMatchSetResponse ::
Prelude.Int ->
CreateXssMatchSetResponse
newCreateXssMatchSetResponse :: Int -> CreateXssMatchSetResponse
newCreateXssMatchSetResponse Int
pHttpStatus_ =
CreateXssMatchSetResponse'
{ $sel:changeToken:CreateXssMatchSetResponse' :: Maybe Text
changeToken =
forall a. Maybe a
Prelude.Nothing,
$sel:xssMatchSet:CreateXssMatchSetResponse' :: Maybe XssMatchSet
xssMatchSet = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateXssMatchSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createXssMatchSetResponse_changeToken :: Lens.Lens' CreateXssMatchSetResponse (Prelude.Maybe Prelude.Text)
createXssMatchSetResponse_changeToken :: Lens' CreateXssMatchSetResponse (Maybe Text)
createXssMatchSetResponse_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateXssMatchSetResponse' {Maybe Text
changeToken :: Maybe Text
$sel:changeToken:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> Maybe Text
changeToken} -> Maybe Text
changeToken) (\s :: CreateXssMatchSetResponse
s@CreateXssMatchSetResponse' {} Maybe Text
a -> CreateXssMatchSetResponse
s {$sel:changeToken:CreateXssMatchSetResponse' :: Maybe Text
changeToken = Maybe Text
a} :: CreateXssMatchSetResponse)
createXssMatchSetResponse_xssMatchSet :: Lens.Lens' CreateXssMatchSetResponse (Prelude.Maybe XssMatchSet)
createXssMatchSetResponse_xssMatchSet :: Lens' CreateXssMatchSetResponse (Maybe XssMatchSet)
createXssMatchSetResponse_xssMatchSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateXssMatchSetResponse' {Maybe XssMatchSet
xssMatchSet :: Maybe XssMatchSet
$sel:xssMatchSet:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> Maybe XssMatchSet
xssMatchSet} -> Maybe XssMatchSet
xssMatchSet) (\s :: CreateXssMatchSetResponse
s@CreateXssMatchSetResponse' {} Maybe XssMatchSet
a -> CreateXssMatchSetResponse
s {$sel:xssMatchSet:CreateXssMatchSetResponse' :: Maybe XssMatchSet
xssMatchSet = Maybe XssMatchSet
a} :: CreateXssMatchSetResponse)
createXssMatchSetResponse_httpStatus :: Lens.Lens' CreateXssMatchSetResponse Prelude.Int
createXssMatchSetResponse_httpStatus :: Lens' CreateXssMatchSetResponse Int
createXssMatchSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateXssMatchSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateXssMatchSetResponse
s@CreateXssMatchSetResponse' {} Int
a -> CreateXssMatchSetResponse
s {$sel:httpStatus:CreateXssMatchSetResponse' :: Int
httpStatus = Int
a} :: CreateXssMatchSetResponse)
instance Prelude.NFData CreateXssMatchSetResponse where
rnf :: CreateXssMatchSetResponse -> ()
rnf CreateXssMatchSetResponse' {Int
Maybe Text
Maybe XssMatchSet
httpStatus :: Int
xssMatchSet :: Maybe XssMatchSet
changeToken :: Maybe Text
$sel:httpStatus:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> Int
$sel:xssMatchSet:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> Maybe XssMatchSet
$sel:changeToken:CreateXssMatchSetResponse' :: CreateXssMatchSetResponse -> 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 XssMatchSet
xssMatchSet
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus