如何使用terraform停止GCP虚拟机实例

3
我是Terraform的新手。如何使用Terraform停止GCP虚拟机实例? 我尝试更改虚拟机实例的状态,AWS可以使用,但找不到在GCP上执行此操作的方法。
1个回答

2

编辑

自从Google提供者版本 v3.11.0(发布于2020/03/02),现在可以使用desired_status字段关闭和启动Compute实例:

  • compute:已添加使用desired_status字段管理google_compute_instance资源状态的能力

只需在您的Terraform资源中声明:

resource "google_compute_instance" "default" {
  name         = "test"
  machine_type = "n1-standard-1"
  zone         = "us-central1-a"

  [...]

  desired_status = "TERMINATED"
}

应用您的更改。如果您的实例在之前运行,应该关闭。此PR显示已添加的修改,如果您有兴趣看一下。 desired_status 可以采用 RUNNINGTERMINATED 值。

之前的答案(截至2019/10/26)

根据问题提出时的时间(2019/09/18),使用最新可用的Google提供程序(版本 v2.15.0),目前无法更新Google Compute实例的状态。

Google Terraform提供程序的Github页面上开放了以下问题:

还有一个Pull Request来添加此功能:

但不幸的是,这个PR似乎已经过时(自2019/03/13以来没有更新)。


不起作用:“预期状态”参数在此处不应出现,gcp提供程序> 3.5 - Xao
1
@Xao 请使用最新的提供程序。3.5版本太旧了。desired_status字段已经在3.11.0中引入。 - norbjd
可以确认这在我的版本3.1.2上有效。 此外,desired_status="TERMINATED" 在GCP术语中等同于 "stopped"。 - Jamaica-Jan
可以确认这在我的版本3.1.2上有效。 此外,desired_status="TERMINATED"在GCP术语中等同于"stopped"。 - undefined
@Jamaica-Jan 你是指3.12.0吗?:) desired_status 只出现在3.11.0版本中。 - norbjd

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接