title: Cloudformation: Error: Member must have length less than or equal to 20
body: <p>I'm using this CloudFormation template to create a Cognito User Pool:</p>
  
  <pre><code>{
      "AWSTemplateFormatVersion": "2010-09-09",
      "Description": "Template creates AWS Cognito UserPool.",
      "Resources": {
          "CognitoUserPool": {
              "Type": "AWS::Cognito::UserPool",
              "Properties": {
                  "Policies": {
                      "PasswordPolicy": {
                          "MinimumLength": 8,
                          "RequireUppercase": true,
                          "RequireLowercase": true,
                          "RequireNumbers": true,
                          "RequireSymbols": true
                      }
                  },
                  "Schema": [
                      {
                          "Name": "sub",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": false,
                          "Required": true,
                          "StringAttributeConstraints": {
                              "MinLength": "1",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "name",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "given_name",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "family_name",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "middle_name",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "nickname",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "preferred_username",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "profile",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "picture",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "website",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "email",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": true,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "email_verified",
                          "AttributeDataType": "Boolean",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false
                      },
                      {
                          "Name": "gender",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "birthdate",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "10",
                              "MaxLength": "10"
                          }
                      },
                      {
                          "Name": "zoneinfo",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "locale",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "phone_number",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "phone_number_verified",
                          "AttributeDataType": "Boolean",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false
                      },
                      {
                          "Name": "address",
                          "AttributeDataType": "String",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "StringAttributeConstraints": {
                              "MinLength": "0",
                              "MaxLength": "2048"
                          }
                      },
                      {
                          "Name": "updated_at",
                          "AttributeDataType": "Number",
                          "DeveloperOnlyAttribute": false,
                          "Mutable": true,
                          "Required": false,
                          "NumberAttributeConstraints": {
                              "MinValue": "0"
                          }
                      }
                  ],
                  "LambdaConfig": {},
                  "AutoVerifiedAttributes": [
                      "email"
                  ],
                  "UsernameAttributes": [
                      "email"
                  ],
                  "SmsVerificationMessage": "Your verification code is {####}. ",
                  "EmailVerificationMessage": "Your app verification code is {####}. ",
                  "EmailVerificationSubject": "Your app verification code",
                  "SmsAuthenticationMessage": "Your authentication code is {####}. ",
                  "MfaConfiguration": "OFF",
                  "EmailConfiguration": {},
                  "UserPoolTags": {},
                  "AdminCreateUserConfig": {
                      "AllowAdminCreateUserOnly": false,
                      "UnusedAccountValidityDays": 7,
                      "InviteMessageTemplate": {
                          "SMSMessage": "Your username is {username} and temporary password is {####}. ",
                          "EmailMessage": "Your username is {username} and temporary password is {####}. ",
                          "EmailSubject": "Your temporary password"
                      }
                  }         
              }
          }          
      },
      "Outputs": {
          "CognitoUserPoolARN": {
              "Value": {
                  "Fn::GetAtt": [
                      "CognitoUserPool",
                      "Arn"
                  ]
              },
              "Export": {
                  "Name": {
                      "Fn::Sub": "${AWS::StackName}-cognito-userpool-arn"
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>The <code>"Schema"</code> is the output of a <strong>current and working</strong> User Pool:</p>
  
  <pre class="lang-sh prettyprint-override"><code>aws cognito-idp describe-user-pool --user-pool-id POOL_ID
  </code></pre>
  
  <p>I have this error when creating the stack (with a different name of course), even though the stack is valid:</p>
  
  <blockquote>
    <p>1 validation error detected: Value 'phone_number_verified' at 'schema.18.member.name' failed to satisfy constraint: Member must have length less than or equal to 20 (Service: AWSCognitoIdentityProviderService; Status Code: 400; Error Code: InvalidParameterException; Request ID: ID)</p>
  </blockquote>
  
  <p>The <code>phone_number_verified</code> is Boolean.</p>