{-# 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.CreateByteMatchSet
(
CreateByteMatchSet (..),
newCreateByteMatchSet,
createByteMatchSet_name,
createByteMatchSet_changeToken,
CreateByteMatchSetResponse (..),
newCreateByteMatchSetResponse,
createByteMatchSetResponse_byteMatchSet,
createByteMatchSetResponse_changeToken,
createByteMatchSetResponse_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 CreateByteMatchSet = CreateByteMatchSet'
{
CreateByteMatchSet -> Text
name :: Prelude.Text,
CreateByteMatchSet -> Text
changeToken :: Prelude.Text
}
deriving (CreateByteMatchSet -> CreateByteMatchSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateByteMatchSet -> CreateByteMatchSet -> Bool
$c/= :: CreateByteMatchSet -> CreateByteMatchSet -> Bool
== :: CreateByteMatchSet -> CreateByteMatchSet -> Bool
$c== :: CreateByteMatchSet -> CreateByteMatchSet -> Bool
Prelude.Eq, ReadPrec [CreateByteMatchSet]
ReadPrec CreateByteMatchSet
Int -> ReadS CreateByteMatchSet
ReadS [CreateByteMatchSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateByteMatchSet]
$creadListPrec :: ReadPrec [CreateByteMatchSet]
readPrec :: ReadPrec CreateByteMatchSet
$creadPrec :: ReadPrec CreateByteMatchSet
readList :: ReadS [CreateByteMatchSet]
$creadList :: ReadS [CreateByteMatchSet]
readsPrec :: Int -> ReadS CreateByteMatchSet
$creadsPrec :: Int -> ReadS CreateByteMatchSet
Prelude.Read, Int -> CreateByteMatchSet -> ShowS
[CreateByteMatchSet] -> ShowS
CreateByteMatchSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateByteMatchSet] -> ShowS
$cshowList :: [CreateByteMatchSet] -> ShowS
show :: CreateByteMatchSet -> String
$cshow :: CreateByteMatchSet -> String
showsPrec :: Int -> CreateByteMatchSet -> ShowS
$cshowsPrec :: Int -> CreateByteMatchSet -> ShowS
Prelude.Show, forall x. Rep CreateByteMatchSet x -> CreateByteMatchSet
forall x. CreateByteMatchSet -> Rep CreateByteMatchSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateByteMatchSet x -> CreateByteMatchSet
$cfrom :: forall x. CreateByteMatchSet -> Rep CreateByteMatchSet x
Prelude.Generic)
newCreateByteMatchSet ::
Prelude.Text ->
Prelude.Text ->
CreateByteMatchSet
newCreateByteMatchSet :: Text -> Text -> CreateByteMatchSet
newCreateByteMatchSet Text
pName_ Text
pChangeToken_ =
CreateByteMatchSet'
{ $sel:name:CreateByteMatchSet' :: Text
name = Text
pName_,
$sel:changeToken:CreateByteMatchSet' :: Text
changeToken = Text
pChangeToken_
}
createByteMatchSet_name :: Lens.Lens' CreateByteMatchSet Prelude.Text
createByteMatchSet_name :: Lens' CreateByteMatchSet Text
createByteMatchSet_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateByteMatchSet' {Text
name :: Text
$sel:name:CreateByteMatchSet' :: CreateByteMatchSet -> Text
name} -> Text
name) (\s :: CreateByteMatchSet
s@CreateByteMatchSet' {} Text
a -> CreateByteMatchSet
s {$sel:name:CreateByteMatchSet' :: Text
name = Text
a} :: CreateByteMatchSet)
createByteMatchSet_changeToken :: Lens.Lens' CreateByteMatchSet Prelude.Text
createByteMatchSet_changeToken :: Lens' CreateByteMatchSet Text
createByteMatchSet_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateByteMatchSet' {Text
changeToken :: Text
$sel:changeToken:CreateByteMatchSet' :: CreateByteMatchSet -> Text
changeToken} -> Text
changeToken) (\s :: CreateByteMatchSet
s@CreateByteMatchSet' {} Text
a -> CreateByteMatchSet
s {$sel:changeToken:CreateByteMatchSet' :: Text
changeToken = Text
a} :: CreateByteMatchSet)
instance Core.AWSRequest CreateByteMatchSet where
type
AWSResponse CreateByteMatchSet =
CreateByteMatchSetResponse
request :: (Service -> Service)
-> CreateByteMatchSet -> Request CreateByteMatchSet
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 CreateByteMatchSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateByteMatchSet)))
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 ByteMatchSet
-> Maybe Text -> Int -> CreateByteMatchSetResponse
CreateByteMatchSetResponse'
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
"ByteMatchSet")
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
"ChangeToken")
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 CreateByteMatchSet where
hashWithSalt :: Int -> CreateByteMatchSet -> Int
hashWithSalt Int
_salt CreateByteMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateByteMatchSet' :: CreateByteMatchSet -> Text
$sel:name:CreateByteMatchSet' :: CreateByteMatchSet -> 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 CreateByteMatchSet where
rnf :: CreateByteMatchSet -> ()
rnf CreateByteMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateByteMatchSet' :: CreateByteMatchSet -> Text
$sel:name:CreateByteMatchSet' :: CreateByteMatchSet -> 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 CreateByteMatchSet where
toHeaders :: CreateByteMatchSet -> 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.CreateByteMatchSet" ::
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 CreateByteMatchSet where
toJSON :: CreateByteMatchSet -> Value
toJSON CreateByteMatchSet' {Text
changeToken :: Text
name :: Text
$sel:changeToken:CreateByteMatchSet' :: CreateByteMatchSet -> Text
$sel:name:CreateByteMatchSet' :: CreateByteMatchSet -> 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 CreateByteMatchSet where
toPath :: CreateByteMatchSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateByteMatchSet where
toQuery :: CreateByteMatchSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateByteMatchSetResponse = CreateByteMatchSetResponse'
{
CreateByteMatchSetResponse -> Maybe ByteMatchSet
byteMatchSet :: Prelude.Maybe ByteMatchSet,
CreateByteMatchSetResponse -> Maybe Text
changeToken :: Prelude.Maybe Prelude.Text,
CreateByteMatchSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateByteMatchSetResponse -> CreateByteMatchSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateByteMatchSetResponse -> CreateByteMatchSetResponse -> Bool
$c/= :: CreateByteMatchSetResponse -> CreateByteMatchSetResponse -> Bool
== :: CreateByteMatchSetResponse -> CreateByteMatchSetResponse -> Bool
$c== :: CreateByteMatchSetResponse -> CreateByteMatchSetResponse -> Bool
Prelude.Eq, ReadPrec [CreateByteMatchSetResponse]
ReadPrec CreateByteMatchSetResponse
Int -> ReadS CreateByteMatchSetResponse
ReadS [CreateByteMatchSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateByteMatchSetResponse]
$creadListPrec :: ReadPrec [CreateByteMatchSetResponse]
readPrec :: ReadPrec CreateByteMatchSetResponse
$creadPrec :: ReadPrec CreateByteMatchSetResponse
readList :: ReadS [CreateByteMatchSetResponse]
$creadList :: ReadS [CreateByteMatchSetResponse]
readsPrec :: Int -> ReadS CreateByteMatchSetResponse
$creadsPrec :: Int -> ReadS CreateByteMatchSetResponse
Prelude.Read, Int -> CreateByteMatchSetResponse -> ShowS
[CreateByteMatchSetResponse] -> ShowS
CreateByteMatchSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateByteMatchSetResponse] -> ShowS
$cshowList :: [CreateByteMatchSetResponse] -> ShowS
show :: CreateByteMatchSetResponse -> String
$cshow :: CreateByteMatchSetResponse -> String
showsPrec :: Int -> CreateByteMatchSetResponse -> ShowS
$cshowsPrec :: Int -> CreateByteMatchSetResponse -> ShowS
Prelude.Show, forall x.
Rep CreateByteMatchSetResponse x -> CreateByteMatchSetResponse
forall x.
CreateByteMatchSetResponse -> Rep CreateByteMatchSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateByteMatchSetResponse x -> CreateByteMatchSetResponse
$cfrom :: forall x.
CreateByteMatchSetResponse -> Rep CreateByteMatchSetResponse x
Prelude.Generic)
newCreateByteMatchSetResponse ::
Prelude.Int ->
CreateByteMatchSetResponse
newCreateByteMatchSetResponse :: Int -> CreateByteMatchSetResponse
newCreateByteMatchSetResponse Int
pHttpStatus_ =
CreateByteMatchSetResponse'
{ $sel:byteMatchSet:CreateByteMatchSetResponse' :: Maybe ByteMatchSet
byteMatchSet =
forall a. Maybe a
Prelude.Nothing,
$sel:changeToken:CreateByteMatchSetResponse' :: Maybe Text
changeToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateByteMatchSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createByteMatchSetResponse_byteMatchSet :: Lens.Lens' CreateByteMatchSetResponse (Prelude.Maybe ByteMatchSet)
createByteMatchSetResponse_byteMatchSet :: Lens' CreateByteMatchSetResponse (Maybe ByteMatchSet)
createByteMatchSetResponse_byteMatchSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateByteMatchSetResponse' {Maybe ByteMatchSet
byteMatchSet :: Maybe ByteMatchSet
$sel:byteMatchSet:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Maybe ByteMatchSet
byteMatchSet} -> Maybe ByteMatchSet
byteMatchSet) (\s :: CreateByteMatchSetResponse
s@CreateByteMatchSetResponse' {} Maybe ByteMatchSet
a -> CreateByteMatchSetResponse
s {$sel:byteMatchSet:CreateByteMatchSetResponse' :: Maybe ByteMatchSet
byteMatchSet = Maybe ByteMatchSet
a} :: CreateByteMatchSetResponse)
createByteMatchSetResponse_changeToken :: Lens.Lens' CreateByteMatchSetResponse (Prelude.Maybe Prelude.Text)
createByteMatchSetResponse_changeToken :: Lens' CreateByteMatchSetResponse (Maybe Text)
createByteMatchSetResponse_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateByteMatchSetResponse' {Maybe Text
changeToken :: Maybe Text
$sel:changeToken:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Maybe Text
changeToken} -> Maybe Text
changeToken) (\s :: CreateByteMatchSetResponse
s@CreateByteMatchSetResponse' {} Maybe Text
a -> CreateByteMatchSetResponse
s {$sel:changeToken:CreateByteMatchSetResponse' :: Maybe Text
changeToken = Maybe Text
a} :: CreateByteMatchSetResponse)
createByteMatchSetResponse_httpStatus :: Lens.Lens' CreateByteMatchSetResponse Prelude.Int
createByteMatchSetResponse_httpStatus :: Lens' CreateByteMatchSetResponse Int
createByteMatchSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateByteMatchSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateByteMatchSetResponse
s@CreateByteMatchSetResponse' {} Int
a -> CreateByteMatchSetResponse
s {$sel:httpStatus:CreateByteMatchSetResponse' :: Int
httpStatus = Int
a} :: CreateByteMatchSetResponse)
instance Prelude.NFData CreateByteMatchSetResponse where
rnf :: CreateByteMatchSetResponse -> ()
rnf CreateByteMatchSetResponse' {Int
Maybe Text
Maybe ByteMatchSet
httpStatus :: Int
changeToken :: Maybe Text
byteMatchSet :: Maybe ByteMatchSet
$sel:httpStatus:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Int
$sel:changeToken:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Maybe Text
$sel:byteMatchSet:CreateByteMatchSetResponse' :: CreateByteMatchSetResponse -> Maybe ByteMatchSet
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe ByteMatchSet
byteMatchSet
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Int
httpStatus