[
 {
  "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::Cognito::IdentityPool",
  "value": {
   "Attributes": {
    "Id": {
     "PrimitiveType": "String"
    },
    "Name": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html",
   "Properties": {
    "AllowClassicFlow": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowclassicflow",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "AllowUnauthenticatedIdentities": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-allowunauthenticatedidentities",
     "PrimitiveType": "Boolean",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "CognitoEvents": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoevents",
     "PrimitiveType": "Json",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "CognitoIdentityProviders": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitoidentityproviders",
     "DuplicatesAllowed": true,
     "ItemType": "CognitoIdentityProvider",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "CognitoStreams": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-cognitostreams",
     "Required": false,
     "Type": "CognitoStreams",
     "UpdateType": "Mutable"
    },
    "DeveloperProviderName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-developerprovidername",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "IdentityPoolName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-identitypoolname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "OpenIdConnectProviderARNs": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-openidconnectproviderarns",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "PushSync": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-pushsync",
     "Required": false,
     "Type": "PushSync",
     "UpdateType": "Mutable"
    },
    "SamlProviderARNs": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-samlproviderarns",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "SupportedLoginProviders": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypool.html#cfn-cognito-identitypool-supportedloginproviders",
     "PrimitiveType": "Json",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::IdentityPoolPrincipalTag",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html",
   "Properties": {
    "IdentityPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html#cfn-cognito-identitypoolprincipaltag-identitypoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "IdentityProviderName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html#cfn-cognito-identitypoolprincipaltag-identityprovidername",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "PrincipalTags": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html#cfn-cognito-identitypoolprincipaltag-principaltags",
     "PrimitiveType": "Json",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "UseDefaults": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolprincipaltag.html#cfn-cognito-identitypoolprincipaltag-usedefaults",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::IdentityPoolRoleAttachment",
  "value": {
   "Attributes": {
    "Id": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html",
   "Properties": {
    "IdentityPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-identitypoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "RoleMappings": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-rolemappings",
     "ItemType": "RoleMapping",
     "Required": false,
     "Type": "Map",
     "UpdateType": "Mutable"
    },
    "Roles": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-identitypoolroleattachment.html#cfn-cognito-identitypoolroleattachment-roles",
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "Map",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::LogDeliveryConfiguration",
  "value": {
   "Attributes": {
    "Id": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html",
   "Properties": {
    "LogConfigurations": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfigurations",
     "DuplicatesAllowed": true,
     "ItemType": "LogConfiguration",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-logdeliveryconfiguration.html#cfn-cognito-logdeliveryconfiguration-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPool",
  "value": {
   "Attributes": {
    "Arn": {
     "PrimitiveType": "String"
    },
    "ProviderName": {
     "PrimitiveType": "String"
    },
    "ProviderURL": {
     "PrimitiveType": "String"
    },
    "UserPoolId": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html",
   "Properties": {
    "AccountRecoverySetting": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-accountrecoverysetting",
     "Required": false,
     "Type": "AccountRecoverySetting",
     "UpdateType": "Mutable"
    },
    "AdminCreateUserConfig": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-admincreateuserconfig",
     "Required": false,
     "Type": "AdminCreateUserConfig",
     "UpdateType": "Mutable"
    },
    "AliasAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-aliasattributes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "AutoVerifiedAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-autoverifiedattributes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "DeletionProtection": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deletionprotection",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "DeviceConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-deviceconfiguration",
     "Required": false,
     "Type": "DeviceConfiguration",
     "UpdateType": "Mutable"
    },
    "EmailConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailconfiguration",
     "Required": false,
     "Type": "EmailConfiguration",
     "UpdateType": "Mutable"
    },
    "EmailVerificationMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailVerificationSubject": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-emailverificationsubject",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EnabledMfas": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-enabledmfas",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "LambdaConfig": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-lambdaconfig",
     "Required": false,
     "Type": "LambdaConfig",
     "UpdateType": "Mutable"
    },
    "MfaConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-mfaconfiguration",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Policies": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-policies",
     "Required": false,
     "Type": "Policies",
     "UpdateType": "Mutable"
    },
    "Schema": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-schema",
     "DuplicatesAllowed": true,
     "ItemType": "SchemaAttribute",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "SmsAuthenticationMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsauthenticationmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SmsConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsconfiguration",
     "Required": false,
     "Type": "SmsConfiguration",
     "UpdateType": "Mutable"
    },
    "SmsVerificationMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-smsverificationmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "UserAttributeUpdateSettings": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userattributeupdatesettings",
     "Required": false,
     "Type": "UserAttributeUpdateSettings",
     "UpdateType": "Mutable"
    },
    "UserPoolAddOns": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooladdons",
     "Required": false,
     "Type": "UserPoolAddOns",
     "UpdateType": "Mutable"
    },
    "UserPoolName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpoolname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "UserPoolTags": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-userpooltags",
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "Map",
     "UpdateType": "Mutable"
    },
    "UsernameAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameattributes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "UsernameConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-usernameconfiguration",
     "Required": false,
     "Type": "UsernameConfiguration",
     "UpdateType": "Mutable"
    },
    "VerificationMessageTemplate": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html#cfn-cognito-userpool-verificationmessagetemplate",
     "Required": false,
     "Type": "VerificationMessageTemplate",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolClient",
  "value": {
   "Attributes": {
    "ClientId": {
     "PrimitiveType": "String"
    },
    "ClientSecret": {
     "PrimitiveType": "String"
    },
    "Name": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html",
   "Properties": {
    "AccessTokenValidity": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-accesstokenvalidity",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "AllowedOAuthFlows": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflows",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "AllowedOAuthFlowsUserPoolClient": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthflowsuserpoolclient",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "AllowedOAuthScopes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-allowedoauthscopes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "AnalyticsConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-analyticsconfiguration",
     "Required": false,
     "Type": "AnalyticsConfiguration",
     "UpdateType": "Mutable"
    },
    "AuthSessionValidity": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-authsessionvalidity",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "CallbackURLs": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-callbackurls",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "ClientName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-clientname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "DefaultRedirectURI": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-defaultredirecturi",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EnablePropagateAdditionalUserContextData": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-enablepropagateadditionalusercontextdata",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EnableTokenRevocation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-enabletokenrevocation",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ExplicitAuthFlows": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-explicitauthflows",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "GenerateSecret": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-generatesecret",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "IdTokenValidity": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-idtokenvalidity",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "LogoutURLs": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-logouturls",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "PreventUserExistenceErrors": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-preventuserexistenceerrors",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ReadAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-readattributes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "RefreshTokenValidity": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-refreshtokenvalidity",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SupportedIdentityProviders": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-supportedidentityproviders",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "TokenValidityUnits": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-tokenvalidityunits",
     "Required": false,
     "Type": "TokenValidityUnits",
     "UpdateType": "Mutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "WriteAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolclient.html#cfn-cognito-userpoolclient-writeattributes",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolDomain",
  "value": {
   "Attributes": {
    "CloudFrontDistribution": {
     "PrimitiveType": "String"
    }
   },
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html",
   "Properties": {
    "CustomDomainConfig": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-customdomainconfig",
     "Required": false,
     "Type": "CustomDomainConfigType",
     "UpdateType": "Mutable"
    },
    "Domain": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-domain",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooldomain.html#cfn-cognito-userpooldomain-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolGroup",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html",
   "Properties": {
    "Description": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-description",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "GroupName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-groupname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "Precedence": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-precedence",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RoleArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-rolearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html#cfn-cognito-userpoolgroup-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolIdentityProvider",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html",
   "Properties": {
    "AttributeMapping": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-attributemapping",
     "PrimitiveType": "Json",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "IdpIdentifiers": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-idpidentifiers",
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "ProviderDetails": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providerdetails",
     "PrimitiveType": "Json",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ProviderName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providername",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "ProviderType": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-providertype",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolidentityprovider.html#cfn-cognito-userpoolidentityprovider-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolResourceServer",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html",
   "Properties": {
    "Identifier": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-identifier",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-name",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Scopes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-scopes",
     "ItemType": "ResourceServerScopeType",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolresourceserver.html#cfn-cognito-userpoolresourceserver-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html",
   "Properties": {
    "AccountTakeoverRiskConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfiguration",
     "Required": false,
     "Type": "AccountTakeoverRiskConfigurationType",
     "UpdateType": "Mutable"
    },
    "ClientId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-clientid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "CompromisedCredentialsRiskConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfiguration",
     "Required": false,
     "Type": "CompromisedCredentialsRiskConfigurationType",
     "UpdateType": "Mutable"
    },
    "RiskExceptionConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfiguration",
     "Required": false,
     "Type": "RiskExceptionConfigurationType",
     "UpdateType": "Mutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolriskconfigurationattachment.html#cfn-cognito-userpoolriskconfigurationattachment-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolUICustomizationAttachment",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html",
   "Properties": {
    "CSS": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-css",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ClientId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-clientid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluicustomizationattachment.html#cfn-cognito-userpooluicustomizationattachment-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolUser",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html",
   "Properties": {
    "ClientMetadata": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-clientmetadata",
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "Map",
     "UpdateType": "Immutable"
    },
    "DesiredDeliveryMediums": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-desireddeliverymediums",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Immutable"
    },
    "ForceAliasCreation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-forcealiascreation",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "MessageAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-messageaction",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "UserAttributes": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userattributes",
     "DuplicatesAllowed": true,
     "ItemType": "AttributeType",
     "Required": false,
     "Type": "List",
     "UpdateType": "Immutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Username": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-username",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "ValidationData": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpooluser.html#cfn-cognito-userpooluser-validationdata",
     "DuplicatesAllowed": true,
     "ItemType": "AttributeType",
     "Required": false,
     "Type": "List",
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/ResourceTypes/AWS::Cognito::UserPoolUserToGroupAttachment",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html",
   "Properties": {
    "GroupName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-groupname",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "UserPoolId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-userpoolid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    },
    "Username": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolusertogroupattachment.html#cfn-cognito-userpoolusertogroupattachment-username",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPool.CognitoIdentityProvider",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html",
   "Properties": {
    "ClientId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-clientid",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "ProviderName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-providername",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "ServerSideTokenCheck": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitoidentityprovider.html#cfn-cognito-identitypool-cognitoidentityprovider-serversidetokencheck",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPool.CognitoStreams",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html",
   "Properties": {
    "RoleArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-rolearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "StreamName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamname",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "StreamingStatus": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-cognitostreams.html#cfn-cognito-identitypool-cognitostreams-streamingstatus",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPool.PushSync",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html",
   "Properties": {
    "ApplicationArns": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-applicationarns",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "RoleArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypool-pushsync.html#cfn-cognito-identitypool-pushsync-rolearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPoolRoleAttachment.MappingRule",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html",
   "Properties": {
    "Claim": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-claim",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "MatchType": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-matchtype",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "RoleARN": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-rolearn",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Value": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-mappingrule.html#cfn-cognito-identitypoolroleattachment-mappingrule-value",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPoolRoleAttachment.RoleMapping",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html",
   "Properties": {
    "AmbiguousRoleResolution": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-ambiguousroleresolution",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "IdentityProvider": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-identityprovider",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RulesConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-rulesconfiguration",
     "Required": false,
     "Type": "RulesConfigurationType",
     "UpdateType": "Mutable"
    },
    "Type": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rolemapping.html#cfn-cognito-identitypoolroleattachment-rolemapping-type",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::IdentityPoolRoleAttachment.RulesConfigurationType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html",
   "Properties": {
    "Rules": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-identitypoolroleattachment-rulesconfigurationtype.html#cfn-cognito-identitypoolroleattachment-rulesconfigurationtype-rules",
     "DuplicatesAllowed": true,
     "ItemType": "MappingRule",
     "Required": true,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::LogDeliveryConfiguration.CloudWatchLogsConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-cloudwatchlogsconfiguration.html",
   "Properties": {
    "LogGroupArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-cloudwatchlogsconfiguration.html#cfn-cognito-logdeliveryconfiguration-cloudwatchlogsconfiguration-loggrouparn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::LogDeliveryConfiguration.LogConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html",
   "Properties": {
    "CloudWatchLogsConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-cloudwatchlogsconfiguration",
     "Required": false,
     "Type": "CloudWatchLogsConfiguration",
     "UpdateType": "Mutable"
    },
    "EventSource": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-eventsource",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "LogLevel": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-logdeliveryconfiguration-logconfiguration.html#cfn-cognito-logdeliveryconfiguration-logconfiguration-loglevel",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.AccountRecoverySetting",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html",
   "Properties": {
    "RecoveryMechanisms": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-accountrecoverysetting.html#cfn-cognito-userpool-accountrecoverysetting-recoverymechanisms",
     "DuplicatesAllowed": true,
     "ItemType": "RecoveryOption",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.AdminCreateUserConfig",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html",
   "Properties": {
    "AllowAdminCreateUserOnly": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-allowadmincreateuseronly",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "InviteMessageTemplate": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-invitemessagetemplate",
     "Required": false,
     "Type": "InviteMessageTemplate",
     "UpdateType": "Mutable"
    },
    "UnusedAccountValidityDays": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-admincreateuserconfig.html#cfn-cognito-userpool-admincreateuserconfig-unusedaccountvaliditydays",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.CustomEmailSender",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html",
   "Properties": {
    "LambdaArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaarn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "LambdaVersion": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customemailsender.html#cfn-cognito-userpool-customemailsender-lambdaversion",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.CustomSMSSender",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html",
   "Properties": {
    "LambdaArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaarn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "LambdaVersion": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-customsmssender.html#cfn-cognito-userpool-customsmssender-lambdaversion",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.DeviceConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html",
   "Properties": {
    "ChallengeRequiredOnNewDevice": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-challengerequiredonnewdevice",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "DeviceOnlyRememberedOnUserPrompt": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-deviceconfiguration.html#cfn-cognito-userpool-deviceconfiguration-deviceonlyrememberedonuserprompt",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.EmailConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html",
   "Properties": {
    "ConfigurationSet": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-configurationset",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailSendingAccount": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-emailsendingaccount",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "From": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-from",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ReplyToEmailAddress": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-replytoemailaddress",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SourceArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-emailconfiguration.html#cfn-cognito-userpool-emailconfiguration-sourcearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.InviteMessageTemplate",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html",
   "Properties": {
    "EmailMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailSubject": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-emailsubject",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SMSMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-invitemessagetemplate.html#cfn-cognito-userpool-invitemessagetemplate-smsmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.LambdaConfig",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html",
   "Properties": {
    "CreateAuthChallenge": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-createauthchallenge",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "CustomEmailSender": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customemailsender",
     "Required": false,
     "Type": "CustomEmailSender",
     "UpdateType": "Mutable"
    },
    "CustomMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-custommessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "CustomSMSSender": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-customsmssender",
     "Required": false,
     "Type": "CustomSMSSender",
     "UpdateType": "Mutable"
    },
    "DefineAuthChallenge": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-defineauthchallenge",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "KMSKeyID": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-kmskeyid",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PostAuthentication": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postauthentication",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PostConfirmation": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-postconfirmation",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PreAuthentication": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-preauthentication",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PreSignUp": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-presignup",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PreTokenGeneration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengeneration",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "PreTokenGenerationConfig": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-pretokengenerationconfig",
     "Required": false,
     "Type": "PreTokenGenerationConfig",
     "UpdateType": "Mutable"
    },
    "UserMigration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-usermigration",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "VerifyAuthChallengeResponse": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html#cfn-cognito-userpool-lambdaconfig-verifyauthchallengeresponse",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.NumberAttributeConstraints",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html",
   "Properties": {
    "MaxValue": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-maxvalue",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "MinValue": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-numberattributeconstraints.html#cfn-cognito-userpool-numberattributeconstraints-minvalue",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.PasswordPolicy",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html",
   "Properties": {
    "MinimumLength": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-minimumlength",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RequireLowercase": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirelowercase",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RequireNumbers": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requirenumbers",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RequireSymbols": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requiresymbols",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RequireUppercase": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-requireuppercase",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "TemporaryPasswordValidityDays": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-passwordpolicy.html#cfn-cognito-userpool-passwordpolicy-temporarypasswordvaliditydays",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.Policies",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html",
   "Properties": {
    "PasswordPolicy": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-policies.html#cfn-cognito-userpool-policies-passwordpolicy",
     "Required": false,
     "Type": "PasswordPolicy",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.PreTokenGenerationConfig",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html",
   "Properties": {
    "LambdaArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html#cfn-cognito-userpool-pretokengenerationconfig-lambdaarn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "LambdaVersion": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-pretokengenerationconfig.html#cfn-cognito-userpool-pretokengenerationconfig-lambdaversion",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.RecoveryOption",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-name",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Priority": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-recoveryoption.html#cfn-cognito-userpool-recoveryoption-priority",
     "PrimitiveType": "Integer",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.SchemaAttribute",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html",
   "Properties": {
    "AttributeDataType": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-attributedatatype",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "DeveloperOnlyAttribute": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-developeronlyattribute",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Mutable": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-mutable",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-name",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "NumberAttributeConstraints": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-numberattributeconstraints",
     "Required": false,
     "Type": "NumberAttributeConstraints",
     "UpdateType": "Mutable"
    },
    "Required": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-required",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "StringAttributeConstraints": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-schemaattribute.html#cfn-cognito-userpool-schemaattribute-stringattributeconstraints",
     "Required": false,
     "Type": "StringAttributeConstraints",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.SmsConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html",
   "Properties": {
    "ExternalId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-externalid",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SnsCallerArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snscallerarn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SnsRegion": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-smsconfiguration.html#cfn-cognito-userpool-smsconfiguration-snsregion",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.StringAttributeConstraints",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html",
   "Properties": {
    "MaxLength": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-maxlength",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "MinLength": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-stringattributeconstraints.html#cfn-cognito-userpool-stringattributeconstraints-minlength",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.UserAttributeUpdateSettings",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userattributeupdatesettings.html",
   "Properties": {
    "AttributesRequireVerificationBeforeUpdate": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userattributeupdatesettings.html#cfn-cognito-userpool-userattributeupdatesettings-attributesrequireverificationbeforeupdate",
     "DuplicatesAllowed": true,
     "PrimitiveItemType": "String",
     "Required": true,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.UserPoolAddOns",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html",
   "Properties": {
    "AdvancedSecurityMode": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-userpooladdons.html#cfn-cognito-userpool-userpooladdons-advancedsecuritymode",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.UsernameConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-usernameconfiguration.html",
   "Properties": {
    "CaseSensitive": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-usernameconfiguration.html#cfn-cognito-userpool-usernameconfiguration-casesensitive",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPool.VerificationMessageTemplate",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html",
   "Properties": {
    "DefaultEmailOption": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-defaultemailoption",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailMessageByLink": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailmessagebylink",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailSubject": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubject",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "EmailSubjectByLink": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-emailsubjectbylink",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SmsMessage": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-verificationmessagetemplate.html#cfn-cognito-userpool-verificationmessagetemplate-smsmessage",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolClient.AnalyticsConfiguration",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html",
   "Properties": {
    "ApplicationArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationarn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ApplicationId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-applicationid",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "ExternalId": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-externalid",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RoleArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-rolearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "UserDataShared": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-analyticsconfiguration.html#cfn-cognito-userpoolclient-analyticsconfiguration-userdatashared",
     "PrimitiveType": "Boolean",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolClient.TokenValidityUnits",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html",
   "Properties": {
    "AccessToken": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-accesstoken",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "IdToken": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-idtoken",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "RefreshToken": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolclient-tokenvalidityunits.html#cfn-cognito-userpoolclient-tokenvalidityunits-refreshtoken",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolDomain.CustomDomainConfigType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html",
   "Properties": {
    "CertificateArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooldomain-customdomainconfigtype.html#cfn-cognito-userpooldomain-customdomainconfigtype-certificatearn",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolResourceServer.ResourceServerScopeType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html",
   "Properties": {
    "ScopeDescription": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopedescription",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "ScopeName": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolresourceserver-resourceserverscopetype.html#cfn-cognito-userpoolresourceserver-resourceserverscopetype-scopename",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html",
   "Properties": {
    "EventAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-eventaction",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "Notify": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractiontype-notify",
     "PrimitiveType": "Boolean",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverActionsType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html",
   "Properties": {
    "HighAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-highaction",
     "Required": false,
     "Type": "AccountTakeoverActionType",
     "UpdateType": "Mutable"
    },
    "LowAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-lowaction",
     "Required": false,
     "Type": "AccountTakeoverActionType",
     "UpdateType": "Mutable"
    },
    "MediumAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoveractionstype-mediumaction",
     "Required": false,
     "Type": "AccountTakeoverActionType",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.AccountTakeoverRiskConfigurationType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html",
   "Properties": {
    "Actions": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-actions",
     "Required": true,
     "Type": "AccountTakeoverActionsType",
     "UpdateType": "Mutable"
    },
    "NotifyConfiguration": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-accounttakeoverriskconfigurationtype-notifyconfiguration",
     "Required": false,
     "Type": "NotifyConfigurationType",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsActionsType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html",
   "Properties": {
    "EventAction": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsactionstype-eventaction",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.CompromisedCredentialsRiskConfigurationType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html",
   "Properties": {
    "Actions": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-actions",
     "Required": true,
     "Type": "CompromisedCredentialsActionsType",
     "UpdateType": "Mutable"
    },
    "EventFilter": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-compromisedcredentialsriskconfigurationtype-eventfilter",
     "DuplicatesAllowed": false,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyConfigurationType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html",
   "Properties": {
    "BlockEmail": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-blockemail",
     "Required": false,
     "Type": "NotifyEmailType",
     "UpdateType": "Mutable"
    },
    "From": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-from",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "MfaEmail": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-mfaemail",
     "Required": false,
     "Type": "NotifyEmailType",
     "UpdateType": "Mutable"
    },
    "NoActionEmail": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-noactionemail",
     "Required": false,
     "Type": "NotifyEmailType",
     "UpdateType": "Mutable"
    },
    "ReplyTo": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-replyto",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "SourceArn": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyconfigurationtype-sourcearn",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.NotifyEmailType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html",
   "Properties": {
    "HtmlBody": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-htmlbody",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    },
    "Subject": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-subject",
     "PrimitiveType": "String",
     "Required": true,
     "UpdateType": "Mutable"
    },
    "TextBody": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-notifyemailtype.html#cfn-cognito-userpoolriskconfigurationattachment-notifyemailtype-textbody",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolRiskConfigurationAttachment.RiskExceptionConfigurationType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html",
   "Properties": {
    "BlockedIPRangeList": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-blockediprangelist",
     "DuplicatesAllowed": false,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    },
    "SkippedIPRangeList": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype.html#cfn-cognito-userpoolriskconfigurationattachment-riskexceptionconfigurationtype-skippediprangelist",
     "DuplicatesAllowed": false,
     "PrimitiveItemType": "String",
     "Required": false,
     "Type": "List",
     "UpdateType": "Mutable"
    }
   }
  }
 },
 {
  "op": "add",
  "path": "/PropertyTypes/AWS::Cognito::UserPoolUser.AttributeType",
  "value": {
   "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html",
   "Properties": {
    "Name": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-name",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Immutable"
    },
    "Value": {
     "Documentation": "http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpooluser-attributetype.html#cfn-cognito-userpooluser-attributetype-value",
     "PrimitiveType": "String",
     "Required": false,
     "UpdateType": "Immutable"
    }
   }
  }
 },
 {
  "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"
    }
   }
  }
 }
]