diff --git a/README.md b/README.md index 9d421e1..6f18bf1 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,97 @@ # terraform-aws-elastic-beanstalk-environment Terraform Module for AWS elastic beanstalk environment creation. + + +## Requirements + +| Name | Version | +|------|---------| +| [terraform](#requirement\_terraform) | >= 0.13 | +| [aws](#requirement\_aws) | >= 3.50 | + +## Providers + +| Name | Version | +|------|---------| +| [aws](#provider\_aws) | >= 3.50 | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [aws_elastic_beanstalk_environment.env](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/elastic_beanstalk_environment) | resource | +| [aws_iam_instance_profile.ec2_iam_instance_profile](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_instance_profile) | resource | +| [aws_iam_role.ec2_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | +| [aws_iam_role.service_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource | +| [aws_iam_role_policy_attachment.policy_attachment_1](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_iam_role_policy_attachment.policy_attachment_2](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_iam_role_policy_attachment.policy_attachment_3](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_iam_role_policy_attachment.policy_attachment_4](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_iam_role_policy_attachment.service](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource | +| [aws_security_group.elastic_beanstalk_app_sg](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/security_group) | resource | +| [aws_iam_policy_document.ec2_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | +| [aws_iam_policy_document.service_role](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [application\_port](#input\_application\_port) | n/a | `string` | `"80"` | no | +| [asg\_max\_count](#input\_asg\_max\_count) | n/a | `string` | `"1"` | no | +| [asg\_min\_count](#input\_asg\_min\_count) | n/a | `string` | `"1"` | no | +| [autoscale\_breach\_duration](#input\_autoscale\_breach\_duration) | n/a | `string` | `"1"` | no | +| [autoscale\_lower\_breach\_scale\_increment](#input\_autoscale\_lower\_breach\_scale\_increment) | n/a | `string` | `"-1"` | no | +| [autoscale\_lower\_threshold](#input\_autoscale\_lower\_threshold) | n/a | `string` | `"20"` | no | +| [autoscale\_measure\_name](#input\_autoscale\_measure\_name) | n/a | `string` | `"CPUUtilization"` | no | +| [autoscale\_period](#input\_autoscale\_period) | n/a | `string` | `"1"` | no | +| [autoscale\_unit](#input\_autoscale\_unit) | n/a | `string` | `"Percent"` | no | +| [autoscale\_upper\_breach\_scale\_increment](#input\_autoscale\_upper\_breach\_scale\_increment) | n/a | `string` | `"1"` | no | +| [autoscale\_upper\_threshold](#input\_autoscale\_upper\_threshold) | n/a | `string` | `"80"` | no | +| [availability\_zones](#input\_availability\_zones) | n/a | `string` | `"Any"` | no | +| [aws\_acm\_certificate\_arn](#input\_aws\_acm\_certificate\_arn) | ACM Certificate ARN | `string` | `""` | no | +| [aws\_key\_pair\_name](#input\_aws\_key\_pair\_name) | SSH key for elastic beanstalk ec2 instances | `string` | `""` | no | +| [description](#input\_description) | n/a | `string` | n/a | yes | +| [disable\_ignore\_4xx\_errors](#input\_disable\_ignore\_4xx\_errors) | n/a | `bool` | `false` | no | +| [eb\_app\_name](#input\_eb\_app\_name) | n/a | `string` | n/a | yes | +| [elb\_scheme](#input\_elb\_scheme) | n/a | `string` | `"public"` | no | +| [enable\_delete\_health\_logs\_on\_terminate](#input\_enable\_delete\_health\_logs\_on\_terminate) | n/a | `string` | `true` | no | +| [enable\_delete\_logs\_on\_terminate](#input\_enable\_delete\_logs\_on\_terminate) | n/a | `string` | `true` | no | +| [enable\_enhanced\_healthreporting](#input\_enable\_enhanced\_healthreporting) | n/a | `bool` | `false` | no | +| [enable\_health\_logs\_streaming](#input\_enable\_health\_logs\_streaming) | n/a | `string` | `true` | no | +| [enable\_logs\_streaming](#input\_enable\_logs\_streaming) | n/a | `bool` | `true` | no | +| [enable\_ssl](#input\_enable\_ssl) | n/a | `bool` | `false` | no | +| [env](#input\_env) | n/a | `string` | n/a | yes | +| [environment\_type](#input\_environment\_type) | n/a | `string` | `"LoadBalanced"` | no | +| [environment\_variables](#input\_environment\_variables) | n/a | `map(string)` | `{}` | no | +| [evaluation\_periods](#input\_evaluation\_periods) | n/a | `string` | `"1"` | no | +| [extra\_settings](#input\_extra\_settings) | n/a |
list(object({| `[]` | no | +| [health\_log\_retention\_in\_days](#input\_health\_log\_retention\_in\_days) | n/a | `string` | `"3"` | no | +| [healthcheck\_url](#input\_healthcheck\_url) | n/a | `string` | `"/"` | no | +| [instance\_port](#input\_instance\_port) | n/a | `string` | `"80"` | no | +| [instance\_type](#input\_instance\_type) | n/a | `string` | `"t2.micro"` | no | +| [load\_balancer\_type](#input\_load\_balancer\_type) | n/a | `string` | `"application"` | no | +| [log\_retention\_in\_days](#input\_log\_retention\_in\_days) | n/a | `string` | `"3"` | no | +| [notification\_email](#input\_notification\_email) | n/a | `string` | `""` | no | +| [private\_subnets](#input\_private\_subnets) | CIDR for private subnet vpc | `list(string)` | `[]` | no | +| [public\_subnets](#input\_public\_subnets) | CIDRs for public subnets | `list(string)` | `[]` | no | +| [service\_name](#input\_service\_name) | n/a | `string` | n/a | yes | +| [solution\_stack\_name](#input\_solution\_stack\_name) | n/a | `string` | n/a | yes | +| [statistic](#input\_statistic) | n/a | `string` | `"Minimum"` | no | +| [tags](#input\_tags) | Tags for EB | `map(string)` | `{}` | no | +| [tier](#input\_tier) | n/a | `string` | `"WebServer"` | no | +| [vpc\_id](#input\_vpc\_id) | n/a | `string` | n/a | yes | +| [wait\_for\_ready\_timeout](#input\_wait\_for\_ready\_timeout) | n/a | `string` | `"20m"` | no | + +## Outputs + +| Name | Description | +|------|-------------| +| [beanstalk\_env\_url](#output\_beanstalk\_env\_url) | n/a | +| [beanstalk\_security\_group\_id](#output\_beanstalk\_security\_group\_id) | n/a | +| [beanstalk\_service\_role\_arn](#output\_beanstalk\_service\_role\_arn) | n/a | +| [elastic\_load\_balancers](#output\_elastic\_load\_balancers) | n/a | + diff --git a/out.tf b/out.tf index 2fefa7a..7d199c4 100644 --- a/out.tf +++ b/out.tf @@ -9,3 +9,7 @@ output "elastic_load_balancers" { output "beanstalk_security_group_id" { value = aws_security_group.elastic_beanstalk_app_sg.id } + +output "beanstalk_service_role_arn" { + value = aws_iam_role.service_role.arn +}
namespace = string
name = string
value = string
}))