module Stratosphere.WAFv2.WebACL.RequestInspectionProperty (
        module Exports, RequestInspectionProperty(..),
        mkRequestInspectionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.WAFv2.WebACL.FieldIdentifierProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RequestInspectionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html>
    RequestInspectionProperty {RequestInspectionProperty -> ()
haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-passwordfield>
                               RequestInspectionProperty -> FieldIdentifierProperty
passwordField :: FieldIdentifierProperty,
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-payloadtype>
                               RequestInspectionProperty -> Value Text
payloadType :: (Value Prelude.Text),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-requestinspection.html#cfn-wafv2-webacl-requestinspection-usernamefield>
                               RequestInspectionProperty -> FieldIdentifierProperty
usernameField :: FieldIdentifierProperty}
  deriving stock (RequestInspectionProperty -> RequestInspectionProperty -> Bool
(RequestInspectionProperty -> RequestInspectionProperty -> Bool)
-> (RequestInspectionProperty -> RequestInspectionProperty -> Bool)
-> Eq RequestInspectionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RequestInspectionProperty -> RequestInspectionProperty -> Bool
== :: RequestInspectionProperty -> RequestInspectionProperty -> Bool
$c/= :: RequestInspectionProperty -> RequestInspectionProperty -> Bool
/= :: RequestInspectionProperty -> RequestInspectionProperty -> Bool
Prelude.Eq, Int -> RequestInspectionProperty -> ShowS
[RequestInspectionProperty] -> ShowS
RequestInspectionProperty -> String
(Int -> RequestInspectionProperty -> ShowS)
-> (RequestInspectionProperty -> String)
-> ([RequestInspectionProperty] -> ShowS)
-> Show RequestInspectionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RequestInspectionProperty -> ShowS
showsPrec :: Int -> RequestInspectionProperty -> ShowS
$cshow :: RequestInspectionProperty -> String
show :: RequestInspectionProperty -> String
$cshowList :: [RequestInspectionProperty] -> ShowS
showList :: [RequestInspectionProperty] -> ShowS
Prelude.Show)
mkRequestInspectionProperty ::
  FieldIdentifierProperty
  -> Value Prelude.Text
     -> FieldIdentifierProperty -> RequestInspectionProperty
mkRequestInspectionProperty :: FieldIdentifierProperty
-> Value Text
-> FieldIdentifierProperty
-> RequestInspectionProperty
mkRequestInspectionProperty FieldIdentifierProperty
passwordField Value Text
payloadType FieldIdentifierProperty
usernameField
  = RequestInspectionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), passwordField :: FieldIdentifierProperty
passwordField = FieldIdentifierProperty
passwordField,
       payloadType :: Value Text
payloadType = Value Text
payloadType, usernameField :: FieldIdentifierProperty
usernameField = FieldIdentifierProperty
usernameField}
instance ToResourceProperties RequestInspectionProperty where
  toResourceProperties :: RequestInspectionProperty -> ResourceProperties
toResourceProperties RequestInspectionProperty {()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: RequestInspectionProperty -> ()
passwordField :: RequestInspectionProperty -> FieldIdentifierProperty
payloadType :: RequestInspectionProperty -> Value Text
usernameField :: RequestInspectionProperty -> FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::WAFv2::WebACL.RequestInspection",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PasswordField" Key -> FieldIdentifierProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldIdentifierProperty
passwordField,
                       Key
"PayloadType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
payloadType,
                       Key
"UsernameField" Key -> FieldIdentifierProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldIdentifierProperty
usernameField]}
instance JSON.ToJSON RequestInspectionProperty where
  toJSON :: RequestInspectionProperty -> Value
toJSON RequestInspectionProperty {()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: RequestInspectionProperty -> ()
passwordField :: RequestInspectionProperty -> FieldIdentifierProperty
payloadType :: RequestInspectionProperty -> Value Text
usernameField :: RequestInspectionProperty -> FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"PasswordField" Key -> FieldIdentifierProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldIdentifierProperty
passwordField,
         Key
"PayloadType" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
payloadType,
         Key
"UsernameField" Key -> FieldIdentifierProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= FieldIdentifierProperty
usernameField]
instance Property "PasswordField" RequestInspectionProperty where
  type PropertyType "PasswordField" RequestInspectionProperty = FieldIdentifierProperty
  set :: PropertyType "PasswordField" RequestInspectionProperty
-> RequestInspectionProperty -> RequestInspectionProperty
set PropertyType "PasswordField" RequestInspectionProperty
newValue RequestInspectionProperty {()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: RequestInspectionProperty -> ()
passwordField :: RequestInspectionProperty -> FieldIdentifierProperty
payloadType :: RequestInspectionProperty -> Value Text
usernameField :: RequestInspectionProperty -> FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
    = RequestInspectionProperty {passwordField :: FieldIdentifierProperty
passwordField = PropertyType "PasswordField" RequestInspectionProperty
FieldIdentifierProperty
newValue, ()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: ()
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
haddock_workaround_ :: ()
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
instance Property "PayloadType" RequestInspectionProperty where
  type PropertyType "PayloadType" RequestInspectionProperty = Value Prelude.Text
  set :: PropertyType "PayloadType" RequestInspectionProperty
-> RequestInspectionProperty -> RequestInspectionProperty
set PropertyType "PayloadType" RequestInspectionProperty
newValue RequestInspectionProperty {()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: RequestInspectionProperty -> ()
passwordField :: RequestInspectionProperty -> FieldIdentifierProperty
payloadType :: RequestInspectionProperty -> Value Text
usernameField :: RequestInspectionProperty -> FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
    = RequestInspectionProperty {payloadType :: Value Text
payloadType = PropertyType "PayloadType" RequestInspectionProperty
Value Text
newValue, ()
FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
usernameField :: FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
usernameField :: FieldIdentifierProperty
..}
instance Property "UsernameField" RequestInspectionProperty where
  type PropertyType "UsernameField" RequestInspectionProperty = FieldIdentifierProperty
  set :: PropertyType "UsernameField" RequestInspectionProperty
-> RequestInspectionProperty -> RequestInspectionProperty
set PropertyType "UsernameField" RequestInspectionProperty
newValue RequestInspectionProperty {()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: RequestInspectionProperty -> ()
passwordField :: RequestInspectionProperty -> FieldIdentifierProperty
payloadType :: RequestInspectionProperty -> Value Text
usernameField :: RequestInspectionProperty -> FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
usernameField :: FieldIdentifierProperty
..}
    = RequestInspectionProperty {usernameField :: FieldIdentifierProperty
usernameField = PropertyType "UsernameField" RequestInspectionProperty
FieldIdentifierProperty
newValue, ()
Value Text
FieldIdentifierProperty
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
haddock_workaround_ :: ()
passwordField :: FieldIdentifierProperty
payloadType :: Value Text
..}