Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 无法使用terraform停止GCP VM_Google Cloud Platform_Terraform - Fatal编程技术网

Google cloud platform 无法使用terraform停止GCP VM

Google cloud platform 无法使用terraform停止GCP VM,google-cloud-platform,terraform,Google Cloud Platform,Terraform,我尝试使用所需的\u status=“TERMINATED”停止terraform中的GCP VM,但得到以下错误代码: 错误:不支持的参数 在main.tf第24行的资源“google\u compute\u instance”“default”中: 24:所需状态=“已终止” 此处不应出现名为“所需_状态”的参数 完整的地形代码为: terraform { required_providers { google = { source = "hashicorp

我尝试使用所需的\u status=“TERMINATED”停止terraform中的GCP VM,但得到以下错误代码:

错误:不支持的参数

在main.tf第24行的资源“google\u compute\u instance”“default”中: 24:所需状态=“已终止”

此处不应出现名为“所需_状态”的参数

完整的地形代码为:

terraform {
  required_providers {
    google = {
      source = "hashicorp/google"
    }
  }
}

provider "google" {
  version = "3.5.0"

  credentials = file("cred.json")

  project = "project-gcp-25625415"
  region  = "us-central1"
  zone    = "us-central1-c"
}

resource "google_compute_instance" "default"{
  name         = "terra2"
  machine_type = "f1-micro"
  zone         = "us-central1-a"

  desired_status = "TERMINATED"
  
  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-9"
    }
  }

  network_interface {
    network = "default"

    access_config {
      // Ephemeral IP
    }
  }

}

请查看的发行说明

要能够使用
所需的\u状态字段停止和启动GCE VM实例,您应使用至少或更新的gcp provider:

计算:添加了管理
google\u compute\u实例
带有
所需\u状态
字段的资源 ()


Terraform实际上是为声明性操作而设计的,停止实例更像是一种过程性或命令性操作

请注意,InfraQL允许访问所有Google provider方法,可以以非交互方式或交互方式运行

EXEC compute.instances.stop 
@instance = 'demo-instance-1', 
@project = 'infraql-demo', 
@zone = 'australia-southeast1-a';

谢谢Serhii。我将版本改为3.11.0,再次初始化,它成功了。