github.com/recobe182/terraform@v0.8.5-0.20170117231232-49ab22a935b7/examples/aws-eip/main.tf (about) 1 # Specify the provider and access details 2 provider "aws" { 3 region = "${var.aws_region}" 4 } 5 6 resource "aws_eip" "default" { 7 instance = "${aws_instance.web.id}" 8 vpc = true 9 } 10 11 # Our default security group to access 12 # the instances over SSH and HTTP 13 resource "aws_security_group" "default" { 14 name = "eip_example" 15 description = "Used in the terraform" 16 17 # SSH access from anywhere 18 ingress { 19 from_port = 22 20 to_port = 22 21 protocol = "tcp" 22 cidr_blocks = ["0.0.0.0/0"] 23 } 24 25 # HTTP access from anywhere 26 ingress { 27 from_port = 80 28 to_port = 80 29 protocol = "tcp" 30 cidr_blocks = ["0.0.0.0/0"] 31 } 32 33 # outbound internet access 34 egress { 35 from_port = 0 36 to_port = 0 37 protocol = "-1" 38 cidr_blocks = ["0.0.0.0/0"] 39 } 40 } 41 42 resource "aws_instance" "web" { 43 instance_type = "t2.micro" 44 45 # Lookup the correct AMI based on the region 46 # we specified 47 ami = "${lookup(var.aws_amis, var.aws_region)}" 48 49 # The name of our SSH keypair you've created and downloaded 50 # from the AWS console. 51 # 52 # https://console.aws.amazon.com/ec2/v2/home?region=us-west-2#KeyPairs: 53 # 54 key_name = "${var.key_name}" 55 56 # Our Security group to allow HTTP and SSH access 57 security_groups = ["${aws_security_group.default.name}"] 58 59 # We run a remote provisioner on the instance after creating it. 60 # In this case, we just install nginx and start it. By default, 61 # this should be on port 80 62 user_data = "${file("userdata.sh")}" 63 64 #Instance tags 65 tags { 66 Name = "eip-example" 67 } 68 }