Home > Software engineering >  Terraform Error while creating AWS Cognito Userpool
Terraform Error while creating AWS Cognito Userpool

Time:12-09

Below is my terraform code to create a Cognito Userpool.

resource "aws_cognito_user_pool" "sample_application" {
    name = "sampletest-pool"
    schema {
            name                    = "email"
            attribute_data_type     = "String"
            required                = true
            string_attribute_constraints {
            }
    }
    schema {
            name                    = "name"
            attribute_data_type     = "String"
            required                = true
            string_attribute_constraints {
                min_length = 1
                max_length = 50
            }
    }
    schema {
            name                    = "family_name"
            attribute_data_type     = "String"
            required                = true
            string_attribute_constraints {
                min_length = 1
                max_length = 50
            }
    }
    schema {
            name                     = "phone_number"
            developer_only_attribute = true
            attribute_data_type      = "Number"
            required                 = true
            number_attribute_constraints {}
    }
}

When I give terraform apply I'm displayed with the below error.

╷ │ Error: error creating Cognito User Pool: InvalidParameterException: You can not change AttributeDataType or set developerOnlyAttribute for standard schema attribute phone_number │ │ with aws_cognito_user_pool.sample_application, │ on cognito.tf line 1, in resource "aws_cognito_user_pool" "sample_application": │ 1: resource "aws_cognito_user_pool" "sample_application" { │ ╵

I know I'm making a small mistake but unable to find it and the official docs don't have any example for this usecase at all. Official Docs: https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/cognito_user_pool

CodePudding user response:

As the error says you cannot set developerOnlyAttribute for standard schema attributes (Standard Atrtibutes )

Also phone number attribute_data_type should be string and cannot be changed.

 schema {
            name                     = "phone_number"
            attribute_data_type      = "String"
            required                 = true
    }
  • Related