diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 1423c2a..9df5424 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -9,6 +9,15 @@ jobs: pre-commit: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 - - uses: actions/setup-python@v6 - - uses: pre-commit/action@v3.0.1 \ No newline at end of file + - uses: actions/checkout@v4 + + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3 + with: + terraform_version: 1.9.8 + + - uses: pre-commit/action@v3.0.1 diff --git a/README.md b/README.md index 817e134..24ea45b 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,13 @@ To get started, make sure you have configured your AWS provider. You can use the ```hcl - module "vpc" { - source = "git@github.com:opszero/terraform-aws-vpc.git" - name = "test" - cidr_block = "10.0.0.0/16" - additional_cidr_block = ["172.3.0.0/16", "172.2.0.0/16"] +module "vpc" { + source = "git::https://github.com/opszero/terraform-aws-vpc.git?ref=v1.0.1" + name = "test" + cidr_block = "10.0.0.0/16" + additional_cidr_block = ["172.3.0.0/16", "172.2.0.0/16"] } - ``` +``` ## Examples For detailed examples on how to use this module, please refer to the [Examples](https://github.com/opszero/terraform-aws-vpc/tree/master/example) directory within this repository. @@ -47,7 +47,7 @@ This project is licensed under the **MIT** License - see the [LICENSE](https://g | Name | Version | |------|---------| -| [aws](#provider\_aws) | >=5.67.0 | +| [aws](#provider\_aws) | >= 6.14.0 | ## Inputs | Name | Description | Type | Default | Required | @@ -59,13 +59,13 @@ This project is licensed under the **MIT** License - see the [LICENSE](https://g | [block\_http\_traffic](#input\_block\_http\_traffic) | True when http traffic has to be blocked for S3. | `bool` | `true` | no | | [cidr\_block](#input\_cidr\_block) | CIDR for the VPC. | `string` | `""` | no | | [create\_flow\_log\_cloudwatch\_iam\_role](#input\_create\_flow\_log\_cloudwatch\_iam\_role) | Flag to be set true when cloudwatch iam role is to be created when flow log destination type is set to cloudwatch logs. | `bool` | `true` | no | -| [default\_network\_acl\_egress](#input\_default\_network\_acl\_egress) | List of maps of egress rules to set on the Default Network ACL | `list(map(string))` |
[| no | -| [default\_network\_acl\_ingress](#input\_default\_network\_acl\_ingress) | List of maps of ingress rules to set on the Default Network ACL | `list(map(string))` |
{
"action": "allow",
"cidr_block": "0.0.0.0/0",
"from_port": 0,
"protocol": "-1",
"rule_no": 100,
"to_port": 0
},
{
"action": "allow",
"from_port": 0,
"ipv6_cidr_block": "::/0",
"protocol": "-1",
"rule_no": 101,
"to_port": 0
}
]
[| no | +| [default\_network\_acl\_egress](#input\_default\_network\_acl\_egress) | List of maps of egress rules to set on the Default Network ACL | `list(map(string))` |
{
"action": "allow",
"cidr_block": "0.0.0.0/0",
"from_port": 0,
"protocol": "-1",
"rule_no": 100,
"to_port": 0
},
{
"action": "allow",
"from_port": 0,
"ipv6_cidr_block": "::/0",
"protocol": "-1",
"rule_no": 101,
"to_port": 0
}
]
[| no | +| [default\_network\_acl\_ingress](#input\_default\_network\_acl\_ingress) | List of maps of ingress rules to set on the Default Network ACL | `list(map(string))` |
{
"action": "allow",
"cidr_block": "0.0.0.0/0",
"from_port": 0,
"protocol": "-1",
"rule_no": 100,
"to_port": 0
},
{
"action": "allow",
"from_port": 0,
"ipv6_cidr_block": "::/0",
"protocol": "-1",
"rule_no": 101,
"to_port": 0
}
]
[| no | | [default\_route\_table\_routes](#input\_default\_route\_table\_routes) | Configuration block of routes. | `list(map(string))` | `[]` | no | | [default\_security\_group\_egress](#input\_default\_security\_group\_egress) | List of maps of egress rules to set on the default security group | `list(map(string))` | `[]` | no | | [default\_security\_group\_ingress](#input\_default\_security\_group\_ingress) | List of maps of ingress rules to set on the default security group | `list(map(string))` | `[]` | no | | [dhcp\_options\_domain\_name](#input\_dhcp\_options\_domain\_name) | Specifies DNS name for DHCP options set (requires enable\_dhcp\_options set to true) | `string` | `"service.consul"` | no | -| [dhcp\_options\_domain\_name\_servers](#input\_dhcp\_options\_domain\_name\_servers) | Specify a list of DNS server addresses for DHCP options set, default to AWS provided (requires enable\_dhcp\_options set to true) | `list(string)` |
{
"action": "allow",
"cidr_block": "0.0.0.0/0",
"from_port": 0,
"protocol": "-1",
"rule_no": 100,
"to_port": 0
},
{
"action": "allow",
"from_port": 0,
"ipv6_cidr_block": "::/0",
"protocol": "-1",
"rule_no": 101,
"to_port": 0
}
]
[| no | +| [dhcp\_options\_domain\_name\_servers](#input\_dhcp\_options\_domain\_name\_servers) | Specify a list of DNS server addresses for DHCP options set, default to AWS provided (requires enable\_dhcp\_options set to true) | `list(string)` |
"AmazonProvidedDNS"
]
[| no | | [dhcp\_options\_netbios\_name\_servers](#input\_dhcp\_options\_netbios\_name\_servers) | Specify a list of netbios servers for DHCP options set (requires enable\_dhcp\_options set to true) | `list(string)` | `[]` | no | | [dhcp\_options\_netbios\_node\_type](#input\_dhcp\_options\_netbios\_node\_type) | Specify netbios node\_type for DHCP options set (requires enable\_dhcp\_options set to true) | `string` | `""` | no | | [dhcp\_options\_ntp\_servers](#input\_dhcp\_options\_ntp\_servers) | Specify a list of NTP servers for DHCP options set (requires enable\_dhcp\_options set to true) | `list(string)` | `[]` | no | @@ -100,7 +100,7 @@ This project is licensed under the **MIT** License - see the [LICENSE](https://g | [name](#input\_name) | Default name tag | `string` | n/a | yes | | [restrict\_default\_sg](#input\_restrict\_default\_sg) | Flag to control the restrict default sg creation. | `bool` | `true` | no | | [s3\_sse\_algorithm](#input\_s3\_sse\_algorithm) | Server-side encryption algorithm to use. Valid values are AES256 and aws:kms | `string` | `"aws:kms"` | no | -| [tags](#input\_tags) | Custom tags (optional) | `map(string)` |
"AmazonProvidedDNS"
]
{
"Environment": "dev"
} | no |
+| [tags](#input\_tags) | Custom tags (optional) | `map(string)` | {
"Environment": "dev"
} | no |
| [vpc\_flow\_log\_permissions\_boundary](#input\_vpc\_flow\_log\_permissions\_boundary) | The ARN of the Permissions Boundary for the VPC Flow Log IAM Role | `string` | `null` | no |
## Resources
diff --git a/example/versions.tf b/example/versions.tf
index b5c5b66..4b7d311 100644
--- a/example/versions.tf
+++ b/example/versions.tf
@@ -1,10 +1,11 @@
# Terraform version
terraform {
- required_version = ">= 1.9.5"
+ required_version = ">= 1.13.3"
+
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">=5.67.0"
+ version = ">= 6.14.0"
}
}
}
\ No newline at end of file
diff --git a/versions.tf b/versions.tf
index 9fe4ba3..4b7d311 100644
--- a/versions.tf
+++ b/versions.tf
@@ -1,10 +1,11 @@
# Terraform version
terraform {
- required_version = ">= 1.9.5"
+ required_version = ">= 1.13.3"
+
required_providers {
aws = {
source = "hashicorp/aws"
- version = ">=5.67.0"
+ version = ">= 6.14.0"
}
}
-}
+}
\ No newline at end of file