https://github.com/geekcell/terraform-aws-config-rules
Terraform module to provision an AWS Config Ruleset.
https://github.com/geekcell/terraform-aws-config-rules
aws config config-rules terraform terraform-module
Last synced: 8 months ago
JSON representation
Terraform module to provision an AWS Config Ruleset.
- Host: GitHub
- URL: https://github.com/geekcell/terraform-aws-config-rules
- Owner: geekcell
- License: apache-2.0
- Created: 2023-02-07T23:39:54.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-28T09:27:05.000Z (about 3 years ago)
- Last Synced: 2025-03-01T18:48:52.111Z (over 1 year ago)
- Topics: aws, config, config-rules, terraform, terraform-module
- Language: HCL
- Homepage: https://www.geekcell.io
- Size: 34.2 KB
- Stars: 0
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.geekcell.io/)
### Code Quality
[](https://github.com/geekcell/terraform-aws-config-rules/blob/master/LICENSE)
[](https://github.com/geekcell/terraform-aws-config-rules/releases)
[](https://github.com/geekcell/terraform-aws-config-rules/actions/workflows/release.yaml)
[](https://github.com/geekcell/terraform-aws-config-rules/actions/workflows/validate.yaml)
[](https://github.com/geekcell/terraform-aws-config-rules/actions/workflows/linter.yaml)
# Terraform AWS Config Rules
A set of AWS Config rules to be deployed using Terraform. Packed into submodules.
## Inputs
| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [acm](#input\_acm) | A map of Cloudtrail configuration options. |
map(object({
enabled = bool
})) | n/a | yes |
| [cloudtrail](#input\_cloudtrail) | A map of Cloudtrail configuration options. | map(object({
enabled = bool
bucket_id = optional(string)
})) | n/a | yes |
| [ec2](#input\_ec2) | A map of EC2 configuration options. | map(object({
enabled = bool
})) | n/a | yes |
| [iam](#input\_iam) | A map of IAM configuration options. | map(object({
enabled = bool
})) | `{}` | no |
| [lb](#input\_lb) | A map of Load Balancer configuration options. | map(object({
enabled = bool
})) | `{}` | no |
| [rds](#input\_rds) | A map of RDS configuration options. | map(object({
enabled = bool
})) | `{}` | no |
| [s3](#input\_s3) | A map of S3 configuration options. | map(object({
enabled = bool
})) | `{}` | no |
| [tag](#input\_tag) | A map of Tag configuration options. | map(object({
enabled = bool
})) | `{}` | no |
| [tags](#input\_tags) | A mapping of tags to assign to all resources. | `map(string)` | `{}` | no |
| [vpc](#input\_vpc) | A map of VPC configuration options. | map(object({
enabled = bool
})) | `{}` | no |
## Outputs
No outputs.
## Providers
No providers.
## Resources
# Examples
### Full
```hcl
module "full-example" {
source = "../.."
acm = {
"acm_certificate_expiration_check" = {
"enabled" = true
}
}
cloudtrail = {
"cloudtrail_enabled" = {
"enabled" = true
"bucket_id" = "my-cloudtrail-bucket"
},
"cloudtrail_log_file_validation_enabled" = {
"enabled" = true
},
}
ec2 = {
"autoscaling_group_elb_healthcheck_required" = {
"enabled" = true
},
"ec2_volume_in_use" = {
"enabled" = true
},
"encrypted_volumes" = {
"enabled" = true
},
"instances_in_vpc" = {
"enabled" = true
},
}
iam = {
"iam_policy_no_statements_with_admin_access" = {
"enabled" = true
},
"iam_user_no_policies_check" = {
"enabled" = true
},
}
lb = {
"alb_http_to_https_redirection_check" = {
"enabled" = true
},
"elb_acm_certificate_required" = {
"enabled" = true
},
}
rds = {
"aurora_last_backup_recovery_point_created" = {
"enabled" = true
},
"db_instance_backup_enabled" = {
"enabled" = true
},
"rds_instance_public_access_check" = {
"enabled" = true
},
"rds_multi_az_support" = {
"enabled" = true
},
"rds_snapshots_public_prohibited" = {
"enabled" = true
},
"rds_storage_encrypted" = {
"enabled" = true
},
}
s3 = {
"s3_bucket_public_read_prohibited" = {
"enabled" = true
},
}
tag = {
"required_tags" = {
"enabled" = true
},
}
vpc = {
"eip_attached" = {
"enabled" = true
},
}
tags = {}
}
```