diff --git a/src/cfnlint/data/CloudSpecs/af-south-1.json b/src/cfnlint/data/CloudSpecs/af-south-1.json index 258dbb52d6..6befcf5bc9 100644 --- a/src/cfnlint/data/CloudSpecs/af-south-1.json +++ b/src/cfnlint/data/CloudSpecs/af-south-1.json @@ -20838,6 +20838,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-east-1.json b/src/cfnlint/data/CloudSpecs/ap-east-1.json index 18f93e20fe..afbdc156d7 100644 --- a/src/cfnlint/data/CloudSpecs/ap-east-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-east-1.json @@ -14966,13 +14966,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -14989,13 +14995,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -15634,13 +15646,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -15657,13 +15675,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -33586,6 +33610,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-1.json b/src/cfnlint/data/CloudSpecs/ap-northeast-1.json index 79cdf8e130..152feb8f39 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-1.json @@ -29036,13 +29036,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -29059,13 +29065,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -29704,13 +29716,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -29727,13 +29745,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -55166,6 +55190,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-2.json b/src/cfnlint/data/CloudSpecs/ap-northeast-2.json index 4686ba9aa9..bca111abe5 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-2.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-2.json @@ -27486,13 +27486,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -27509,13 +27515,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -28154,13 +28166,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -28177,13 +28195,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -52762,6 +52786,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-northeast-3.json b/src/cfnlint/data/CloudSpecs/ap-northeast-3.json index 7306cff5fb..1f542905d4 100644 --- a/src/cfnlint/data/CloudSpecs/ap-northeast-3.json +++ b/src/cfnlint/data/CloudSpecs/ap-northeast-3.json @@ -26151,6 +26151,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-south-1.json b/src/cfnlint/data/CloudSpecs/ap-south-1.json index 7fe0e527e2..2b7918c1ba 100644 --- a/src/cfnlint/data/CloudSpecs/ap-south-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-south-1.json @@ -25880,13 +25880,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -25903,13 +25909,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -26548,13 +26560,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -26571,13 +26589,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -51001,6 +51025,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-southeast-1.json b/src/cfnlint/data/CloudSpecs/ap-southeast-1.json index fe5b43fb0f..f3f678f816 100644 --- a/src/cfnlint/data/CloudSpecs/ap-southeast-1.json +++ b/src/cfnlint/data/CloudSpecs/ap-southeast-1.json @@ -27414,13 +27414,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -27437,13 +27443,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -28082,13 +28094,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -28105,13 +28123,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -52414,6 +52438,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ap-southeast-2.json b/src/cfnlint/data/CloudSpecs/ap-southeast-2.json index 5f6dc4b2aa..9889691d90 100644 --- a/src/cfnlint/data/CloudSpecs/ap-southeast-2.json +++ b/src/cfnlint/data/CloudSpecs/ap-southeast-2.json @@ -28998,13 +28998,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -29021,13 +29027,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -29666,13 +29678,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -29689,13 +29707,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -55567,6 +55591,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/ca-central-1.json b/src/cfnlint/data/CloudSpecs/ca-central-1.json index 57dbc1fe2f..767d1ee5e7 100644 --- a/src/cfnlint/data/CloudSpecs/ca-central-1.json +++ b/src/cfnlint/data/CloudSpecs/ca-central-1.json @@ -22775,13 +22775,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -22798,13 +22804,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -23443,13 +23455,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -23466,13 +23484,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -46036,6 +46060,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/cn-north-1.json b/src/cfnlint/data/CloudSpecs/cn-north-1.json index e7936a778d..ab93181f1b 100644 --- a/src/cfnlint/data/CloudSpecs/cn-north-1.json +++ b/src/cfnlint/data/CloudSpecs/cn-north-1.json @@ -31576,6 +31576,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/cn-northwest-1.json b/src/cfnlint/data/CloudSpecs/cn-northwest-1.json index 02bfcd9bb4..db100ea9d3 100644 --- a/src/cfnlint/data/CloudSpecs/cn-northwest-1.json +++ b/src/cfnlint/data/CloudSpecs/cn-northwest-1.json @@ -29287,6 +29287,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-central-1.json b/src/cfnlint/data/CloudSpecs/eu-central-1.json index 54035fb623..31a2afbfc0 100644 --- a/src/cfnlint/data/CloudSpecs/eu-central-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-central-1.json @@ -29063,13 +29063,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -29086,13 +29092,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -29731,13 +29743,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -29754,13 +29772,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -55543,6 +55567,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-north-1.json b/src/cfnlint/data/CloudSpecs/eu-north-1.json index 595d2fcfec..da76330392 100644 --- a/src/cfnlint/data/CloudSpecs/eu-north-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-north-1.json @@ -18757,13 +18757,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -18780,13 +18786,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -19425,13 +19437,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -19448,13 +19466,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -39023,6 +39047,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-south-1.json b/src/cfnlint/data/CloudSpecs/eu-south-1.json index 4d385c3af0..478d34375a 100644 --- a/src/cfnlint/data/CloudSpecs/eu-south-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-south-1.json @@ -20838,6 +20838,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-1.json b/src/cfnlint/data/CloudSpecs/eu-west-1.json index cd8df4dc74..3e5d644c70 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-1.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-1.json @@ -30763,13 +30763,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -30786,13 +30792,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -31431,13 +31443,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -31454,13 +31472,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -58183,6 +58207,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-2.json b/src/cfnlint/data/CloudSpecs/eu-west-2.json index 8e5e95a8bb..a122e435bb 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-2.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-2.json @@ -26453,13 +26453,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -26476,13 +26482,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -27121,13 +27133,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -27144,13 +27162,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -51223,6 +51247,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/eu-west-3.json b/src/cfnlint/data/CloudSpecs/eu-west-3.json index 4b649d429b..73b31562d7 100644 --- a/src/cfnlint/data/CloudSpecs/eu-west-3.json +++ b/src/cfnlint/data/CloudSpecs/eu-west-3.json @@ -19417,13 +19417,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -19440,13 +19446,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -20085,13 +20097,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -20108,13 +20126,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -40918,6 +40942,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/me-south-1.json b/src/cfnlint/data/CloudSpecs/me-south-1.json index 549c6c4fd8..73fa08bbf8 100644 --- a/src/cfnlint/data/CloudSpecs/me-south-1.json +++ b/src/cfnlint/data/CloudSpecs/me-south-1.json @@ -14762,13 +14762,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -14785,13 +14791,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -15430,13 +15442,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -15453,13 +15471,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -32928,6 +32952,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/sa-east-1.json b/src/cfnlint/data/CloudSpecs/sa-east-1.json index 7fa2a4e207..727aa731df 100644 --- a/src/cfnlint/data/CloudSpecs/sa-east-1.json +++ b/src/cfnlint/data/CloudSpecs/sa-east-1.json @@ -19646,13 +19646,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -19669,13 +19675,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -20314,13 +20326,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -20337,13 +20355,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -41424,6 +41448,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-east-1.json b/src/cfnlint/data/CloudSpecs/us-east-1.json index 55060336ff..452e7d334a 100644 --- a/src/cfnlint/data/CloudSpecs/us-east-1.json +++ b/src/cfnlint/data/CloudSpecs/us-east-1.json @@ -30954,13 +30954,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -30977,13 +30983,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -31622,13 +31634,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -31645,13 +31663,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -58599,6 +58623,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-east-2.json b/src/cfnlint/data/CloudSpecs/us-east-2.json index 50e4bbccbd..68baed3860 100644 --- a/src/cfnlint/data/CloudSpecs/us-east-2.json +++ b/src/cfnlint/data/CloudSpecs/us-east-2.json @@ -28483,13 +28483,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -28506,13 +28512,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -29151,13 +29163,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -29174,13 +29192,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -54616,6 +54640,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-gov-east-1.json b/src/cfnlint/data/CloudSpecs/us-gov-east-1.json index 59c08d4ffb..950dab9471 100644 --- a/src/cfnlint/data/CloudSpecs/us-gov-east-1.json +++ b/src/cfnlint/data/CloudSpecs/us-gov-east-1.json @@ -28142,6 +28142,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-gov-west-1.json b/src/cfnlint/data/CloudSpecs/us-gov-west-1.json index 8ed3b635bc..5f83bd013a 100644 --- a/src/cfnlint/data/CloudSpecs/us-gov-west-1.json +++ b/src/cfnlint/data/CloudSpecs/us-gov-west-1.json @@ -15661,13 +15661,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -15684,13 +15690,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -16329,13 +16341,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -16352,13 +16370,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -34385,6 +34409,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-west-1.json b/src/cfnlint/data/CloudSpecs/us-west-1.json index fb5cd3af48..162189e680 100644 --- a/src/cfnlint/data/CloudSpecs/us-west-1.json +++ b/src/cfnlint/data/CloudSpecs/us-west-1.json @@ -22430,13 +22430,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -22453,13 +22459,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -23098,13 +23110,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -23121,13 +23139,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -44489,6 +44513,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/CloudSpecs/us-west-2.json b/src/cfnlint/data/CloudSpecs/us-west-2.json index becea6e382..f4c1cbee45 100644 --- a/src/cfnlint/data/CloudSpecs/us-west-2.json +++ b/src/cfnlint/data/CloudSpecs/us-west-2.json @@ -30847,13 +30847,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementone.html#cfn-wafv2-rulegroup-ratebasedstatementone-scopedownstatement", @@ -30870,13 +30876,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-rulegroup-ratebasedstatementtwo.html#cfn-wafv2-rulegroup-ratebasedstatementtwo-scopedownstatement", @@ -31515,13 +31527,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementone.html#cfn-wafv2-webacl-ratebasedstatementone-scopedownstatement", @@ -31538,13 +31556,19 @@ "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-aggregatekeytype", "PrimitiveType": "String", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } }, "Limit": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-limit", "PrimitiveType": "Integer", "Required": true, - "UpdateType": "Mutable" + "UpdateType": "Mutable", + "Value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } }, "ScopeDownStatement": { "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafv2-webacl-ratebasedstatementtwo.html#cfn-wafv2-webacl-ratebasedstatementtwo-scopedownstatement", @@ -58466,6 +58490,15 @@ "NumberMax": 16384, "NumberMin": 5 }, + "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType": { + "AllowedValues": [ + "IP" + ] + }, + "AWS::WAFv2::RuleGroup.Rate.Limit": { + "NumberMax": 20000000, + "NumberMin": 100 + }, "AWS::WorkSpaces::Workspace.ComputeTypeName": { "AllowedValues": [ "GRAPHICS", diff --git a/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_wafv2.json b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_wafv2.json new file mode 100644 index 0000000000..4f2a265e1d --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/03_value_types/aws_wafv2.json @@ -0,0 +1,19 @@ +[ + { + "op": "add", + "path": "/ValueTypes/AWS::WAFv2::RuleGroup.Rate.Limit", + "value": { + "NumberMax": 20000000, + "NumberMin": 100 + } + }, + { + "op": "add", + "path": "/ValueTypes/AWS::WAFv2::RuleGroup.Rate.AggregateKeyType", + "value": { + "AllowedValues": [ + "IP" + ] + } + } +] \ No newline at end of file diff --git a/src/cfnlint/data/ExtendedSpecs/all/04_property_values/aws_wafv2.json b/src/cfnlint/data/ExtendedSpecs/all/04_property_values/aws_wafv2.json new file mode 100644 index 0000000000..713b539419 --- /dev/null +++ b/src/cfnlint/data/ExtendedSpecs/all/04_property_values/aws_wafv2.json @@ -0,0 +1,58 @@ +[ + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::RuleGroup.RateBasedStatementOne/Properties/Limit/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::RuleGroup.RateBasedStatementTwo/Properties/Limit/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::WebACL.RateBasedStatementOne/Properties/Limit/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::WebACL.RateBasedStatementTwo/Properties/Limit/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.Limit" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::RuleGroup.RateBasedStatementOne/Properties/AggregateKeyType/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::RuleGroup.RateBasedStatementTwo/Properties/AggregateKeyType/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::WebACL.RateBasedStatementOne/Properties/AggregateKeyType/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } + }, + { + "op": "add", + "path": "/PropertyTypes/AWS::WAFv2::WebACL.RateBasedStatementTwo/Properties/AggregateKeyType/Value", + "value": { + "ValueType": "AWS::WAFv2::RuleGroup.Rate.AggregateKeyType" + } + } +] \ No newline at end of file