Size: a a a

2020 June 01

AR

Alexey Remizov in terraform_ru
Vladislav
Приветсвтую. Не знаю как обратиться к этим самостоятельным частям. Там создаются ресурсы как ДНС зона, инвраструктура
Расположение файлов не играет роли. Есть ресурсы с выходными атрибутами и модули с выходными значениями. Обращаться к ним в формате resource_name.attr и module.module_name.output_value.
источник

V

Vladislav in terraform_ru
Alexey Remizov
Расположение файлов не играет роли. Есть ресурсы с выходными атрибутами и модули с выходными значениями. Обращаться к ним в формате resource_name.attr и module.module_name.output_value.
Похоже ?
источник

AN

Artur Nizamutdinov in terraform_ru
Vladislav
Приветсвтую. Не знаю как обратиться к этим самостоятельным частям. Там создаются ресурсы как ДНС зона, инвраструктура
Я правильно понимаю:
В вашем случае infrastructure - отдельный проект, с отдельным state?
Возможно Вам необходимо прочитать output этого state: https://www.terraform.io/docs/providers/terraform/d/remote_state.html
источник

V

Vladislav in terraform_ru
Artur Nizamutdinov
Я правильно понимаю:
В вашем случае infrastructure - отдельный проект, с отдельным state?
Возможно Вам необходимо прочитать output этого state: https://www.terraform.io/docs/providers/terraform/d/remote_state.html
В моем случае:
- днс-зона создаются отдельно, глобально - отдельным terraform apply, так как она будет нужна для разных незавысимых резверток баз, аппсерверов и прочего
- инраструктура также создается отдельно (но не глобально, только на уровне региона), и также одтельным запуском terraform apply
- а уже когда будут развертываться аппсервера, база - нужно брать данные из днс-зоны, инфрастукруктуры
источник

AN

Artur Nizamutdinov in terraform_ru
что ж в таком случае я Вас правильно понял
Ответ на Ваш вопрос лежит по ссылке, которую я скинул
источник

V

Vladislav in terraform_ru
Artur Nizamutdinov
что ж в таком случае я Вас правильно понял
Ответ на Ваш вопрос лежит по ссылке, которую я скинул
Благодарю.

Получается что мне вот этот кусок кода нужно будет вставить в свою rds "развертку" - чтобы он из ремоут стейта взял нужные данные и использовал для своей работы, так ?
источник

V

Vladislav in terraform_ru
источник

AN

Artur Nizamutdinov in terraform_ru
да, и соответственно в remote не забыть описать эти данные как output
источник

V

Vladislav in terraform_ru
Artur Nizamutdinov
да, и соответственно в remote не забыть описать эти данные как output
Понял. Спасибо. Попробую.
источник

N

NB in terraform_ru
источник

N

NB in terraform_ru
Ребят, как можно оперативно задебажить значение какой-то переменной в ТФ
источник

N

NB in terraform_ru
желательно не выкатывая его в аутпут, т.к. переменная где-то в глубине вызываемых модулей
источник

N

Nikolai in terraform_ru
он скорее всегоссылается на кокретную строчку
источник

N

Nikolai in terraform_ru
можешь попробовать добавить больше логов
TF_LOG=DEBUG
или
TF_LOG=TRACE
источник

N

NB in terraform_ru
а именно переменную никак не вывести?
источник

N

Nikolai in terraform_ru
NB
а именно переменную никак не вывести?
тебе надо найти строку где у тебя неправильно указывается name потом найдешь и переменную
источник

N

NB in terraform_ru
Nikolai
тебе надо найти строку где у тебя неправильно указывается name потом найдешь и переменную
погребено в стеке вызываемых в друг дружке модулей, так можно долго искать
источник

N

NB in terraform_ru
источник

N

NB in terraform_ru
нашел вроде
источник

SE

Sergei Evdokimovich in terraform_ru
Народ привет. Может кто подскажет в чем проблема, внятного ответа не нашел. Есть код
resource "google_service_account" "compute-sa" {
   account_id   = "compute-sa"
   display_name = "Compute Service Account"
}
resource "google_project_iam_policy" "my_project" {
 project     = data.google_project.test_project.project_id
 policy_data = data.google_iam_policy.auth1.policy_data
}
data "google_project" "test_project" {}
data "google_iam_policy" "auth1" {
 binding {
   role = "roles/cloudsql.admin"
   members = [
     "serviceAccount:${google_service_account.compute-sa.email}",
   ]
 }
 binding {
   role = "roles/secretmanager.secretAccessor"
   members = [
     "serviceAccount:${google_service_account.compute-sa.email}",
   ]
 }
 binding {
   role = "roles/datastore.owner"
   members = [
     "serviceAccount:${google_service_account.compute-sa.email}",
   ]
 }
 binding {
   role = "roles/storage.admin"
   members = [
     "serviceAccount:${google_service_account.compute-sa.email}",
   ]
 }
}
источник