Ich wollte meinen CF-Stack über das Serverless-Framework bereitstellen, aber ich habe eine Ausnahme erhalten. Also habe ich die CF-Konfiguration über aws-cli validiert und sie antwortet mit 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]
Es war seltsam, weil ich sicher war, dass die CF-Konfiguration korrekt war und ich sie zuvor auf meinem alten Computer bereitstellen konnte. Ich habe gekämpft, dass es in der neuen Version 1.11.113 ein Fehler sein kann, also habe ich es auf meinem alten Computer ausprobiert und es hat am 1.11.84 wie ein Zauber funktioniert. Als ich jedoch 1.11.113 auf ältere 1.11.84 neu installierte, blieb die Fehlermeldung bestehen. Können Sie mir bitte sagen, was ich falsch mache?. Dankeschön.
Interessant kann ich das nicht reproduzieren. Ihre angegebene Vorlage funktioniert für mich unter 1.11.113
. Können Sie --debug
zu Ihrem Anruf hinzufügen und die Protokolle hier veröffentlichen, die möglicherweise mehr Hinweise darauf geben, was vor sich geht.
Im Allgemeinen sollte die Version der CLI dies nicht beeinflussen, da dies eine Antwort ist, die wir vom Dienst erhalten. Alles, was wir tun, ist, ihnen Ihre Vorlage zu senden und die Antwort auszudrucken, die wir erhalten. Gibt es noch etwas, das zwischen diesen beiden Aufrufen variiert, außer der CLI-Version?
Nun, das habe ich herausgefunden. Ich hatte AWS_DEFAULT_REGION=us-west-1
konfiguriert und Amazon unterstützt Cognito in dieser Region nicht. Wenn ich es auf us-east-1
ändere, funktioniert es. Dieses Verhalten ist in beiden Versionen gleich, ich habe nur zufällig eine andere Region auf einem älteren Computer. Danke, dass du mir geholfen hast!
Super, dass du es herausgefunden hast!
Hilfreichster Kommentar
Nun, das habe ich herausgefunden. Ich hatte
AWS_DEFAULT_REGION=us-west-1
konfiguriert und Amazon unterstützt Cognito in dieser Region nicht. Wenn ich es aufus-east-1
ändere, funktioniert es. Dieses Verhalten ist in beiden Versionen gleich, ich habe nur zufällig eine andere Region auf einem älteren Computer. Danke, dass du mir geholfen hast!