Source code for troposphere.waf

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType
from .validators import boolean, integer
from .validators.waf import validate_waf_action_type


[docs]class FieldToMatch(AWSProperty): """ `FieldToMatch <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple-fieldtomatch.html>`__ """ props: PropsDictType = { "Data": (str, False), "Type": (str, True), }
[docs]class ByteMatchTuples(AWSProperty): """ `ByteMatchTuples <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-bytematchset-bytematchtuples.html>`__ """ props: PropsDictType = { "FieldToMatch": (FieldToMatch, True), "PositionalConstraint": (str, True), "TargetString": (str, False), "TargetStringBase64": (str, False), "TextTransformation": (str, True), }
[docs]class ByteMatchSet(AWSObject): """ `ByteMatchSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-bytematchset.html>`__ """ resource_type = "AWS::WAF::ByteMatchSet" props: PropsDictType = { "ByteMatchTuples": ([ByteMatchTuples], False), "Name": (str, True), }
[docs]class IPSetDescriptors(AWSProperty): """ `IPSetDescriptors <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-ipset-ipsetdescriptors.html>`__ """ props: PropsDictType = { "Type": (str, True), "Value": (str, True), }
[docs]class IPSet(AWSObject): """ `IPSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-ipset.html>`__ """ resource_type = "AWS::WAF::IPSet" props: PropsDictType = { "IPSetDescriptors": ([IPSetDescriptors], False), "Name": (str, True), }
[docs]class Predicates(AWSProperty): """ `Predicates <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-rule-predicates.html>`__ """ props: PropsDictType = { "DataId": (str, True), "Negated": (boolean, True), "Type": (str, True), }
[docs]class Rule(AWSObject): """ `Rule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-rule.html>`__ """ resource_type = "AWS::WAF::Rule" props: PropsDictType = { "MetricName": (str, True), "Name": (str, True), "Predicates": ([Predicates], False), }
[docs]class SizeConstraint(AWSProperty): """ `SizeConstraint <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sizeconstraintset-sizeconstraint.html>`__ """ props: PropsDictType = { "ComparisonOperator": (str, True), "FieldToMatch": (FieldToMatch, True), "Size": (integer, True), "TextTransformation": (str, True), }
[docs]class SizeConstraintSet(AWSObject): """ `SizeConstraintSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sizeconstraintset.html>`__ """ resource_type = "AWS::WAF::SizeConstraintSet" props: PropsDictType = { "Name": (str, True), "SizeConstraints": ([SizeConstraint], True), }
[docs]class SqlInjectionMatchTuples(AWSProperty): """ `SqlInjectionMatchTuples <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-sqlinjectionmatchset-sqlinjectionmatchtuples.html>`__ """ props: PropsDictType = { "FieldToMatch": (FieldToMatch, True), "TextTransformation": (str, True), }
[docs]class SqlInjectionMatchSet(AWSObject): """ `SqlInjectionMatchSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-sqlinjectionmatchset.html>`__ """ resource_type = "AWS::WAF::SqlInjectionMatchSet" props: PropsDictType = { "Name": (str, True), "SqlInjectionMatchTuples": ([SqlInjectionMatchTuples], False), }
[docs]class Action(AWSProperty): """ `Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-action.html>`__ """ props: PropsDictType = { "Type": (validate_waf_action_type, True), }
[docs]class Rules(AWSProperty): """ `Rules <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-webacl-rules.html>`__ """ props: PropsDictType = { "Action": (Action, False), "Priority": (integer, True), "RuleId": (str, True), }
[docs]class WebACL(AWSObject): """ `WebACL <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-webacl.html>`__ """ resource_type = "AWS::WAF::WebACL" props: PropsDictType = { "DefaultAction": (Action, True), "MetricName": (str, True), "Name": (str, True), "Rules": ([Rules], False), }
[docs]class XssMatchTuple(AWSProperty): """ `XssMatchTuple <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waf-xssmatchset-xssmatchtuple.html>`__ """ props: PropsDictType = { "FieldToMatch": (FieldToMatch, True), "TextTransformation": (str, True), }
[docs]class XssMatchSet(AWSObject): """ `XssMatchSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-waf-xssmatchset.html>`__ """ resource_type = "AWS::WAF::XssMatchSet" props: PropsDictType = { "Name": (str, True), "XssMatchTuples": ([XssMatchTuple], True), }