· 6 years ago · Oct 04, 2019, 08:54 PM
1provider "aws" {
2 access_key = "${var.aws_access_key}"
3 secret_key = "${var.aws_secret_key}"
4 region = "eu-west-1"
5}
6
7provider "vscale" {
8 token = "${var.vscale_api_token}"
9}
10
11data "aws_route53_zone" "rebrain" {
12 name = "devops.rebrain.srwx.net."
13}
14
15resource "vscale_ssh_key" "jungo_key" {
16 name = "Alex Berdennikov"
17 key = "${file(".ssh/id_rsa_jungo.pub")}"
18}
19
20resource "random_string" "password" {
21 length = "28"
22 upper = true
23 lower = true
24 number = true
25 special = false
26}
27
28resource "vscale_scalet" "jungo" {
29 rplan = "small"
30 name = "test.jungo"
31 location = "msk0"
32 make_from = "debian_9_64_001_master"
33 ssh_keys = ["${vscale_ssh_key.jungo_key.id}"]
34
35 provisioner "remote-exec" {
36 inline = [
37 "/bin/echo -e \"${random_string.password.result}\n${random_string.password.result}\" | /usr/bin/passwd root"
38 ]
39 }
40
41 connection {
42 type = "ssh"
43 user = "root"
44 host = self.public_address
45 private_key = "${file(".ssh/id_rsa_jungo")}"
46 }
47
48 provisioner "local-exec" {
49 command = "echo ${var.my_login}.devops.rebrain.srwx.net IN A ${vscale_scalet.jungo.public_address} root:${random_string.password.result} >> vm_info.txt"
50 }
51}
52
53resource "aws_route53_record" "jungo" {
54 zone_id = "${data.aws_route53_zone.rebrain.zone_id}"
55 name = "${var.my_login}.devops.rebrain.srwx.net"
56 type = "A"
57 ttl = "300"
58 records = ["${vscale_scalet.jungo.public_address}"]
59}