[
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::CodeCommit::Repository",
  "value": {
   "Attributes": {
    "Arn": {
     "PrimitiveType": "String"
    },
    "CloneUrlHttp": {
     "PrimitiveType": "String"
    },
    "CloneUrlSsh": {
     "PrimitiveType": "String"
    },
    "KmsKeyId": {
     "PrimitiveType": "String"
    },
    "Name": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html",
   "Properties": {
    "Code": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-code",
     "Required": false,
     "Type": "Code",
     "UpdateType": "Mutable"
    },
    "KmsKeyId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-kmskeyid",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RepositoryDescription": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositorydescription",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RepositoryName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-repositoryname",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Tags": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-tags",
     "ItemType": "Tag",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "Triggers": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codecommit-repository.html#cfn-codecommit-repository-triggers",
     "ItemType": "RepositoryTrigger",
     "Required": false,
     "Type": "List",
     "UpdateType": "Conditional"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::CodeCommit::Repository.Code",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html",
   "Properties": {
    "BranchName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-branchname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "S3": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-code.html#cfn-codecommit-repository-code-s3",
     "Required": true,
     "Type": "S3",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::CodeCommit::Repository.RepositoryTrigger",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html",
   "Properties": {
    "Branches": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-branches",
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "CustomData": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-customdata",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "DestinationArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-destinationarn",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Events": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-events",
     "PrimitiveItemType": "String",
     "Required": true,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-repositorytrigger.html#cfn-codecommit-repository-repositorytrigger-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::CodeCommit::Repository.S3",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html",
   "Properties": {
    "Bucket": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-bucket",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Key": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-key",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "ObjectVersion": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codecommit-repository-s3.html#cfn-codecommit-repository-s3-objectversion",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::ByteMatchSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html",
   "Properties": {
    "ByteMatchTuples": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html#cfn-wafregional-bytematchset-bytematchtuples",
     "ItemType": "ByteMatchTuple",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-bytematchset.html#cfn-wafregional-bytematchset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::GeoMatchSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html",
   "Properties": {
    "GeoMatchConstraints": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html#cfn-wafregional-geomatchset-geomatchconstraints",
     "ItemType": "GeoMatchConstraint",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-geomatchset.html#cfn-wafregional-geomatchset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::IPSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html",
   "Properties": {
    "IPSetDescriptors": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html#cfn-wafregional-ipset-ipsetdescriptors",
     "ItemType": "IPSetDescriptor",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ipset.html#cfn-wafregional-ipset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::RateBasedRule",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html",
   "Properties": {
    "MatchPredicates": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-matchpredicates",
     "ItemType": "Predicate",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "MetricName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-metricname",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "RateKey": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratekey",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "RateLimit": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-ratebasedrule.html#cfn-wafregional-ratebasedrule-ratelimit",
     "PrimitiveType": "Integer",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::RegexPatternSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html#cfn-wafregional-regexpatternset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "RegexPatternStrings": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-regexpatternset.html#cfn-wafregional-regexpatternset-regexpatternstrings",
     "PrimitiveItemType": "String",
     "Required": true,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::Rule",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html",
   "Properties": {
    "MetricName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-metricname",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Predicates": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-rule.html#cfn-wafregional-rule-predicates",
     "ItemType": "Predicate",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::SizeConstraintSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html#cfn-wafregional-sizeconstraintset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "SizeConstraints": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sizeconstraintset.html#cfn-wafregional-sizeconstraintset-sizeconstraints",
     "ItemType": "SizeConstraint",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::SqlInjectionMatchSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html#cfn-wafregional-sqlinjectionmatchset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "SqlInjectionMatchTuples": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-sqlinjectionmatchset.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuples",
     "ItemType": "SqlInjectionMatchTuple",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::WebACL",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html",
   "Properties": {
    "DefaultAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-defaultaction",
     "Required": true,
     "Type": "Action",
     "UpdateType": "Mutable"
    },
    "MetricName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-metricname",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Rules": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webacl.html#cfn-wafregional-webacl-rules",
     "ItemType": "Rule",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::WebACLAssociation",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html",
   "Properties": {
    "ResourceArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html#cfn-wafregional-webaclassociation-resourcearn",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "WebACLId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html#cfn-wafregional-webaclassociation-webaclid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::WAFRegional::XssMatchSet",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html#cfn-wafregional-xssmatchset-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "XssMatchTuples": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-xssmatchset.html#cfn-wafregional-xssmatchset-xssmatchtuples",
     "ItemType": "XssMatchTuple",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::ByteMatchSet.ByteMatchTuple",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html",
   "Properties": {
    "FieldToMatch": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-fieldtomatch",
     "Required": true,
     "Type": "FieldToMatch",
     "UpdateType": "Mutable"
    },
    "PositionalConstraint": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-positionalconstraint",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "TargetString": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstring",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "TargetStringBase64": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-targetstringbase64",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "TextTransformation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-bytematchtuple.html#cfn-wafregional-bytematchset-bytematchtuple-texttransformation",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::ByteMatchSet.FieldToMatch",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html",
   "Properties": {
    "Data": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html#cfn-wafregional-bytematchset-fieldtomatch-data",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-bytematchset-fieldtomatch.html#cfn-wafregional-bytematchset-fieldtomatch-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::GeoMatchSet.GeoMatchConstraint",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html",
   "Properties": {
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html#cfn-wafregional-geomatchset-geomatchconstraint-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Value": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-geomatchset-geomatchconstraint.html#cfn-wafregional-geomatchset-geomatchconstraint-value",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::IPSet.IPSetDescriptor",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html",
   "Properties": {
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html#cfn-wafregional-ipset-ipsetdescriptor-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Value": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ipset-ipsetdescriptor.html#cfn-wafregional-ipset-ipsetdescriptor-value",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::RateBasedRule.Predicate",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html",
   "Properties": {
    "DataId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-dataid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Negated": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-negated",
     "PrimitiveType": "Boolean",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-ratebasedrule-predicate.html#cfn-wafregional-ratebasedrule-predicate-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::Rule.Predicate",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html",
   "Properties": {
    "DataId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-dataid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Negated": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-negated",
     "PrimitiveType": "Boolean",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-rule-predicate.html#cfn-wafregional-rule-predicate-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::SizeConstraintSet.FieldToMatch",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html",
   "Properties": {
    "Data": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html#cfn-wafregional-sizeconstraintset-fieldtomatch-data",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-fieldtomatch.html#cfn-wafregional-sizeconstraintset-fieldtomatch-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::SizeConstraintSet.SizeConstraint",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html",
   "Properties": {
    "ComparisonOperator": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-comparisonoperator",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "FieldToMatch": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-fieldtomatch",
     "Required": true,
     "Type": "FieldToMatch",
     "UpdateType": "Mutable"
    },
    "Size": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-size",
     "PrimitiveType": "Integer",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "TextTransformation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sizeconstraintset-sizeconstraint.html#cfn-wafregional-sizeconstraintset-sizeconstraint-texttransformation",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::SqlInjectionMatchSet.FieldToMatch",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html",
   "Properties": {
    "Data": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html#cfn-wafregional-sqlinjectionmatchset-fieldtomatch-data",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-fieldtomatch.html#cfn-wafregional-sqlinjectionmatchset-fieldtomatch-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::SqlInjectionMatchSet.SqlInjectionMatchTuple",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html",
   "Properties": {
    "FieldToMatch": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple-fieldtomatch",
     "Required": true,
     "Type": "FieldToMatch",
     "UpdateType": "Mutable"
    },
    "TextTransformation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple.html#cfn-wafregional-sqlinjectionmatchset-sqlinjectionmatchtuple-texttransformation",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::WebACL.Action",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html",
   "Properties": {
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-action.html#cfn-wafregional-webacl-action-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::WebACL.Rule",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html",
   "Properties": {
    "Action": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-action",
     "Required": true,
     "Type": "Action",
     "UpdateType": "Mutable"
    },
    "Priority": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-priority",
     "PrimitiveType": "Integer",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "RuleId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-webacl-rule.html#cfn-wafregional-webacl-rule-ruleid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::XssMatchSet.FieldToMatch",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html",
   "Properties": {
    "Data": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html#cfn-wafregional-xssmatchset-fieldtomatch-data",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-fieldtomatch.html#cfn-wafregional-xssmatchset-fieldtomatch-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::WAFRegional::XssMatchSet.XssMatchTuple",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html",
   "Properties": {
    "FieldToMatch": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html#cfn-wafregional-xssmatchset-xssmatchtuple-fieldtomatch",
     "Required": true,
     "Type": "FieldToMatch",
     "UpdateType": "Mutable"
    },
    "TextTransformation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-wafregional-xssmatchset-xssmatchtuple.html#cfn-wafregional-xssmatchset-xssmatchtuple-texttransformation",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 }
]