Skip to content

Commit 22c6cf8

Browse files
committed
Merge remote-tracking branch 'upstream/master'
2 parents d2d221a + 5b11067 commit 22c6cf8

File tree

14 files changed

+193
-47
lines changed

14 files changed

+193
-47
lines changed

.github/workflows/pr-title.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
steps:
1515
# Please look up the latest version from
1616
# https://github.com/amannn/action-semantic-pull-request/releases
17-
- uses: amannn/action-semantic-pull-request@v5.5.3
17+
- uses: amannn/action-semantic-pull-request@v6.1.1
1818
env:
1919
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2020
with:

.github/workflows/pre-commit.yml

Lines changed: 90 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ on:
77
- master
88

99
env:
10-
TERRAFORM_DOCS_VERSION: v0.19.0
11-
TFLINT_VERSION: v0.53.0
10+
TERRAFORM_DOCS_VERSION: v0.20.0
11+
TFLINT_VERSION: v0.59.1
1212

1313
jobs:
1414
collectInputs:
@@ -18,11 +18,11 @@ jobs:
1818
directories: ${{ steps.dirs.outputs.directories }}
1919
steps:
2020
- name: Checkout
21-
uses: actions/checkout@v4
21+
uses: actions/checkout@v5
2222

2323
- name: Get root directories
2424
id: dirs
25-
uses: clowdhaus/terraform-composite-actions/directories@v1.9.0
25+
uses: clowdhaus/terraform-composite-actions/directories@v1.14.0
2626

2727
preCommitMinVersions:
2828
name: Min TF pre-commit
@@ -32,27 +32,49 @@ jobs:
3232
matrix:
3333
directory: ${{ fromJson(needs.collectInputs.outputs.directories) }}
3434
steps:
35+
- name: Install rmz
36+
uses: jaxxstorm/action-install-gh-release@v2.1.0
37+
with:
38+
repo: SUPERCILEX/fuc
39+
asset-name: x86_64-unknown-linux-gnu-rmz
40+
rename-to: rmz
41+
chmod: 0755
42+
extension-matching: disable
43+
3544
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
36-
- name: Delete huge unnecessary tools folder
45+
- name: Delete unnecessary files
3746
run: |
38-
rm -rf /opt/hostedtoolcache/CodeQL
39-
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk
40-
rm -rf /opt/hostedtoolcache/Ruby
41-
rm -rf /opt/hostedtoolcache/go
47+
formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
48+
getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
49+
50+
BEFORE=$(getAvailableSpace)
51+
52+
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
53+
rmz -f /opt/hostedtoolcache/CodeQL &
54+
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
55+
rmz -f /opt/hostedtoolcache/PyPy &
56+
rmz -f /opt/hostedtoolcache/Ruby &
57+
rmz -f /opt/hostedtoolcache/go &
58+
59+
wait
60+
61+
AFTER=$(getAvailableSpace)
62+
SAVED=$((AFTER-BEFORE))
63+
echo "=> Saved $(formatByteCount $SAVED)"
4264
4365
- name: Checkout
44-
uses: actions/checkout@v4
66+
uses: actions/checkout@v5
4567

4668
- name: Terraform min/max versions
4769
id: minMax
48-
uses: clowdhaus/terraform-min-max@v1.3.1
70+
uses: clowdhaus/terraform-min-max@v2.1.0
4971
with:
5072
directory: ${{ matrix.directory }}
5173

