Size: a a a

2020 May 20

AV

Alexander Valkov in terraform_ru
У меня есть map
map = {
 key1 = {}
 key2 = {}
 key3 = {}
}
Мне плевать, какой key, я хочу любой.
Как достать? Значения key неизвестны (динамические)

Нужно что-то типа map[any_key].id
источник

VT

Victor Tur in terraform_ru
Alexander Valkov
У меня есть map
map = {
 key1 = {}
 key2 = {}
 key3 = {}
}
Мне плевать, какой key, я хочу любой.
Как достать? Значения key неизвестны (динамические)

Нужно что-то типа map[any_key].id
источник

AV

Alexander Valkov in terraform_ru
Отлично!
Там же ещё и values.
То что нужно, спасибо!
источник

JR

Jürgen Romins in terraform_ru
Victor Tur
прикольно. 👍
Мне понравилось я еще лямбды под себя допилил
источник

AC

Anton Churkin in terraform_ru
вы задаете vsphere_compute_cluster, vsphere_resource_pool? раз терраформ не ругается на эти незадефайненные переменные, значит они у вас есть, но кластера у вас нет, что же вы там прописываете?
источник

AK

Aleksandr Kozlov in terraform_ru
Anton Churkin
не уверен, что можно налить на одиночной ноде. У вас что определено в  data "vsphere_datacenter" "datacenter" ?
Можно налить на одиночные ноды, у каждой надо есть ресурс пул
источник

AK

Aleksandr Kozlov in terraform_ru
vsphere_cluster = "name_node/Resources" указывай там где кластер и всё
источник
2020 May 21

A

Artur in terraform_ru
подскажите плз, как правильно зареференсить такую мапу?

variable "code_pipelines" {
 description = "Mapping containers to CodePipelines"
 default = [
   {
     service_name = "service1",
     service_containers = [
       "container1",
       "container2"
     ]
   },
   {
     service_name = "service2",
     service_containers = [
       "container3"
     ]
   }
 ]
}
источник

YF

Yurii Fisakov in terraform_ru
Добрый день. Подскажите пожалуйста, как быть? 🙂
Раньше всегда в ресурсах, которые пишу в модуле, лепил конструкцию вида count = var.enable != 0 ? 1 : 0 (ну и дефолт для переменной в 0)
И таким образом я с помощью установки одной переменной мог или вызвать модуль или скипать его там, где он не нужен.

Но теперь так получилось, что у меня в ресурсах модуля используется for each, что исключает использование count’а.
Как тут быть теперь?

Вот пример кода - первый и второй файлы это непосредственно сам модуль, а третий это его вызов
https://gist.github.com/yurii-fisakov/89ae742ca507787c091a2c6009a890e9


Сама ошибка заключается в том, что если не задано значение переменной route53_targets, то терраформ вполне ожидаемо плюнет ошибкой No value for required variable, т.к. в вызове модуля я передаю туда эту переменную.

Я пробовал проставить дефолтные значения для переменной, но тогда уже модуль пытается создавать ресурсы (что тоже в принципе логично)

Подскажите пожалуйста, как бы тут покрасивей сделать условие на то, чтобы модуль ничего не делал, если ему не передана переменная route53_targets?
источник

DR

Denis Reckless in terraform_ru
Кто-то может посоветовать хорошее чтиво по terrugrunt помимо офф доки ?
источник

AD

Aliaksandr Dounar in terraform_ru
Denis Reckless
Кто-то может посоветовать хорошее чтиво по terrugrunt помимо офф доки ?
GitHub :)
источник

DR

Denis Reckless in terraform_ru
А можно ссылку плз ? Я чёт туговат, уже день его курю и до сих пор не вник
источник

SG

Silver 👻 Ghost in terraform_ru
А вам кто-то что-то должен разве?
источник

SG

Silver 👻 Ghost in terraform_ru
Все на общественных началах вроде.
источник

М

Максим Родькин (1566... in terraform_ru
а вот теперь твой звездный час. если ты объяснишь, что был немного взволнован и нетерпелив, погорячился, сожалеешь о резких словах и более подробно опишешь просьбу, тебе помогут с большей вероятностью. Удачи! Сори за менторский тон
источник

AS

Alexander Shlygin in terraform_ru
Yurii Fisakov
Добрый день. Подскажите пожалуйста, как быть? 🙂
Раньше всегда в ресурсах, которые пишу в модуле, лепил конструкцию вида count = var.enable != 0 ? 1 : 0 (ну и дефолт для переменной в 0)
И таким образом я с помощью установки одной переменной мог или вызвать модуль или скипать его там, где он не нужен.

Но теперь так получилось, что у меня в ресурсах модуля используется for each, что исключает использование count’а.
Как тут быть теперь?

Вот пример кода - первый и второй файлы это непосредственно сам модуль, а третий это его вызов
https://gist.github.com/yurii-fisakov/89ae742ca507787c091a2c6009a890e9


Сама ошибка заключается в том, что если не задано значение переменной route53_targets, то терраформ вполне ожидаемо плюнет ошибкой No value for required variable, т.к. в вызове модуля я передаю туда эту переменную.

Я пробовал проставить дефолтные значения для переменной, но тогда уже модуль пытается создавать ресурсы (что тоже в принципе логично)

Подскажите пожалуйста, как бы тут покрасивей сделать условие на то, чтобы модуль ничего не делал, если ему не передана переменная route53_targets?
Передать пустой list/map?)
источник

YF

Yurii Fisakov in terraform_ru
Alexander Shlygin
Передать пустой list/map?)
Гхм... Ну да, логично. Спасибо.

Жди PR)
источник

DH

Danylo Hetmantsev in terraform_ru
коллеги, тут если такие, кто использует хельм провайдер? по поводу бага с конкурентностью
источник

DH

Danylo Hetmantsev in terraform_ru
в общем воркараунд для этого - нужно указать конкретный токен в kubernetes spec в провайдере helm
источник

DH

Danylo Hetmantsev in terraform_ru
любые другие решения в виде указания пути к конфигу или же попытки аутентифицироваться при помощи kubectl - ни к чему не приводят
источник