Amazon web services 更新堆栈时使用现有的DBUser和DBPassword参数值

Amazon web services 更新堆栈时使用现有的DBUser和DBPassword参数值,amazon-web-services,amazon-cloudformation,Amazon Web Services,Amazon Cloudformation,是否有人知道,在Cloudformation模板中描述DBUser和DBPassword时,是否有使用某种“existingDBUser”和“existingDBPassword”参数的选项 我不想使用“默认”参数,当通过cli部署模板时,它会要求我输入DBUser和DBPassword 在我的例子中,如果我指定了它,并且它与已经分配给DBCluster的集群不同,那么它将创建一个新集群,而不是更新现有集群 有一种方法可以通过AWS控制台上传模板,您可以在其中选中“使用现有”框 我如何从CLI的

是否有人知道,在Cloudformation模板中描述DBUser和DBPassword时,是否有使用某种“existingDBUser”和“existingDBPassword”参数的选项

我不想使用“默认”参数,当通过cli部署模板时,它会要求我输入DBUser和DBPassword

在我的例子中,如果我指定了它,并且它与已经分配给DBCluster的集群不同,那么它将创建一个新集群,而不是更新现有集群

有一种方法可以通过AWS控制台上传模板,您可以在其中选中“使用现有”框

我如何从CLI的角度做到这一点?
谢谢回复。

是的,这是可能的。您不在模板中定义它,而是在从SDK或CLI调用update stack命令时指定它

调用时,需要指定的“UsePreviousValue”属性

以下是如何在AWS CLI上执行此操作的示例,但SDK还应提供类似的功能:

aws cloudformation update-stack \
   --stack-name mystack \
   --template-url https://s3.amazonaws.com/sample/updated.template \
   --parameters ParameterKey=DBUser,UsePreviousValue=true \
                ParameterKey=DBPassword,UsePreviousValue=true