Show / Hide Table of Contents

Interface CfnRuleGroup.IAndStatementProperty

A logical rule statement used to combine other rule statements with AND logic.

Namespace: Amazon.CDK.AWS.WAFv2
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public interface CfnRuleGroup.IAndStatementProperty
Syntax (vb)
Public Interface CfnRuleGroup.IAndStatementProperty
Remarks

You provide more than one Statement within the AndStatement .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatement.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.AWS.WAFv2;

             var all;
             var allQueryArguments;
             AndStatementProperty andStatementProperty_;
             var asn;
             var forwardedIp;
             var httpMethod;
             var ip;
             var method;
             var queryString;
             var singleHeader;
             var singleQueryArgument;
             StatementProperty statementProperty_;
             var uriPath;

             var andStatementProperty = new AndStatementProperty {
                 Statements = new [] { new StatementProperty {
                     AndStatement = andStatementProperty_,
                     AsnMatchStatement = new AsnMatchStatementProperty {
                         AsnList = new [] { 123 },
                         ForwardedIpConfig = new ForwardedIPConfigurationProperty {
                             FallbackBehavior = "fallbackBehavior",
                             HeaderName = "headerName"
                         }
                     },
                     ByteMatchStatement = new ByteMatchStatementProperty {
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         PositionalConstraint = "positionalConstraint",
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } },

                         // the properties below are optional
                         SearchString = "searchString",
                         SearchStringBase64 = "searchStringBase64"
                     },
                     GeoMatchStatement = new GeoMatchStatementProperty {
                         CountryCodes = new [] { "countryCodes" },
                         ForwardedIpConfig = new ForwardedIPConfigurationProperty {
                             FallbackBehavior = "fallbackBehavior",
                             HeaderName = "headerName"
                         }
                     },
                     IpSetReferenceStatement = new Dictionary<string, object> {
                         { "arn", "arn" },

                         // the properties below are optional
                         { "ipSetForwardedIpConfig", new Dictionary<string, string> {
                             { "fallbackBehavior", "fallbackBehavior" },
                             { "headerName", "headerName" },
                             { "position", "position" }
                         } }
                     },
                     LabelMatchStatement = new LabelMatchStatementProperty {
                         Key = "key",
                         Scope = "scope"
                     },
                     NotStatement = new NotStatementProperty {
                         Statement = statementProperty_
                     },
                     OrStatement = new OrStatementProperty {
                         Statements = new [] { statementProperty_ }
                     },
                     RateBasedStatement = new RateBasedStatementProperty {
                         AggregateKeyType = "aggregateKeyType",
                         Limit = 123,

                         // the properties below are optional
                         CustomKeys = new [] { new RateBasedStatementCustomKeyProperty {
                             Asn = asn,
                             Cookie = new RateLimitCookieProperty {
                                 Name = "name",
                                 TextTransformations = new [] { new TextTransformationProperty {
                                     Priority = 123,
                                     Type = "type"
                                 } }
                             },
                             ForwardedIp = forwardedIp,
                             Header = new RateLimitHeaderProperty {
                                 Name = "name",
                                 TextTransformations = new [] { new TextTransformationProperty {
                                     Priority = 123,
                                     Type = "type"
                                 } }
                             },
                             HttpMethod = httpMethod,
                             Ip = ip,
                             Ja3Fingerprint = new RateLimitJA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new RateLimitJA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             LabelNamespace = new RateLimitLabelNamespaceProperty {
                                 Namespace = "namespace"
                             },
                             QueryArgument = new RateLimitQueryArgumentProperty {
                                 Name = "name",
                                 TextTransformations = new [] { new TextTransformationProperty {
                                     Priority = 123,
                                     Type = "type"
                                 } }
                             },
                             QueryString = new RateLimitQueryStringProperty {
                                 TextTransformations = new [] { new TextTransformationProperty {
                                     Priority = 123,
                                     Type = "type"
                                 } }
                             },
                             UriPath = new RateLimitUriPathProperty {
                                 TextTransformations = new [] { new TextTransformationProperty {
                                     Priority = 123,
                                     Type = "type"
                                 } }
                             }
                         } },
                         EvaluationWindowSec = 123,
                         ForwardedIpConfig = new ForwardedIPConfigurationProperty {
                             FallbackBehavior = "fallbackBehavior",
                             HeaderName = "headerName"
                         },
                         ScopeDownStatement = statementProperty_
                     },
                     RegexMatchStatement = new RegexMatchStatementProperty {
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         RegexString = "regexString",
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } }
                     },
                     RegexPatternSetReferenceStatement = new RegexPatternSetReferenceStatementProperty {
                         Arn = "arn",
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } }
                     },
                     SizeConstraintStatement = new SizeConstraintStatementProperty {
                         ComparisonOperator = "comparisonOperator",
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         Size = 123,
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } }
                     },
                     SqliMatchStatement = new SqliMatchStatementProperty {
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } },

                         // the properties below are optional
                         SensitivityLevel = "sensitivityLevel"
                     },
                     XssMatchStatement = new XssMatchStatementProperty {
                         FieldToMatch = new FieldToMatchProperty {
                             AllQueryArguments = allQueryArguments,
                             Body = new BodyProperty {
                                 OversizeHandling = "oversizeHandling"
                             },
                             Cookies = new CookiesProperty {
                                 MatchPattern = new CookieMatchPatternProperty {
                                     All = all,
                                     ExcludedCookies = new [] { "excludedCookies" },
                                     IncludedCookies = new [] { "includedCookies" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Headers = new HeadersProperty {
                                 MatchPattern = new HeaderMatchPatternProperty {
                                     All = all,
                                     ExcludedHeaders = new [] { "excludedHeaders" },
                                     IncludedHeaders = new [] { "includedHeaders" }
                                 },
                                 MatchScope = "matchScope",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Ja3Fingerprint = new JA3FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             Ja4Fingerprint = new JA4FingerprintProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             JsonBody = new JsonBodyProperty {
                                 MatchPattern = new JsonMatchPatternProperty {
                                     All = all,
                                     IncludedPaths = new [] { "includedPaths" }
                                 },
                                 MatchScope = "matchScope",

                                 // the properties below are optional
                                 InvalidFallbackBehavior = "invalidFallbackBehavior",
                                 OversizeHandling = "oversizeHandling"
                             },
                             Method = method,
                             QueryString = queryString,
                             SingleHeader = singleHeader,
                             SingleQueryArgument = singleQueryArgument,
                             UriFragment = new UriFragmentProperty {
                                 FallbackBehavior = "fallbackBehavior"
                             },
                             UriPath = uriPath
                         },
                         TextTransformations = new [] { new TextTransformationProperty {
                             Priority = 123,
                             Type = "type"
                         } }
                     }
                 } }
             };

Synopsis

Properties

Statements

The statements to combine with AND logic.

Properties

Statements

The statements to combine with AND logic.

object Statements { get; }
Property Value

object

Remarks

You can use any statements that can be nested.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatement.html#cfn-wafv2-rulegroup-andstatement-statements

Type union: either IResolvable or (either IResolvable or CfnRuleGroup.IStatementProperty)[]

Back to top Generated by DocFX