module "test-security-group" {
source = "https://github.com/gallowaystorm/tf-aws-security-group-module.git"
security_group_list = yamldecode(file("${path.module}/security-groups.yaml"))
region = "us-east-1"
}| Name | Version |
|---|---|
| terraform | ~> 0.13 |
| aws | ~> 3.0 |
| Name | Version |
|---|---|
| aws | ~> 3.0 |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| security_group_list | This is the list of security groups in YAML format that needs to be decoded with yamldecode (\see example below) | decoded YAML |
N/A | yes |
| Name | Description |
|---|---|
| security_group_output | n/a |
Your YAML file with security groups must follow the template below:
test-security-group:
group_description: "Group Description One"
vpc_id: "vpc-47f30121"
ingress_rules:
- description: "Test description"
is_self_source: "false"
from_port: 80
to_port: 80
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0", "10.10.0.0/16"]
- description: "Test description 2"
is_self_source: "false"
from_port: 443
to_port: 443
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]
- description: "Test description 3"
is_self_source: "true"
from_port: 8080
to_port: 8080
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]
egress_rules:
- description: "Test description 4"
is_self_source: "false"
from_port: 80
to_port: 80
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]
test-security-group-02:
group_description: "Group Description Two"
vpc_id: "vpc-47f30121"
ingress_rules:
- description: "Test description"
is_self_source: "true"
from_port: 80
to_port: 80
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0", "10.10.0.0/16"]
- description: "Test description 2"
is_self_source: "false"
from_port: 443
to_port: 443
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]
- description: "Test description 3"
is_self_source: "false"
from_port: 8080
to_port: 8080
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]
egress_rules:
- description: "Test description 4"
is_self_source: "false"
from_port: 80
to_port: 80
protocol: "tcp"
cidr_blocks: ["0.0.0.0/0"]