Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pankajsao11/terraform-aws-ec2
Terraform AWS EC2 modules
https://github.com/pankajsao11/terraform-aws-ec2
aws terraform terraform-module
Last synced: 1 day ago
JSON representation
Terraform AWS EC2 modules
- Host: GitHub
- URL: https://github.com/pankajsao11/terraform-aws-ec2
- Owner: pankajsao11
- License: apache-2.0
- Created: 2024-06-06T14:29:53.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2024-06-17T08:31:42.000Z (3 months ago)
- Last Synced: 2024-09-18T04:36:24.464Z (10 days ago)
- Topics: aws, terraform, terraform-module
- Language: HCL
- Homepage:
- Size: 48.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# AWS EC2 Instance Terraform module
Terraform module which creates an EC2 instance on AWS.
## Usage
### Single EC2 Instance
```hcl
module "ec2_instance" {
source = "pankajsao11/aws-ec2/aws"name = "single-instance"
instance_type = "t2.micro"
key_name = "user1"
monitoring = true
vpc_security_group_ids = ["sg-12345678"]
subnet_id = "subnet-eddcdzz4"tags = {
Terraform = "true"
Environment = "dev"
}
}
```## Examples
- [Complete EC2 instance](https://github.com/pankajsao11/terraform-aws-ec2/tree/main/examples/complete)
## Providers
| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 5.0 |## Modules
No modules.
## Resources
| Name | Type |
|------|------|
| [aws_instance.dev-ec2](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/instance) | resource |## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [ami](#input\_ami) | ID of AMI to use for the instance | `string` | `null` | no |
| [availability\_zone](#input\_availability\_zone) | AZ to start the instance in | `string` | `null` | no |
| [instance\_tags](#input\_instance\_tags) | Additional tags for the instance | `map(string)` | `{}` | no |
| [instance\_type](#input\_instance\_type) | The type of instance to start | `string` | `"t3.micro"` | no |
| [ipv6\_addresses](#input\_ipv6\_addresses) | Specify one or more IPv6 addresses from the range of the subnet to associate with the primary network interface | `list(string)` | `null` | no |
| [key\_name](#input\_key\_name) | Key name of the Key Pair to use for the instance; which can be managed using the `aws_key_pair` resource | `string` | `null` | no |
| [launch\_template](#input\_launch\_template) | Specifies a Launch Template to configure the instance. Parameters configured on this resource will override the corresponding parameters in the Launch Template | `map(string)` | `{}` | no |
| [monitoring](#input\_monitoring) | If true, the launched EC2 instance will have detailed monitoring enabled | `bool` | `null` | no |
| [name](#input\_name) | Name to be used on EC2 instance created | `string` | `""` | no |
| [private\_ip](#input\_private\_ip) | Private IP address to associate with the instance in a VPC | `string` | `null` | no |
| [subnet\_id](#input\_subnet\_id) | The VPC Subnet ID to launch in | `string` | `null` | no |
| [tags](#input\_tags) | A mapping of tags to assign to the resource | `map(string)` | `{}` | no |
| [vpc\_security\_group\_ids](#input\_vpc\_security\_group\_ids) | A list of security group IDs to associate with | `list(string)` | `null` | no |## Outputs
| Name | Description |
|------|-------------|
| [ami](#output\_ami) | AMI ID that was used to create the instance |
| [arn](#output\_arn) | The ARN of the instance |
| [availability\_zone](#output\_availability\_zone) | The availability zone of the created instance |
| [id](#output\_id) | The ID of the instance |
| [instance\_state](#output\_instance\_state) | The state of the instance |
| [ipv6\_addresses](#output\_ipv6\_addresses) | The IPv6 address assigned to the instance, if applicable |
| [private\_dns](#output\_private\_dns) | The private DNS name assigned to the instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC |
| [private\_ip](#output\_private\_ip) | The private IP address assigned to the instance |
| [public\_dns](#output\_public\_dns) | The public DNS name assigned to the instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC |
| [tags\_all](#output\_tags\_all) | A map of tags assigned to the resource, including those inherited from the provider default\_tags configuration block |## Authors
Module is maintained by [Pankaj Sahu](https://github.com/pankajsao11).
## License
Apache 2 Licensed. See [LICENSE](https://github.com/pankajsao11/terraform-aws-ec2/blob/main/LICENSE) for full details.