我想创建一个堆栈与aws cloudformation create-stack --stack-name ... --template-body file://...
来创建堆栈。它在我执行命令后立即输出堆栈ID。但堆栈所需的资源仍在创建中。如何输出堆栈创建成功的信息,直到堆栈中创建所有资源
我想输出一些消息,直到创建所有资源。
我不想在循环中描述堆栈。并输出消息直到堆栈创建完成信号。
我想创建一个堆栈与aws cloudformation create-stack --stack-name ... --template-body file://...
来创建堆栈。它在我执行命令后立即输出堆栈ID。但堆栈所需的资源仍在创建中。如何输出堆栈创建成功的信息,直到堆栈中创建所有资源
我想输出一些消息,直到创建所有资源。
我不想在循环中描述堆栈。并输出消息直到堆栈创建完成信号。
Google云具有与AWS :: CF类似的产品。
gcloud deployment-manager deployments create [stack_name]
该命令允许我们指定一个异步开关:
--async
Return immediately and print information about the Operation in
progress rather than waiting for the Operation to complete.
(default=False)
默认情况下,gcloud指令将不在异步模式下执行,事实上,它确实你所建议的,几乎什么这里。当我启动一个堆栈时,我必须等待整个过程完成才能看到“堆栈创建/失败”消息。
据我所知,AWS :: CF没有这样的功能。默认情况下,aws cli似乎以异步模式启动进程。
但是,就这么说,看起来gcloud cli命令完全按照您所说的不想执行的操作:在循环中查询API以确定堆栈创建过程的状态。
是否有理由不能编写脚本来查询AWS :: CF API的堆栈创建状态?
初始创建堆栈请求您将需要申请其他后:
aws cloudformation wait stack-create-complete --stack-name $STACK_ID_FROM_CREATE_STACK
从AWS文档http://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/stack-create-complete.html
等待,直到堆栈状态CREATE_COMPLETE。它将每隔30秒钟轮询一次,直到达到成功状态。在120次失败检查后,这将退出 返回代码255。
这是正确的答案。 :)谢谢 – Josh
你知道如果堆栈进入CREATE_FAILED会发生什么吗?命令是否仍然需要60分钟(30秒* 120)才会失败,或者如果堆栈进入CREATE_FAILED状态,将会立即失败? –