Назад | Перейти на главную страницу

terraform поместит версию модуля в теги

Мне нужна помощь с terraform, во многих местах мы используем следующий код:

 module "supermodule-vpc" {
    source              = "git::ssh://git@github.company/oursupermodule.git?ref=v0.6.16"
}

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

Тег может выглядеть как лайки:

  ProvisionedVersion = v0.6.16

Вы не можете сделать этого вывода, единственный способ - продублировать версию как дополнительную переменную. Очевидный способ - попробовать сделать что-то вроде этого:

locals {
  version = "v0.6.16"
}

module "supermodule-vpc" {
  source  = "git::ssh://git@github.company/oursupermodule.git?ref=${local.version}"
  version = "${local.version}"
}

Однако это приведет к ошибке, поскольку источник модуля не может содержать переменные, поэтому вы получите что-то вроде этого:

module "supermodule-vpc" {
  source  = "git::ssh://git@github.company/oursupermodule.git?ref=v0.6.16"
  version = "v0.6.16"
}

И когда вы нажимаете одну строку версии, не забудьте натолкнуть другую.