{"id":17601067,"url":"https://github.com/aayushave/terraform-aws","last_synced_at":"2026-01-30T15:32:52.516Z","repository":{"id":257842906,"uuid":"873064985","full_name":"aayushave/terraform-aws","owner":"aayushave","description":"Terraform Learnings | AWS ","archived":false,"fork":false,"pushed_at":"2024-10-15T15:33:49.000Z","size":7485,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T14:42:27.336Z","etag":null,"topics":["aws","cloud","devops","terraform"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aayushave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-15T14:41:01.000Z","updated_at":"2024-10-15T15:34:55.000Z","dependencies_parsed_at":"2024-10-16T17:38:59.905Z","dependency_job_id":null,"html_url":"https://github.com/aayushave/terraform-aws","commit_stats":null,"previous_names":["aayushave/terraform-aws"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aayushave/terraform-aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushave%2Fterraform-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushave%2Fterraform-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushave%2Fterraform-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushave%2Fterraform-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aayushave","download_url":"https://codeload.github.com/aayushave/terraform-aws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aayushave%2Fterraform-aws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28914905,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","cloud","devops","terraform"],"created_at":"2024-10-22T12:08:24.279Z","updated_at":"2026-01-30T15:32:52.499Z","avatar_url":"https://github.com/aayushave.png","language":"JavaScript","readme":"# Terraform AWS Learning Project\n\n![Terraform](https://www.terraform.io/_next/static/media/terraform-community_on-light.cda79e7c.svg)\n\n## Description\n\nThis repository is dedicated to learning Terraform and exploring its capabilities in managing AWS resources. The project focuses on provisioning and configuring AWS services such as S3, VPC, security groups, EC2 instances, and utilizing Terraform function expressions to optimize and manage infrastructure as code.\n\n## Table of Contents\n\n1. [Prerequisites](#prerequisites)\n2. [Getting Started](#getting-started)\n3. [AWS Resources](#aws-resources)\n   - [S3](#s3)\n   - [VPC](#vpc)\n   - [Security Groups](#security-groups)\n   - [EC2 Instances](#ec2-instances)\n4. [Terraform Function Expressions](#terraform-function-expressions)\n5. [Usage](#usage)\n6. [Contributing](#contributing)\n7. [License](#license)\n8. [Acknowledgments](#acknowledgments)\n\n## Prerequisites\n\nBefore you begin, ensure you have the following installed:\n\n- [Terraform](https://www.terraform.io/downloads.html) (version 1.x or higher)\n- [AWS CLI](https://aws.amazon.com/cli/) configured with your AWS credentials\n- Access to an AWS account\n\n## Getting Started\n\nTo get started with this project:\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/yourusername/terraform-aws-learning.git\n   cd terraform-aws-learning\n   ```\n\n2. Initialize Terraform:\n\n   ```bash\n   terraform init\n   ```\n\n3. Validate the configuration files:\n\n   ```bash\n   terraform validate\n   ```\n\n4. Plan the changes to be made:\n\n   ```bash\n   terraform plan\n   ```\n\n5. Apply the changes to provision the resources:\n\n   ```bash\n   terraform apply\n   ```\n\n## AWS Resources\n\n### S3\n\nThis project includes an S3 bucket for storing files and data.\n\n```hcl\nresource \"aws_s3_bucket\" \"my_bucket\" {\n  bucket = \"my-unique-bucket-name\"\n  acl    = \"private\"\n}\n```\n\n### VPC\n\nA Virtual Private Cloud (VPC) is created to isolate the resources.\n\n```hcl\nresource \"aws_vpc\" \"my_vpc\" {\n  cidr_block = \"10.0.0.0/16\"\n  enable_dns_support = true\n  enable_dns_hostnames = true\n  tags = {\n    Name = \"my_vpc\"\n  }\n}\n```\n\n### Security Groups\n\nSecurity groups are defined to control inbound and outbound traffic for EC2 instances.\n\n```hcl\nresource \"aws_security_group\" \"my_security_group\" {\n  name        = \"my_security_group\"\n  vpc_id      = aws_vpc.my_vpc.id\n\n  ingress {\n    from_port   = 22\n    to_port     = 22\n    protocol    = \"tcp\"\n    cidr_blocks = [\"0.0.0.0/0\"]\n  }\n\n  egress {\n    from_port   = 0\n    to_port     = 0\n    protocol    = \"-1\"\n    cidr_blocks = [\"0.0.0.0/0\"]\n  }\n}\n```\n\n### EC2 Instances\n\nEC2 instances are launched within the defined VPC and security group.\n\n```hcl\nresource \"aws_instance\" \"my_instance\" {\n  ami           = \"ami-0c55b159cbfafe01e\" # Replace with a valid AMI ID\n  instance_type = \"t2.micro\"\n  subnet_id     = aws_subnet.my_subnet.id\n  vpc_security_group_ids = [aws_security_group.my_security_group.id]\n\n  tags = {\n    Name = \"my_instance\"\n  }\n}\n```\n\n## Terraform Function Expressions\n\nTerraform function expressions are used to manipulate and transform data within configurations. Here are a few examples:\n\n- **Joining a List**:\n\n  ```hcl\n  variable \"tags\" {\n    type    = list(string)\n    default = [\"Environment=Dev\", \"Project=Learning\"]\n  }\n\n  output \"tag_string\" {\n    value = join(\", \", var.tags)\n  }\n  ```\n\n- **Conditional Expressions**:\n\n  ```hcl\n  resource \"aws_instance\" \"my_instance\" {\n    ami           = var.instance_type == \"t2.micro\" ? \"ami-0c55b159cbfafe01e\" : \"ami-abc123\"\n    instance_type = var.instance_type\n  }\n  ```\n\n## Usage\n\nTo modify or add resources:\n\n1. Update the respective `.tf` files in the repository.\n2. Re-run `terraform plan` to see the changes.\n3. Apply the changes using `terraform apply`.\n\n## Contributing\n\nContributions are welcome! To contribute to this project:\n\n1. Fork the repository.\n2. Create a new branch:\n   ```bash\n   git checkout -b feature/your-feature\n   ```\n3. Make your changes and commit them:\n   ```bash\n   git commit -m \"Add some feature\"\n   ```\n4. Push to the branch:\n   ```bash\n   git push origin feature/your-feature\n   ```\n5. Open a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Acknowledgments\n\n- Special thanks to the Terraform community and AWS documentation for their resources and support.\n- Acknowledgment to contributors and libraries that aided in the development of this project.\n\n---\n\nFeel free to customize this template according to your project's specifics and expand on sections as you continue your learning journey with Terraform and AWS!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faayushave%2Fterraform-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faayushave%2Fterraform-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faayushave%2Fterraform-aws/lists"}