Terraform извлекает существующий секрет GCP как данные - PullRequest
0 голосов
/ 01 апреля 2020

Попытка реализовать модуль данных для ссылки на «учетную запись робота» для Terraform.

Я получаю следующие ошибки:

Error: Reference to undeclared resource

  on main.tf line 7, in provider "google":
   7:   credentials   = data.google_secret_manager_secret_version.secret

A data resource "google_secret_manager_secret_version" "secret" has not been
declared in the root module.
Error: Reference to undeclared input variable

  on datamodule\KeydataModule.tf line 3, in data "google_secret_manager_secret_version" "secret":
   3:   secret = "${var.Terra_Auth}"

An input variable with the name "Terra_Auth" has not been declared. This
variable can be declared with a variable "Terra_Auth" {} block.

Со следующим main .tf :

module "KeydataModule" {
  source = "./datamodule"

}

provider "google" {
  credentials   = data.google_secret_manager_secret_version.secret
  project       = "KubeProject"
  region        = "us-central1"
  zone          = "us-central1-c"
}

resource "google_compute_instance" "vm_instance" {
  name         = "terraform-instance"
  machine_type = "f1-micro"

  boot_disk {
    initialize_params {
      image = "ubuntu-cloud/ubuntu-1804-lts"
    }
  }

  network_interface {
    # A default network is created for all GCP projects
    network       = google_compute_network.vpc_network.self_link
    access_config {
    }
  }
}

resource "google_compute_network" "vpc_network" {
  name                    = "terraform-network"
  auto_create_subnetworks = "true"
}

keydataModule.tf :

data "google_secret_manager_secret_version" "secret" {
  provider = google-beta
  secret = "${var.Terra_Auth}"
}

Следующая variables.tf для создания ' Переменная Terra Auth ':

variable "Terra_Auth" {
   type = string
   description = "Access Key for Terraform Service Account" 
}

И, наконец, файл terraform.tfvars , в котором в этом случае хранится секретное имя в моей учетной записи GCP:

Terra_Auth = "Terraform_GCP_Account_Secret" 
...