Я использую 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? Пожалуйста, руководство.