Coder Social home page Coder Social logo

jb35640-11's People

Contributors

danielm223 avatar danmaxic avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

jb35640-11's Issues

terraform.tf

provider "aws" {

region = "eu-central-1"
}
variable "instance_config" {
type = "map"
default ={
source_image_name="ami-0f65671a86f061fcd"
instance_type="t2.micro",
associate_public_ip_address ="true",
keypair_name="ubuntu",
enable_monitoring="true",
disable_api_termination ="false"
root_volume_size="30"
subnet_placement="subnet-f6b9cd8b"
vpc_id="vpc-d4733abf"
ssh_username="meme"
ssh_password="Letitbe123!"
aws_region="current"
}
}

#data "aws_region" "current" {}
data "aws_caller_identity" "default" {}
data "aws_region" "default" {}
data "aws_subnet" "subnet" { id = "${var.instance_config["subnet_placement"]}" }
data "aws_vpc" "vpc" { id = "${var.instance_config["vpc_id"]}" }
data "aws_iam_policy_document" "default_iam_policy" {
statement {
sid = ""
actions = [
"sts:AssumeRole",
]
principals {
type = "Service"
identifiers = ["ec2.amazonaws.com"]
}
effect = "Allow"
}
}

data "aws_ami" "amazon_linux2" {
most_recent = "true"
owners = ["137112412989"]
}

resource "aws_iam_instance_profile" "iam_instance_profile" {
name = "my_iam_instance_profile"
role = "${aws_iam_role.iam_role.name}"
}

resource "aws_iam_role" "iam_role" {
name = "my_iam_instance_role1"
path = "/"
assume_role_policy = "${data.aws_iam_policy_document.default_iam_policy.json}"
}

data "template_file" "service_instances_launch_configuration_user_data_template" {
template = "${file("user_data.sh")}"
vars {
TERRAFORM_SSH_USERNAME="${var.instance_config["ssh_username"]}",
TERRAFORM_SSH_PSSWORD ="${var.instance_config["ssh_password"]}"
}
}

resource "aws_instance" "my_aws_instance" {
ami = "${data.aws_ami.amazon_linux2.id}"
instance_type = "${var.instance_config["instance_type"]}"
ebs_optimized = "false"
disable_api_termination = "${var.instance_config["disable_api_termination"]}"
user_data = "${data.template_file.service_instances_launch_configuration_user_data_template.rendered}"
iam_instance_profile = "${aws_iam_instance_profile.iam_instance_profile.name}"
associate_public_ip_address = "${var.instance_config["associate_public_ip_address"]}"
key_name = "${var.instance_config["keypair_name"]}"
subnet_id = "${data.aws_subnet.subnet.id}"
monitoring = "${var.instance_config["enable_monitoring"]}"
security_groups = ["${aws_security_group.service_instances_security_group.id}"]

root_block_device {
volume_type = "gp2"
volume_size = "${var.instance_config["root_volume_size"]}"
delete_on_termination = "true"
}

}
resource "aws_security_group" "service_instances_security_group" {
name = "my instance_sg"
vpc_id = "${data.aws_vpc.vpc.id}"

egress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
description = "Allow access everywhere"
}
ingress {
from_port = 0
to_port = 0
protocol = "-1"
cidr_blocks = ["0.0.0.0/0"]
description = "Allow access everywhere"
}

}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.