2016-11-12 19:20:33 -05:00
|
|
|
terraform {
|
|
|
|
|
required_version = "foo"
|
|
|
|
|
}
|
|
|
|
|
|
2014-05-24 14:44:48 -04:00
|
|
|
variable "foo" {
|
2014-08-05 01:04:48 -04:00
|
|
|
default = "bar"
|
|
|
|
|
description = "bar"
|
2014-05-24 14:44:48 -04:00
|
|
|
}
|
|
|
|
|
|
2016-01-21 14:33:16 -05:00
|
|
|
variable "bar" {
|
|
|
|
|
type = "string"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
variable "baz" {
|
|
|
|
|
type = "map"
|
|
|
|
|
|
|
|
|
|
default = {
|
|
|
|
|
key = "value"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2014-05-25 21:05:18 -04:00
|
|
|
provider "aws" {
|
2014-08-05 01:04:48 -04:00
|
|
|
access_key = "foo"
|
|
|
|
|
secret_key = "bar"
|
2014-05-25 21:05:18 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
provider "do" {
|
2014-08-05 01:04:48 -04:00
|
|
|
api_key = "${var.foo}"
|
2014-05-25 21:05:18 -04:00
|
|
|
}
|
|
|
|
|
|
2016-01-16 19:20:00 -05:00
|
|
|
data "do" "simple" {
|
|
|
|
|
foo = "baz"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
data "do" "depends" {
|
|
|
|
|
depends_on = ["data.do.simple"]
|
|
|
|
|
}
|
|
|
|
|
|
2014-05-24 14:44:48 -04:00
|
|
|
resource "aws_security_group" "firewall" {
|
2014-07-03 23:11:58 -04:00
|
|
|
count = 5
|
2014-05-24 14:44:48 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resource aws_instance "web" {
|
|
|
|
|
ami = "${var.foo}"
|
|
|
|
|
security_groups = [
|
|
|
|
|
"foo",
|
|
|
|
|
"${aws_security_group.firewall.foo}"
|
|
|
|
|
]
|
2014-07-02 00:16:47 -04:00
|
|
|
|
2014-07-02 00:18:01 -04:00
|
|
|
network_interface {
|
2014-07-02 15:04:37 -04:00
|
|
|
device_index = 0
|
|
|
|
|
description = "Main network interface"
|
2014-07-02 00:16:47 -04:00
|
|
|
}
|
2015-01-16 13:14:48 -05:00
|
|
|
|
|
|
|
|
provisioner "file" {
|
|
|
|
|
source = "foo"
|
|
|
|
|
destination = "bar"
|
|
|
|
|
}
|
2014-05-24 14:44:48 -04:00
|
|
|
}
|
2014-07-03 23:41:26 -04:00
|
|
|
|
2017-07-01 12:12:31 -04:00
|
|
|
locals {
|
|
|
|
|
security_group_ids = "${aws_security_group.firewall.*.id}"
|
|
|
|
|
web_ip = "${aws_instance.web.private_ip}"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
locals {
|
|
|
|
|
literal = 2
|
|
|
|
|
literal_list = ["foo"]
|
|
|
|
|
literal_map = {"foo" = "bar"}
|
|
|
|
|
}
|
|
|
|
|
|
2014-07-03 23:41:26 -04:00
|
|
|
resource "aws_instance" "db" {
|
|
|
|
|
security_groups = "${aws_security_group.firewall.*.id}"
|
2014-07-23 11:38:43 -04:00
|
|
|
VPC = "foo"
|
2014-07-22 20:10:17 -04:00
|
|
|
|
|
|
|
|
depends_on = ["aws_instance.web"]
|
2015-01-16 13:14:48 -05:00
|
|
|
|
|
|
|
|
provisioner "file" {
|
|
|
|
|
source = "foo"
|
|
|
|
|
destination = "bar"
|
|
|
|
|
}
|
2014-07-03 23:41:26 -04:00
|
|
|
}
|
2014-07-04 13:43:06 -04:00
|
|
|
|
|
|
|
|
output "web_ip" {
|
|
|
|
|
value = "${aws_instance.web.private_ip}"
|
|
|
|
|
}
|
2015-03-05 15:56:31 -05:00
|
|
|
|
2017-08-28 12:42:03 -04:00
|
|
|
output "web_id" {
|
|
|
|
|
description = "The ID"
|
|
|
|
|
value = "${aws_instance.web.id}"
|
|
|
|
|
}
|
|
|
|
|
|
2015-03-05 15:56:31 -05:00
|
|
|
atlas {
|
|
|
|
|
name = "mitchellh/foo"
|
|
|
|
|
}
|