Size: a a a

2019 October 25

DM

Dmitriy Miroshnichenko in terraform_ru

module "partner_staging" {
 source = "./modules/instance_with_data_volume"

 volume_type      = var.data_volume_type
 volume_type      = var.system_volume_type
}
источник

DM

Dmitriy Miroshnichenko in terraform_ru
вот то что слева, не может быть одинаковым
источник

AO

Anton Olifir in terraform_ru
Alex Tsoy
В ажур!
Стек не поддерживает
а, в ажур то можно любой дистр залить свой, главное его правильно приготовить.
источник

VT

Victor Tur in terraform_ru
Dmitriy Miroshnichenko

module "partner_staging" {
 source = "./modules/instance_with_data_volume"

 volume_type      = var.data_volume_type
 volume_type      = var.system_volume_type
}
конечно. смысла в этом нет. Это map с уникальностью ключа
источник

DM

Dmitriy Miroshnichenko in terraform_ru
Victor Tur
конечно. смысла в этом нет. Это map с уникальностью ключа
Таки я не спорю.
Я уточнил, что не понял ваш ответ.
источник

DM

Dmitriy Miroshnichenko in terraform_ru
Victor Tur
разбирай их в модуле
Есть пример или дока?
источник

VT

Victor Tur in terraform_ru
Dmitriy Miroshnichenko

module "partner_staging" {
 source = "./modules/instance_with_data_volume"

 volume_type      = var.data_volume_type
 volume_type      = var.system_volume_type
}
ты можешь использовать явные параметры:
data_volume_type      = var.data_volume_type
system_volume_type      = var.system_volume_type
источник

VT

Victor Tur in terraform_ru
или объединить их в map/list
источник

VT

Victor Tur in terraform_ru
volume_type      = list(var.system_volume_type, var.data_volume_type)
источник

VT

Victor Tur in terraform_ru
в модуле делать проверку - если data_volume_type нет - выставлять в default - не создавать volume type например
источник

DM

Dmitriy Miroshnichenko in terraform_ru
Все равно не понял :)

смотри, есть ресурсы
resource "openstack_blockstorage_volume_v3" "volume" {
 count                = var.server_count
 name                 = "volume-${var.hostname}-${count.index}"
 size                 = var.hdd_size
 image_id             = var.image_id
 volume_type          = var.volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true

 lifecycle {
   ignore_changes = ["image_id"]
 }
}

resource "openstack_blockstorage_volume_v3" "volume_data" {
 region               = var.region
 volume_type          = var.data_volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true
 name                 = "${var.hostname}_data"
 description          = "data volume for ${var.hostname}"
 size                 = 25
}
источник

AO

Anton Olifir in terraform_ru
источник

VT

Victor Tur in terraform_ru
Dmitriy Miroshnichenko
Все равно не понял :)

смотри, есть ресурсы
resource "openstack_blockstorage_volume_v3" "volume" {
 count                = var.server_count
 name                 = "volume-${var.hostname}-${count.index}"
 size                 = var.hdd_size
 image_id             = var.image_id
 volume_type          = var.volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true

 lifecycle {
   ignore_changes = ["image_id"]
 }
}

resource "openstack_blockstorage_volume_v3" "volume_data" {
 region               = var.region
 volume_type          = var.data_volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true
 name                 = "${var.hostname}_data"
 description          = "data volume for ${var.hostname}"
 size                 = 25
}
ну так ) что я и пишу
источник

DM

Dmitriy Miroshnichenko in terraform_ru
как ТФ поймет в какой ресурс идет параметр, если у них имя одинаковое?
источник

DM

Dmitriy Miroshnichenko in terraform_ru
аааа
источник

DM

Dmitriy Miroshnichenko in terraform_ru
оооо
источник

DM

Dmitriy Miroshnichenko in terraform_ru
:D
источник

VT

Victor Tur in terraform_ru
Dmitriy Miroshnichenko
Все равно не понял :)

смотри, есть ресурсы
resource "openstack_blockstorage_volume_v3" "volume" {
 count                = var.server_count
 name                 = "volume-${var.hostname}-${count.index}"
 size                 = var.hdd_size
 image_id             = var.image_id
 volume_type          = var.volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true

 lifecycle {
   ignore_changes = ["image_id"]
 }
}

resource "openstack_blockstorage_volume_v3" "volume_data" {
 region               = var.region
 volume_type          = var.data_volume_type
 availability_zone    = var.az_zone
 enable_online_resize = true
 name                 = "${var.hostname}_data"
 description          = "data volume for ${var.hostname}"
 size                 = 25
}
на volume_data можешь даже count поставить
источник

DM

Dmitriy Miroshnichenko in terraform_ru
аха инсайт
источник

DM

Dmitriy Miroshnichenko in terraform_ru
благодарю
источник