{-# 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.WAFV2.CreateWebACL
(
CreateWebACL (..),
newCreateWebACL,
createWebACL_captchaConfig,
createWebACL_challengeConfig,
createWebACL_customResponseBodies,
createWebACL_description,
createWebACL_rules,
createWebACL_tags,
createWebACL_tokenDomains,
createWebACL_name,
createWebACL_scope,
createWebACL_defaultAction,
createWebACL_visibilityConfig,
CreateWebACLResponse (..),
newCreateWebACLResponse,
createWebACLResponse_summary,
createWebACLResponse_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.WAFV2.Types
data CreateWebACL = CreateWebACL'
{
CreateWebACL -> Maybe CaptchaConfig
captchaConfig :: Prelude.Maybe CaptchaConfig,
CreateWebACL -> Maybe ChallengeConfig
challengeConfig :: Prelude.Maybe ChallengeConfig,
CreateWebACL -> Maybe (HashMap Text CustomResponseBody)
customResponseBodies :: Prelude.Maybe (Prelude.HashMap Prelude.Text CustomResponseBody),
CreateWebACL -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
CreateWebACL -> Maybe [Rule]
rules :: Prelude.Maybe [Rule],
CreateWebACL -> Maybe (NonEmpty Tag)
tags :: Prelude.Maybe (Prelude.NonEmpty Tag),
CreateWebACL -> Maybe (NonEmpty Text)
tokenDomains :: Prelude.Maybe (Prelude.NonEmpty Prelude.Text),
CreateWebACL -> Text
name :: Prelude.Text,
CreateWebACL -> Scope
scope :: Scope,
CreateWebACL -> DefaultAction
defaultAction :: DefaultAction,
CreateWebACL -> VisibilityConfig
visibilityConfig :: VisibilityConfig
}
deriving (CreateWebACL -> CreateWebACL -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateWebACL -> CreateWebACL -> Bool
$c/= :: CreateWebACL -> CreateWebACL -> Bool
== :: CreateWebACL -> CreateWebACL -> Bool
$c== :: CreateWebACL -> CreateWebACL -> Bool
Prelude.Eq, ReadPrec [CreateWebACL]
ReadPrec CreateWebACL
Int -> ReadS CreateWebACL
ReadS [CreateWebACL]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateWebACL]
$creadListPrec :: ReadPrec [CreateWebACL]
readPrec :: ReadPrec CreateWebACL
$creadPrec :: ReadPrec CreateWebACL
readList :: ReadS [CreateWebACL]
$creadList :: ReadS [CreateWebACL]
readsPrec :: Int -> ReadS CreateWebACL
$creadsPrec :: Int -> ReadS CreateWebACL
Prelude.Read, Int -> CreateWebACL -> ShowS
[CreateWebACL] -> ShowS
CreateWebACL -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateWebACL] -> ShowS
$cshowList :: [CreateWebACL] -> ShowS
show :: CreateWebACL -> String
$cshow :: CreateWebACL -> String
showsPrec :: Int -> CreateWebACL -> ShowS
$cshowsPrec :: Int -> CreateWebACL -> ShowS
Prelude.Show, forall x. Rep CreateWebACL x -> CreateWebACL
forall x. CreateWebACL -> Rep CreateWebACL x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateWebACL x -> CreateWebACL
$cfrom :: forall x. CreateWebACL -> Rep CreateWebACL x
Prelude.Generic)
newCreateWebACL ::
Prelude.Text ->
Scope ->
DefaultAction ->
VisibilityConfig ->
CreateWebACL
newCreateWebACL :: Text -> Scope -> DefaultAction -> VisibilityConfig -> CreateWebACL
newCreateWebACL
Text
pName_
Scope
pScope_
DefaultAction
pDefaultAction_
VisibilityConfig
pVisibilityConfig_ =
CreateWebACL'
{ $sel:captchaConfig:CreateWebACL' :: Maybe CaptchaConfig
captchaConfig = forall a. Maybe a
Prelude.Nothing,
$sel:challengeConfig:CreateWebACL' :: Maybe ChallengeConfig
challengeConfig = forall a. Maybe a
Prelude.Nothing,
$sel:customResponseBodies:CreateWebACL' :: Maybe (HashMap Text CustomResponseBody)
customResponseBodies = forall a. Maybe a
Prelude.Nothing,
$sel:description:CreateWebACL' :: Maybe Text
description = forall a. Maybe a
Prelude.Nothing,
$sel:rules:CreateWebACL' :: Maybe [Rule]
rules = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateWebACL' :: Maybe (NonEmpty Tag)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:tokenDomains:CreateWebACL' :: Maybe (NonEmpty Text)
tokenDomains = forall a. Maybe a
Prelude.Nothing,
$sel:name:CreateWebACL' :: Text
name = Text
pName_,
$sel:scope:CreateWebACL' :: Scope
scope = Scope
pScope_,
$sel:defaultAction:CreateWebACL' :: DefaultAction
defaultAction = DefaultAction
pDefaultAction_,
$sel:visibilityConfig:CreateWebACL' :: VisibilityConfig
visibilityConfig = VisibilityConfig
pVisibilityConfig_
}
createWebACL_captchaConfig :: Lens.Lens' CreateWebACL (Prelude.Maybe CaptchaConfig)
createWebACL_captchaConfig :: Lens' CreateWebACL (Maybe CaptchaConfig)
createWebACL_captchaConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe CaptchaConfig
captchaConfig :: Maybe CaptchaConfig
$sel:captchaConfig:CreateWebACL' :: CreateWebACL -> Maybe CaptchaConfig
captchaConfig} -> Maybe CaptchaConfig
captchaConfig) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe CaptchaConfig
a -> CreateWebACL
s {$sel:captchaConfig:CreateWebACL' :: Maybe CaptchaConfig
captchaConfig = Maybe CaptchaConfig
a} :: CreateWebACL)
createWebACL_challengeConfig :: Lens.Lens' CreateWebACL (Prelude.Maybe ChallengeConfig)
createWebACL_challengeConfig :: Lens' CreateWebACL (Maybe ChallengeConfig)
createWebACL_challengeConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe ChallengeConfig
challengeConfig :: Maybe ChallengeConfig
$sel:challengeConfig:CreateWebACL' :: CreateWebACL -> Maybe ChallengeConfig
challengeConfig} -> Maybe ChallengeConfig
challengeConfig) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe ChallengeConfig
a -> CreateWebACL
s {$sel:challengeConfig:CreateWebACL' :: Maybe ChallengeConfig
challengeConfig = Maybe ChallengeConfig
a} :: CreateWebACL)
createWebACL_customResponseBodies :: Lens.Lens' CreateWebACL (Prelude.Maybe (Prelude.HashMap Prelude.Text CustomResponseBody))
createWebACL_customResponseBodies :: Lens' CreateWebACL (Maybe (HashMap Text CustomResponseBody))
createWebACL_customResponseBodies = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe (HashMap Text CustomResponseBody)
customResponseBodies :: Maybe (HashMap Text CustomResponseBody)
$sel:customResponseBodies:CreateWebACL' :: CreateWebACL -> Maybe (HashMap Text CustomResponseBody)
customResponseBodies} -> Maybe (HashMap Text CustomResponseBody)
customResponseBodies) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe (HashMap Text CustomResponseBody)
a -> CreateWebACL
s {$sel:customResponseBodies:CreateWebACL' :: Maybe (HashMap Text CustomResponseBody)
customResponseBodies = Maybe (HashMap Text CustomResponseBody)
a} :: CreateWebACL) 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
createWebACL_description :: Lens.Lens' CreateWebACL (Prelude.Maybe Prelude.Text)
createWebACL_description :: Lens' CreateWebACL (Maybe Text)
createWebACL_description = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe Text
description :: Maybe Text
$sel:description:CreateWebACL' :: CreateWebACL -> Maybe Text
description} -> Maybe Text
description) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe Text
a -> CreateWebACL
s {$sel:description:CreateWebACL' :: Maybe Text
description = Maybe Text
a} :: CreateWebACL)
createWebACL_rules :: Lens.Lens' CreateWebACL (Prelude.Maybe [Rule])
createWebACL_rules :: Lens' CreateWebACL (Maybe [Rule])
createWebACL_rules = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe [Rule]
rules :: Maybe [Rule]
$sel:rules:CreateWebACL' :: CreateWebACL -> Maybe [Rule]
rules} -> Maybe [Rule]
rules) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe [Rule]
a -> CreateWebACL
s {$sel:rules:CreateWebACL' :: Maybe [Rule]
rules = Maybe [Rule]
a} :: CreateWebACL) 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
createWebACL_tags :: Lens.Lens' CreateWebACL (Prelude.Maybe (Prelude.NonEmpty Tag))
createWebACL_tags :: Lens' CreateWebACL (Maybe (NonEmpty Tag))
createWebACL_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe (NonEmpty Tag)
tags :: Maybe (NonEmpty Tag)
$sel:tags:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Tag)
tags} -> Maybe (NonEmpty Tag)
tags) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe (NonEmpty Tag)
a -> CreateWebACL
s {$sel:tags:CreateWebACL' :: Maybe (NonEmpty Tag)
tags = Maybe (NonEmpty Tag)
a} :: CreateWebACL) 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
createWebACL_tokenDomains :: Lens.Lens' CreateWebACL (Prelude.Maybe (Prelude.NonEmpty Prelude.Text))
createWebACL_tokenDomains :: Lens' CreateWebACL (Maybe (NonEmpty Text))
createWebACL_tokenDomains = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Maybe (NonEmpty Text)
tokenDomains :: Maybe (NonEmpty Text)
$sel:tokenDomains:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Text)
tokenDomains} -> Maybe (NonEmpty Text)
tokenDomains) (\s :: CreateWebACL
s@CreateWebACL' {} Maybe (NonEmpty Text)
a -> CreateWebACL
s {$sel:tokenDomains:CreateWebACL' :: Maybe (NonEmpty Text)
tokenDomains = Maybe (NonEmpty Text)
a} :: CreateWebACL) 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
createWebACL_name :: Lens.Lens' CreateWebACL Prelude.Text
createWebACL_name :: Lens' CreateWebACL Text
createWebACL_name = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Text
name :: Text
$sel:name:CreateWebACL' :: CreateWebACL -> Text
name} -> Text
name) (\s :: CreateWebACL
s@CreateWebACL' {} Text
a -> CreateWebACL
s {$sel:name:CreateWebACL' :: Text
name = Text
a} :: CreateWebACL)
createWebACL_scope :: Lens.Lens' CreateWebACL Scope
createWebACL_scope :: Lens' CreateWebACL Scope
createWebACL_scope = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {Scope
scope :: Scope
$sel:scope:CreateWebACL' :: CreateWebACL -> Scope
scope} -> Scope
scope) (\s :: CreateWebACL
s@CreateWebACL' {} Scope
a -> CreateWebACL
s {$sel:scope:CreateWebACL' :: Scope
scope = Scope
a} :: CreateWebACL)
createWebACL_defaultAction :: Lens.Lens' CreateWebACL DefaultAction
createWebACL_defaultAction :: Lens' CreateWebACL DefaultAction
createWebACL_defaultAction = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {DefaultAction
defaultAction :: DefaultAction
$sel:defaultAction:CreateWebACL' :: CreateWebACL -> DefaultAction
defaultAction} -> DefaultAction
defaultAction) (\s :: CreateWebACL
s@CreateWebACL' {} DefaultAction
a -> CreateWebACL
s {$sel:defaultAction:CreateWebACL' :: DefaultAction
defaultAction = DefaultAction
a} :: CreateWebACL)
createWebACL_visibilityConfig :: Lens.Lens' CreateWebACL VisibilityConfig
createWebACL_visibilityConfig :: Lens' CreateWebACL VisibilityConfig
createWebACL_visibilityConfig = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACL' {VisibilityConfig
visibilityConfig :: VisibilityConfig
$sel:visibilityConfig:CreateWebACL' :: CreateWebACL -> VisibilityConfig
visibilityConfig} -> VisibilityConfig
visibilityConfig) (\s :: CreateWebACL
s@CreateWebACL' {} VisibilityConfig
a -> CreateWebACL
s {$sel:visibilityConfig:CreateWebACL' :: VisibilityConfig
visibilityConfig = VisibilityConfig
a} :: CreateWebACL)
instance Core.AWSRequest CreateWebACL where
type AWSResponse CreateWebACL = CreateWebACLResponse
request :: (Service -> Service) -> CreateWebACL -> Request CreateWebACL
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 CreateWebACL
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateWebACL)))
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 WebACLSummary -> Int -> CreateWebACLResponse
CreateWebACLResponse'
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
"Summary")
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 CreateWebACL where
hashWithSalt :: Int -> CreateWebACL -> Int
hashWithSalt Int
_salt CreateWebACL' {Maybe [Rule]
Maybe (NonEmpty Text)
Maybe (NonEmpty Tag)
Maybe Text
Maybe (HashMap Text CustomResponseBody)
Maybe ChallengeConfig
Maybe CaptchaConfig
Text
DefaultAction
Scope
VisibilityConfig
visibilityConfig :: VisibilityConfig
defaultAction :: DefaultAction
scope :: Scope
name :: Text
tokenDomains :: Maybe (NonEmpty Text)
tags :: Maybe (NonEmpty Tag)
rules :: Maybe [Rule]
description :: Maybe Text
customResponseBodies :: Maybe (HashMap Text CustomResponseBody)
challengeConfig :: Maybe ChallengeConfig
captchaConfig :: Maybe CaptchaConfig
$sel:visibilityConfig:CreateWebACL' :: CreateWebACL -> VisibilityConfig
$sel:defaultAction:CreateWebACL' :: CreateWebACL -> DefaultAction
$sel:scope:CreateWebACL' :: CreateWebACL -> Scope
$sel:name:CreateWebACL' :: CreateWebACL -> Text
$sel:tokenDomains:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Text)
$sel:tags:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Tag)
$sel:rules:CreateWebACL' :: CreateWebACL -> Maybe [Rule]
$sel:description:CreateWebACL' :: CreateWebACL -> Maybe Text
$sel:customResponseBodies:CreateWebACL' :: CreateWebACL -> Maybe (HashMap Text CustomResponseBody)
$sel:challengeConfig:CreateWebACL' :: CreateWebACL -> Maybe ChallengeConfig
$sel:captchaConfig:CreateWebACL' :: CreateWebACL -> Maybe CaptchaConfig
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe CaptchaConfig
captchaConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ChallengeConfig
challengeConfig
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text CustomResponseBody)
customResponseBodies
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
description
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Rule]
rules
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Tag)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (NonEmpty Text)
tokenDomains
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
name
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Scope
scope
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DefaultAction
defaultAction
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` VisibilityConfig
visibilityConfig
instance Prelude.NFData CreateWebACL where
rnf :: CreateWebACL -> ()
rnf CreateWebACL' {Maybe [Rule]
Maybe (NonEmpty Text)
Maybe (NonEmpty Tag)
Maybe Text
Maybe (HashMap Text CustomResponseBody)
Maybe ChallengeConfig
Maybe CaptchaConfig
Text
DefaultAction
Scope
VisibilityConfig
visibilityConfig :: VisibilityConfig
defaultAction :: DefaultAction
scope :: Scope
name :: Text
tokenDomains :: Maybe (NonEmpty Text)
tags :: Maybe (NonEmpty Tag)
rules :: Maybe [Rule]
description :: Maybe Text
customResponseBodies :: Maybe (HashMap Text CustomResponseBody)
challengeConfig :: Maybe ChallengeConfig
captchaConfig :: Maybe CaptchaConfig
$sel:visibilityConfig:CreateWebACL' :: CreateWebACL -> VisibilityConfig
$sel:defaultAction:CreateWebACL' :: CreateWebACL -> DefaultAction
$sel:scope:CreateWebACL' :: CreateWebACL -> Scope
$sel:name:CreateWebACL' :: CreateWebACL -> Text
$sel:tokenDomains:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Text)
$sel:tags:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Tag)
$sel:rules:CreateWebACL' :: CreateWebACL -> Maybe [Rule]
$sel:description:CreateWebACL' :: CreateWebACL -> Maybe Text
$sel:customResponseBodies:CreateWebACL' :: CreateWebACL -> Maybe (HashMap Text CustomResponseBody)
$sel:challengeConfig:CreateWebACL' :: CreateWebACL -> Maybe ChallengeConfig
$sel:captchaConfig:CreateWebACL' :: CreateWebACL -> Maybe CaptchaConfig
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe CaptchaConfig
captchaConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ChallengeConfig
challengeConfig
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text CustomResponseBody)
customResponseBodies
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
description
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Rule]
rules
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 Maybe (NonEmpty Text)
tokenDomains
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 Scope
scope
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DefaultAction
defaultAction
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf VisibilityConfig
visibilityConfig
instance Data.ToHeaders CreateWebACL where
toHeaders :: CreateWebACL -> 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_20190729.CreateWebACL" ::
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 CreateWebACL where
toJSON :: CreateWebACL -> Value
toJSON CreateWebACL' {Maybe [Rule]
Maybe (NonEmpty Text)
Maybe (NonEmpty Tag)
Maybe Text
Maybe (HashMap Text CustomResponseBody)
Maybe ChallengeConfig
Maybe CaptchaConfig
Text
DefaultAction
Scope
VisibilityConfig
visibilityConfig :: VisibilityConfig
defaultAction :: DefaultAction
scope :: Scope
name :: Text
tokenDomains :: Maybe (NonEmpty Text)
tags :: Maybe (NonEmpty Tag)
rules :: Maybe [Rule]
description :: Maybe Text
customResponseBodies :: Maybe (HashMap Text CustomResponseBody)
challengeConfig :: Maybe ChallengeConfig
captchaConfig :: Maybe CaptchaConfig
$sel:visibilityConfig:CreateWebACL' :: CreateWebACL -> VisibilityConfig
$sel:defaultAction:CreateWebACL' :: CreateWebACL -> DefaultAction
$sel:scope:CreateWebACL' :: CreateWebACL -> Scope
$sel:name:CreateWebACL' :: CreateWebACL -> Text
$sel:tokenDomains:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Text)
$sel:tags:CreateWebACL' :: CreateWebACL -> Maybe (NonEmpty Tag)
$sel:rules:CreateWebACL' :: CreateWebACL -> Maybe [Rule]
$sel:description:CreateWebACL' :: CreateWebACL -> Maybe Text
$sel:customResponseBodies:CreateWebACL' :: CreateWebACL -> Maybe (HashMap Text CustomResponseBody)
$sel:challengeConfig:CreateWebACL' :: CreateWebACL -> Maybe ChallengeConfig
$sel:captchaConfig:CreateWebACL' :: CreateWebACL -> Maybe CaptchaConfig
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"CaptchaConfig" 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 CaptchaConfig
captchaConfig,
(Key
"ChallengeConfig" 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 ChallengeConfig
challengeConfig,
(Key
"CustomResponseBodies" 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 (HashMap Text CustomResponseBody)
customResponseBodies,
(Key
"Description" 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 Text
description,
(Key
"Rules" 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 [Rule]
rules,
(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,
(Key
"TokenDomains" 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 Text)
tokenDomains,
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
"Scope" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Scope
scope),
forall a. a -> Maybe a
Prelude.Just (Key
"DefaultAction" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DefaultAction
defaultAction),
forall a. a -> Maybe a
Prelude.Just
(Key
"VisibilityConfig" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= VisibilityConfig
visibilityConfig)
]
)
instance Data.ToPath CreateWebACL where
toPath :: CreateWebACL -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateWebACL where
toQuery :: CreateWebACL -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateWebACLResponse = CreateWebACLResponse'
{
CreateWebACLResponse -> Maybe WebACLSummary
summary :: Prelude.Maybe WebACLSummary,
CreateWebACLResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateWebACLResponse -> CreateWebACLResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateWebACLResponse -> CreateWebACLResponse -> Bool
$c/= :: CreateWebACLResponse -> CreateWebACLResponse -> Bool
== :: CreateWebACLResponse -> CreateWebACLResponse -> Bool
$c== :: CreateWebACLResponse -> CreateWebACLResponse -> Bool
Prelude.Eq, ReadPrec [CreateWebACLResponse]
ReadPrec CreateWebACLResponse
Int -> ReadS CreateWebACLResponse
ReadS [CreateWebACLResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateWebACLResponse]
$creadListPrec :: ReadPrec [CreateWebACLResponse]
readPrec :: ReadPrec CreateWebACLResponse
$creadPrec :: ReadPrec CreateWebACLResponse
readList :: ReadS [CreateWebACLResponse]
$creadList :: ReadS [CreateWebACLResponse]
readsPrec :: Int -> ReadS CreateWebACLResponse
$creadsPrec :: Int -> ReadS CreateWebACLResponse
Prelude.Read, Int -> CreateWebACLResponse -> ShowS
[CreateWebACLResponse] -> ShowS
CreateWebACLResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateWebACLResponse] -> ShowS
$cshowList :: [CreateWebACLResponse] -> ShowS
show :: CreateWebACLResponse -> String
$cshow :: CreateWebACLResponse -> String
showsPrec :: Int -> CreateWebACLResponse -> ShowS
$cshowsPrec :: Int -> CreateWebACLResponse -> ShowS
Prelude.Show, forall x. Rep CreateWebACLResponse x -> CreateWebACLResponse
forall x. CreateWebACLResponse -> Rep CreateWebACLResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateWebACLResponse x -> CreateWebACLResponse
$cfrom :: forall x. CreateWebACLResponse -> Rep CreateWebACLResponse x
Prelude.Generic)
newCreateWebACLResponse ::
Prelude.Int ->
CreateWebACLResponse
newCreateWebACLResponse :: Int -> CreateWebACLResponse
newCreateWebACLResponse Int
pHttpStatus_ =
CreateWebACLResponse'
{ $sel:summary:CreateWebACLResponse' :: Maybe WebACLSummary
summary = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateWebACLResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createWebACLResponse_summary :: Lens.Lens' CreateWebACLResponse (Prelude.Maybe WebACLSummary)
createWebACLResponse_summary :: Lens' CreateWebACLResponse (Maybe WebACLSummary)
createWebACLResponse_summary = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACLResponse' {Maybe WebACLSummary
summary :: Maybe WebACLSummary
$sel:summary:CreateWebACLResponse' :: CreateWebACLResponse -> Maybe WebACLSummary
summary} -> Maybe WebACLSummary
summary) (\s :: CreateWebACLResponse
s@CreateWebACLResponse' {} Maybe WebACLSummary
a -> CreateWebACLResponse
s {$sel:summary:CreateWebACLResponse' :: Maybe WebACLSummary
summary = Maybe WebACLSummary
a} :: CreateWebACLResponse)
createWebACLResponse_httpStatus :: Lens.Lens' CreateWebACLResponse Prelude.Int
createWebACLResponse_httpStatus :: Lens' CreateWebACLResponse Int
createWebACLResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateWebACLResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateWebACLResponse' :: CreateWebACLResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateWebACLResponse
s@CreateWebACLResponse' {} Int
a -> CreateWebACLResponse
s {$sel:httpStatus:CreateWebACLResponse' :: Int
httpStatus = Int
a} :: CreateWebACLResponse)
instance Prelude.NFData CreateWebACLResponse where
rnf :: CreateWebACLResponse -> ()
rnf CreateWebACLResponse' {Int
Maybe WebACLSummary
httpStatus :: Int
summary :: Maybe WebACLSummary
$sel:httpStatus:CreateWebACLResponse' :: CreateWebACLResponse -> Int
$sel:summary:CreateWebACLResponse' :: CreateWebACLResponse -> Maybe WebACLSummary
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe WebACLSummary
summary
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus