Je voulais déployer ma pile CF via un framework sans serveur, mais j'ai reçu une exception. J'ai donc validé la configuration CF via aws-cli et elle répond avec ValidationError.
Resources:
CognitoUserPool:
Type: AWS::Cognito::UserPool
Properties:
UserPoolName: test-pool
CognitoUserPoolClient:
Type: AWS::Cognito::UserPoolClient
Properties:
ClientName: test-client
ExplicitAuthFlows:
- ADMIN_NO_SRP_AUTH
GenerateSecret: false
UserPoolId:
Ref: CognitoUserPool
aws cloudformation validate-template --template-body file://test-template.yml
md5-0884b744ef7ebb7d442c0f51b32b4a9f
An error occurred (ValidationError) when calling the ValidateTemplate operation: Template format error: Unrecognized resource types: [AWS::Cognito::UserPool, AWS::Cognito::UserPoolClient]
C'était étrange car j'étais sûr que la configuration CF était correcte et j'ai pu la déployer auparavant sur mon ancienne machine. Je me suis battu pour que cela puisse être un bug dans la nouvelle version 1.11.113, alors je l'ai essayé sur mon ancienne machine et cela a fonctionné comme un charme sur 1.11.84. Cependant, lorsque j'ai réinstallé le 1.11.113 vers l'ancien 1.11.84, le message d'erreur est resté. S'il vous plaît, pouvez-vous me dire ce que je fais mal?. Merci.
Intéressant, je ne peux pas reproduire cela. Votre modèle donné fonctionne bien pour moi sous 1.11.113
. Pouvez-vous ajouter --debug
à votre appel et publier les journaux ici, cela peut donner plus d'indications sur ce qui se passe.
En général, la version de la CLI ne devrait pas affecter cela, car il s'agit d'une réponse que nous obtenons du service. tout ce que nous faisons est de leur envoyer votre modèle et d'imprimer la réponse que nous obtenons. Y a-t-il autre chose qui varie entre ces deux invocations autre que la version CLI ?
Eh bien, j'ai compris. J'avais configuré AWS_DEFAULT_REGION=us-west-1
et Amazon ne prend pas en charge Cognito dans cette région. Quand je le change en disons us-east-1
cela fonctionne. Ce comportement est le même dans les deux versions, il m'est juste arrivé d'avoir une région différente dans une ancienne machine. Merci de m'avoir aidé!
Génial content que tu aies compris !
Commentaire le plus utile
Eh bien, j'ai compris. J'avais configuré
AWS_DEFAULT_REGION=us-west-1
et Amazon ne prend pas en charge Cognito dans cette région. Quand je le change en disonsus-east-1
cela fonctionne. Ce comportement est le même dans les deux versions, il m'est juste arrivé d'avoir une région différente dans une ancienne machine. Merci de m'avoir aidé!