A
variable "do_token" {вызываемый модуль crypto
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
}
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}"
}