Size: a a a

2020 March 03

i

inqfen in terraform_ru
Я и говорю, делай это ансиблом
источник

i

inqfen in terraform_ru
Терраформ - декларативное описание инфраструктуры
источник

i

inqfen in terraform_ru
Все другое он умеет очень никак
источник

N

Nikolai in terraform_ru
мне нужно просто собрать переменную local :)
у меня нету ансибла и не планируется
источник

MY

Mihail Yakubiv in terraform_ru
Nikolai
мне нужно просто собрать переменную local :)
у меня нету ансибла и не планируется
address = local.External == "" ? local.Internal : local.External

command = "rke_command --address ${local.address} --internal-address ${local.Internal}"

этот вариант не подходит?
источник

N

Nikolai in terraform_ru
не тут совсем не так
источник

N

Nikolai in terraform_ru
ладно буду дальше пробовать сам
источник

N

Nikolai in terraform_ru
спасибо, что откликнулись
источник

AR

Alexey Remizov in terraform_ru
Nikolai
привет всем.
есть вот такое

locals {
 network_name_external = "External"
 network_name_internal = "Internal"
 hostname_and_ipv4 = {
   "rke-etcd-0" = {
     "Internal" = "3.3.3.3"
   }
   "rke-workernode-0" = {
     "External" = "1.1.1.1"
     "Internal" = "2.2.2.2"
   }
 }
 hostnames = [
   "rke-etcd-0",
   "rke-workernode-0"
 ]
}

как мне сделать вот так:
locals {
 ...
 rke_add_command = {
   rke-etcd-0 = "rke_command --address 3.3.3.3 --internal-address 3.3.3.3"
   rke-workernode-0 = "rke_command --address 1.1.1.1 --internal-address 2.2.2.2"
 }
}

спасибо
locals {
 rke_add_command = {
   for k, v in local.hostname_and_ipv4
   : k => "rke_command --address ${lookup(v, "External", v["Internal"])} --internal-address ${v["Internal"]}"
 }
}
источник

N

Nikolai in terraform_ru
Alexey Remizov
locals {
 rke_add_command = {
   for k, v in local.hostname_and_ipv4
   : k => "rke_command --address ${lookup(v, "External", v["Internal"])} --internal-address ${v["Internal"]}"
 }
}
надо попробовать, спасибо
источник

DC

Daniel Stranger Chaplin in terraform_ru
Nikolai
привет всем.
есть вот такое

locals {
 network_name_external = "External"
 network_name_internal = "Internal"
 hostname_and_ipv4 = {
   "rke-etcd-0" = {
     "Internal" = "3.3.3.3"
   }
   "rke-workernode-0" = {
     "External" = "1.1.1.1"
     "Internal" = "2.2.2.2"
   }
 }
 hostnames = [
   "rke-etcd-0",
   "rke-workernode-0"
 ]
}

как мне сделать вот так:
locals {
 ...
 rke_add_command = {
   rke-etcd-0 = "rke_command --address 3.3.3.3 --internal-address 3.3.3.3"
   rke-workernode-0 = "rke_command --address 1.1.1.1 --internal-address 2.2.2.2"
 }
}

спасибо
источник
2020 March 04

F|

Farhan | Smart Sapien in terraform_ru
Victor Tur
I would prefer to reduce many steps in cloud-init and pre-bake the image using packer.
Nice 😃
источник

F|

Farhan | Smart Sapien in terraform_ru
Victor Tur
I would prefer to reduce many steps in cloud-init and pre-bake the image using packer.
Thanks @VictorOps, It indeed the solution worth trying or maybe the perfect solution for me.
источник

ИС

И С in terraform_ru
Привет, у меня есть два файла: EC2_Creating_Instances.tf и EC2_Creating_Securite_Group.tf

В EC2_Creating_Instances.tf у меня есть строчка
security_groups = "${aws_security_group.nexus}"

Я пытаюсь использовать ресурс из файла EC2_Creating_Securite_Group.tf со следующим содержание

resource "aws_security_group" "nexus" {

Как мне правильно сделать "экспорт"?

Когда это в одной файле, то работает нормально. А вот если в разном, то выдает такие ошибки

Error: Incorrect attribute value type

 on EC2_Creating_Instances.tf line 4, in resource "aws_instance" "isamarskiy_NexusOSS-Pub":
  4:   security_groups = "${aws_security_group.nexus}"
   |----------------
   | aws_security_group.nexus is object with 12 attributes
источник

N

Nikolai in terraform_ru
надо ссылаться не на весь ресурс, а на конкретный атрибут из него
источник

ИС

И С in terraform_ru
То есть теперь его еще нужно преобразовать в string?
источник

N

Nikolai in terraform_ru
не нужно его в стринг, нужно просто взятьправильынй атрибут из ресурса
источник

N

Nikolai in terraform_ru
security_groups - (Optional, EC2-Classic and default VPC only) A list of security group names (EC2-Classic) or IDs (default VPC) to associate with.
источник

N

Nikolai in terraform_ru
т.е. надо либо name от него взять либо id
источник

N

Nikolai in terraform_ru
и скорее всего там будет list
источник