Releases: cloudposse/terraform-aws-transfer-sftp
v2.3.1
AWS provider 6 support (aws_eip) @mmh (#79)
## what This PR makes it possible to use the module with the latest version of the AWS provider (version 6)why
aws_eip no longer supports a vpc argument. It needs to be changed to domain
Causes this error when running terraform
│ Error: Unsupported argument
│
│ on .terraform/modules/sftp/main.tf line 105, in resource "aws_eip" "sftp":
│ 105: vpc = local.is_vpc
│
│ An argument named "vpc" is not expected here.
references
closes #78
🤖 Automatic Updates
v2.3.0
feat: update deprecated managed_policy_arns in place for aws_iam_role_policy_attachment @AyhanSetirekli (#73)
## what- Update to remove the now deprecated
managed_policy_arns(from theaws_iam_policyresource) and use theaws_iam_role_policy_attachmentresource instead.
why
- The
managed_policy_arnsattribute was deprecated as part of the Terraform AWS Provider v5.72.0 Release (15th Oct 2024). - When this code is currently used, Terraform throws the following warning:
│ Warning: Argument is deprecated
│
│ with module.transfer_sftp[0].aws_iam_role.s3_access_for_sftp_users["ayhan"],
│ on .terraform/modules/transfer_sftp/main.tf line 226, in resource "aws_iam_role" "s3_access_for_sftp_users":
│ 226: managed_policy_arns = [aws_iam_policy.s3_access_for_sftp_users[each.value.user_name].arn]
│
│ managed_policy_arns is deprecated. Use the aws_iam_role_policy_attachment resource instead. If Terraform should exclusively manage all managed policy attachments (the current behavior of this argument), use the aws_iam_role_policy_attachments_exclusive resource as well.
│
│ (and one more similar warning elsewhere)references
v2.2.0
Add additional outputs for the transfer service @adamcrews (#72)
## whatThis adds additional outputs to expose the arn and host_key_fingerprint.
why
I need these outputs for my workflows.
references
This was previously opened under #40, but the bot killed that PR. This version has been rebased and should be ready to go.
This also has 2 minor nit-pick fixes:
- Use the
onefunction instead of ajoin("", ...)to make the output match all other outputs in this module. - reorders the value/description attributes in one resource to make the order match the others.
v2.1.0
Add output for endpoint_details @rutgoff (#54)
## what Added an output to be able to access the endpoint_detailswhy
In my use case I am managing my DNS elsewhere in my Terraform code and need to be able to access the VPC endpoint created for the transfer server so I can subsequently create DNS entries. This new output allows me to dynamically know the id of the VPC endpoint and thus lookup it's DNS names for use in creating CNAME's in my own DNS domain.
v2.0.0
feat: allow to set custom bucket permissions for user @xadereq (#69)
## what- Allow to set custom bucket permissions for user (to be able to create
readonlySFTP users)
why
- Lack of customization of user policy
Sync github @max-lobur (#34)
Rebuild github dir from the template🚀 Enhancements
fix: Readme @milldr (#71)
## what - Rebuild the README with `make readme`why
- The old README format is causing the CI checks to fail on main
references
🤖 Automatic Updates
Migrate new test account @osterman (#68)
## what - Update `.github/settings.yml` - Update `.github/chatops.yml` fileswhy
- Re-apply
.github/settings.ymlfrom org level to getterratestenvironment - Migrate to new
testaccount
References
- DEV-388 Automate clean up of test account in new organization
- DEV-387 Update terratest to work on a shared workflow instead of a dispatch action
- DEV-386 Update terratest to use new testing account with GitHub OIDC
Update .github/settings.yml @osterman (#67)
## what - Update `.github/settings.yml` - Drop `.github/auto-release.yml` fileswhy
- Re-apply
.github/settings.ymlfrom org level - Use organization level auto-release settings
references
- DEV-1242 Add protected tags with Repository Rulesets on GitHub
Update .github/settings.yml @osterman (#64)
## what - Update `.github/settings.yml` - Drop `.github/auto-release.yml` fileswhy
- Re-apply
.github/settings.ymlfrom org level - Use organization level auto-release settings
references
- DEV-1242 Add protected tags with Repository Rulesets on GitHub
Update release workflow to allow pull-requests: write @osterman (#61)
## what - Update workflow (`.github/workflows/release.yaml`) to have permission to comment on PRwhy
- So we can support commenting on PRs with a link to the release
Update GitHub Workflows to use shared workflows from '.github' repo @osterman (#59)
## what - Update workflows (`.github/workflows`) to use shared workflows from `.github` repowhy
- Reduce nested levels of reusable workflows
Update GitHub Workflows to Fix ReviewDog TFLint Action @osterman (#58)
## what - Update workflows (`.github/workflows`) to add `issue: write` permission needed by ReviewDog `tflint` actionwhy
- The ReviewDog action will comment with line-level suggestions based on linting failures
Update GitHub workflows @osterman (#57)
## what - Update workflows (`.github/workflows/settings.yaml`)why
- Support new readme generation workflow.
- Generate banners
Use GitHub Action Workflows from `cloudposse/.github` Repo @osterman (#51)
## what- Install latest GitHub Action Workflows
why
- Use shared workflows from
cldouposse/.githubrepository - Simplify management of workflows from centralized hub of configuration
v1.3.0
- No changes
v1.2.0
Add home directory inputs @nitrocode (#27)
what
- Add optional
home_directory_mappingskey tosftp_users - Add optional
s3_bucket_namekey tosftp_users - Tag everything
- Remove
${Transfer:*}vars
why
- Allow overriding user assigned home directory mappings and add additional
- Allow overriding user assigned s3 bucket
- Fix issue where user and s3 bucket are calculated from the ${Transfer:*} vars
- e.g.
${Transfer:UserName}would be applied but then the API would result inbobinstead of this value so terraform would then try to revert the change.
- e.g.
references
v1.1.0
Restricted and unrestricted users @Nuru (#26)
what
- Restore "restricted users" from #9
- Restore "unrestricted users" from #17
- Update tests and other framework
why
- Version 1.0.0 was released as the last point in master before adding the unsupported security group v0.3.0. In doing so, features added in #9 and #17 were removed. This restores those features.
- Pull in bug and security fixes, allow tests to run in parallel.
notes
- Custom security group rules, added in #8, are not included in this release. If the feature is desired, it should be re-implemented with security-group v2.x
v1.0.0 Initial release with production Semantic Versioning
This release is identical to version 0.3.1. It reverts changes made in v0.4.0 and later v0.x releases. Because those versions were never fully supported, we are not providing migration instructions from those version to this one.
This is the first release of this module with production Semantic Versioning, part of Cloud Posse's general policy to convert to production versioning as we make updates to relatively mature modules, especially those where we see breaking changes coming in the near future. This module will evolve with breaking changes as we convert it to use our security-group module. Expect those changes to be released in v2.0, soon.
v0.6.0
Unrestricted home role and settings @if-igor (#17)
what
- There are three changes here, all to support the use case where var.restricted_home is set to false
- Change 1: expose user role arns
- Change 2: set default home_directory to provided s3 bucket
- Change 3: Adjust policy to allow access to the root of the s3 bucket instead of the path with username
why
- Currently, setting var.restricted_home to false will drop the user into the root directory without any permissions
- Given that the module works with an s3 bucket, it makes sense to change the home_directory in this case to the root of the s3 bucket
- The policy did not grant access to the user to the root directory
- Adding role_arns to the output will help anyone who wants to add additional policies to the role