2つの子テンプレートを呼び出すマスターCloudformation
テンプレートがあります。最初のテンプレートが実行され、リソースのOutputs
セクションにキャプチャされた出力があります。私は入れ子になっているSecond TemplateでChildStack01 Outputの値を使用しようと多くの試みをしてきましたが、なぜ私がTemplate format error: Unresolved resource dependencies [XYZ] in the Resources block of the template
を得るのか分かりません。ここに私のマスターテンプレートがあります。ここでCloudFormation - 子ネストされたスタック内の親スタックの出力へのアクセス
{
"AWSTemplateFormatVersion": "2010-09-09",
"Resources": {
"LambdaStack": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"TemplateURL": "https://s3.amazonaws.com/bucket1/cloudformation/Test1.json",
"TimeoutInMinutes": "60"
}
},
"PermissionsStack": {
"Type": "AWS::CloudFormation::Stack",
"Properties": {
"TemplateURL": "https://s3.amazonaws.com/bucket1/cloudformation/Test2.json",
"Parameters": {
"LambdaTest": {
"Fn::GetAtt": ["LambdaStack", "Outputs.LambdaTest"]
}
},
"TimeoutInMinutes": "60"
}
}
}
}
ここに私のTest1.jsonテンプレート
{
"Resources": {
"LambdaTestRes": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Description": "Testing AWS cloud formation",
"FunctionName": "LambdaTest",
"Handler": "lambda_handler.lambda_handler",
"MemorySize": 128,
"Role": "arn:aws:iam::3423435234235:role/lambda_role",
"Runtime": "python2.7",
"Timeout": 300,
"Code": {
"S3Bucket": "bucket1",
"S3Key": "cloudformation/XYZ.zip"
}
}
}
},
"Outputs": {
"LambdaTest": {
"Value": {
"Fn::GetAtt": ["LambdaTestRes", "Arn"]
}
}
}
}
はTest1.jsonの出力を使用しなければならない私のTest2.jsonです。
{
"Resources": {
"LambdaPermissionLambdaTest": {
"Type": "AWS::Lambda::Permission",
"Properties": {
"Action": "lambda:invokeFunction",
"FunctionName": {
"Ref": "LambdaTest"
},
"Principal": "apigateway.amazonaws.com",
"SourceArn": {
"Fn::Join": ["", ["arn:aws:execute-api:", {
"Ref": "AWS::Region"
}, ":", {
"Ref": "AWS::AccountId"
}, ":", {
"Ref": "TestAPI"
}, "/*"]]
}
}
}
},
"Parameters": {
"LambdaTest": {
"Type": "String"
}
}
}
見ることができません。ダブルチェックするだけで、パラメータセクションのtest2.jsonにパラメータLambdaTestが含まれていますか?また、通常Outputs。 autoを使用しても、そのテンプレートの依存関係は含まれますが、確かにtest2.jsonでDependsOnを使用してみることはできますか? –
動作に依存しますが、ネストされたテンプレート形式を使用すると、スタック名には埋め込まれたリソースIDとともにオンザフライで作成されます。だから、私たちは、以前のテンプレート名が何であるか分からない。 – ZZzzZZzz