Хорошо, возможно, я нашел решение. Когда я создал Cognito из AWS UI, все работало нормально. Хотя после создания Cognito из Terraform что-то не работает, но все настройки и свойства равны тому, что Cognito создан вручную.
То, что я изменил, это еще один способ добавить схему в Cognito User Pool из этого
schema = {
attribute_data_type = "String",
name = "email",
required = true
}
к этому
schema {
attribute_data_type = "String"
developer_only_attribute = false
mutable = true
name = "email"
required = true
string_attribute_constraints {
min_length = 7
max_length = 256
}
}
Я считаю важным свойство mutable
. Без этого свойства терраформные мысли о том, что состояние этого сервиса меняется, и каждый tf apply
хочет уничтожить сервис, где в действительности ничего не изменилось.