哪些交互与地形状态发生,何时发生?

时间:2019-11-23 20:40:34

标签: terraform

我想是这样的:

  • use IPC::Run qw( run ); run [ "wrapped.pl", @array ], '>>', $fileresult; die("wrapped.pl killed by signal ".( $? & 0x7F )."\n") if $? & 0x7F; die("wrapped.pl exited with error ".( $? >> 8 )."\n") if $ ?>> 8; ->与状态文件无交互
  • use IPC::Open3 qw( open3 ); open(local *CHILD_STDIN, '<', '/dev/null') or die("Can't open \"/dev/null\": $!\n"); open(local *CHILD_STDOUT, '>>', $fileresult) or die("Can't append to \"$fileresult\": $!\n"); my $pid = open3('<&CHILD_STDIN', '>&CHILD_STDOUT', '>&STDERR', "wrapped.pl", @array); waitpid($pid, 0); die("Can't execute wrapped.pl: $!\n") if $? == -1; die("wrapped.pl killed by signal ".( $? & 0x7F )."\n") if $? & 0x7F; die("wrapped.pl exited with error ".( $? >> 8 )."\n") if $ ?>> 8; -> 读取状态文件
  • terraform init-> 读取写入状态文件

这个假设正确吗?

此外,何时套写状态?在基础命令完成之前还是之后?

1 个答案:

答案 0 :(得分:0)

是的,这是主要命令的不同状态交互的高级概述。如果您正在使用远程状态,则init确实会与其进行交互以确保它可以访问它。由于Terraform可能会因部分运行的脚本而失败,因此您可以确定Terraform在每个资源被更新/创建时都处于写入状态。这样一来,状态就反映出当前成功的情况。如果您在资源用完之前终止了Terraform运行,则状态不会更新。