我正在尝试使用aws cdk部署我的云形成堆栈。 我想使用其他IAM角色来部署我的堆栈,因为该角色在aws帐户中具有更多权限。 这是我正在尝试的
cdk deploy -r arn:aws:iam::1234567890:role/AWSCloudFormationStackSetExecutionRole
但是我遇到了错误
No stack found matching '–r'. Use "list" to print manifest
有人可以帮我在这里做什么错吗?
答案 0 :(得分:1)
错误表明您的 cdk cli 版本认为 -r
是一个堆栈,所以我认为这取决于您的 cdk 版本
我的 cdk 版本:
cdk --version
1.94.1 (build 60d8f91)
它与选项 -r
cdk deploy -r arn:aws:iam::123456789012:role/gitlab-runner
test-sqs: deploying...
test-sqs: creating CloudFormation changeset...
答案 1 :(得分:0)
在这里,您需要将 -r(或 --role-name)选项应用于 cdk 本身(而不是部署 选项):
cdk --role-arn arn:aws:iam::1234567890:role/MY_ROLE_NAME deploy
cdk 将生成一个 Cloud Formation 模板并使用您指定的角色部署它。
答案 2 :(得分:-1)
与cdk deploy中一样,没有-r这样的选项。 CDK认为这是CDK堆栈名称。
我相信您需要使用具有不同IAM权限的其他IAM角色。这与CDK本身无关。您需要首先承担角色并获得STS令牌。请研究承担STS的AWS CLI角色。
cdk deploy [STACKS..]
Deploys the stack(s) named STACKS into your AWS account
Options:
--build-exclude, -E Do not rebuild asset with the given ID. Can be
specified multiple times. [array] [default: []]
--exclusively, -e Only deploy requested stacks, don't include
dependencies [boolean]
--require-approval What security-sensitive changes need manual approval
[string] [choices: "never", "any-change", "broadening"]
--ci Force CI detection (deprecated)
[boolean] [default: false]
--notification-arns ARNs of SNS topics that CloudFormation will notify with
stack related events [array]
--tags, -t Tags to add to the stack (KEY=VALUE) [array]
--execute Whether to execute ChangeSet (--no-execute will NOT
execute the ChangeSet) [boolean] [default: true]
--force, -f Always deploy stack even if templates are identical
[boolean] [default: false]
--parameters Additional parameters passed to CloudFormation at
deploy time (STACK:KEY=VALUE) [array] [default: {}]
--outputs-file, -O Path to file where stack outputs will be written as
JSON [string]
--previous-parameters Use previous values for existing parameters (you must
specify all parameters on every deployment if this is
disabled) [boolean] [default: true]