Terraform GCP:只需使用google_storage_bucket_object上传文件名

时间:2019-05-15 17:58:36

标签: terraform terraform-provider-gcp

我想将文件从本地文件系统上传到新的GCP存储桶。我想在存储桶中创建一个新目录,以供本地文件驻留。

我可以成功完成此操作,但是Terraform在存储桶中创建了完整的本地文件路径。我只想创建GCP存储桶,在GCP存储桶中创建新目录,然后上传本地文件。

variable "bucket_name" {
  default = "my-bucket-gfsdfdye32421"
}
variable "my_files" {
  default = ["local/docs/red.txt", "local/docs/blue.txt"]
}


resource "google_storage_bucket" "bucket" {
  name          = "${var.bucket_name}"
  force_destroy = true
}

resource "google_storage_bucket_object" "default" {
  count  = "${length(var.my_files)}"
  name   = "new_gcp_dir/${element(var.my_files, count.index)}"
  source = "${element(var.my_files, count.index)}"
  bucket = "${google_storage_bucket.bucket.name}"
}

上面的代码在我的GCP存储桶中创建以下文件结构:

my-bucket / new_gcp_dir / local / docs / red.txt
my-bucket / new_gcp_dir / local / docs / blue.txt

我希望GCP文件结构看起来像这样:

my-bucket / new_gcp_dir / red.txt
my-bucket / new_gcp_dir / blue.txt

0 个答案:

没有答案