### Terraform Usage Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/replica-postgres/README.md Demonstrates the standard Terraform commands to initialize, plan, and apply the infrastructure setup. It also reminds users to destroy resources when no longer needed to avoid costs. ```bash terraform init terraform plan terraform apply terraform destroy ``` -------------------------------- ### Terraform Usage Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/replica-mysql/README.md Commands to initialize, plan, and apply Terraform configurations for the RDS module. Ensure you have Terraform installed and configured for AWS. ```bash $ terraform init $ terraform plan $ terraform apply ``` -------------------------------- ### Run Terraform Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-postgres/README.md This snippet demonstrates the standard Terraform workflow for initializing, planning, and applying infrastructure changes. It requires Terraform to be installed and configured for AWS access. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Docker MySQL Server Setup Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/s3-import-mysql/README.md Starts a Percona MySQL 8.0 Docker container in detached mode and connects to it via bash, then logs into the MySQL client. This is used to create a database for backup. ```bash $ docker run -d --name percona-server-mysql-8.0.20 -e MYSQL_ROOT_PASSWORD=root percona/percona-server:8.0.20 $ docker exec -it percona-server-mysql-8.0.20 bash $ mysql -u root -p # password is also root ``` -------------------------------- ### Terraform CLI Usage Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Demonstrates the standard Terraform commands for initializing, planning, and applying the configuration. It also notes that running the example may incur costs and suggests using `terraform destroy` when resources are no longer needed. ```bash $ terraform init $ terraform plan $ terraform apply Note that this example may create resources which cost money. Run `terraform destroy` when you don't need these resources. ``` -------------------------------- ### Terraform Usage Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/cross-region-replica-postgres/README.md Standard commands to initialize, plan, and apply Terraform configurations for the RDS example. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Execute Terraform Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md Standard commands to initialize, plan, and apply a Terraform configuration. Ensure you have Terraform installed and configured for AWS access. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Bash: Terraform CLI Commands for Deployment Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/enhanced-monitoring/README.md This snippet outlines the standard command-line interface (CLI) workflow for initializing, planning, and applying a Terraform configuration. Ensure you have Terraform installed and configured for AWS access. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Terraform Configuration - Main Example Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/blue-green-deployment/README.md Illustrates the core Terraform configuration for setting up AWS RDS PostgreSQL with blue/green deployment capabilities. It defines requirements, providers, and module usage. ```terraform # Blue/Green deployment example for PostgreSQL Configuration in this directory creates a set of RDS resources including DB instance, DB subnet group and DB parameter group. ## Usage To run this example you need to execute: ```bash $ terraform init $ terraform plan $ terraform apply ``` To see blue/green deployment, update the `engine_version` argument in `module.postgres` to 15.4 and/or `engine_version` in module.mysql to 8.0.34 after initial apply then execute: ```bash $ terraform plan $ terraform apply ``` Note that this example may create resources which cost money. Run `terraform destroy` when you don't need these resources. ## Requirements | Name | Version | |------|---------| | [terraform](#requirement_terraform) | >= 1.0 | | [aws](#requirement_aws) | >= 5.92 | ## Providers | Name | Version | |------|---------| | [aws](#provider_aws) | >= 5.92 | ## Modules | Name | Source | Version | |------|--------|---------| | [mysql](#module_mysql) | ../../ | n/a | | [mysql_security_group](#module_mysql_security_group) | terraform-aws-modules/security-group/aws | ~> 5.0 | | [postgres](#module_postgres) | ../../ | n/a | | [postgres_security_group](#module_postgres_security_group) | terraform-aws-modules/security-group/aws | ~> 5.0 | | [vpc](#module_vpc) | terraform-aws-modules/vpc/aws | ~> 5.0 | ## Resources | Name | Type | |------|------| | [aws_availability_zones.available](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/availability_zones) | data source | ## Inputs No inputs. ``` -------------------------------- ### Terraform RDS Module v3.x Configuration Example Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/UPGRADE-4.0.md This HCL code snippet demonstrates a typical configuration for the Terraform AWS RDS module in version 3.x. It highlights how certain parameters like username, password, and engine were handled, especially for read-replicas or snapshot restored instances. ```hcl module "rds" { source = "terraform-aws-modules/rds/aws" version = "~> 3.0" master_password = "MySuperStrongPassword!" # Previously on read-replicas or restored from snapshot instances you needed to explicitly set these to null # These can now be safely removed and instead on the module to resolve these appropriately username = null password = null engine = null } ``` -------------------------------- ### RDS Instance Username Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the master username configured for the RDS database. ```terraform output "db_instance_username" { description = "The master username for the database" value = "..." } ``` -------------------------------- ### Output: db_instance_engine_version_actual Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The actual running version of the database engine. ```Terraform output "db_instance_engine_version_actual" { description = "The running version of the database" value = "db_instance_engine_version_actual" } ``` -------------------------------- ### RDS Instance Name Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the database name associated with the RDS instance. ```terraform output "db_instance_name" { description = "The database name" value = "..." } ``` -------------------------------- ### Terraform Configuration Structure Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Details the requirements, providers, modules, and resources used in the Terraform configuration for AWS RDS. ```APIDOC Requirements: terraform: >= 1.0 aws: >= 5.92 Providers: aws: >= 5.92 Modules: db: ../.. db_default: ../.. db_disabled: ../.. security_group: terraform-aws-modules/security-group/aws, ~> 5.0 vpc: terraform-aws-modules/vpc/aws, ~> 5.0 Resources: aws_availability_zones.available: data source ``` -------------------------------- ### RDS Instance Identifier Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the unique identifier for the RDS instance. ```terraform output "db_instance_identifier" { description = "The RDS instance identifier" value = "..." } ``` -------------------------------- ### Output: db_instance_username Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The master username for the database. ```Terraform output "db_instance_username" { description = "The master username for the database" value = "db_instance_username" } ``` -------------------------------- ### RDS Instance Status Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the current operational status of the RDS instance. ```terraform output "db_instance_status" { description = "The RDS instance status" value = "..." } ``` -------------------------------- ### RDS Instance Resource ID Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the AWS RDS Resource ID for the instance. ```terraform output "db_instance_resource_id" { description = "The RDS Resource ID of this instance" value = "..." } ``` -------------------------------- ### RDS Instance Port Output Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides the network port on which the RDS instance is accessible. ```terraform output "db_instance_port" { description = "The database port" value = "..." } ``` -------------------------------- ### Output: db_instance_engine Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The database engine used by the RDS instance. ```Terraform output "db_instance_engine" { description = "The database engine" value = "db_instance_engine" } ``` -------------------------------- ### Terraform Usage Commands Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-oracle/README.md Standard commands to initialize, plan, and apply a Terraform configuration. Remember to run `terraform destroy` when resources are no longer needed to avoid ongoing costs. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Terraform Initialization and Deployment Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/blue-green-deployment/README.md Standard commands to initialize a Terraform project, review planned changes, and apply them to provision AWS resources. Essential for setting up the RDS infrastructure. ```bash terraform init terraform plan terraform apply ``` -------------------------------- ### Terraform: Setup Enhanced Monitoring for AWS RDS Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/enhanced-monitoring/README.md This Terraform configuration defines resources required for enhanced monitoring of an AWS RDS instance. It leverages modules for VPC and security groups, and creates IAM roles and policies for monitoring. It depends on the AWS provider and specific module versions. ```terraform # Terraform Configuration for Enhanced Monitoring Example # Requirements # terraform >= 1.0 # aws >= 5.92 # Providers # aws >= 5.92 # Modules # module "db" { # source = "../../" # } # module "security_group" { # source = "terraform-aws-modules/security-group/aws" # version = "~> 5.0" # } # module "vpc" { # source = "terraform-aws-modules/vpc/aws" # version = "~> 5.0" # } # Resources # resource "aws_iam_role" "rds_enhanced_monitoring" { ... } # resource "aws_iam_role_policy_attachment" "rds_enhanced_monitoring" { ... } # data "aws_availability_zones" "available" { ... } # data "aws_iam_policy_document" "rds_enhanced_monitoring" { ... } # Outputs # output "db_instance_address" { ... } # output "db_instance_arn" { ... } # output "db_instance_availability_zone" { ... } # output "db_instance_cloudwatch_log_groups" { ... } # output "db_instance_endpoint" { ... } # output "db_instance_engine" { ... } # output "db_instance_engine_version_actual" { ... } # output "db_instance_hosted_zone_id" { ... } # output "db_instance_identifier" { ... } # output "db_instance_master_user_secret_arn" { ... } # output "db_instance_name" { ... } # output "db_instance_port" { ... } # output "db_instance_resource_id" { ... } # output "db_instance_status" { ... } # output "db_instance_username" { ... } # output "db_parameter_group_arn" { ... } # output "db_parameter_group_id" { ... } # output "db_subnet_group_arn" { ... } # output "db_subnet_group_id" { ... } ``` -------------------------------- ### Terraform RDS Module v4.x Configuration Example Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/UPGRADE-4.0.md This HCL code snippet shows an updated configuration for the Terraform AWS RDS module in version 4.x. It reflects changes such as setting `create_random_password` to false when providing a password and disabling `storage_encrypted` to maintain previous behavior. ```hcl module "asg" { source = "terraform-aws-modules/rds/aws" version = "~> 4.0" password = "MySuperStrongPassword!" # Set random password creation to false if providing your own password as input create_random_password = false # If you did not have storage encrypted in `v3.x`, you can explicitly disable in `v4.x` to avoid disruption storage_encrypted = false } ``` -------------------------------- ### Terraform Apply Workflow Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/s3-import-mysql/README.md Standard Terraform commands to initialize, plan, and apply infrastructure changes. Ensures the Terraform environment is set up and the configuration is deployed. ```bash $ terraform init $ terraform plan $ terraform apply ``` -------------------------------- ### Terraform CLI Commands (Bash) Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/groups/README.md This snippet shows the standard Terraform CLI commands required to initialize, plan, and apply a Terraform configuration. It outlines the basic workflow for deploying infrastructure and managing resources. ```bash $ terraform init $ terraform plan $ terraform apply ``` -------------------------------- ### Terraform AWS RDS Module Documentation Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-oracle/README.md Documentation for the Terraform AWS RDS module, detailing requirements, providers, included modules, data sources, and output attributes for an Oracle RDS instance. ```APIDOC Terraform AWS RDS Module Documentation: Requirements: - terraform: Version >= 1.0 - aws: Version >= 5.92 Providers: - aws: Version >= 5.92 Modules: - db: Source: ../.., Version: n/a - db_automated_backups_replication: Source: ../../modules/db_instance_automated_backups_replication, Version: n/a - db_disabled: Source: ../.., Version: n/a - kms: Source: terraform-aws-modules/kms/aws, Version: ~> 1.0 - security_group: Source: terraform-aws-modules/security-group/aws, Version: ~> 5.0 - vpc: Source: terraform-aws-modules/vpc/aws, Version: ~> 5.0 Resources: - aws_availability_zones.available: data source - aws_caller_identity.current: data source Inputs: No inputs defined in this example. Outputs: - db_instance_address: The address of the RDS instance - db_instance_arn: The ARN of the RDS instance - db_instance_availability_zone: The availability zone of the RDS instance - db_instance_cloudwatch_log_groups: Map of CloudWatch log groups created and their attributes - db_instance_endpoint: The connection endpoint - db_instance_engine: The database engine - db_instance_engine_version_actual: The running version of the database - db_instance_hosted_zone_id: The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record) - db_instance_identifier: The RDS instance identifier - db_instance_master_user_secret_arn: The ARN of the master user secret (Only available when manage_master_user_password is set to true) - db_instance_name: The database name - db_instance_port: The database port - db_instance_resource_id: The RDS Resource ID of this instance - db_instance_status: The RDS instance status - db_instance_username: The master username for the database - db_parameter_group_arn: The ARN of the db parameter group - db_parameter_group_id: The db parameter group id - db_subnet_group_arn: The ARN of the db subnet group - db_subnet_group_id: The db subnet group name ``` -------------------------------- ### Output: db_parameter_group_id Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The ID of the DB parameter group. ```Terraform output "db_parameter_group_id" { description = "The db parameter group id" value = "db_parameter_group_id" } ``` -------------------------------- ### Terraform AWS RDS Module Configuration Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/cross-region-replica-postgres/README.md Documentation for the Terraform AWS RDS module, detailing requirements, providers, sub-modules, resources, and input variables. ```APIDOC Requirements: terraform: version: ">= 1.0" aws: version: ">= 5.92" Providers: aws: version: ">= 5.92" Modules: kms: source: "terraform-aws-modules/kms/aws" version: "~> 1.0" master: source: "../../" version: "n/a" replica: source: "../../" version: "n/a" security_group_region1: source: "terraform-aws-modules/security-group/aws" version: "~> 5.0" security_group_region2: source: "terraform-aws-modules/security-group/aws" version: "~> 5.0" vpc_region1: source: "terraform-aws-modules/vpc/aws" version: "~> 5.0" vpc_region2: source: "terraform-aws-modules/vpc/aws" version: "~> 5.0" Resources: aws_caller_identity.current: type: "data source" description: "Retrieves information about the AWS caller identity." Inputs: No inputs defined for this module configuration. ``` -------------------------------- ### Output: db_instance_resource_id Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The RDS Resource ID of the instance. ```Terraform output "db_instance_resource_id" { description = "The RDS Resource ID of this instance" value = "db_instance_resource_id" } ``` -------------------------------- ### Output: db_subnet_group_id Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The name of the DB subnet group. ```Terraform output "db_subnet_group_id" { description = "The db subnet group name" value = "db_subnet_group_id" } ``` -------------------------------- ### Output: db_instance_status Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The current status of the RDS instance. ```Terraform output "db_instance_status" { description = "The RDS instance status" value = "db_instance_status" } ``` -------------------------------- ### SQL Database and User Configuration Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/s3-import-mysql/README.md SQL commands to create a new database named 's3Import', a user 's3_import_user' with a specified password, grant all privileges on all tables, and flush privileges. This prepares the database for backup. ```sql CREATE DATABASE s3Import; CREATE USER 's3_import_user'@'localhost' IDENTIFIED BY 'YourPwdShouldBeLongAndSecure!'; GRANT ALL PRIVILEGES ON * . * TO 's3_import_user'@'localhost'; FLUSH PRIVILEGES; ``` -------------------------------- ### RDS Instance Outputs Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-postgres/README.md Provides details about the provisioned AWS RDS instance, including its address, ARN, availability zone, endpoint, engine details, identifier, and status. Also includes master user credentials and secret management information. ```APIDOC RDSInstanceOutputs: description: "Outputs related to the provisioned RDS instance." outputs: db_default_instance_address: description: "The address of the RDS instance." type: "string" db_default_instance_arn: description: "The ARN of the RDS instance." type: "string" db_default_instance_availability_zone: description: "The availability zone of the RDS instance." type: "string" db_default_instance_cloudwatch_log_groups: description: "Map of CloudWatch log groups created and their attributes." type: "map(any)" db_default_instance_endpoint: description: "The connection endpoint." type: "string" db_default_instance_engine: description: "The database engine." type: "string" db_default_instance_engine_version: description: "The running version of the database." type: "string" db_default_instance_hosted_zone_id: description: "The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record)." type: "string" db_default_instance_identifier: description: "The RDS instance identifier." type: "string" db_default_instance_name: description: "The database name." type: "string" db_default_instance_port: description: "The database port." type: "number" db_default_instance_resource_id: description: "The RDS Resource ID of this instance." type: "string" db_default_instance_status: description: "The RDS instance status." type: "string" db_default_instance_username: description: "The master username for the database." type: "string" db_default_master_user_secret_arn: description: "The ARN of the master user secret (Only available when manage_master_user_password is set to true)." type: "string" db_default_parameter_group_arn: description: "The ARN of the db parameter group." type: "string" db_default_parameter_group_id: description: "The db parameter group id." type: "string" db_default_secretsmanager_secret_rotation_enabled: description: "Specifies whether automatic rotation is enabled for the secret." type: "bool" db_default_subnet_group_arn: description: "The ARN of the db subnet group." type: "string" db_default_subnet_group_id: description: "The db subnet group name." type: "string" db_enhanced_monitoring_iam_role_arn: description: "The Amazon Resource Name (ARN) specifying the monitoring role." type: "string" db_instance_address: description: "The address of the RDS instance." type: "string" db_instance_arn: description: "The ARN of the RDS instance." type: "string" db_instance_availability_zone: description: "The availability zone of the RDS instance." type: "string" db_instance_cloudwatch_log_groups: description: "Map of CloudWatch log groups created and their attributes." type: "map(any)" db_instance_endpoint: description: "The connection endpoint." type: "string" db_instance_engine: description: "The database engine." type: "string" db_instance_engine_version_actual: description: "The running version of the database." type: "string" ``` -------------------------------- ### Output: db_instance_endpoint Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The connection endpoint for the RDS instance. ```Terraform output "db_instance_endpoint" { description = "The connection endpoint" value = "db_instance_endpoint" } ``` -------------------------------- ### Terraform AWS RDS Module Outputs Reference Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mysql/README.md Provides a comprehensive list of outputs from the Terraform AWS RDS module. Each output details specific attributes of the provisioned RDS instance, such as its address, ARN, endpoint, engine details, and associated resource identifiers. This documentation helps users understand and utilize the module's exported values. ```APIDOC Terraform AWS RDS Module Outputs: - db_default_cloudwatch_log_groups: Description: Map of CloudWatch log groups created and their attributes. - db_default_instance_address: Description: The address of the RDS instance. - db_default_instance_arn: Description: The ARN of the RDS instance. - db_default_instance_availability_zone: Description: The availability zone of the RDS instance. - db_default_instance_endpoint: Description: The connection endpoint. - db_default_instance_engine: Description: The database engine. - db_default_instance_engine_version: Description: The running version of the database. - db_default_instance_hosted_zone_id: Description: The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record). - db_default_instance_identifier: Description: The RDS instance identifier. - db_default_instance_master_user_secret_arn: Description: The ARN of the master user secret (Only available when manage_master_user_password is set to true). - db_default_instance_name: Description: The database name. - db_default_instance_port: Description: The database port. - db_default_instance_resource_id: Description: The RDS Resource ID of this instance. - db_default_instance_status: Description: The RDS instance status. - db_default_instance_username: Description: The master username for the database. - db_default_parameter_group_arn: Description: The ARN of the db parameter group. - db_default_parameter_group_id: Description: The db parameter group id. - db_default_subnet_group_arn: Description: The ARN of the db subnet group. - db_default_subnet_group_id: Description: The db subnet group name. - db_enhanced_monitoring_iam_role_arn: Description: The Amazon Resource Name (ARN) specifying the monitoring role. - db_instance_address: Description: The address of the RDS instance. - db_instance_arn: Description: The ARN of the RDS instance. - db_instance_availability_zone: Description: The availability zone of the RDS instance. - db_instance_cloudwatch_log_groups: Description: Map of CloudWatch log groups created and their attributes. - db_instance_endpoint: Description: The connection endpoint. - db_instance_engine: Description: The database engine. - db_instance_engine_version_actual: Description: The running version of the database. - db_instance_hosted_zone_id: Description: The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record). ``` -------------------------------- ### Output: db_instance_identifier Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The unique identifier for the RDS instance. ```Terraform output "db_instance_identifier" { description = "The RDS instance identifier" value = "db_instance_identifier" } ``` -------------------------------- ### Basic RDS Instance Configuration Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/README.md Demonstrates the core configuration for creating an RDS DB instance using the Terraform AWS module. It includes essential parameters like engine, instance class, storage, credentials, security groups, and maintenance windows. ```hcl module "db" { source = "terraform-aws-modules/rds/aws" identifier = "demodb" engine = "mysql" engine_version = "5.7" instance_class = "db.t3a.large" allocated_storage = 5 db_name = "demodb" username = "user" port = "3306" iam_database_authentication_enabled = true vpc_security_group_ids = ["sg-12345678"] maintenance_window = "Mon:00:00-Mon:03:00" backup_window = "03:00-06:00" # Enhanced Monitoring monitoring_interval = "30" monitoring_role_name = "MyRDSMonitoringRole" create_monitoring_role = true tags = { Owner = "user" Environment = "dev" } # DB subnet group create_db_subnet_group = true subnet_ids = ["subnet-12345678", "subnet-87654321"] # DB parameter group family = "mysql5.7" # DB option group major_engine_version = "5.7" # Database Deletion Protection deletion_protection = true parameters = [ { name = "character_set_client" value = "utf8mb4" }, { name = "character_set_server" value = "utf8mb4" } ] options = [ { option_name = "MARIADB_AUDIT_PLUGIN" option_settings = [ { name = "SERVER_AUDIT_EVENTS" value = "CONNECT" }, { name = "SERVER_AUDIT_FILE_ROTATIONS" value = "37" }, ] }, ] } ``` -------------------------------- ### Output: db_instance_address Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The connection endpoint address of the RDS instance. ```Terraform output "db_instance_address" { description = "The address of the RDS instance" value = "db_instance_address" } ``` -------------------------------- ### Percona Xtrabackup Database Dump Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/s3-import-mysql/README.md Uses a Percona Xtrabackup Docker container to dump the MySQL database from a running container. The backup is stored in a local '/tmp/backup' directory and then moved to './backup'. ```bash $ mkdir -p /tmp/backup $ docker run --name percona-xtrabackup-8.0 --mount type=bind,src=/tmp/backup,dst=/backup --volumes-from percona-server-mysql-8.0.20 percona/percona-xtrabackup:8.0 xtrabackup --backup --data-dir=/var/lib/mysql --target-dir=/backup --user=root --password=root $ mv /tmp/backup ./backup ``` -------------------------------- ### Output: db_instance_name Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The name of the database within the RDS instance. ```Terraform output "db_instance_name" { description = "The database name" value = "db_instance_name" } ``` -------------------------------- ### Terraform Module Definitions Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/replica-postgres/README.md Declares the usage of various Terraform modules, including the master RDS, replica RDS, security group, and VPC modules. It specifies their sources and version constraints. ```terraform module "master" { source = "../../" } module "replica" { source = "../../" } module "security_group" { source = "terraform-aws-modules/security-group/aws" version = "~> 5.0" } module "vpc" { source = "terraform-aws-modules/vpc/aws" version = "~> 5.0" } ``` -------------------------------- ### Output: db_instance_port Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The port number for connecting to the RDS instance. ```Terraform output "db_instance_port" { description = "The database port" value = "db_instance_port" } ``` -------------------------------- ### Output: db_instance_availability_zone Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The availability zone where the RDS instance is located. ```Terraform output "db_instance_availability_zone" { description = "The availability zone of the RDS instance" value = "db_instance_availability_zone" } ``` -------------------------------- ### Terraform Requirements Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/replica-postgres/README.md Specifies the required Terraform version and the AWS provider version needed for this configuration. Ensures compatibility and proper functionality. ```terraform terraform { required_version = ">= 1.0" required_providers { aws = { source = "hashicorp/aws" version = ">= 5.92" } } } ``` -------------------------------- ### Terraform Provider Configuration Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/replica-postgres/README.md Defines the AWS provider configuration, specifying the minimum required version. This block configures the AWS provider used by the Terraform modules. ```terraform provider "aws" { version = ">= 5.92" } ``` -------------------------------- ### Terraform AWS RDS Module Outputs Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/s3-import-mysql/README.md This section details the outputs available from the Terraform AWS RDS module. These outputs provide essential information about the provisioned RDS instance, such as its endpoint, identifier, and status, which can be used in subsequent configurations or for monitoring. ```APIDOC Terraform AWS RDS Module Outputs: db_instance_address: Description: The address of the RDS instance db_instance_arn: Description: The ARN of the RDS instance db_instance_availability_zone: Description: The availability zone of the RDS instance db_instance_cloudwatch_log_groups: Description: Map of CloudWatch log groups created and their attributes db_instance_endpoint: Description: The connection endpoint db_instance_engine: Description: The database engine db_instance_engine_version_actual: Description: The running version of the database db_instance_hosted_zone_id: Description: The canonical hosted zone ID of the DB instance (to be used in a Route 53 Alias record) db_instance_identifier: Description: The RDS instance identifier db_instance_master_user_secret_arn: Description: The ARN of the master user secret (Only available when manage_master_user_password is set to true) db_instance_name: Description: The database name db_instance_port: Description: The database port db_instance_resource_id: Description: The RDS Resource ID of this instance db_instance_status: Description: The RDS instance status db_instance_username: Description: The master username for the database db_parameter_group_arn: Description: The ARN of the db parameter group db_parameter_group_id: Description: The db parameter group id db_subnet_group_arn: Description: The ARN of the db subnet group db_subnet_group_id: Description: The db subnet group name ``` -------------------------------- ### Output: db_instance_arn Source: https://github.com/terraform-aws-modules/terraform-aws-rds/blob/master/examples/complete-mssql/README.md The Amazon Resource Name (ARN) of the RDS instance. ```Terraform output "db_instance_arn" { description = "The ARN of the RDS instance" value = "db_instance_arn" } ```