как создать несколько папок внутри существующего сегмента AWS - PullRequest
0 голосов
/ 27 апреля 2018

Как создать несколько папок внутри существующей корзины, используя terraform. пример: bucket / folder1 / folder2

resource "aws_s3_bucket_object" "folder1" {
    bucket = "${aws_s3_bucket.b.id}"
    acl    = "private"
    key    = "Folder1/"
    source = "/dev/null"
}

Ответы [ 2 ]

0 голосов
/ 28 апреля 2018

Хотя ответ Нейта верен, это приведет к значительному дублированию кода. На мой взгляд, лучшим решением было бы работать со списком и перебирать его.

Создайте переменную (файл variable.tf), которая содержит список возможных папок:

variable "s3_folders" {
  type        = "list"
  description = "The list of S3 folders to create"
  default     = ["folder1", "folder2", "folder3"]
}

Затем измените фрагмент кода, который у вас уже есть:

resource "aws_s3_bucket_object" "folders" {
    count   = "${length(var.s3_folders)}"
    bucket = "${aws_s3_bucket.b.id}"
    acl    = "private"
    key    = "${var.s3_folders[count.index]}/"
    source = "/dev/null"
}
0 голосов
/ 28 апреля 2018

Примените ту же логику, что и для создания первого каталога.

resource "aws_s3_bucket_object" "folder1" {
    bucket = "${aws_s3_bucket.b.id}"
    acl    = "private"
    key    = "Folder1/Folder2/"
    source = "/dev/null"
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...