サーバーレスフレームワークを介してCFスタックをデプロイしたかったのですが、例外が発生しました。 そこで、aws-cliを介してCF構成を検証すると、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]
CFの構成が正しいことを確信していて、以前は古いマシンにデプロイできたので、奇妙でした。 新しい1.11.113バージョンではバグになる可能性があると戦ったので、古いマシンで試してみましたが、1.11.84ではチャームのように機能しました。 ただし、1.11.113を古い1.11.84に再インストールすると、エラーメッセージが表示されたままになりました。 私が間違っていることを教えてください。 ありがとうございました。
興味深いことに、これを再現することはできません。 あなたの与えられたテンプレートは1.11.113
下で私のためにうまく働きます。 通話に--debug
を追加して、ここにログを投稿できますか。これにより、何が起こっているかがわかりやすくなります。
一般に、CLIのバージョンがこれに影響を与えることはありません。これは、サービスから取得する応答だからです。 テンプレートを送信して、受け取った応答を印刷するだけです。 CLIバージョン以外に、これら2つの呼び出し間で異なるものはありますか?
よく私はそれを理解しました。 AWS_DEFAULT_REGION=us-west-1
、AmazonはそのリージョンでCognitoをサポートしていません。 us-east-1
と言うように変更すると、機能します。 この動作は両方のバージョンで同じです。古いマシンではたまたま異なるリージョンがありました。 手伝ってくれてありがとう!
あなたがそれを理解してくれて本当にうれしいです!
最も参考になるコメント
よく私はそれを理解しました。
AWS_DEFAULT_REGION=us-west-1
、AmazonはそのリージョンでCognitoをサポートしていません。us-east-1
と言うように変更すると、機能します。 この動作は両方のバージョンで同じです。古いマシンではたまたま異なるリージョンがありました。 手伝ってくれてありがとう!