UNPKG

typed-aws

Version:

Helps you write AWS CloudFormation in TypeScript

686 lines (685 loc) 30 kB
import { CfnResource, Resolvable } from '../../base'; export declare type RuleGroup_Type = 'AWS::WAFv2::RuleGroup'; export declare const RuleGroup_Type = "AWS::WAFv2::RuleGroup"; /** * Contains the Rules that identify the requests that you want to allow, * block, or count. In a RuleGroup, you also specify a default action * (ALLOW or BLOCK), and the action for each Rule that you add to a * RuleGroup, for example, block requests from specified IP addresses or * block requests from specified referrers. You also associate the * RuleGroup with a CloudFront distribution to identify the requests that * you want AWS WAF to filter. If you add more than one Rule to a * RuleGroup, a request needs to match only one of the specifications to * be allowed, blocked, or counted. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html} */ export default function RuleGroup(props: RuleGroup_Properties): CfnResource<RuleGroup_Properties>; /** * Contains the Rules that identify the requests that you want to allow, * block, or count. In a RuleGroup, you also specify a default action * (ALLOW or BLOCK), and the action for each Rule that you add to a * RuleGroup, for example, block requests from specified IP addresses or * block requests from specified referrers. You also associate the * RuleGroup with a CloudFront distribution to identify the requests that * you want AWS WAF to filter. If you add more than one Rule to a * RuleGroup, a request needs to match only one of the specifications to * be allowed, blocked, or counted. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html} */ export declare type RuleGroup_Properties = { Arn?: ResourceArn; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-capacity} */ Capacity: Resolvable<number>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-description} */ Description?: EntityDescription; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-name} */ Name?: EntityName; Id?: EntityId; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-scope} */ Scope: Scope; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-rules} */ Rules?: Rule[]; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-visibilityconfig} */ VisibilityConfig: VisibilityConfig; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-tags} */ Tags?: Tag[]; LabelNamespace?: LabelName; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-rulegroup.html#cfn-wafv2-rulegroup-customresponsebodies} */ CustomResponseBodies?: CustomResponseBodies; AvailableLabels?: LabelSummary[]; ConsumedLabels?: LabelSummary[]; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatement.html} */ export declare type AndStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-andstatement.html#cfn-wafv2-rulegroup-andstatement-statements} */ Statements: Statement[]; }; /** * Byte Match statement. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html} */ export declare type ByteMatchStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstring} */ SearchString?: SearchString; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-searchstringbase64} */ SearchStringBase64?: SearchStringBase64; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-fieldtomatch} */ FieldToMatch: FieldToMatch; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-texttransformations} */ TextTransformations: TextTransformation[]; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-bytematchstatement.html#cfn-wafv2-rulegroup-bytematchstatement-positionalconstraint} */ PositionalConstraint: PositionalConstraint; }; export declare type EntityDescription = Resolvable<string>; export declare type EntityName = Resolvable<string>; /** * Field of the request to match. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html} */ export declare type FieldToMatch = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singleheader} */ SingleHeader?: { Name: Resolvable<string>; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-singlequeryargument} */ SingleQueryArgument?: { Name: Resolvable<string>; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-allqueryarguments} */ AllQueryArguments?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-uripath} */ UriPath?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-querystring} */ QueryString?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-body} */ Body?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-method} */ Method?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-fieldtomatch.html#cfn-wafv2-rulegroup-fieldtomatch-jsonbody} */ JsonBody?: JsonBody; }; /** * Inspect the request body as JSON. The request body immediately follows * the request headers. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html} */ export declare type JsonBody = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html#cfn-wafv2-rulegroup-jsonbody-matchpattern} */ MatchPattern: JsonMatchPattern; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html#cfn-wafv2-rulegroup-jsonbody-matchscope} */ MatchScope: JsonMatchScope; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonbody.html#cfn-wafv2-rulegroup-jsonbody-invalidfallbackbehavior} */ InvalidFallbackBehavior?: BodyParsingFallbackBehavior; }; export declare type BodyParsingFallbackBehavior = Resolvable<'MATCH' | 'NO_MATCH' | 'EVALUATE_AS_STRING'>; export declare type JsonMatchScope = Resolvable<'ALL' | 'KEY' | 'VALUE'>; /** * The pattern to look for in the JSON body. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonmatchpattern.html} */ export declare type JsonMatchPattern = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonmatchpattern.html#cfn-wafv2-rulegroup-jsonmatchpattern-all} */ All?: { [k: string]: unknown; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-jsonmatchpattern.html#cfn-wafv2-rulegroup-jsonmatchpattern-includedpaths} */ IncludedPaths?: JsonPointerPath[]; }; export declare type JsonPointerPath = Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html} */ export declare type GeoMatchStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-countrycodes} */ CountryCodes?: Resolvable<string>[]; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-geomatchstatement.html#cfn-wafv2-rulegroup-geomatchstatement-forwardedipconfig} */ ForwardedIPConfig?: ForwardedIPConfiguration; }; export declare type EntityId = Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html} */ export declare type IPSetReferenceStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-arn} */ Arn: ResourceArn; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetreferencestatement.html#cfn-wafv2-rulegroup-ipsetreferencestatement-ipsetforwardedipconfig} */ IPSetForwardedIPConfig?: IPSetForwardedIPConfiguration; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatement.html} */ export declare type NotStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-notstatement.html#cfn-wafv2-rulegroup-notstatement-statement} */ Statement: Statement; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatement.html} */ export declare type OrStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-orstatement.html#cfn-wafv2-rulegroup-orstatement-statements} */ Statements: Statement[]; }; export declare type PositionalConstraint = Resolvable<'EXACTLY' | 'STARTS_WITH' | 'ENDS_WITH' | 'CONTAINS' | 'CONTAINS_WORD'>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html} */ export declare type RateBasedStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-limit} */ Limit: RateLimit; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-aggregatekeytype} */ AggregateKeyType: Resolvable<'IP' | 'FORWARDED_IP'>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-scopedownstatement} */ ScopeDownStatement?: Statement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatement.html#cfn-wafv2-rulegroup-ratebasedstatement-forwardedipconfig} */ ForwardedIPConfig?: ForwardedIPConfiguration; }; export declare type RateLimit = Resolvable<number>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html} */ export declare type RegexPatternSetReferenceStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-arn} */ Arn: ResourceArn; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-fieldtomatch} */ FieldToMatch: FieldToMatch; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-regexpatternsetreferencestatement.html#cfn-wafv2-rulegroup-regexpatternsetreferencestatement-texttransformations} */ TextTransformations: TextTransformation[]; }; export declare type ResourceArn = Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html} */ export declare type ForwardedIPConfiguration = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-headername} */ HeaderName: Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-forwardedipconfiguration.html#cfn-wafv2-rulegroup-forwardedipconfiguration-fallbackbehavior} */ FallbackBehavior: Resolvable<'MATCH' | 'NO_MATCH'>; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html} */ export declare type IPSetForwardedIPConfiguration = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-headername} */ HeaderName: Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-fallbackbehavior} */ FallbackBehavior: Resolvable<'MATCH' | 'NO_MATCH'>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ipsetforwardedipconfiguration.html#cfn-wafv2-rulegroup-ipsetforwardedipconfiguration-position} */ Position: Resolvable<'FIRST' | 'LAST' | 'ANY'>; }; /** * Rule of RuleGroup that contains condition and action. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html} */ export declare type Rule = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-name} */ Name: EntityName; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-priority} */ Priority: RulePriority; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-statement} */ Statement: Statement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-action} */ Action?: RuleAction; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-rulelabels} */ RuleLabels?: Label[]; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-rule.html#cfn-wafv2-rulegroup-rule-visibilityconfig} */ VisibilityConfig: VisibilityConfig; }; /** * Action taken when Rule matches its condition. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html} */ export declare type RuleAction = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-allow} */ Allow?: { CustomRequestHandling?: CustomRequestHandling; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-block} */ Block?: { CustomResponse?: CustomResponse; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ruleaction.html#cfn-wafv2-rulegroup-ruleaction-count} */ Count?: { CustomRequestHandling?: CustomRequestHandling; }; }; export declare type CustomHTTPHeaderName = Resolvable<string>; export declare type CustomHTTPHeaderValue = Resolvable<string>; export declare type CustomHTTPHeader = { Name: CustomHTTPHeaderName; Value: CustomHTTPHeaderValue; }; export declare type CustomRequestHandling = { InsertHeaders: CustomHTTPHeader[]; }; export declare type ResponseStatusCode = Resolvable<number>; export declare type ResponseContentType = Resolvable<'TEXT_PLAIN' | 'TEXT_HTML' | 'APPLICATION_JSON'>; export declare type ResponseContent = Resolvable<string>; /** * Custom response body. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-customresponsebody.html} */ export declare type CustomResponseBody = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-customresponsebody.html#cfn-wafv2-rulegroup-customresponsebody-contenttype} */ ContentType: ResponseContentType; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-customresponsebody.html#cfn-wafv2-rulegroup-customresponsebody-content} */ Content: ResponseContent; }; export declare type CustomResponse = { ResponseCode: ResponseStatusCode; CustomResponseBodyKey?: Resolvable<string>; ResponseHeaders?: CustomHTTPHeader[]; }; export declare type CustomResponseBodies = { [k: string]: CustomResponseBody; }; export declare type RuleGroup = { Name?: EntityName; Id?: EntityId; Arn?: ResourceArn; Description?: EntityDescription; Rules?: Rule[]; VisibilityConfig?: VisibilityConfig; Capacity?: Resolvable<number>; }; export declare type RulePriority = Resolvable<number>; export declare type Scope = Resolvable<'CLOUDFRONT' | 'REGIONAL'>; export declare type SearchString = Resolvable<string>; export declare type SearchStringBase64 = Resolvable<string>; /** * Size Constraint statement. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html} */ export declare type SizeConstraintStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-fieldtomatch} */ FieldToMatch: FieldToMatch; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-comparisonoperator} */ ComparisonOperator: Resolvable<'EQ' | 'NE' | 'LE' | 'LT' | 'GE' | 'GT'>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-size} */ Size: Resolvable<number>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sizeconstraintstatement.html#cfn-wafv2-rulegroup-sizeconstraintstatement-texttransformations} */ TextTransformations: TextTransformation[]; }; /** * Sqli Match Statement. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html} */ export declare type SqliMatchStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-fieldtomatch} */ FieldToMatch: FieldToMatch; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-sqlimatchstatement.html#cfn-wafv2-rulegroup-sqlimatchstatement-texttransformations} */ TextTransformations: TextTransformation[]; }; /** * First level statement that contains conditions, such as ByteMatch, * SizeConstraint, etc {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html} */ export declare type Statement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-bytematchstatement} */ ByteMatchStatement?: ByteMatchStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-sqlimatchstatement} */ SqliMatchStatement?: SqliMatchStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-xssmatchstatement} */ XssMatchStatement?: XssMatchStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-sizeconstraintstatement} */ SizeConstraintStatement?: SizeConstraintStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-geomatchstatement} */ GeoMatchStatement?: GeoMatchStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-ipsetreferencestatement} */ IPSetReferenceStatement?: IPSetReferenceStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-regexpatternsetreferencestatement} */ RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-ratebasedstatement} */ RateBasedStatement?: RateBasedStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-andstatement} */ AndStatement?: AndStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-orstatement} */ OrStatement?: OrStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-notstatement} */ NotStatement?: NotStatement; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-statement.html#cfn-wafv2-rulegroup-statement-labelmatchstatement} */ LabelMatchStatement?: LabelMatchStatement; }; export declare type Tag = { Key?: Resolvable<string>; Value?: Resolvable<string>; }; /** * Text Transformation on the Search String before match. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html} */ export declare type TextTransformation = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-priority} */ Priority: TextTransformationPriority; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-texttransformation.html#cfn-wafv2-rulegroup-texttransformation-type} */ Type: TextTransformationType; }; export declare type TextTransformationPriority = Resolvable<number>; export declare type TextTransformationType = Resolvable<'NONE' | 'COMPRESS_WHITE_SPACE' | 'HTML_ENTITY_DECODE' | 'LOWERCASE' | 'CMD_LINE' | 'URL_DECODE' | 'BASE64_DECODE' | 'HEX_DECODE' | 'MD5' | 'REPLACE_COMMENTS' | 'ESCAPE_SEQ_DECODE' | 'SQL_HEX_DECODE' | 'CSS_DECODE' | 'JS_DECODE' | 'NORMALIZE_PATH' | 'NORMALIZE_PATH_WIN' | 'REMOVE_NULLS' | 'REPLACE_NULLS' | 'BASE64_DECODE_EXT' | 'URL_DECODE_UNI' | 'UTF8_TO_UNICODE'>; /** * Visibility Metric of the RuleGroup. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html} */ export declare type VisibilityConfig = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-sampledrequestsenabled} */ SampledRequestsEnabled: Resolvable<boolean>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-cloudwatchmetricsenabled} */ CloudWatchMetricsEnabled: Resolvable<boolean>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-visibilityconfig.html#cfn-wafv2-rulegroup-visibilityconfig-metricname} */ MetricName: Resolvable<string>; }; /** * Xss Match Statement. {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html} */ export declare type XssMatchStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-fieldtomatch} */ FieldToMatch: FieldToMatch; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-xssmatchstatement.html#cfn-wafv2-rulegroup-xssmatchstatement-texttransformations} */ TextTransformations: TextTransformation[]; }; export declare type LabelName = Resolvable<string>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-labelsummary.html} */ export declare type LabelSummary = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-labelsummary.html#cfn-wafv2-rulegroup-labelsummary-name} */ Name?: LabelName; }; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-label.html} */ export declare type Label = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-label.html#cfn-wafv2-rulegroup-label-name} */ Name: LabelName; }; export declare type LabelMatchKey = Resolvable<string>; export declare type LabelMatchScope = Resolvable<'LABEL' | 'NAMESPACE'>; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-labelmatchstatement.html} */ export declare type LabelMatchStatement = { /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-labelmatchstatement.html#cfn-wafv2-rulegroup-labelmatchstatement-scope} */ Scope: LabelMatchScope; /** * {@link * http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-labelmatchstatement.html#cfn-wafv2-rulegroup-labelmatchstatement-key} */ Key: LabelMatchKey; };