diff --git a/demo-2/instance.tf b/demo-2/instance.tf new file mode 100644 index 0000000..24720c7 --- /dev/null +++ b/demo-2/instance.tf @@ -0,0 +1,25 @@ +resource "aws_key_pair" "mykey" { + key_name = "mykey" + public_key = "${file("${var.PATH_TO_PUBLIC_KEY}")}" +} + +resource "aws_instance" "example" { + ami = "${lookup(var.AMIS, var.AWS_REGION)}" + instance_type = "t2.micro" + key_name = "${aws_key_pair.mykey.key_name}" + + provisioner "file" { + source = "script.sh" + destination = "/tmp/script.sh" + } + provisioner "remote-exec" { + inline = [ + "chmod +x /tmp/script.sh", + "sudo /tmp/script.sh" + ] + } + connection { + user = "${var.INSTANCE_USERNAME}" + private_key = "${file("${var.PATH_TO_PRIVATE_KEY}")}" + } +} diff --git a/demo-2/provider.tf b/demo-2/provider.tf new file mode 100644 index 0000000..9f26b63 --- /dev/null +++ b/demo-2/provider.tf @@ -0,0 +1,6 @@ +provider "aws" { + access_key = "${var.AWS_ACCESS_KEY}" + secret_key = "${var.AWS_SECRET_KEY}" + region = "${var.AWS_REGION}" +} + diff --git a/demo-2/script.sh b/demo-2/script.sh new file mode 100644 index 0000000..ee8c519 --- /dev/null +++ b/demo-2/script.sh @@ -0,0 +1,3 @@ +#!/bin/bash +apt-get update +apt-get -y install nginx diff --git a/demo-2/vars.tf b/demo-2/vars.tf new file mode 100644 index 0000000..6ce0623 --- /dev/null +++ b/demo-2/vars.tf @@ -0,0 +1,23 @@ +variable "AWS_ACCESS_KEY" {} +variable "AWS_SECRET_KEY" {} +variable "AWS_REGION" { + default = "eu-west-1" +} +variable "AMIS" { + type = "map" + default = { + us-east-1 = "ami-13be557e" + us-west-2 = "ami-06b94666" + eu-west-1 = "ami-844e0bf7" + } +} + +variable "PATH_TO_PRIVATE_KEY" { + default = "mykey" +} +variable "PATH_TO_PUBLIC_KEY" { + default = "mykey.pub" +} +variable "INSTANCE_USERNAME" { + default = "ubuntu" +}