Compare commits

...

4 commits

Author SHA1 Message Date
semantic-release-bot
cf3a8f41f6 chore(release): version 4.2.1 [skip ci]
## [4.2.1](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.2.0...v4.2.1) (2025-10-21)

### Bug Fixes

* Update CI workflow versions to latest ([#40](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/issues/40)) ([5deff22](5deff22cf4))
2025-10-21 09:10:15 +00:00
Bryant Biggs
5deff22cf4
fix: Update CI workflow versions to latest (#40) 2025-10-21 11:09:40 +02:00
semantic-release-bot
c0b0204344 chore(release): version 4.2.0 [skip ci]
## [4.2.0](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.1.0...v4.2.0) (2025-10-14)

### Features

* Support `default_auth_scheme` ([#39](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/issues/39)) ([c2073a0](c2073a031c))
2025-10-14 13:10:34 +00:00
Melissa Greenbaum
c2073a031c
feat: Support default_auth_scheme (#39) 2025-10-14 08:10:07 -05:00
23 changed files with 168 additions and 65 deletions

View file

@ -14,7 +14,7 @@ jobs:
steps: steps:
# Please look up the latest version from # Please look up the latest version from
# https://github.com/amannn/action-semantic-pull-request/releases # https://github.com/amannn/action-semantic-pull-request/releases
- uses: amannn/action-semantic-pull-request@v5.5.3 - uses: amannn/action-semantic-pull-request@v6.1.1
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with: with:

View file

@ -7,8 +7,8 @@ on:
- master - master
env: env:
TERRAFORM_DOCS_VERSION: v0.19.0 TERRAFORM_DOCS_VERSION: v0.20.0
TFLINT_VERSION: v0.53.0 TFLINT_VERSION: v0.59.1
jobs: jobs:
collectInputs: collectInputs:
@ -18,11 +18,11 @@ jobs:
directories: ${{ steps.dirs.outputs.directories }} directories: ${{ steps.dirs.outputs.directories }}
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Get root directories - name: Get root directories
id: dirs id: dirs
uses: clowdhaus/terraform-composite-actions/directories@v1.9.0 uses: clowdhaus/terraform-composite-actions/directories@v1.14.0
preCommitMinVersions: preCommitMinVersions:
name: Min TF pre-commit name: Min TF pre-commit
@ -32,27 +32,49 @@ jobs:
matrix: matrix:
directory: ${{ fromJson(needs.collectInputs.outputs.directories) }} directory: ${{ fromJson(needs.collectInputs.outputs.directories) }}
steps: steps:
- name: Install rmz
uses: jaxxstorm/action-install-gh-release@v2.1.0
with:
repo: SUPERCILEX/fuc
asset-name: x86_64-unknown-linux-gnu-rmz
rename-to: rmz
chmod: 0755
extension-matching: disable
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
- name: Delete huge unnecessary tools folder - name: Delete unnecessary files
run: | run: |
rm -rf /opt/hostedtoolcache/CodeQL formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
rm -rf /opt/hostedtoolcache/Ruby
rm -rf /opt/hostedtoolcache/go BEFORE=$(getAvailableSpace)
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
rmz -f /opt/hostedtoolcache/CodeQL &
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
rmz -f /opt/hostedtoolcache/PyPy &
rmz -f /opt/hostedtoolcache/Ruby &
rmz -f /opt/hostedtoolcache/go &
wait
AFTER=$(getAvailableSpace)
SAVED=$((AFTER-BEFORE))
echo "=> Saved $(formatByteCount $SAVED)"
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
- name: Terraform min/max versions - name: Terraform min/max versions
id: minMax id: minMax
uses: clowdhaus/terraform-min-max@v1.3.1 uses: clowdhaus/terraform-min-max@v2.1.0
with: with:
directory: ${{ matrix.directory }} directory: ${{ matrix.directory }}
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported # Run only validate pre-commit check on min version supported
if: ${{ matrix.directory != '.' }} if: ${{ matrix.directory != '.' }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.minVersion }} terraform-version: ${{ steps.minMax.outputs.minVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}
@ -61,7 +83,7 @@ jobs:
- name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.minVersion }}
# Run only validate pre-commit check on min version supported # Run only validate pre-commit check on min version supported
if: ${{ matrix.directory == '.' }} if: ${{ matrix.directory == '.' }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.minVersion }} terraform-version: ${{ steps.minMax.outputs.minVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}
@ -72,26 +94,73 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: collectInputs needs: collectInputs
steps: steps:
- name: Install rmz
uses: jaxxstorm/action-install-gh-release@v2.1.0
with:
repo: SUPERCILEX/fuc
asset-name: x86_64-unknown-linux-gnu-rmz
rename-to: rmz
chmod: 0755
extension-matching: disable
# https://github.com/orgs/community/discussions/25678#discussioncomment-5242449 # https://github.com/orgs/community/discussions/25678#discussioncomment-5242449
- name: Delete huge unnecessary tools folder - name: Delete unnecessary files
run: | run: |
rm -rf /opt/hostedtoolcache/CodeQL formatByteCount() { echo $(numfmt --to=iec-i --suffix=B --padding=7 $1'000'); }
rm -rf /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk getAvailableSpace() { echo $(df -a $1 | awk 'NR > 1 {avail+=$4} END {print avail}'); }
rm -rf /opt/hostedtoolcache/Ruby
rm -rf /opt/hostedtoolcache/go BEFORE=$(getAvailableSpace)
ln -s /opt/hostedtoolcache/SUPERCILEX/x86_64-unknown-linux-gnu-rmz/latest/linux-x64/rmz /usr/local/bin/rmz
rmz -f /opt/hostedtoolcache/CodeQL &
rmz -f /opt/hostedtoolcache/Java_Temurin-Hotspot_jdk &
rmz -f /opt/hostedtoolcache/PyPy &
rmz -f /opt/hostedtoolcache/Ruby &
rmz -f /opt/hostedtoolcache/go &
sudo rmz -f /usr/local/lib/android &
if [[ ${{ github.repository }} == terraform-aws-modules/terraform-aws-security-group ]]; then
sudo rmz -f /usr/share/dotnet &
sudo rmz -f /usr/local/.ghcup &
sudo apt-get -qq remove -y 'azure-.*'
sudo apt-get -qq remove -y 'cpp-.*'
sudo apt-get -qq remove -y 'dotnet-runtime-.*'
sudo apt-get -qq remove -y 'google-.*'
sudo apt-get -qq remove -y 'libclang-.*'
sudo apt-get -qq remove -y 'libllvm.*'
sudo apt-get -qq remove -y 'llvm-.*'
sudo apt-get -qq remove -y 'mysql-.*'
sudo apt-get -qq remove -y 'postgresql-.*'
sudo apt-get -qq remove -y 'php.*'
sudo apt-get -qq remove -y 'temurin-.*'
sudo apt-get -qq remove -y kubectl firefox mono-devel
sudo apt-get -qq autoremove -y
sudo apt-get -qq clean
fi
wait
AFTER=$(getAvailableSpace)
SAVED=$((AFTER-BEFORE))
echo "=> Saved $(formatByteCount $SAVED)"
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
ref: ${{ github.event.pull_request.head.ref }} ref: ${{ github.event.pull_request.head.ref }}
repository: ${{github.event.pull_request.head.repo.full_name}} repository: ${{github.event.pull_request.head.repo.full_name}}
- name: Terraform min/max versions - name: Terraform min/max versions
id: minMax id: minMax
uses: clowdhaus/terraform-min-max@v1.3.1 uses: clowdhaus/terraform-min-max@v2.1.0
- name: Hide template dir
# Special to this repo, we don't want to check this dir
if: ${{ github.repository == 'terraform-aws-modules/terraform-aws-security-group' }}
run: rm -rf modules/_templates
- name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }} - name: Pre-commit Terraform ${{ steps.minMax.outputs.maxVersion }}
uses: clowdhaus/terraform-composite-actions/pre-commit@v1.11.1 uses: clowdhaus/terraform-composite-actions/pre-commit@v1.14.0
with: with:
terraform-version: ${{ steps.minMax.outputs.maxVersion }} terraform-version: ${{ steps.minMax.outputs.maxVersion }}
tflint-version: ${{ env.TFLINT_VERSION }} tflint-version: ${{ env.TFLINT_VERSION }}

View file

@ -20,18 +20,26 @@ jobs:
if: github.repository_owner == 'terraform-aws-modules' if: github.repository_owner == 'terraform-aws-modules'
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v5
with: with:
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
- name: Release - name: Set correct Node.js version
uses: cycjimmy/semantic-release-action@v4 uses: actions/setup-node@v6
with: with:
semantic_version: 23.0.2 node-version: 24
extra_plugins: |
@semantic-release/changelog@6.0.3 - name: Install dependencies
@semantic-release/git@10.0.1 run: |
conventional-changelog-conventionalcommits@7.0.2 npm install \
@semantic-release/changelog@6.0.3 \
@semantic-release/git@10.0.1 \
conventional-changelog-conventionalcommits@9.1.0
- name: Release
uses: cycjimmy/semantic-release-action@v5
with:
semantic_version: 25.0.0
env: env:
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }} GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}

