Size: a a a

2019 August 20

MC

M@s0n C01em@n in terraform_ru
Pavel Yenin
подскажите плиз, как прогинорировать создание aws_security_group если она уже существует
Можно переписать дефолтную
источник
2019 August 21

АО

Анатолий Облаухов in terraform_ru
Pavel Yenin
подскажите плиз, как прогинорировать создание aws_security_group если она уже существует
Если это тот же самый ресурс - то он не пересоздастся.
Если это новый для терраформа ресурс - то можно его импортировать.
Если нет необходимости его импортировать и держать его в терраформе, можно использовать data aws_security_group. Из даты взять id и подставить её в инстанс. Или ещё проще (но не правильнее) - просто прописать в инстансе айди секьюрити группы.
Я бы выбрал импорт
источник
2019 August 22

b

bykva in terraform_ru
Привет! Подскажите пожалуйста, как собрать в один лист все значения ресурса с count?

resource "vsphere_tag" "tag" {
 name        = "${element(var.tags, count.index)}"
 count       = "${length(var.tags)}"
...
}

resource "vsphere_virtual_machine" "vm" {
 name             = "${var.name}-${count.index}"
 count            = "${var.instance_count}"
 tags             = "??????"
...
}
источник

РР

Роман Рахманин in terraform_ru
Vsphere_tag.tag.*.id
источник

РР

Роман Рахманин in terraform_ru
Это если у тебя там лист
источник

РР

Роман Рахманин in terraform_ru
Id,  name,или что оно там возвращает
источник

b

bykva in terraform_ru
да, спасибо, то что нужно.
источник

K

KK in terraform_ru
Приветсвую!

Хочу минимизировать время построения плана путем разделения на модули ( или с помощью terragrunt c помощью  include ).
Сейчас разделил  на 2 независимых плана ( в соседних директориях ) с разными стейтами. Но в таком случае теряются  переменные между планами ( их видимо нужно будет вручную заносить в vars ?)
Если разнести на модули, то будет 1 стейт на всех…

Как правильно разделять план ?
Можно линк или совет )
источник

VT

Victor Tur in terraform_ru
разделять на инфраструктурные модули.
ссылаться на созданное в другом инф модуле - через data remote state.
использовать компонентные модули в инфраструктурных.
источник

VT

Victor Tur in terraform_ru
переменными помогает править terragrunt или запописный враппер который подгружает их из нужных директорий, в нужной последовательности
источник

K

KK in terraform_ru
Victor Tur
переменными помогает править terragrunt или запописный враппер который подгружает их из нужных директорий, в нужной последовательности
При этом возможно ххранить разные стейты ?
источник

K

KK in terraform_ru
Да, активно смотрю на terragrunt, вероятно он сожет помочь
источник

VT

Victor Tur in terraform_ru
KK
При этом возможно ххранить разные стейты ?
конечно, просто у тебя на каждый инфраструктурный модуль свой backend-config.
источник

VT

Victor Tur in terraform_ru
KK
Да, активно смотрю на terragrunt, вероятно он сожет помочь
можешь сперва просто руками повторить что делает террагрант, чтобы понимать что происходит.
источник

K

KK in terraform_ru
Victor Tur
конечно, просто у тебя на каждый инфраструктурный модуль свой backend-config.
Сейчас есть 2 плана, в каждом из них разный бекенд.

Если в первый план включить второй как модуль, то у них будет 1 стейт на двоих несмотря на то, что в каждом плане прописан свой бекенд
источник

VT

Victor Tur in terraform_ru
KK
Сейчас есть 2 плана, в каждом из них разный бекенд.

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

VT

Victor Tur in terraform_ru
ты в инфраструктурные модули запихиваешь только компоненты -
В App модуль например security groups, lb, eks и т.д.
чтобы их запустить - нужна сеть, требуется взять уже созданное в другом инфра модуле (читай просто другая, отдельная папка):
через data remote state вытаскиваешь id подсетей где собираешься запускать данные ресурсы.
ну и в целом формирующей цепочку. связанную либо через data remote state или data ресурсы, или хардкод переменные (возможно сгенерированные)
источник

K

KK in terraform_ru
Victor Tur
разделять на инфраструктурные модули.
ссылаться на созданное в другом инф модуле - через data remote state.
использовать компонентные модули в инфраструктурных.
в целом уже есть разделение на инфру и компоненты, вот сейчас делю уже компоненты.

Про data remote state, был не в курсе. Я думаю это то, что надо.
Спасибо большое за ответы !
источник

VT

Victor Tur in terraform_ru
звучит может как раз сложно.
на деле - очень удобно. и быстро plan/apply пробегает.
Меньший scope и меньший blast radius при факапе.
источник

K

KK in terraform_ru
Victor Tur
звучит может как раз сложно.
на деле - очень удобно. и быстро plan/apply пробегает.
Меньший scope и меньший blast radius при факапе.
Не, все понятно )
Думал только как связать разные (линки на ресурсы) планы и сделать им разный стейт.
А так же рассматривал возможность внедрения terragrunt, но большинство кейс решается без него в проекте, поэтому наверно оверхедить не буду.
источник