Skip to content

Commit 68d19d3

Browse files
committed
init
1 parent 61c1fa3 commit 68d19d3

File tree

4 files changed

+17
-4
lines changed

4 files changed

+17
-4
lines changed

main.tf

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ locals {
77
availability_zone = "${var.availability_zone != "" ? var.availability_zone : data.aws_subnet.default.availability_zone}"
88
ami = "${var.ami != "" ? var.ami : data.aws_ami.default.image_id}"
99
root_volume_type = "${var.root_volume_type != "" ? var.root_volume_type : data.aws_ami.info.root_device_type}"
10+
user_data = "${length(var.custom_user_data) > 0 ? var.custom_user_data : data.template_file.user_data.rendered}"
1011
}
1112

1213
data "aws_caller_identity" "default" {}
@@ -99,7 +100,7 @@ resource "aws_instance" "default" {
99100
instance_type = "${var.instance_type}"
100101
ebs_optimized = "${var.ebs_optimized}"
101102
disable_api_termination = "${var.disable_api_termination}"
102-
user_data = "${data.template_file.user_data.rendered}"
103+
user_data = "${local.user_data}"
103104
iam_instance_profile = "${aws_iam_instance_profile.default.name}"
104105
associate_public_ip_address = "${var.associate_public_ip_address}"
105106
key_name = "${var.ssh_key_pair}"
@@ -134,7 +135,7 @@ resource "null_resource" "eip" {
134135
count = "${var.associate_public_ip_address && var.instance_enabled ? 1 : 0}"
135136

136137
triggers {
137-
public_dns = "ec2-${replace(aws_eip.default.public_ip, ".", "-")}.${local.region == "us-east-1" ? "compute-1" : "${local.region}.compute"}.amazonaws.com"
138+
public_dns = "ec2-${replace(aws_eip.default.public_ip, ".", "-")}.${local.region == "us-east-1" ? "compute-1" : ${local.region}.compute}.amazonaws.com"
138139
}
139140
}
140141

outputs.tf

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,16 @@ output "alarm" {
4343
value = "${join("", aws_cloudwatch_metric_alarm.default.*.id)}"
4444
}
4545

46-
output "additional_eni_ids" {
47-
description = "Map of ENI with EIP"
46+
output "additional_eni_public" {
47+
description = "Map IDs of ENI with public IPs"
4848
value = "${zipmap(aws_network_interface.additional.*.id, aws_eip.additional.*.public_ip)}"
4949
}
5050

51+
output "additional_eni_private" {
52+
description = "Map IDs of ENI with private IPs"
53+
value = "${zipmap(aws_network_interface.additional.*.id, aws_eip.additional.*.private_ip)}"
54+
}
55+
5156
output "ebs_ids" {
5257
description = "ID of EBSs"
5358
value = "${aws_ebs_volume.default.*.id}"

user_data.tf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
data "template_file" "user_data" {
2+
count = "${local.instance_count && length(var.custom_user_data) == 0 ? 1 : 0}"
23
template = "${file("${path.module}/user-data/user_data.sh")}"
34

45
vars {

variables.tf

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@ variable "user_data" {
110110
default = []
111111
}
112112

113+
variable "custom_user_data" {
114+
description = "User data to provide when launching the instance"
115+
type = "list"
116+
default = []
117+
}
118+
113119
variable "private_ip" {
114120
description = "Private IP address to associate with the instance in a VPC"
115121
default = ""

0 commit comments

Comments
 (0)