替换 AWS cli 中的变量以更新秘密管理器密码
Replace variable in AWS cli to update secret manager password
我是 AWS 世界的新手。我想从 aws cli 更新秘密凭证。
下面的命令非常适合我:
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 \
--secret-string '{"username":"anika","password":"mypwd"}'
但是如果我传递一个变量 $serverPwd
它不会替换变量 $serverPwd=mypwd
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 \
--secret-string '{"username":"anika","password":"$serverPwd"}
知道如何传递变量吗?
AWS CLI 命令支持使用 --cli-input-json 和 --cli-input-yaml 参数接受来自文件的所有参数输入的能力。如下:
生成格式为JSON
的模板
aws secretsmanager update-secret --generate-cli-skeleton 输入 > secretsmanage.json
编辑 secretsmanage.json 并为您需要的参数提供值并删除不需要的参数。
运行 aws secretsmanager update-secret 使用 --cli-input-json 参数,如下所示:
aws secretsmanager update-secret --cli-input-json file://secretsmanage.json
问题不在于 aws-cli,而在于解析变量的方式。试试这个:
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 --secret-string '{"username":"anika","password":"'"$serverPwd"'"}'
这将允许变量正确扩展。
我是 AWS 世界的新手。我想从 aws cli 更新秘密凭证。 下面的命令非常适合我:
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 \
--secret-string '{"username":"anika","password":"mypwd"}'
但是如果我传递一个变量 $serverPwd
它不会替换变量 $serverPwd=mypwd
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 \
--secret-string '{"username":"anika","password":"$serverPwd"}
知道如何传递变量吗?
AWS CLI 命令支持使用 --cli-input-json 和 --cli-input-yaml 参数接受来自文件的所有参数输入的能力。如下:
生成格式为JSON
的模板aws secretsmanager update-secret --generate-cli-skeleton 输入 > secretsmanage.json
编辑 secretsmanage.json 并为您需要的参数提供值并删除不需要的参数。
运行 aws secretsmanager update-secret 使用 --cli-input-json 参数,如下所示:
aws secretsmanager update-secret --cli-input-json file://secretsmanage.json
问题不在于 aws-cli,而在于解析变量的方式。试试这个:
aws secretsmanager update-secret --secret-id mysecret --region us-east-1 --secret-string '{"username":"anika","password":"'"$serverPwd"'"}'
这将允许变量正确扩展。