From 860387834083baad4c7606fd11ed8961bbab7fb7 Mon Sep 17 00:00:00 2001 From: suresh dike Date: Sun, 13 Apr 2025 18:28:43 +0530 Subject: [PATCH] Suresh's resources created via terraform --- createuser/main.tf | 20 ++------------------ createuser/outputs.tf | 3 +++ createuser/providers.tf | 4 ++++ createuser/variables.tf | 7 +++++++ createuser/versions.tf | 9 +++++++++ dynamodb/main.tf | 15 +++++++++++++++ dynamodb/outputs.tf | 3 +++ dynamodb/providers.tf | 4 ++++ dynamodb/variables.tf | 11 +++++++++++ dynamodb/versions.tf | 9 +++++++++ ec2/main.tf | 32 ++++++++------------------------ ec2/outputs.tf | 7 +++++++ ec2/providers.tf | 4 ++++ ec2/variables.tf | 8 ++++++++ ec2/versions.tf | 9 +++++++++ main.tf | 11 ----------- s3/main.tf | 20 ++------------------ s3/outputs.tf | 3 +++ s3/providers.tf | 4 ++++ s3/variables.tf | 7 +++++++ s3/versions.tf | 9 +++++++++ sns/main.tf | 3 +++ sns/outputs.tf | 3 +++ sns/providers.tf | 4 ++++ sns/variables.tf | 7 +++++++ sns/versions.tf | 9 +++++++++ vpc/main.tf | 35 +++++------------------------------ vpc/outputs.tf | 3 +++ vpc/providers.tf | 5 +++++ vpc/variables.tf | 11 +++++++++++ vpc/versions.tf | 9 +++++++++ 31 files changed, 187 insertions(+), 101 deletions(-) create mode 100644 createuser/outputs.tf create mode 100644 createuser/providers.tf create mode 100644 createuser/variables.tf create mode 100644 createuser/versions.tf create mode 100644 dynamodb/main.tf create mode 100644 dynamodb/outputs.tf create mode 100644 dynamodb/providers.tf create mode 100644 dynamodb/variables.tf create mode 100644 dynamodb/versions.tf create mode 100644 ec2/outputs.tf create mode 100644 ec2/providers.tf create mode 100644 ec2/variables.tf create mode 100644 ec2/versions.tf delete mode 100644 main.tf create mode 100644 s3/outputs.tf create mode 100644 s3/providers.tf create mode 100644 s3/variables.tf create mode 100644 s3/versions.tf create mode 100644 sns/main.tf create mode 100644 sns/outputs.tf create mode 100644 sns/providers.tf create mode 100644 sns/variables.tf create mode 100644 sns/versions.tf create mode 100644 vpc/outputs.tf create mode 100644 vpc/providers.tf create mode 100644 vpc/variables.tf create mode 100644 vpc/versions.tf diff --git a/createuser/main.tf b/createuser/main.tf index cb7552b..a6defde 100644 --- a/createuser/main.tf +++ b/createuser/main.tf @@ -1,19 +1,3 @@ -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 3.27" - } - } - - required_version = ">= 0.14.9" -} - -provider "aws" { - profile = "default" - region = "us-west-2" -} - -resource "aws_iam_user" "lb" { - name = "Adam" +resource "aws_iam_user" "suresh_devops" { + name = var.iam_user_name } diff --git a/createuser/outputs.tf b/createuser/outputs.tf new file mode 100644 index 0000000..d8deaf6 --- /dev/null +++ b/createuser/outputs.tf @@ -0,0 +1,3 @@ +output "iam_user_name" { + value = aws_iam_user.suresh_devops.name +} diff --git a/createuser/providers.tf b/createuser/providers.tf new file mode 100644 index 0000000..c208276 --- /dev/null +++ b/createuser/providers.tf @@ -0,0 +1,4 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} diff --git a/createuser/variables.tf b/createuser/variables.tf new file mode 100644 index 0000000..71e4d8e --- /dev/null +++ b/createuser/variables.tf @@ -0,0 +1,7 @@ +variable "region" { + default = "ap-south-1" +} + +variable "iam_user_name" { + default = "suresh-devops" +} diff --git a/createuser/versions.tf b/createuser/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/createuser/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +} diff --git a/dynamodb/main.tf b/dynamodb/main.tf new file mode 100644 index 0000000..741ce9d --- /dev/null +++ b/dynamodb/main.tf @@ -0,0 +1,15 @@ +resource "aws_dynamodb_table" "example" { + name = var.table_name + billing_mode = "PAY_PER_REQUEST" + hash_key = var.hash_key + + attribute { + name = var.hash_key + type = "S" + } + + tags = { + Name = var.table_name + Environment = "Dev" + } +} diff --git a/dynamodb/outputs.tf b/dynamodb/outputs.tf new file mode 100644 index 0000000..d456a52 --- /dev/null +++ b/dynamodb/outputs.tf @@ -0,0 +1,3 @@ +output "table_name" { + value = aws_dynamodb_table.example.name +} diff --git a/dynamodb/providers.tf b/dynamodb/providers.tf new file mode 100644 index 0000000..c208276 --- /dev/null +++ b/dynamodb/providers.tf @@ -0,0 +1,4 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} diff --git a/dynamodb/variables.tf b/dynamodb/variables.tf new file mode 100644 index 0000000..323349f --- /dev/null +++ b/dynamodb/variables.tf @@ -0,0 +1,11 @@ +variable "region" { + default = "ap-south-1" +} + +variable "table_name" { + default = "suresh-dynamodb-table" +} + +variable "hash_key" { + default = "id" +} diff --git a/dynamodb/versions.tf b/dynamodb/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/dynamodb/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +} diff --git a/ec2/main.tf b/ec2/main.tf index b70169b..e9d0bdd 100644 --- a/ec2/main.tf +++ b/ec2/main.tf @@ -1,24 +1,8 @@ -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 3.27" - } - } - - required_version = ">= 0.14.9" -} - -provider "aws" { - profile = "default" - region = "us-east-2" -} - -resource "aws_instance" "app_server" { - ami = "ami-064ff912f78e3e561" - instance_type = "t2.micro" - - tags = { - Name = "ExampleAppServerInstance" - } -} +resource "aws_instance" "clouddevopshub" { + ami = "ami-0f5ee92e2d63afc18" + instance_type = "t2.micro" + + tags = { + Name = var.ec2_instance_name + } +} diff --git a/ec2/outputs.tf b/ec2/outputs.tf new file mode 100644 index 0000000..11ccead --- /dev/null +++ b/ec2/outputs.tf @@ -0,0 +1,7 @@ +output "ec2_instance_id" { + value = aws_instance.clouddevopshub.id +} + +output "ec2_public_ip" { + value = aws_instance.clouddevopshub.public_ip +} diff --git a/ec2/providers.tf b/ec2/providers.tf new file mode 100644 index 0000000..c208276 --- /dev/null +++ b/ec2/providers.tf @@ -0,0 +1,4 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} diff --git a/ec2/variables.tf b/ec2/variables.tf new file mode 100644 index 0000000..ee3d7b4 --- /dev/null +++ b/ec2/variables.tf @@ -0,0 +1,8 @@ +variable "region" { + default = "ap-south-1" +} + +variable "ec2_instance_name" { + default = "clouddevopshub" +} + diff --git a/ec2/versions.tf b/ec2/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/ec2/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +} diff --git a/main.tf b/main.tf deleted file mode 100644 index ed8d67e..0000000 --- a/main.tf +++ /dev/null @@ -1,11 +0,0 @@ -provider "aws" { - access_key = "${var.aws_access_key}" - secret_key = "${var.aws_secret_key}" - region = "${var.region}" -} - -module "s3" { - source = "" - #bucket name should be unique - bucket_name = "" -} diff --git a/s3/main.tf b/s3/main.tf index c14c478..de72ef6 100644 --- a/s3/main.tf +++ b/s3/main.tf @@ -1,19 +1,3 @@ -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 3.27" - } - } - - required_version = ">= 0.14.9" -} - -provider "aws" { - profile = "default" - region = "us-east-2" -} - -resource "aws_s3_bucket" "b" { - bucket = "batch25terraformbucket" +resource "aws_s3_bucket" "clouddevopshub" { + bucket = var.s3_bucket_name } diff --git a/s3/outputs.tf b/s3/outputs.tf new file mode 100644 index 0000000..3d9fdc4 --- /dev/null +++ b/s3/outputs.tf @@ -0,0 +1,3 @@ +output "s3_bucket_name" { + value = aws_s3_bucket.clouddevopshub.bucket +} diff --git a/s3/providers.tf b/s3/providers.tf new file mode 100644 index 0000000..c208276 --- /dev/null +++ b/s3/providers.tf @@ -0,0 +1,4 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} diff --git a/s3/variables.tf b/s3/variables.tf new file mode 100644 index 0000000..a8a0676 --- /dev/null +++ b/s3/variables.tf @@ -0,0 +1,7 @@ +variable "region" { + default = "ap-south-1" +} + +variable "s3_bucket_name" { + default = "clouddevopshub" +} diff --git a/s3/versions.tf b/s3/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/s3/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +} diff --git a/sns/main.tf b/sns/main.tf new file mode 100644 index 0000000..43fe082 --- /dev/null +++ b/sns/main.tf @@ -0,0 +1,3 @@ +resource "aws_sns_topic" "alerts" { + name = var.sns_topic_name +} diff --git a/sns/outputs.tf b/sns/outputs.tf new file mode 100644 index 0000000..82b75de --- /dev/null +++ b/sns/outputs.tf @@ -0,0 +1,3 @@ +output "sns_topic_arn" { + value = aws_sns_topic.alerts.arn +} diff --git a/sns/providers.tf b/sns/providers.tf new file mode 100644 index 0000000..c208276 --- /dev/null +++ b/sns/providers.tf @@ -0,0 +1,4 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} diff --git a/sns/variables.tf b/sns/variables.tf new file mode 100644 index 0000000..fe2fbd4 --- /dev/null +++ b/sns/variables.tf @@ -0,0 +1,7 @@ +variable "region" { + default = "ap-south-1" +} + +variable "sns_topic_name" { + default = "suresh-alerts-topic" +} diff --git a/sns/versions.tf b/sns/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/sns/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +} diff --git a/vpc/main.tf b/vpc/main.tf index 134ba5d..ae7fbcd 100644 --- a/vpc/main.tf +++ b/vpc/main.tf @@ -1,34 +1,9 @@ -terraform { - required_providers { - aws = { - source = "hashicorp/aws" - version = "~> 3.27" - } - } - - required_version = ">= 0.14.9" -} - -provider "aws" { - profile = "default" - region = "us-west-2" -} - -module "vpc" { - source = "terraform-aws-modules/vpc/aws" - - name = "my-vpc" - cidr = "10.0.0.0/16" - - azs = ["eu-west-1a", "eu-west-1b", "eu-west-1c"] - private_subnets = ["10.0.1.0/24", "10.0.2.0/24", "10.0.3.0/24"] - public_subnets = ["10.0.101.0/24", "10.0.102.0/24", "10.0.103.0/24"] - - enable_nat_gateway = true - enable_vpn_gateway = true +resource "aws_vpc" "main" { + cidr_block = var.vpc_cidr + enable_dns_support = true + enable_dns_hostnames = true tags = { - Terraform = "true" - Environment = "dev" + Name = var.vpc_name } } diff --git a/vpc/outputs.tf b/vpc/outputs.tf new file mode 100644 index 0000000..88df27c --- /dev/null +++ b/vpc/outputs.tf @@ -0,0 +1,3 @@ +output "vpc_id" { + value = aws_vpc.main.id +} diff --git a/vpc/providers.tf b/vpc/providers.tf new file mode 100644 index 0000000..85d6a83 --- /dev/null +++ b/vpc/providers.tf @@ -0,0 +1,5 @@ +provider "aws" { + region = var.region + profile = "terraform-user" +} + diff --git a/vpc/variables.tf b/vpc/variables.tf new file mode 100644 index 0000000..bc787a4 --- /dev/null +++ b/vpc/variables.tf @@ -0,0 +1,11 @@ +variable "region" { + default = "ap-south-1" +} + +variable "vpc_cidr" { + default = "10.0.0.0/16" +} + +variable "vpc_name" { + default = "suresh-vpc" +} diff --git a/vpc/versions.tf b/vpc/versions.tf new file mode 100644 index 0000000..c42ab80 --- /dev/null +++ b/vpc/versions.tf @@ -0,0 +1,9 @@ +terraform { + required_providers { + aws = { + source = "hashicorp/aws" + version = ">= 5.0" + } + } + required_version = ">= 1.6" +}