5274
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
5375
# Run only validate pre-commit check on min version supported
5476
if: ${{ matrix.directory != '.' }}
55-
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
77+
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
5678
with:
5779
terraform-version: ${{ steps.minMax.outputs.minVersion }}
5880
tflint-version: ${{ env.TFLINT_VERSION }}
@@ -61,7 +83,7 @@ jobs:
6183
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
6284
# Run only validate pre-commit check on min version supported
6385
if: ${{ matrix.directory == '.' }}
64-
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
86+
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
6587
with:
6688
terraform-version: ${{ steps.minMax.outputs.minVersion }}
6789
tflint-version: ${{ env.TFLINT_VERSION }}
@@ -72,26 +94,73 @@ jobs:
7294
runs-on: ubuntu-latest
7395
needs: collectInputs
7496
steps:
97+
- name: Install rmz
98+
uses: jaxxstorm/action-install-gh-release@v2.1.0
99+
with:
100+
repo: SUPERCILEX/fuc
101+
asset-name: x86_64-unknown-linux-gnu-rmz
102+
rename-to: rmz
103+
chmod: 0755
104+
extension-matching: disable
105+
75106
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
76-
- name: Delete huge unnecessary tools folder
107+
- name: Delete unnecessary files
77108
run: |
78-
rm -rf /opt/hostedtoolcache/CodeQL
79-
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk
80-
rm -rf /opt/hostedtoolcache/Ruby
81-
rm -rf /opt/hostedtoolcache/go
109+
formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
110+
getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
111+
112+
BEFORE=$(getAvailableSpace)
113+
114+
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
115+
rmz -f /opt/hostedtoolcache/CodeQL &
116+
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
117+
rmz -f /opt/hostedtoolcache/PyPy &
118+
rmz -f /opt/hostedtoolcache/Ruby &
119+
rmz -f /opt/hostedtoolcache/go &
120+
sudo rmz -f /usr/local/lib/android &
121+
122+
if [[ ${{ github.repository }} == terraform-aws-modules/terraform-aws-security-group ]]; then
123+
sudo rmz -f /usr/share/dotnet &
124+
sudo rmz -f /usr/local/.ghcup &
125+
sudo apt-get -qq remove -y 'azure-.*'
126+
sudo apt-get -qq remove -y 'cpp-.*'
127+
sudo apt-get -qq remove -y 'dotnet-runtime-.*'
128+
sudo apt-get -qq remove -y 'google-.*'
129+
sudo apt-get -qq remove -y 'libclang-.*'
130+
sudo apt-get -qq remove -y 'libllvm.*'
131+
sudo apt-get -qq remove -y 'llvm-.*'
132+
sudo apt-get -qq remove -y 'mysql-.*'
133+
sudo apt-get -qq remove -y 'postgresql-.*'
134+
sudo apt-get -qq remove -y 'php.*'
135+
sudo apt-get -qq remove -y 'temurin-.*'
136+
sudo apt-get -qq remove -y kubectl firefox mono-devel
137+
sudo apt-get -qq autoremove -y
138+
sudo apt-get -qq clean
139+
fi
140+
141+
wait
142+
143+
AFTER=$(getAvailableSpace)
144+
SAVED=$((AFTER-BEFORE))
145+
echo "=> Saved $(formatByteCount $SAVED)"
82146
83147
- name: Checkout
84-
uses: actions/checkout@v4
148+
uses: actions/checkout@v5
85149
with:
86150
ref: ${{ github.event.pull_request.head.ref }}
87151
repository: ${{github.event.pull_request.head.repo.full_name}}
88152

89153
- name: Terraform min/max versions
90154
id: minMax
91-
uses: clowdhaus/terraform-min-max@v1.3.1
155+
uses: clowdhaus/terraform-min-max@v2.1.0
156+
157+
- name: Hide template dir
158+
# Special to this repo, we don't want to check this dir
159+
if: ${{ github.repository == 'terraform-aws-modules/terraform-aws-security-group' }}
160+
run: rm -rf modules/_templates
92161

93162
- name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }}
94-
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1
163+
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
95164
with:
96165
terraform-version: ${{ steps.minMax.outputs.maxVersion }}
97166
tflint-version: ${{ env.TFLINT_VERSION }}

.github/workflows/release.yml

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,26 @@ jobs:
2020
if: github.repository_owner == 'terraform-aws-modules'
2121
steps:
2222
- name: Checkout
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v5
2424
with:
2525
persist-credentials: false
2626
fetch-depth: 0
2727

28+
- name: Set correct Node.js version
29+
uses: actions/setup-node@v6
30+
with:
31+
node-version: 24
32+
33+
- name: Install dependencies
34+
run: |
35+
npm install \
36+
@semantic-release/changelog@6.0.3 \
37+
@semantic-release/git@10.0.1 \
38+
conventional-changelog-conventionalcommits@9.1.0
39+
2840
- name: Release
29-
uses: cycjimmy/semantic-release-action@v4
41+
uses: cycjimmy/semantic-release-action@v5
3042
with:
31-
semantic_version: 23.0.2
32-
extra_plugins: |
33-
@semantic-release/changelog@6.0.3
34-
@semantic-release/git@10.0.1
35-
conventional-changelog-conventionalcommits@7.0.2
43+
semantic_version: 25.0.0
3644
env:
3745
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}

.github/workflows/stale-actions.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ jobs:
77
stale:
88
runs-on: ubuntu-latest
99
steps:
10-
- uses: actions/stale@v9
10+
- uses: actions/stale@v10
1111
with:
1212
repo-token: ${{ secrets.GITHUB_TOKEN }}
1313
# Staling issues and PR's