View file

@ -7,7 +7,7 @@ jobs:
stale: stale:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/stale@v9 - uses: actions/stale@v10
with: with:
repo-token: ${{ secrets.GITHUB_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
# Staling issues and PR's # Staling issues and PR's

24
.gitignore vendored
View file

@ -1,13 +1,13 @@
# Local .terraform directories # Local .terraform directories
**/.terraform/* **/.terraform/*
# Terraform lockfile
.terraform.lock.hcl
# .tfstate files # .tfstate files
*.tfstate *.tfstate
*.tfstate.* *.tfstate.*
# terraform lockfile
.terraform.lock.hcl
# Crash log files # Crash log files
crash.log crash.log
@ -15,7 +15,6 @@ crash.log
# password, private keys, and other secrets. These should not be part of version # password, private keys, and other secrets. These should not be part of version
# control as they are data points which are potentially sensitive and subject # control as they are data points which are potentially sensitive and subject
# to change depending on the environment. # to change depending on the environment.
#
*.tfvars *.tfvars
# Ignore override files as they are usually used to override resources locally and so # Ignore override files as they are usually used to override resources locally and so
@ -25,13 +24,16 @@ override.tf.json
*_override.tf *_override.tf
*_override.tf.json *_override.tf.json
# Include override files you do wish to add to version control using negated pattern
#
# !example_override.tf
# Include tfplan files to ignore the plan output of command: terraform plan -out=tfplan
# example: *tfplan*
# Ignore CLI configuration files # Ignore CLI configuration files
.terraformrc .terraformrc
terraform.rc terraform.rc
# Lambda build artifacts
builds/
__pycache__/
*.zip
.tox
# Local editors/macos files
.DS_Store
.idea

View file

@ -1,6 +1,6 @@
repos: repos:
- repo: https://github.com/antonbabenko/pre-commit-terraform - repo: https://github.com/antonbabenko/pre-commit-terraform
rev: v1.100.1 rev: v1.103.0
hooks: hooks:
- id: terraform_fmt - id: terraform_fmt
- id: terraform_wrapper_module_for_each - id: terraform_wrapper_module_for_each

View file

@ -2,6 +2,19 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [4.2.1](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.2.0...v4.2.1) (2025-10-21)
### Bug Fixes
* Update CI workflow versions to latest ([#40](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/issues/40)) ([5deff22](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/commit/5deff22cf4c471ce824c016687c3b933cd8b783c))
## [4.2.0](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.1.0...v4.2.0) (2025-10-14)
### Features
* Support `default_auth_scheme` ([#39](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/issues/39)) ([c2073a0](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/commit/c2073a031c947270dac3f17c7f76e2996cd1b5b1))
## [4.1.0](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.0.0...v4.1.0) (2025-10-01) ## [4.1.0](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/compare/v4.0.0...v4.1.0) (2025-10-01)

View file

@ -63,13 +63,13 @@ Examples codified under the [`examples`](https://github.com/terraform-aws-module
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.15 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.15 |
## Modules ## Modules
@ -105,6 +105,7 @@ No modules.
| <a name="input_db_cluster_identifier"></a> [db\_cluster\_identifier](#input\_db\_cluster\_identifier) | DB cluster identifier | `string` | `""` | no | | <a name="input_db_cluster_identifier"></a> [db\_cluster\_identifier](#input\_db\_cluster\_identifier) | DB cluster identifier | `string` | `""` | no |
| <a name="input_db_instance_identifier"></a> [db\_instance\_identifier](#input\_db\_instance\_identifier) | DB instance identifier | `string` | `""` | no | | <a name="input_db_instance_identifier"></a> [db\_instance\_identifier](#input\_db\_instance\_identifier) | DB instance identifier | `string` | `""` | no |
| <a name="input_debug_logging"></a> [debug\_logging](#input\_debug\_logging) | Whether the proxy includes detailed information about SQL statements in its logs | `bool` | `false` | no | | <a name="input_debug_logging"></a> [debug\_logging](#input\_debug\_logging) | Whether the proxy includes detailed information about SQL statements in its logs | `bool` | `false` | no |
| <a name="input_default_auth_scheme"></a> [default\_auth\_scheme](#input\_default\_auth\_scheme) | Default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are NONE and IAM\_AUTH. Defaults to NONE | `string` | `null` | no |
| <a name="input_endpoints"></a> [endpoints](#input\_endpoints) | Map of DB proxy endpoints to create and their attributes | <pre>map(object({<br/> name = optional(string)<br/> vpc_subnet_ids = list(string)<br/> vpc_security_group_ids = optional(list(string))<br/> target_role = optional(string)<br/> tags = optional(map(string), {})<br/> }))</pre> | `{}` | no | | <a name="input_endpoints"></a> [endpoints](#input\_endpoints) | Map of DB proxy endpoints to create and their attributes | <pre>map(object({<br/> name = optional(string)<br/> vpc_subnet_ids = list(string)<br/> vpc_security_group_ids = optional(list(string))<br/> target_role = optional(string)<br/> tags = optional(map(string), {})<br/> }))</pre> | `{}` | no |
| <a name="input_engine_family"></a> [engine\_family](#input\_engine\_family) | The kind of database engine that the proxy will connect to. Valid values are `MYSQL` or `POSTGRESQL` | `string` | `""` | no | | <a name="input_engine_family"></a> [engine\_family](#input\_engine\_family) | The kind of database engine that the proxy will connect to. Valid values are `MYSQL` or `POSTGRESQL` | `string` | `""` | no |
| <a name="input_iam_policy_name"></a> [iam\_policy\_name](#input\_iam\_policy\_name) | The name of the role policy. If omitted, Terraform will assign a random, unique name | `string` | `""` | no | | <a name="input_iam_policy_name"></a> [iam\_policy\_name](#input\_iam\_policy\_name) | The name of the role policy. If omitted, Terraform will assign a random, unique name | `string` | `""` | no |

View file

@ -1,6 +1,8 @@
# AWS RDS Proxy Terraform Examples # Examples
- [IAM auth. w/ MySQL Aurora cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/mysql-iam-cluster) Please note - the examples provided serve two primary means:
- [IAM auth. w/ MySQL RDS instance](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/mysql-iam-instance)
- [IAM auth. w/ PostgreSQL Aurora cluster](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/postgresql-iam-cluster) 1. Show users working examples of the various ways in which the module can be configured and features supported
- [IAM auth. w/ PostgreSQL RDS instance](https://github.com/terraform-aws-modules/terraform-aws-rds-proxy/tree/master/examples/postgresql-iam-instance) 2. A means of testing/validating module changes
Please do not mistake the examples provided as "best practices". It is up to users to consult the AWS service documentation for best practices, usage recommendations, etc.

View file

@ -31,13 +31,13 @@ An EC2 instance configuration has been provided for use in validating the exampl
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.15 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.15 |
## Modules ## Modules

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
} }
} }

View file

@ -31,14 +31,14 @@ An EC2 instance configuration has been provided for use in validating the exampl
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.15 |
| <a name="requirement_random"></a> [random](#requirement\_random) | >= 2.0 | | <a name="requirement_random"></a> [random](#requirement\_random) | >= 2.0 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.15 |
| <a name="provider_random"></a> [random](#provider\_random) | >= 2.0 | | <a name="provider_random"></a> [random](#provider\_random) | >= 2.0 |
## Modules ## Modules

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
random = { random = {
source = "hashicorp/random" source = "hashicorp/random"

View file

@ -31,13 +31,13 @@ An EC2 instance configuration has been provided for use in validating the exampl
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.15 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.15 |
## Modules ## Modules

View file

@ -88,7 +88,7 @@ module "rds" {
name = local.name name = local.name
engine = "aurora-postgresql" engine = "aurora-postgresql"
engine_version = "14.7" engine_version = "17.5"
master_username = "root" master_username = "root"
# When using RDS Proxy w/ IAM auth - Database must be username/password auth, not IAM # When using RDS Proxy w/ IAM auth - Database must be username/password auth, not IAM

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
} }
} }

View file

@ -31,14 +31,14 @@ An EC2 instance configuration has been provided for use in validating the exampl
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 | | <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.5.7 |
| <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.0 | | <a name="requirement_aws"></a> [aws](#requirement\_aws) | >= 6.15 |
| <a name="requirement_random"></a> [random](#requirement\_random) | >= 2.0 | | <a name="requirement_random"></a> [random](#requirement\_random) | >= 2.0 |
## Providers ## Providers
| Name | Version | | Name | Version |
|------|---------| |------|---------|
| <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.0 | | <a name="provider_aws"></a> [aws](#provider\_aws) | >= 6.15 |
| <a name="provider_random"></a> [random](#provider\_random) | >= 2.0 | | <a name="provider_random"></a> [random](#provider\_random) | >= 2.0 |
## Modules ## Modules

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
random = { random = {
source = "hashicorp/random" source = "hashicorp/random"

View file

@ -21,6 +21,7 @@ resource "aws_db_proxy" "this" {
} }
debug_logging = var.debug_logging debug_logging = var.debug_logging
default_auth_scheme = var.default_auth_scheme
engine_family = var.engine_family engine_family = var.engine_family
idle_client_timeout = var.idle_client_timeout idle_client_timeout = var.idle_client_timeout
name = var.name name = var.name

View file

@ -49,6 +49,12 @@ variable "debug_logging" {
default = false default = false
} }
variable "default_auth_scheme" {
description = "Default authentication scheme that the proxy uses for client connections to the proxy and connections from the proxy to the underlying database. Valid values are NONE and IAM_AUTH. Defaults to NONE"
type = string
default = null
}
variable "engine_family" { variable "engine_family" {
description = "The kind of database engine that the proxy will connect to. Valid values are `MYSQL` or `POSTGRESQL`" description = "The kind of database engine that the proxy will connect to. Valid values are `MYSQL` or `POSTGRESQL`"
type = string type = string

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
} }
} }

View file

@ -15,6 +15,7 @@ module "wrapper" {
db_cluster_identifier = try(each.value.db_cluster_identifier, var.defaults.db_cluster_identifier, "") db_cluster_identifier = try(each.value.db_cluster_identifier, var.defaults.db_cluster_identifier, "")
db_instance_identifier = try(each.value.db_instance_identifier, var.defaults.db_instance_identifier, "") db_instance_identifier = try(each.value.db_instance_identifier, var.defaults.db_instance_identifier, "")
debug_logging = try(each.value.debug_logging, var.defaults.debug_logging, false) debug_logging = try(each.value.debug_logging, var.defaults.debug_logging, false)
default_auth_scheme = try(each.value.default_auth_scheme, var.defaults.default_auth_scheme, null)
endpoints = try(each.value.endpoints, var.defaults.endpoints, {}) endpoints = try(each.value.endpoints, var.defaults.endpoints, {})
engine_family = try(each.value.engine_family, var.defaults.engine_family, "") engine_family = try(each.value.engine_family, var.defaults.engine_family, "")
iam_policy_name = try(each.value.iam_policy_name, var.defaults.iam_policy_name, "") iam_policy_name = try(each.value.iam_policy_name, var.defaults.iam_policy_name, "")

View file

@ -4,7 +4,7 @@ terraform {
required_providers { required_providers {
aws = { aws = {
source = "hashicorp/aws" source = "hashicorp/aws"
version = ">= 6.0" version = ">= 6.15"
} }
} }
} }