首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Terraform和GCP composer设置

Terraform和GCP composer设置
EN

Stack Overflow用户
提问于 2021-08-16 17:13:26
回答 1查看 523关注 0票数 1

我正在尝试使用terraform部署GCP composer,但遇到了->问题

错误:测试行43的测试资源"google_composer_environment“”composer.tf“:34: encryption_config中的块类型不受支持。{此处不需要类型为"encryption_config”的块。

这是composer.tf文件:

代码语言:javascript
复制
resource "google_composer_environment" "test" {
  name   = "dwh_composer"
  region = local.default_region
  config {
    node_count = 3
    node_config {
      zone         = local.default_zone
      machine_type = "e2-medium"
      network    = google_compute_network.test.id
      subnetwork = google_compute_subnetwork.test.id
      service_account = google_service_account.test.name
    }
    software_config {
      image_version = "composer-1.17.0-preview.9-airflow-2.1.1"
      python_version = "3"
      airflow_config_overrides = {
        core-load_example = "True"
      }
      pypi_packages = {
        numpy = ""
        scipy = "==1.1.0"
      }
      env_variables = {
        FOO = "bar"
        R1 = "test5"
        evvv_qqq_d = "test1"
        M1 = "test3"
        AIRFLOW-3 = "test2"
      }
    }
    private_environment_config {
      enable_private_endpoint = true
    }
    encryption_config {
      kms_key_name = google_kms_crypto_key.dwh_composer_crypto_key.name
    }
  }
}

resource "google_kms_key_ring" "data_warehouse_kms_keyring" {
  name     = "data-warehouse-kms-keyring"
  location = "europe-west4"
}

resource "google_kms_crypto_key" "dwh_composer_crypto_key" {
  name            = "dwh-composer-crypto-key"
  key_ring        = google_kms_key_ring.data_warehouse_kms_keyring.self_link
}

这是main.tf文件:

代码语言:javascript
复制
terraform {
  required_version = "1.0.0"

  backend "gcs" {
    bucket = "terraform-data-warehouse"
    prefix = "gcp/data-warehouse/composer"
  }

  required_providers {
    google = {
      source  = "hashicorp/google"
      version = "~> 3.70.0"
    }
    google-beta = {
      source  = "hashicorp/google-beta"
      version = "~> 3.70.0"
    }
  }
}

# -- Providers

provider "google" {
  project = local.project_id
}

provider "google-beta" {
  project = local.project_id
}

# -- common public state

data "terraform_remote_state" "common" {
  backend = "gcs"

  config = {
    bucket = "terraform-public"
    prefix = "common"
  }
}

# -- Local variables
locals {
  default_zone = "europe-west4-a"
  default_region = "europe-west1"
  project_id = "my-project"
  team_group = data.terraform_remote_state.common.outputs.teams.data_warehouse.group
  default_multi_region = "EU"
}

你能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-25 08:31:00

您遇到的问题是因为根据docsencryption_configgoogle_composer_environment terraform资源中的测试版功能。只需在资源中指定测试版提供商:

代码语言:javascript
复制
resource "google_composer_environment" "test" {
  name   = "dwh_composer"
  region = local.default_region
  provider = google-beta
  ...
}

不要忘了terraform init之前,以便测试版谷歌提供商将被下载和使用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68806785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档