Size: a a a

2019 August 08

A

Alex Shmel🐝 in terraform_ru
main.tf
variable "do_token" {
 type        = "string"
 description = "Digital Ocean user api token"
}

variable "ssh_key_name" {
 type        = "string"
 description = "Digital Ocean ssh key name"
}

module "do_minimal" {
 source = "../_modules/do_crypto"

 hostname     = "ganon"
 srv_name     = "*************.do" # hostname = ${srv_name}.tax.dpd.com
 srv_type     = "debian-9-x64"
 srv_size     = "s-2vcpu-4gb"
 srv_region   = "ams3"
 do_token     = "${var.do_token}"
 ssh_key_name = "${var.ssh_key_name}"
 as_pb        = "chef-server" # pb_${var.as_recipie}.yaml
}
вызываемый модуль crypto

provider "digitalocean" {
 token = "${var.do_token}"
}

data "digitalocean_ssh_key" "key1" {
 name = "${var.ssh_key_name}"
}

resource "digitalocean_droplet" "client" {
 name     = "${var.srv_name}.******.com"
 image    = "${var.srv_type}"
 size     = "${var.srv_size}"
 region   = "${var.srv_region}"
 ssh_keys = ["${data.digitalocean_ssh_key.key1.fingerprint}"]
}

resource "null_resource" "command" {
 provisioner "local-exec" {
   command = <<EOF
   curl -X POST -H "Content-Type: application/json" -H \
   "Authorization: Bearer ${var.do_token}" -d '{"type":"power_off"}' \
   "https://api.digitalocean.com/v2/droplets/${digitalocean_droplet.client.id}/actions"
   EOF
 }
}

output "ip" {
 value = "${digitalocean_droplet.client.ipv4_address}"
}

output "id" {
 value = "${digitalocean_droplet.client.id}"
}

output "fqdn" {
 value = "${var.srv_name}"
}

output "hostname" {
 value = "${var.hostname}"
}
источник

A

Alex Shmel🐝 in terraform_ru
на слова terraform output ip
ругаеться и говорит что нету таких переменных
источник

A

Alex Shmel🐝 in terraform_ru
команду выполную там же где и apply.
в этой же директории и лежать все tfstate файлы
источник

OB

Oleksii Borodai in terraform_ru
Alex Shmel🐝
команду выполную там же где и apply.
в этой же директории и лежать все tfstate файлы
Ну наверное аутпуты должны быть в main.tf
источник

OB

Oleksii Borodai in terraform_ru
Вам нужно пробросить их наверх из модуля.
источник

A

Alex Shmel🐝 in terraform_ru
Oleksii Borodai
Вам нужно пробросить их наверх из модуля.
Оп. а как проброс обратно реализовать ?
источник

A

Alex Shmel🐝 in terraform_ru
Можете показать какой-либо пример небольшой, я по нему разберусь дальше
источник

OB

Oleksii Borodai in terraform_ru
источник

OB

Oleksii Borodai in terraform_ru
main.tf
output "ip" {
 value = "${module.do_minimal.ip}"
}
источник

OB

Oleksii Borodai in terraform_ru
Как-то так
источник

OB

Oleksii Borodai in terraform_ru
Если мне не изменяет память.
источник

A

Alex Shmel🐝 in terraform_ru
спасибо сча прикручу попробую
источник
2019 August 09

A

Anatolii in terraform_ru
всем привет. ребята подскажите как обрабаывать ситуации, когда terrafrom apply приводит к ошибке "The security group 'xxx' already exists for VPC 'vpc-xxxxxxxxxx'". Другими словами, кто-то вручную насетапил sg в обход тераформа.
Есть способы решить этот вопрос с помощью тераформа, неприбегая к ручному удалению существующей группы? terraform import подходит для этого?
источник

AS

Alexander Semenov in terraform_ru
Anatolii
всем привет. ребята подскажите как обрабаывать ситуации, когда terrafrom apply приводит к ошибке "The security group 'xxx' already exists for VPC 'vpc-xxxxxxxxxx'". Другими словами, кто-то вручную насетапил sg в обход тераформа.
Есть способы решить этот вопрос с помощью тераформа, неприбегая к ручному удалению существующей группы? terraform import подходит для этого?
да, импорт будет норм
источник

MS

Mikhail Shubin in terraform_ru
Anatolii
всем привет. ребята подскажите как обрабаывать ситуации, когда terrafrom apply приводит к ошибке "The security group 'xxx' already exists for VPC 'vpc-xxxxxxxxxx'". Другими словами, кто-то вручную насетапил sg в обход тераформа.
Есть способы решить этот вопрос с помощью тераформа, неприбегая к ручному удалению существующей группы? terraform import подходит для этого?
использовать name_prefix
источник
2019 August 10

GT

Grisha Tatsiy in terraform_ru
Ребзя, подскажите плиз по синтаксису
 vpc_id      = "${data.aws_vpc.var.env.id}"
как var.env экранировать?
источник
2019 August 11

DO

Dima Orlenko in terraform_ru
Grisha Tatsiy
Ребзя, подскажите плиз по синтаксису
 vpc_id      = "${data.aws_vpc.var.env.id}"
как var.env экранировать?
${var.env}
источник

НС

Никита Суворов in terraform_ru
Dima Orlenko
${var.env}
Оно научилось переменную внутри переменной держать?
источник

DO

Dima Orlenko in terraform_ru
Никита Суворов
Оно научилось переменную внутри переменной держать?
Эмммм, нет.
источник

DO

Dima Orlenko in terraform_ru
Можно ли использовать переменные для создания data/resources?
источник