Terraform在部署期间未能为GCP计算引擎设置某些属性



我正在使用terraform导入现有GCP Compute Engine Resource的状态,以便以后可以使用terraform管理资源

我使用以下命令导入

terraform import google_compute_instance.default <project-d>/us-east1-b/server-001

之后,我执行terraform show来识别现有资源的状态,并将其输出复制粘贴到main.tf文件中。

现在,当我做terraform plan时,它显示以下错误

Error: "label_fingerprint": this field cannot be set
# google_compute_instance.default:
on main.tf line 2, in resource "google_compute_instance" "default":
2: resource "google_compute_instance" "default" {
Error: "current_status": this field cannot be set
on main.tf line 2, in resource "google_compute_instance" "default":
2: resource "google_compute_instance" "default" {
Error: "network_interface.0.name": this field cannot be set
on main.tf line 2, in resource "google_compute_instance" "default":
2: resource "google_compute_instance" "default" {
Error: "instance_id": this field cannot be set
on main.tf line 2, in resource "google_compute_instance" "default":
2: resource "google_compute_instance" "default" {
Error: : invalid or unknown key: id
on main.tf line 2, in resource "google_compute_instance" "default":
2: resource "google_compute_instance" "default" { 

以下是的代码行

project              = "<Project-ID>"
current_status       = "TERMINATED"
name                 = "server-001"
hostname             = "server-001.example.com"
id                   = "projects/<project-id>/zones/us-east1-b/instances/server-001"
instance_id          = "7335818403011119952"
labels               = {
"env"    = "dev"
"server" = "app"
}
machine_type         = "f1-micro"
zone                 = "us-east1-b"
boot_disk {
auto_delete = true
device_name = "server-001"
mode        = "READ_WRITE"
source      = "https://www.googleapis.com/compute/v1/projects/<projec-id>/zones/us-east1-b/disks/server-001"
initialize_params {
image  = "https://www.googleapis.com/compute/v1/projects/centos-cloud/global/images/centos-7-v20200309"
labels = {}
size   = 10
type   = "pd-standard"
}
}
network_interface {
name               = "nic0"
network            = "https://www.googleapis.com/compute/v1/projects/<projec-id>/global/networks/adminproject-vpc"
network_ip         = "10.3.0.2"
subnetwork         = "https://www.googleapis.com/compute/v1/projects/<projec-id>/regions/us-east1/subnetworks/app-subnet"
subnetwork_project = "<project-id>"
}

Terraform版本如下

$ terraform version
Terraform v0.12.24
+ provider.google v3.29.0

删除这些属性可以解决问题,但我们不能在为terraform创建清单文件时设置这些属性吗?请引导。

Terraform无法管理这些字段。它们可以用于其他资源的配置,但不能在google_compute_instance资源本身上进行修改,因为它们是由GCP委托的。您可以在此处查看google_compute_instance资源支持的参数。

最新更新