Size: a a a

2019 August 12

РР

Роман Рахманин in terraform_ru
Тогда извиняй
источник

РР

Роман Рахманин in terraform_ru
Только локал exec/кли, дефолтного нет
источник

U

UNCIA in terraform_ru
Mikhail Shubin
всем привет, а не поделитесь примерами кода, оформленного этим бест-практисам, с infrastructure modules and compositions
https://www.terraform-best-practices.com/code-structure
https://github.com/devops-best-practices/terraform-best-practice/blob/master/s3.tf
Оформил пример использования resource:for_each и dynamic:block:for_each
для недавно вышедшего terraform 12.6.

Надеюсь поможет тем у кого большие массивы ресурсов.
источник

U

UNCIA in terraform_ru
Суть такая - сделаете огромный locals map с описанием ресурсов и их переменными, а потом прогонятете через for_each - теперь к этим ресурсам можно бдует обращаться по именам типа ${ресурс["имя ресурса"].arn} .
источник

НС

Никита Суворов in terraform_ru
Antony Ryabov
Всем привет. Используем OpenStack, серверы создаются все хорошо, но при повторном прогоне terraform plan/apply он хочет пересоздать все серверы. Пишет что причина в атрибуте network:
network { # forces replacement


но если попрбовать
lifecycle {
   ignore_changes = ["network"]
 }

то получаем ошибку:
Provider "openstack" has indicated "requires replacement" on
openstack_compute_instance_v2.search[3] for a non-existent attribute path
cty.Path{cty.GetAttrStep{Name:"network"},
cty.IndexStep{Key:cty.NumberIntVal(1)}, cty.GetAttrStep{Name:"name"}}.

Кто-нибудь сталкивался?
чет даже не встречал подобного, покажите свой тф файл
источник

AK

Aleksandr Kostiuk in terraform_ru
UNCIA
Суть такая - сделаете огромный locals map с описанием ресурсов и их переменными, а потом прогонятете через for_each - теперь к этим ресурсам можно бдует обращаться по именам типа ${ресурс["имя ресурса"].arn} .
вроде бы прикольно, а сдругой стороны map ОГРОМНЫЙ может получится
источник

U

UNCIA in terraform_ru
Antony Ryabov
Всем привет. Используем OpenStack, серверы создаются все хорошо, но при повторном прогоне terraform plan/apply он хочет пересоздать все серверы. Пишет что причина в атрибуте network:
network { # forces replacement


но если попрбовать
lifecycle {
   ignore_changes = ["network"]
 }

то получаем ошибку:
Provider "openstack" has indicated "requires replacement" on
openstack_compute_instance_v2.search[3] for a non-existent attribute path
cty.Path{cty.GetAttrStep{Name:"network"},
cty.IndexStep{Key:cty.NumberIntVal(1)}, cty.GetAttrStep{Name:"name"}}.

Кто-нибудь сталкивался?
а у вас этот ресур от другого не зависит? depends_on?
источник

U

UNCIA in terraform_ru
Grisha Tatsiy
Ребзя, подскажите плиз по синтаксису
 vpc_id      = "${data.aws_vpc.var.env.id}"
как var.env экранировать?
используйте locals вместо variable
источник

НС

Никита Суворов in terraform_ru
UNCIA
а у вас этот ресур от другого не зависит? depends_on?
даже если зависит, все проходит без пересоздания.
источник
2019 August 13

IZ

I Z in terraform_ru
Всем привет.
Лок сейт, если у меня в dynamo_db. Оно лочится для всех воркспейсов, или только для текущего?
источник

VT

Victor Tur in terraform_ru
только для текущего стейт файла.
источник

IZ

I Z in terraform_ru
воркспейса или стейт файла?)
источник

IZ

I Z in terraform_ru
если сейчас я запустил apply на dev воркспейс, могу qa деплоить, или оно будет так же залочено?
источник

VT

Victor Tur in terraform_ru
1 workspace - 1 стейт файл
источник

VT

Victor Tur in terraform_ru
можешь деплоить qa
источник

IZ

I Z in terraform_ru
а это релевантно для dynamo_db?
источник

IZ

I Z in terraform_ru
по тому как я так создаю одно имя
источник

IZ

I Z in terraform_ru
я не знаю как оно там внутри менеджится
источник

VT

Victor Tur in terraform_ru
погляди на dynamodb табличку во время деплоя.
источник

VT

Victor Tur in terraform_ru
увидишь 2 записи
источник