Size: a a a

2020 June 10

流浪者在网络上... in terraform_ru
R V
Доброго дня! Подскажите, пожалуйста, есть и в terraform template проверка переменной на существование? Что-то вроде "if variable exist".
Зачем? У нее либо есть значение, либо нет
источник

流浪者在网络上... in terraform_ru
Но она должна быть заранее объявлена
источник

RV

R V in terraform_ru
В случае, допустим, если используется один шаблон в нескольких модулях. Например если в одном модуле следующее:
data "template_file" "template" {
 template = "${file("./templates/config.tmpl")}"
 vars = {
   var1 = "value1"
   var2 = "value2"
 }
}


В другом:

data "template_file" "template" {
 template = "${file("./templates/config.tmpl")}"
 vars = {
   var1 = "value1"
 }
}
источник

RV

R V in terraform_ru
Т.е. если var2 не объявлен, чтоб terraform не падал с ошибкой.
источник

N

Nikolai in terraform_ru
R V
В случае, допустим, если используется один шаблон в нескольких модулях. Например если в одном модуле следующее:
data "template_file" "template" {
 template = "${file("./templates/config.tmpl")}"
 vars = {
   var1 = "value1"
   var2 = "value2"
 }
}


В другом:

data "template_file" "template" {
 template = "${file("./templates/config.tmpl")}"
 vars = {
   var1 = "value1"
 }
}
Если в шаблоне переменная нужна, но она нужна
источник

I

Ivan in terraform_ru
Всем привет. Подскажите новичку для чего backend используется, читаю доку и ничего не пойму
источник

VT

Victor Tur in terraform_ru
Ivan
Всем привет. Подскажите новичку для чего backend используется, читаю доку и ничего не пойму
хранение json файла с мэппингом ( соответствием ) - названия ресурса как написано в коде и того что на самом деле создано, управляется через API.  название ресурса - id.
источник

I

Ivan in terraform_ru
Ааааа
источник

I

Ivan in terraform_ru
А если я захочу сменить план для существующего ресурса, он сохранит новое состояние ?
источник

VT

Victor Tur in terraform_ru
Ivan
Всем привет. Подскажите новичку для чего backend используется, читаю доку и ничего не пойму
если не используешь, не описываешь backend - по умолчанию этот файл, он же statefile - сохраняется локально в туже папку где запускаешь
источник

VT

Victor Tur in terraform_ru
Ivan
А если я захочу сменить план для существующего ресурса, он сохранит новое состояние ?
да, после и при apply обновляется состояние.
источник

I

Ivan in terraform_ru
Этот файл используется для отката как я понимаю ?
источник

VT

Victor Tur in terraform_ru
он в первую очередь используется terraform для сверки текущего состояния с предыдушим - чтобы показать тебе план.
источник

I

Ivan in terraform_ru
Понял, спасибо тебе большое!
источник

VT

Victor Tur in terraform_ru
если файла состояния нет - а ресурсы есть - терраформ при плане скажет что ресурсов пока нет и предложит создать.
при создании выдаст ошибки с сообщением - что невозможно было создать так как такой ресурс уже существует
источник

I

Ivan in terraform_ru
Ещё хотел спросить, есть ли какая нибудь документация как правильно организовать структуру проекта ? А то как я понял для каждого нового сервера нужно будет делать отдельную директорию с файлами ?
источник

I

Ivan in terraform_ru
Victor Tur
если файла состояния нет - а ресурсы есть - терраформ при плане скажет что ресурсов пока нет и предложит создать.
при создании выдаст ошибки с сообщением - что невозможно было создать так как такой ресурс уже существует
Оу, а как нибудь ресторить его можно?
источник

VT

Victor Tur in terraform_ru
Ivan
Оу, а как нибудь ресторить его можно?
зависит от backend.
s3 поддерживает версионирование - там можно восстанавливать.
local backend конечно не умеет , хотя и сохраняет с префиксом бэкап
источник

I

Ivan in terraform_ru
Я вот решил сменить IP адрес как раз, посмотреть на новый план, увидел что терраформ удалил старую машину и создал новую, можно ли контролировать это? Что бы он только IP сменил?
источник

VT

Victor Tur in terraform_ru
Ivan
Ещё хотел спросить, есть ли какая нибудь документация как правильно организовать структуру проекта ? А то как я понял для каждого нового сервера нужно будет делать отдельную директорию с файлами ?
https://github.com/antonbabenko/terragrunt-reference-architecture
понимаю что сложно - но посмотреть сюда.
terragrunt - обертка для terraform которая помогает красиво организовать код.
код должен быть разбит на модули.
На структурные - отдельные компоненты.
На архитектурные - если вдруг надо объединять где-то логику нескольких модулей
И terragrunt конфигурацию - которая скачивает модули и применяет их в нужном порядке + помогает подгружать глобальные переменные + помогает создавать s3 bucket автоматом
источник