greyhoundforty
12/2/2015 - 8:39 PM

SoftLayer Terraform example

SoftLayer Terraform example

variable "sl_user" {}
variable "sl_key" {}
variable "dnsimple_email" {}
variable "dnsimple_token" {}

provider "softlayer" {
    username = "${var.sl_user}"
    api_key = "${var.sl_key}"
}

resource "softlayer_virtualserver" "web1" {
    name = "web1"
    domain = "tinybot.io"
    ssh_keys = ["429261"]
    image_type = "os_code"
    image = "UBUNTU_LATEST_64"
    region = "hou02"
    public_network_speed = 100
    cpu = 2
    ram = 2048
}

resource "softlayer_virtualserver" "web2" {
    name = "web2"
    domain = "tinybot.io"
    ssh_keys = ["429261"]
    image_type = "os_code"
    image = "UBUNTU_LATEST_64"
    region = "hou02"
    public_network_speed = 100
    cpu = 2
    ram = 2048
}

output "web1_ip" {
  value = "${softlayer_virtualserver.web1.ipv4_address}"
}

output "web2_ip" {
  value = "${softlayer_virtualserver.web2.ipv4_address}"
}

# Configure the DNSimple provider
provider "dnsimple" {
    token = "${var.dnsimple_token}"
    email = "${var.dnsimple_email}"
}

resource "dnsimple_record" "web1" {
      domain = "tinybot.io"
      name = "web1"
      value = "${softlayer_virtualserver.web1.ipv4_address}"
      type = "A"
}

resource "dnsimple_record" "web2" {
      domain = "tinybot.io"
      name = "web2"
      value = "${softlayer_virtualserver.web2.ipv4_address}"
      type = "A"
}