Source code for troposphere.wafregional

# 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.wafregional import validate_waf_action_type


[docs]class FieldToMatch(AWSProperty): """ `FieldToMatch <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-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-wafregional-bytematchset-bytematchtuple.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-wafregional-bytematchset.html>`__ """ resource_type = "AWS::WAFRegional::ByteMatchSet" props: PropsDictType = { "ByteMatchTuples": ([ByteMatchTuples], False), "Name": (str, True), }
[docs]class GeoMatchConstraints(AWSProperty): """ `GeoMatchConstraints <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html>`__ """ props: PropsDictType = { "Type": (str, True), "Value": (str, True), }
[docs]class GeoMatchSet(AWSObject): """ `GeoMatchSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html>`__ """ resource_type = "AWS::WAFRegional::GeoMatchSet" props: PropsDictType = { "GeoMatchConstraints": ([GeoMatchConstraints], False), "Name": (str, True), }
[docs]class IPSetDescriptors(AWSProperty): """ `IPSetDescriptors <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html>`__ """ props: PropsDictType = { "Type": (str, True), "Value": (str, True), }
[docs]class IPSet(AWSObject): """ `IPSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html>`__ """ resource_type = "AWS::WAFRegional::IPSet" props: PropsDictType = { "IPSetDescriptors": ([IPSetDescriptors], False), "Name": (str, True), }
[docs]class Predicates(AWSProperty): """ `Predicates <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html>`__ """ props: PropsDictType = { "DataId": (str, True), "Negated": (boolean, True), "Type": (str, True), }
[docs]class RateBasedRule(AWSObject): """ `RateBasedRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html>`__ """ resource_type = "AWS::WAFRegional::RateBasedRule" props: PropsDictType = { "MatchPredicates": ([Predicates], False), "MetricName": (str, True), "Name": (str, True), "RateKey": (str, True), "RateLimit": (integer, True), }
[docs]class RegexPatternSet(AWSObject): """ `RegexPatternSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html>`__ """ resource_type = "AWS::WAFRegional::RegexPatternSet" props: PropsDictType = { "Name": (str, True), "RegexPatternStrings": ([str], True), }
[docs]class Rule(AWSObject): """ `Rule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html>`__ """ resource_type = "AWS::WAFRegional::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-wafregional-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-wafregional-sizeconstraintset.html>`__ """ resource_type = "AWS::WAFRegional::SizeConstraintSet" props: PropsDictType = { "Name": (str, True), "SizeConstraints": ([SizeConstraint], False), }
[docs]class SqlInjectionMatchTuples(AWSProperty): """ `SqlInjectionMatchTuples <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html>`__ """ props: PropsDictType = { "FieldToMatch": (FieldToMatch, True), "TextTransformation": (str, True), }
[docs]class SqlInjectionMatchSet(AWSObject): """ `SqlInjectionMatchSet <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html>`__ """ resource_type = "AWS::WAFRegional::SqlInjectionMatchSet" props: PropsDictType = { "Name": (str, True), "SqlInjectionMatchTuples": ([SqlInjectionMatchTuples], False), }
[docs]class Action(AWSProperty): """ `Action <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-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-wafregional-webacl-rule.html>`__ """ props: PropsDictType = { "Action": (Action, True), "Priority": (integer, True), "RuleId": (str, True), }
[docs]class WebACL(AWSObject): """ `WebACL <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html>`__ """ resource_type = "AWS::WAFRegional::WebACL" props: PropsDictType = { "DefaultAction": (Action, True), "MetricName": (str, True), "Name": (str, True), "Rules": ([Rules], False), }
[docs]class WebACLAssociation(AWSObject): """ `WebACLAssociation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html>`__ """ resource_type = "AWS::WAFRegional::WebACLAssociation" props: PropsDictType = { "ResourceArn": (str, True), "WebACLId": (str, True), }
[docs]class XssMatchTuple(AWSProperty): """ `XssMatchTuple <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-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-wafregional-xssmatchset.html>`__ """ resource_type = "AWS::WAFRegional::XssMatchSet" props: PropsDictType = { "Name": (str, True), "XssMatchTuples": ([XssMatchTuple], False), }