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: RequestInspectionProperty {haddock_workaround_ :: (), -- | See: passwordField :: FieldIdentifierProperty, -- | See: payloadType :: (Value Prelude.Text), -- | See: usernameField :: FieldIdentifierProperty} deriving stock (Prelude.Eq, Prelude.Show) mkRequestInspectionProperty :: FieldIdentifierProperty -> Value Prelude.Text -> FieldIdentifierProperty -> RequestInspectionProperty mkRequestInspectionProperty passwordField payloadType usernameField = RequestInspectionProperty {haddock_workaround_ = (), passwordField = passwordField, payloadType = payloadType, usernameField = usernameField} instance ToResourceProperties RequestInspectionProperty where toResourceProperties RequestInspectionProperty {..} = ResourceProperties {awsType = "AWS::WAFv2::WebACL.RequestInspection", supportsTags = Prelude.False, properties = ["PasswordField" JSON..= passwordField, "PayloadType" JSON..= payloadType, "UsernameField" JSON..= usernameField]} instance JSON.ToJSON RequestInspectionProperty where toJSON RequestInspectionProperty {..} = JSON.object ["PasswordField" JSON..= passwordField, "PayloadType" JSON..= payloadType, "UsernameField" JSON..= usernameField] instance Property "PasswordField" RequestInspectionProperty where type PropertyType "PasswordField" RequestInspectionProperty = FieldIdentifierProperty set newValue RequestInspectionProperty {..} = RequestInspectionProperty {passwordField = newValue, ..} instance Property "PayloadType" RequestInspectionProperty where type PropertyType "PayloadType" RequestInspectionProperty = Value Prelude.Text set newValue RequestInspectionProperty {..} = RequestInspectionProperty {payloadType = newValue, ..} instance Property "UsernameField" RequestInspectionProperty where type PropertyType "UsernameField" RequestInspectionProperty = FieldIdentifierProperty set newValue RequestInspectionProperty {..} = RequestInspectionProperty {usernameField = newValue, ..}