{-# 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.UpdateSqlInjectionMatchSet
(
UpdateSqlInjectionMatchSet (..),
newUpdateSqlInjectionMatchSet,
updateSqlInjectionMatchSet_sqlInjectionMatchSetId,
updateSqlInjectionMatchSet_changeToken,
updateSqlInjectionMatchSet_updates,
UpdateSqlInjectionMatchSetResponse (..),
newUpdateSqlInjectionMatchSetResponse,
updateSqlInjectionMatchSetResponse_changeToken,
updateSqlInjectionMatchSetResponse_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 UpdateSqlInjectionMatchSet = UpdateSqlInjectionMatchSet'
{
UpdateSqlInjectionMatchSet -> Text
sqlInjectionMatchSetId :: Prelude.Text,
UpdateSqlInjectionMatchSet -> Text
changeToken :: Prelude.Text,
UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
updates :: Prelude.NonEmpty SqlInjectionMatchSetUpdate
}
deriving (UpdateSqlInjectionMatchSet -> UpdateSqlInjectionMatchSet -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSqlInjectionMatchSet -> UpdateSqlInjectionMatchSet -> Bool
$c/= :: UpdateSqlInjectionMatchSet -> UpdateSqlInjectionMatchSet -> Bool
== :: UpdateSqlInjectionMatchSet -> UpdateSqlInjectionMatchSet -> Bool
$c== :: UpdateSqlInjectionMatchSet -> UpdateSqlInjectionMatchSet -> Bool
Prelude.Eq, ReadPrec [UpdateSqlInjectionMatchSet]
ReadPrec UpdateSqlInjectionMatchSet
Int -> ReadS UpdateSqlInjectionMatchSet
ReadS [UpdateSqlInjectionMatchSet]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateSqlInjectionMatchSet]
$creadListPrec :: ReadPrec [UpdateSqlInjectionMatchSet]
readPrec :: ReadPrec UpdateSqlInjectionMatchSet
$creadPrec :: ReadPrec UpdateSqlInjectionMatchSet
readList :: ReadS [UpdateSqlInjectionMatchSet]
$creadList :: ReadS [UpdateSqlInjectionMatchSet]
readsPrec :: Int -> ReadS UpdateSqlInjectionMatchSet
$creadsPrec :: Int -> ReadS UpdateSqlInjectionMatchSet
Prelude.Read, Int -> UpdateSqlInjectionMatchSet -> ShowS
[UpdateSqlInjectionMatchSet] -> ShowS
UpdateSqlInjectionMatchSet -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSqlInjectionMatchSet] -> ShowS
$cshowList :: [UpdateSqlInjectionMatchSet] -> ShowS
show :: UpdateSqlInjectionMatchSet -> String
$cshow :: UpdateSqlInjectionMatchSet -> String
showsPrec :: Int -> UpdateSqlInjectionMatchSet -> ShowS
$cshowsPrec :: Int -> UpdateSqlInjectionMatchSet -> ShowS
Prelude.Show, forall x.
Rep UpdateSqlInjectionMatchSet x -> UpdateSqlInjectionMatchSet
forall x.
UpdateSqlInjectionMatchSet -> Rep UpdateSqlInjectionMatchSet x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateSqlInjectionMatchSet x -> UpdateSqlInjectionMatchSet
$cfrom :: forall x.
UpdateSqlInjectionMatchSet -> Rep UpdateSqlInjectionMatchSet x
Prelude.Generic)
newUpdateSqlInjectionMatchSet ::
Prelude.Text ->
Prelude.Text ->
Prelude.NonEmpty SqlInjectionMatchSetUpdate ->
UpdateSqlInjectionMatchSet
newUpdateSqlInjectionMatchSet :: Text
-> Text
-> NonEmpty SqlInjectionMatchSetUpdate
-> UpdateSqlInjectionMatchSet
newUpdateSqlInjectionMatchSet
Text
pSqlInjectionMatchSetId_
Text
pChangeToken_
NonEmpty SqlInjectionMatchSetUpdate
pUpdates_ =
UpdateSqlInjectionMatchSet'
{ $sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: Text
sqlInjectionMatchSetId =
Text
pSqlInjectionMatchSetId_,
$sel:changeToken:UpdateSqlInjectionMatchSet' :: Text
changeToken = Text
pChangeToken_,
$sel:updates:UpdateSqlInjectionMatchSet' :: NonEmpty SqlInjectionMatchSetUpdate
updates = forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced forall t b. AReview t b -> b -> t
Lens.# NonEmpty SqlInjectionMatchSetUpdate
pUpdates_
}
updateSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens.Lens' UpdateSqlInjectionMatchSet Prelude.Text
updateSqlInjectionMatchSet_sqlInjectionMatchSetId :: Lens' UpdateSqlInjectionMatchSet Text
updateSqlInjectionMatchSet_sqlInjectionMatchSetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSqlInjectionMatchSet' {Text
sqlInjectionMatchSetId :: Text
$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
sqlInjectionMatchSetId} -> Text
sqlInjectionMatchSetId) (\s :: UpdateSqlInjectionMatchSet
s@UpdateSqlInjectionMatchSet' {} Text
a -> UpdateSqlInjectionMatchSet
s {$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: Text
sqlInjectionMatchSetId = Text
a} :: UpdateSqlInjectionMatchSet)
updateSqlInjectionMatchSet_changeToken :: Lens.Lens' UpdateSqlInjectionMatchSet Prelude.Text
updateSqlInjectionMatchSet_changeToken :: Lens' UpdateSqlInjectionMatchSet Text
updateSqlInjectionMatchSet_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSqlInjectionMatchSet' {Text
changeToken :: Text
$sel:changeToken:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
changeToken} -> Text
changeToken) (\s :: UpdateSqlInjectionMatchSet
s@UpdateSqlInjectionMatchSet' {} Text
a -> UpdateSqlInjectionMatchSet
s {$sel:changeToken:UpdateSqlInjectionMatchSet' :: Text
changeToken = Text
a} :: UpdateSqlInjectionMatchSet)
updateSqlInjectionMatchSet_updates :: Lens.Lens' UpdateSqlInjectionMatchSet (Prelude.NonEmpty SqlInjectionMatchSetUpdate)
updateSqlInjectionMatchSet_updates :: Lens'
UpdateSqlInjectionMatchSet (NonEmpty SqlInjectionMatchSetUpdate)
updateSqlInjectionMatchSet_updates = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSqlInjectionMatchSet' {NonEmpty SqlInjectionMatchSetUpdate
updates :: NonEmpty SqlInjectionMatchSetUpdate
$sel:updates:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
updates} -> NonEmpty SqlInjectionMatchSetUpdate
updates) (\s :: UpdateSqlInjectionMatchSet
s@UpdateSqlInjectionMatchSet' {} NonEmpty SqlInjectionMatchSetUpdate
a -> UpdateSqlInjectionMatchSet
s {$sel:updates:UpdateSqlInjectionMatchSet' :: NonEmpty SqlInjectionMatchSetUpdate
updates = NonEmpty SqlInjectionMatchSetUpdate
a} :: UpdateSqlInjectionMatchSet) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest UpdateSqlInjectionMatchSet where
type
AWSResponse UpdateSqlInjectionMatchSet =
UpdateSqlInjectionMatchSetResponse
request :: (Service -> Service)
-> UpdateSqlInjectionMatchSet -> Request UpdateSqlInjectionMatchSet
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 UpdateSqlInjectionMatchSet
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateSqlInjectionMatchSet)))
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 -> Int -> UpdateSqlInjectionMatchSetResponse
UpdateSqlInjectionMatchSetResponse'
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.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
)
instance Prelude.Hashable UpdateSqlInjectionMatchSet where
hashWithSalt :: Int -> UpdateSqlInjectionMatchSet -> Int
hashWithSalt Int
_salt UpdateSqlInjectionMatchSet' {NonEmpty SqlInjectionMatchSetUpdate
Text
updates :: NonEmpty SqlInjectionMatchSetUpdate
changeToken :: Text
sqlInjectionMatchSetId :: Text
$sel:updates:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
$sel:changeToken:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
sqlInjectionMatchSetId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
changeToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` NonEmpty SqlInjectionMatchSetUpdate
updates
instance Prelude.NFData UpdateSqlInjectionMatchSet where
rnf :: UpdateSqlInjectionMatchSet -> ()
rnf UpdateSqlInjectionMatchSet' {NonEmpty SqlInjectionMatchSetUpdate
Text
updates :: NonEmpty SqlInjectionMatchSetUpdate
changeToken :: Text
sqlInjectionMatchSetId :: Text
$sel:updates:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
$sel:changeToken:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
sqlInjectionMatchSetId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
changeToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf NonEmpty SqlInjectionMatchSetUpdate
updates
instance Data.ToHeaders UpdateSqlInjectionMatchSet where
toHeaders :: UpdateSqlInjectionMatchSet -> 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.UpdateSqlInjectionMatchSet" ::
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 UpdateSqlInjectionMatchSet where
toJSON :: UpdateSqlInjectionMatchSet -> Value
toJSON UpdateSqlInjectionMatchSet' {NonEmpty SqlInjectionMatchSetUpdate
Text
updates :: NonEmpty SqlInjectionMatchSetUpdate
changeToken :: Text
sqlInjectionMatchSetId :: Text
$sel:updates:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> NonEmpty SqlInjectionMatchSetUpdate
$sel:changeToken:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
$sel:sqlInjectionMatchSetId:UpdateSqlInjectionMatchSet' :: UpdateSqlInjectionMatchSet -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just
( Key
"SqlInjectionMatchSetId"
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
sqlInjectionMatchSetId
),
forall a. a -> Maybe a
Prelude.Just (Key
"ChangeToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
changeToken),
forall a. a -> Maybe a
Prelude.Just (Key
"Updates" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= NonEmpty SqlInjectionMatchSetUpdate
updates)
]
)
instance Data.ToPath UpdateSqlInjectionMatchSet where
toPath :: UpdateSqlInjectionMatchSet -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery UpdateSqlInjectionMatchSet where
toQuery :: UpdateSqlInjectionMatchSet -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateSqlInjectionMatchSetResponse = UpdateSqlInjectionMatchSetResponse'
{
UpdateSqlInjectionMatchSetResponse -> Maybe Text
changeToken :: Prelude.Maybe Prelude.Text,
UpdateSqlInjectionMatchSetResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateSqlInjectionMatchSetResponse
-> UpdateSqlInjectionMatchSetResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateSqlInjectionMatchSetResponse
-> UpdateSqlInjectionMatchSetResponse -> Bool
$c/= :: UpdateSqlInjectionMatchSetResponse
-> UpdateSqlInjectionMatchSetResponse -> Bool
== :: UpdateSqlInjectionMatchSetResponse
-> UpdateSqlInjectionMatchSetResponse -> Bool
$c== :: UpdateSqlInjectionMatchSetResponse
-> UpdateSqlInjectionMatchSetResponse -> Bool
Prelude.Eq, ReadPrec [UpdateSqlInjectionMatchSetResponse]
ReadPrec UpdateSqlInjectionMatchSetResponse
Int -> ReadS UpdateSqlInjectionMatchSetResponse
ReadS [UpdateSqlInjectionMatchSetResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateSqlInjectionMatchSetResponse]
$creadListPrec :: ReadPrec [UpdateSqlInjectionMatchSetResponse]
readPrec :: ReadPrec UpdateSqlInjectionMatchSetResponse
$creadPrec :: ReadPrec UpdateSqlInjectionMatchSetResponse
readList :: ReadS [UpdateSqlInjectionMatchSetResponse]
$creadList :: ReadS [UpdateSqlInjectionMatchSetResponse]
readsPrec :: Int -> ReadS UpdateSqlInjectionMatchSetResponse
$creadsPrec :: Int -> ReadS UpdateSqlInjectionMatchSetResponse
Prelude.Read, Int -> UpdateSqlInjectionMatchSetResponse -> ShowS
[UpdateSqlInjectionMatchSetResponse] -> ShowS
UpdateSqlInjectionMatchSetResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateSqlInjectionMatchSetResponse] -> ShowS
$cshowList :: [UpdateSqlInjectionMatchSetResponse] -> ShowS
show :: UpdateSqlInjectionMatchSetResponse -> String
$cshow :: UpdateSqlInjectionMatchSetResponse -> String
showsPrec :: Int -> UpdateSqlInjectionMatchSetResponse -> ShowS
$cshowsPrec :: Int -> UpdateSqlInjectionMatchSetResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateSqlInjectionMatchSetResponse x
-> UpdateSqlInjectionMatchSetResponse
forall x.
UpdateSqlInjectionMatchSetResponse
-> Rep UpdateSqlInjectionMatchSetResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateSqlInjectionMatchSetResponse x
-> UpdateSqlInjectionMatchSetResponse
$cfrom :: forall x.
UpdateSqlInjectionMatchSetResponse
-> Rep UpdateSqlInjectionMatchSetResponse x
Prelude.Generic)
newUpdateSqlInjectionMatchSetResponse ::
Prelude.Int ->
UpdateSqlInjectionMatchSetResponse
newUpdateSqlInjectionMatchSetResponse :: Int -> UpdateSqlInjectionMatchSetResponse
newUpdateSqlInjectionMatchSetResponse Int
pHttpStatus_ =
UpdateSqlInjectionMatchSetResponse'
{ $sel:changeToken:UpdateSqlInjectionMatchSetResponse' :: Maybe Text
changeToken =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:UpdateSqlInjectionMatchSetResponse' :: Int
httpStatus = Int
pHttpStatus_
}
updateSqlInjectionMatchSetResponse_changeToken :: Lens.Lens' UpdateSqlInjectionMatchSetResponse (Prelude.Maybe Prelude.Text)
updateSqlInjectionMatchSetResponse_changeToken :: Lens' UpdateSqlInjectionMatchSetResponse (Maybe Text)
updateSqlInjectionMatchSetResponse_changeToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSqlInjectionMatchSetResponse' {Maybe Text
changeToken :: Maybe Text
$sel:changeToken:UpdateSqlInjectionMatchSetResponse' :: UpdateSqlInjectionMatchSetResponse -> Maybe Text
changeToken} -> Maybe Text
changeToken) (\s :: UpdateSqlInjectionMatchSetResponse
s@UpdateSqlInjectionMatchSetResponse' {} Maybe Text
a -> UpdateSqlInjectionMatchSetResponse
s {$sel:changeToken:UpdateSqlInjectionMatchSetResponse' :: Maybe Text
changeToken = Maybe Text
a} :: UpdateSqlInjectionMatchSetResponse)
updateSqlInjectionMatchSetResponse_httpStatus :: Lens.Lens' UpdateSqlInjectionMatchSetResponse Prelude.Int
updateSqlInjectionMatchSetResponse_httpStatus :: Lens' UpdateSqlInjectionMatchSetResponse Int
updateSqlInjectionMatchSetResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateSqlInjectionMatchSetResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateSqlInjectionMatchSetResponse' :: UpdateSqlInjectionMatchSetResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateSqlInjectionMatchSetResponse
s@UpdateSqlInjectionMatchSetResponse' {} Int
a -> UpdateSqlInjectionMatchSetResponse
s {$sel:httpStatus:UpdateSqlInjectionMatchSetResponse' :: Int
httpStatus = Int
a} :: UpdateSqlInjectionMatchSetResponse)
instance
Prelude.NFData
UpdateSqlInjectionMatchSetResponse
where
rnf :: UpdateSqlInjectionMatchSetResponse -> ()
rnf UpdateSqlInjectionMatchSetResponse' {Int
Maybe Text
httpStatus :: Int
changeToken :: Maybe Text
$sel:httpStatus:UpdateSqlInjectionMatchSetResponse' :: UpdateSqlInjectionMatchSetResponse -> Int
$sel:changeToken:UpdateSqlInjectionMatchSetResponse' :: UpdateSqlInjectionMatchSetResponse -> 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 Int
httpStatus