Size: a a a

2020 February 17

VT

Victor Tur in terraform_ru
Dimitri Goldshtein
а  есть ли  for_each  как  в aws_security_group в aws_security_group_rule?
for_each есть для любого ресурса
источник

KP

Kirill Ponomarev in terraform_ru
всем привет. Начал только работать с терраформом, хотел спросить у опытных людей, как лучше организовывать расположение файлов терраформа. Допустим, у меня есть один манифест, в котором создается вся инфраструктура, влючая сеть. Это неправильно? лучше сети создавать отдельным манифестом? лучше ли использовать модули? или просто раскидать по разным папкам, чтобы в одной папке один манифест? если не трудно, поделитесь опытом, пожалуйста
источник

A

Andor in terraform_ru
Kirill Ponomarev
всем привет. Начал только работать с терраформом, хотел спросить у опытных людей, как лучше организовывать расположение файлов терраформа. Допустим, у меня есть один манифест, в котором создается вся инфраструктура, влючая сеть. Это неправильно? лучше сети создавать отдельным манифестом? лучше ли использовать модули? или просто раскидать по разным папкам, чтобы в одной папке один манифест? если не трудно, поделитесь опытом, пожалуйста
если тебе ок в одной директории, то так и оставь
источник

DG

Dimitri Goldshtein in terraform_ru
Victor Tur
for_each есть для любого ресурса
а  пример  мона  я  просто  для этого  ресурса  не  нарыл !
источник

DG

Dimitri Goldshtein in terraform_ru
кроме как  для aws_security_group
источник

KP

Kirill Ponomarev in terraform_ru
Andor
если тебе ок в одной директории, то так и оставь
я просто думаю о такой ситуации, что я все отсавлю в одной, потом, в случае удаления инфраструктуры, я могу задеть сети, в которых кто-то завел ресурс
источник

A

Andor in terraform_ru
Dimitri Goldshtein
кроме как  для aws_security_group
для любого ресурса будет точно так же как для любого другого
источник

A

Andor in terraform_ru
Kirill Ponomarev
я просто думаю о такой ситуации, что я все отсавлю в одной, потом, в случае удаления инфраструктуры, я могу задеть сети, в которых кто-то завел ресурс
разделение на модули никак не поможет, ты точно так же сможешь удалить
источник

DG

Dimitri Goldshtein in terraform_ru
Andor
для любого ресурса будет точно так же как для любого другого
также пробывал валится
источник

A

Andor in terraform_ru
"пробовал валиться"?
источник

VT

Victor Tur in terraform_ru
Dimitri Goldshtein
кроме как  для aws_security_group
источник

VT

Victor Tur in terraform_ru
Kirill Ponomarev
я просто думаю о такой ситуации, что я все отсавлю в одной, потом, в случае удаления инфраструктуры, я могу задеть сети, в которых кто-то завел ресурс
в общих чертах тут что-то есть:
https://www.terraform-best-practices.com/code-structure
источник

DG

Dimitri Goldshtein in terraform_ru
подобного  этому  не  нахожу  интересно  что тут неправил'но ?
resource "aws_security_group_rule" "allow_8082_from_wa_to_lb"{
   dynamic "ingress"{
   for_each = ["18900","8079"]
   content{
   from_port = ingress.value
   to_port = ingress.value
   protocol = "tcp"
   security_group_id = "${aws_security_group.ha_lb.id}"
   source_security_group_id = "${aws_security_group.ha_wa.id}"
   }
   }
}
он  ругается на  ingress
источник

DG

Dimitri Goldshtein in terraform_ru
Error: Unsupported block type

 on sg.tf line 48, in resource "aws_security_group_rule" "allow_8082_from_wa_to_lb":
 48:     dynamic "ingress"{

Blocks of type "ingress" are not expected here.
источник

MY

Mihail Yakubiv in terraform_ru
Dimitri Goldshtein
подобного  этому  не  нахожу  интересно  что тут неправил'но ?
resource "aws_security_group_rule" "allow_8082_from_wa_to_lb"{
   dynamic "ingress"{
   for_each = ["18900","8079"]
   content{
   from_port = ingress.value
   to_port = ingress.value
   protocol = "tcp"
   security_group_id = "${aws_security_group.ha_lb.id}"
   source_security_group_id = "${aws_security_group.ha_wa.id}"
   }
   }
}
он  ругается на  ingress
можно полный блок с ресурсом?
это ресурс security_group или security_group_rule ?
источник

MY

Mihail Yakubiv in terraform_ru
Dimitri Goldshtein
подобного  этому  не  нахожу  интересно  что тут неправил'но ?
resource "aws_security_group_rule" "allow_8082_from_wa_to_lb"{
   dynamic "ingress"{
   for_each = ["18900","8079"]
   content{
   from_port = ingress.value
   to_port = ingress.value
   protocol = "tcp"
   security_group_id = "${aws_security_group.ha_lb.id}"
   source_security_group_id = "${aws_security_group.ha_wa.id}"
   }
   }
}
он  ругается на  ingress
type            = "ingress"
для рула - ингресс это не блок а параметр
https://www.terraform.io/docs/providers/aws/r/security_group_rule.html
источник

DG

Dimitri Goldshtein in terraform_ru
sps
источник

MY

Mihail Yakubiv in terraform_ru
соответственно динамик блок не сработает, можно через count в ресурсе пробовать
аля
variable "ports" { default = [8082, 18080] }
...
count = lenght(var.ports)
from_port = var.ports[count.index]
источник

KP

Kirill Ponomarev in terraform_ru
еще вопрос у меня, если кто работал с yandex провайдером.
у меня есть:
data "yandex_iam_service_account" "sa" {
 service_account_id = "XXXXXXXXXXX"
 }

для того, чтобы определить id, я смотрю его непосредственно в облаке. Есть вариант получить его как-то по-другому, в доках к провайдеру вроде нет другого способа, или я неправильно прочел?
источник

A

Andor in terraform_ru
источник