![](/img/trans.png)
[英]Cloudformation nested stack template ValidationError for child-to-child parameter
[英]Nested CloudFormation - Child template not picking up Parameter
我正在構建一個嵌套 CloudFormation 模板來構建 EKS 集群、節點組和相關角色。 IAM 堆棧構建得很好,當它開始集群堆棧時,它失敗並出現以下錯誤; “參數:模板中不存在 [IAMRoleARN]”。
在 IAM 堆棧中,我為創建的角色 ARN 定義了一個輸出/導出;
Outputs:
ClusterRoleArn:
Value: !GetAtt ClusterRole.Arn
Description: EKS cluster role ARN
Export:
Name:
Fn::Sub: "${AWS::StackName}-ClusterRoleArn"
在我的父堆棧中,我將導出作為集群子堆棧參數的一部分導入;
EksClusterStack:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: '{bucket name withheld}'
Parameters:
EksVpc: !Ref EksStackVpc
ClusterName: !Ref EksClusterName
IAMRoleARN:
Fn::GetAtt:
- EksIamStack
- Outputs.ClusterRoleArn
VpcSecurityGroup: !Ref EksVpcSecurityGroup
ClusterSubnet1: !Ref EksSubnet1
ClusterSubnet2: !Ref EksSubnet2
在集群子堆棧中,我設置了一個頂級參數,然后我在資源部分調用它;
Parameters:
IAMRoleARN:
Type: String
Description: ARN of the IAM role created for the cluster in the
EKS IAM stack
Cluster:
Type: "AWS::EKS::Cluster"
Properties:
Name: !Ref ClusterName
Version: "1.19"
RoleArn: !Ref IAMRoleARN
ResourcesVpcConfig:
SecurityGroupIds:
- !Ref ClusterControlPlaneSecurityGroup
- !Ref VpcSecurityGroup
SubnetIds:
- !Ref ClusterSubnet1
- !Ref ClusterSubnet2
非常感謝我可能缺少的任何想法!
如果您只想導出 ARN 交叉堆棧,您的 output 應如下所示:
Outputs:
ClusterRoleArn:
Value: !GetAtt ClusterRole.Arn
否則,您將不得不使用
Fn::ImportValue: !Sub ${AWS::StackName}-ClusterRoleArn
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.