Eri*_*ord 38 amazon-web-services aws-cloudformation
使用CloudFormation创建堆栈时,出现此错误:
Stack update error: Requires capabilities : [CAPABILITY_IAM]
Run Code Online (Sandbox Code Playgroud)
我找不到添加CAPABILITIES_IAM
到CloudFormation配置的模板.
解决CAPABILITIES_IAM错误的选项有哪些?
Eri*_*ord 69
事实证明,您需要在堆栈创建的最后一个屏幕上选中一个框.
在CodePipeline CloudFormation中,您可以像这样添加它以允许在deploy操作中执行创建的change_set:
Configuration:
StackName: !Ref GitHubRepository
ActionMode: CHANGE_SET_REPLACE
Capabilities: CAPABILITY_NAMED_IAM
RoleArn: arn:aws:iam::818272543125:role/events-list-codepiplinerole
ChangeSetName: !Join ["",[!Ref GitHubRepository, "-changeset"]]
TemplatePath: MyAppBuild::sam_post.yaml
Run Code Online (Sandbox Code Playgroud)
在aws cli追加
--capabilities CAPABILITY_IAM
Run Code Online (Sandbox Code Playgroud)
要么
--capabilities CAPABILITY_NAMED_IAM
Run Code Online (Sandbox Code Playgroud)
对你的命令是这样的:
aws cloudformation create-stack --stack-name message-store --template-body file://bucket_with_keys.yaml --parameters file://cfg_bucket_with_keys.json --capabilities CAPABILITY_NAMED_IAM
Run Code Online (Sandbox Code Playgroud)
这不适用于cloudformation --validate-template,因为它实际上并不创建资源.
如果您使用的是AWS CLI,则可以向aws cloudformation create-stack
命令添加一个额外参数,该命令明确指出您希望提供这些功能.
(这是CLI相当于勾选其他答案中的复选框).
参数是--capabilities CAPABILITY_IAM
,所以你的命令看起来像:
aws cloudformation create-stack --stack-name $STACK_NAME --capabilities CAPABILITY_IAM
希望有所帮助
归档时间: |
|
查看次数: |
18242 次 |
最近记录: |