46 lines
955 B
Plaintext
46 lines
955 B
Plaintext
|
<% local secrets = require "secrets" %>
|
||
|
<% local config = require "config" %>
|
||
|
|
||
|
<% local ami_lookup = {
|
||
|
aws_linux = "ami-0395649fbe870727e",
|
||
|
}
|
||
|
%>
|
||
|
|
||
|
<% for name, info in pairs(config.machines) do %>
|
||
|
|
||
|
resource "aws_instance" "<%- name %>" {
|
||
|
ami = "<%- ami_lookup.aws_linux %>"
|
||
|
instance_type = "<%- info.size %>"
|
||
|
availability_zone = "<%- config.aws_region %>a"
|
||
|
|
||
|
user_data = file("${path.module}/startup/<%- name %>.sh")
|
||
|
|
||
|
network_interface {
|
||
|
network_interface_id = aws_network_interface.<%- name %>.id
|
||
|
device_index = 0
|
||
|
}
|
||
|
|
||
|
tags = {
|
||
|
Name = "<%- name %> instance"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
<% if info.ebs then %>
|
||
|
resource "aws_ebs_volume" "<%- name %>" {
|
||
|
availability_zone = "<%- config.aws_region %>a"
|
||
|
size = <%- info.ebs %>
|
||
|
type = "st1"
|
||
|
tags = {
|
||
|
Name = "<%- name %> ebs"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
resource "aws_volume_attachment" "<%- name %>" {
|
||
|
device_name = "/dev/sdf"
|
||
|
volume_id = aws_ebs_volume.<%- name %>.id
|
||
|
instance_id = aws_instance.<%- name %>.id
|
||
|
}
|
||
|
<% end %>
|
||
|
<% end %>
|