Google cloud platform 使用terraform部署composer资源(GCP)时出现错误消息

Google cloud platform 使用terraform部署composer资源(GCP)时出现错误消息,google-cloud-platform,terraform,google-cloud-composer,Google Cloud Platform,Terraform,Google Cloud Composer,我在部署GCP composer资源时遇到terraform代码错误: google\u composer\u environment.composer-beta:googleapi:Error 400:属性键的格式必须为部分-名称。部分不能包含开始方括号、结束方括号或连字符,名称不能包含分号或等号。整个属性键不能包含句点 在部署此GCP资源时出现问题: 这是我的代码: Variables.tf文件: variable "composer_airflow_version" { type

我在部署GCP composer资源时遇到terraform代码错误:

  • google\u composer\u environment.composer-beta:googleapi:Error 400:属性键的格式必须为
    部分
    -
    名称
    部分
    不能包含开始方括号、结束方括号或连字符,
    名称
    不能包含分号或等号。整个属性键不能包含句点
在部署此GCP资源时出现问题:

这是我的代码:

Variables.tf文件:

variable "composer_airflow_version" {
  type = "map"
  default = {
    image_version="composer-1.6.1-airflow-1.10.1"
  }
}

variable "composer_python_version" {
  type = "map"
  default = {
    python_version="3"
  }
}
variable "composer_airflow_version" {
  default = "composer-1.6.1-airflow-1.10.1"
}

variable "composer_python_version" {
  default = "3"
}
my-composer.tf文件:

resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

  node_config {
    zone         = "${var.zone}"
    machine_type = "${var.composer_machine_type}"
    network      = "${google_compute_network.network.self_link}"
    subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
  }

  software_config {
    airflow_config_overrides="${var.composer_airflow_version}",
    airflow_config_overrides="${var.composer_python_version}",
  }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}
resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

    node_config {
      zone         = "${var.zone}"
      machine_type = "${var.composer_machine_type}"
      network      = "${google_compute_network.network.self_link}"
      subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
    }

    software_config {
      image_version  = "${var.composer_airflow_version}",
      python_version = "${var.composer_python_version}",
    }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}
根据错误消息,错误的根本原因似乎与terraform代码中的软件配置部分有关。我知道变量“composer\u avirflow\u version”和“composer\u python\u version”应该是“map”类型,因此,我将它们设置为map格式

A非常感谢,如果有人能找出错误的原因,并告诉我要进行的调整。我可能应该对变量进行更改,但我不知道这是什么:-(

提前感谢,,
Jose

根据文档,气流配置覆盖、pypi包、环境变量、图像版本和python版本应直接位于软件配置下

Variables.tf文件:

variable "composer_airflow_version" {
  type = "map"
  default = {
    image_version="composer-1.6.1-airflow-1.10.1"
  }
}

variable "composer_python_version" {
  type = "map"
  default = {
    python_version="3"
  }
}
variable "composer_airflow_version" {
  default = "composer-1.6.1-airflow-1.10.1"
}

variable "composer_python_version" {
  default = "3"
}
my-composer.tf文件:

resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

  node_config {
    zone         = "${var.zone}"
    machine_type = "${var.composer_machine_type}"
    network      = "${google_compute_network.network.self_link}"
    subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
  }

  software_config {
    airflow_config_overrides="${var.composer_airflow_version}",
    airflow_config_overrides="${var.composer_python_version}",
  }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}
resource "google_composer_environment" "composer-beta" {
  provider= "google-beta"
  project = "my-proyect"
  name    = "${var.composer_name}"
  region  = "${var.region}"
  config {
    node_count = "${var.composer_node_count}"

    node_config {
      zone         = "${var.zone}"
      machine_type = "${var.composer_machine_type}"
      network      = "${google_compute_network.network.self_link}"
      subnetwork   = "${lookup(var.vpc_subnets_01[0], "subnet_name")}"
    }

    software_config {
      image_version  = "${var.composer_airflow_version}",
      python_version = "${var.composer_python_version}",
    }
  }

  depends_on = [
    "google_service_account.comp-py3-dev-worker",
    "google_compute_subnetwork.subnetwork",
  ]
}