.gitignore

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,13 @@ override.tf.json
2727
# Ignore CLI configuration files
2828
.terraformrc
2929
terraform.rc
30+
31+
# Lambda build artifacts
32+
builds/
33+
__pycache__/
34+
*.zip
35+
.tox
36+
37+
# Local editors/macos files
38+
.DS_Store
39+
.idea

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
repos:
22
- repo: https://github.com/antonbabenko/pre-commit-terraform
3-
rev: v1.100.0
3+
rev: v1.103.0
44
hooks:
55
- id: terraform_fmt
66
- id: terraform_wrapper_module_for_each

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [6.1.4](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/compare/v6.1.3...v6.1.4) (2025-10-22)
6+
7+
### Bug Fixes
8+
9+
* Allow computed values for `name`, make `timeouts` dynamic/optional ([#461](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/issues/461)) ([baf0ba2](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/commit/baf0ba2a457690526e12d74e98e6c5599aff9774))
10+
11+
## [6.1.3](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/compare/v6.1.2...v6.1.3) (2025-10-21)
12+
13+
### Bug Fixes
14+
15+
* Update CI workflow versions to latest ([#460](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/issues/460)) ([6fd0798](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/commit/6fd0798b625457c565c42109d65a80d09b255676))
16+
517
## [6.1.2](https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/compare/v6.1.1...v6.1.2) (2025-10-14)
618

719

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,7 @@ No modules.
275275
| <a name="input_subnet_id"></a> [subnet\_id](#input\_subnet\_id) | The VPC Subnet ID to launch in | `string` | `null` | no |
276276
| <a name="input_tags"></a> [tags](#input\_tags) | A mapping of tags to assign to the resource | `map(string)` | `{}` | no |
277277
| <a name="input_tenancy"></a> [tenancy](#input\_tenancy) | The tenancy of the instance (if the instance is running in a VPC). Available values: default, dedicated, host | `string` | `null` | no |
278-
| <a name="input_timeouts"></a> [timeouts](#input\_timeouts) | Define maximum timeout for creating, updating, and deleting EC2 instance resources | `map(string)` | `{}` | no |
278+
| <a name="input_timeouts"></a> [timeouts](#input\_timeouts) | Define maximum timeout for creating, updating, and deleting EC2 instance resources | <pre>object({<br/> create = optional(string)<br/> update = optional(string)<br/> delete = optional(string)<br/> })</pre> | `null` | no |
279279
| <a name="input_user_data"></a> [user\_data](#input\_user\_data) | The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user\_data\_base64 instead | `string` | `null` | no |
280280
| <a name="input_user_data_base64"></a> [user\_data\_base64](#input\_user\_data\_base64) | Can be used instead of user\_data to pass base64-encoded binary data directly. Use this instead of user\_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption | `string` | `null` | no |
281281
| <a name="input_user_data_replace_on_change"></a> [user\_data\_replace\_on\_change](#input\_user\_data\_replace\_on\_change) | When used in combination with user\_data or user\_data\_base64 will trigger a destroy and recreate when set to true. Defaults to false if not set | `bool` | `null` | no |

examples/complete/README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,21 @@ Note that this example may create resources which can cost money. Run `terraform
2121
|------|---------|
2222
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
2323
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 |
24+
| <a name="requirement_random"></a> [random](#requirement\_random) | >= 3.0 |
2425

2526
## Providers
2627

2728
| Name | Version |
2829
|------|---------|
2930
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 |
31+
| <a name="provider_random"></a> [random](#provider\_random) | >= 3.0 |
3032

3133
## Modules
3234

3335
| Name | Source | Version |
3436
|------|--------|---------|
3537
| <a name="module_ec2_complete"></a> [ec2\_complete](#module\_ec2\_complete) | ../../ | n/a |
38+
| <a name="module_ec2_computed_name"></a> [ec2\_computed\_name](#module\_ec2\_computed\_name) | ../../ | n/a |
3639
| <a name="module_ec2_disabled"></a> [ec2\_disabled](#module\_ec2\_disabled) | ../../ | n/a |
3740
| <a name="module_ec2_ignore_ami_changes"></a> [ec2\_ignore\_ami\_changes](#module\_ec2\_ignore\_ami\_changes) | ../../ | n/a |
3841
| <a name="module_ec2_metadata_options"></a> [ec2\_metadata\_options](#module\_ec2\_metadata\_options) | ../../ | n/a |
@@ -55,6 +58,7 @@ Note that this example may create resources which can cost money. Run `terraform
5558
| [aws_kms_key.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource |
5659
| [aws_network_interface.this](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/network_interface) | resource |
5760
| [aws_placement_group.web](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/placement_group) | resource |
61+
| [random_string.suffix](https://registry.terraform.io/providers/hashicorp/random/latest/docs/resources/string) | resource |
5862
| [aws_ami.amazon_linux](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/ami) | data source |
5963
| [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source |
6064

examples/complete/main.tf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,22 @@ module "ec2_t3_unlimited" {
146146
tags = local.tags
147147
}
148148

149+
# https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/issues/456
150+
module "ec2_computed_name" {
151+
source = "../../"
152+
153+
name = join("-", [local.name, random_string.suffix.result])
154+
155+
ignore_ami_changes = true
156+
ami = data.aws_ami.amazon_linux.id
157+
158+
instance_type = "t3.micro"
159+
availability_zone = element(module.vpc.azs, 0)
160+
subnet_id = element(module.vpc.private_subnets, 0)
161+
162+
tags = local.tags
163+
}
164+
149165
module "ec2_disabled" {
150166
source = "../../"
151167

@@ -383,3 +399,10 @@ resource "aws_network_interface" "this" {
383399
subnet_id = element(module.vpc.private_subnets, 0)
384400
security_groups = [module.security_group.security_group_id]
385401
}
402+
403+
resource "random_string" "suffix" {
404+
length = 2
405+
numeric = false
406+
upper = false
407+
special = false
408+
}

0 commit comments

Comments
 (0)