Add complete SACC v4 infrastructure project
- Terraform modules: VPC, EC2, RDS, S3, CloudFront, Route53, Lambda, IAM, Security Groups - Ansible playbooks for server configuration - Scripts: create-test-environment.sh, destroy-test-environment.sh, validate-environment.sh - Documentation: README, QUICKSTART, AGENTS - Jenkins pipeline for automated deployment - Jenkins pipeline for environment destruction
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
variable "ami_id" {}
|
||||
variable "instance_type" { default = "t3.small" }
|
||||
variable "subnet_id" {}
|
||||
variable "security_group_ids" { type = list(string) }
|
||||
variable "key_name" {}
|
||||
variable "environment" {}
|
||||
variable "associate_public_ip" { default = true }
|
||||
variable "user_data" { default = "" }
|
||||
variable "iam_instance_profile" { default = "" }
|
||||
|
||||
resource "aws_instance" "main" {
|
||||
ami = var.ami_id
|
||||
instance_type = var.instance_type
|
||||
subnet_id = var.subnet_id
|
||||
vpc_security_group_ids = var.security_group_ids
|
||||
key_name = var.key_name
|
||||
associate_public_ip_address = var.associate_public_ip
|
||||
user_data = var.user_data
|
||||
iam_instance_profile = var.iam_instance_profile
|
||||
|
||||
root_block_device {
|
||||
volume_size = 8
|
||||
volume_type = "gp2"
|
||||
encrypted = true
|
||||
delete_on_termination = true
|
||||
}
|
||||
|
||||
tags = {
|
||||
Name = "sacc4-ec2-${var.environment}"
|
||||
Environment = var.environment
|
||||
}
|
||||
}
|
||||
|
||||
resource "aws_eip" "main" {
|
||||
instance = aws_instance.main.id
|
||||
domain = "vpc"
|
||||
tags = { Name = "sacc4-eip-${var.environment}" }
|
||||
}
|
||||
|
||||
output "instance_id" { value = aws_instance.main.id }
|
||||
output "public_ip" { value = aws_eip.main.public_ip }
|
||||
output "private_ip" { value = aws_instance.main.private_ip }
|
||||
Reference in New Issue
Block a user