Skip to content

Lukmaan-A/acp-tf-rds

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Module usage:

 module "rds" {
    source                = "git::https://github.com/UKHomeOffice/acp-tf-rds?ref=master"

    name                         = "fake"
    allocated_storage            = "20"
    cidr_blocks                  = ["${values(var.compute.cidrs)}"]
    database_name                = "keycloak"
    database_password            = "password"
    database_port                = "3306"
    database_user                = "root"
    db_parameter_family          = "default.mysql5.6"
    dns_zone                     = "${var.dns\_zone}"
    engine_type                  = "MariaDB"
    engine_version               = "10.1.19"
    environment                  = "${var.environment}"
    instance_class               = "db.t2.medium"
    max_allocated_storage        = 100
    snapshot_identifier          = "rds:production-2015-06-26-06-05"
    performance_insights_enabled = true

Requirements

Name Version
terraform >= 0.12

Providers

Name Version
aws n/a

Modules

No modules.

Resources

Name Type
aws_db_instance.db_excluding_name resource
aws_db_instance.db_including_name resource
aws_db_instance.db_read_replica resource
aws_db_parameter_group.db resource
aws_db_subnet_group.db resource
aws_iam_policy.rds_log_policy resource
aws_iam_policy.rds_management_policy resource
aws_iam_policy.rds_performance_insights_policy resource
aws_iam_user.rds_logs_iam_user resource
aws_iam_user.rds_management_iam_user resource
aws_iam_user.rds_performance_insights_iam_user resource
aws_iam_user_policy_attachment.rds_log_policy_attachement resource
aws_iam_user_policy_attachment.rds_management_policy_attachment resource
aws_iam_user_policy_attachment.rds_performance_insights_policy_attachment resource
aws_rds_cluster.aurora_cluster resource
aws_rds_cluster_instance.aurora_cluster_instance resource
aws_rds_cluster_parameter_group.db resource
aws_route53_record.dns_excluding_dbname resource
aws_route53_record.dns_including_dbname resource
aws_route53_record.dns_read_replica_db resource
aws_security_group.db resource
aws_security_group_rule.database_port resource
aws_security_group_rule.out_all resource
aws_route53_zone.selected data source

Inputs

Name Description Type Default Required
allocated_storage The allocated storage in GBs for the RDS any n/a yes
allow_major_version_upgrade Allow major version upgrade bool false no
auto_minor_version_upgrade Allow automated minor version upgrade bool false no
backup_retention_period How long will we retain backups string 0 no
backup_window When AWS can run snapshot, can't overlap with maintenance window string "22:00-03:00" no
cidr_blocks A list of network cidr block which are permitted acccess list
[
"0.0.0.0/0"
]
no
copy_tags_to_snapshot Copy tags from DB to a snapshot bool true no
custom_option_group_name Name of custom option group for RDS instance string "" no
database_name The name of the database to create string "" no
database_password The default password for the specified user for RDS any n/a yes
database_port The database port being used by the RDS instance, i.e. 3306, 5342 any n/a yes
database_user The username for the RDS to be created string "root" no
db_cluster_parameter_family Cluster parameter group, depends on DB engine used string "" no
db_cluster_parameters A map of database parameters for the RDS Cluster instance list [] no
db_parameter_family Parameter group, depends on DB engine used any n/a yes
db_parameters A map of database parameters for the RDS instance list [] no
dns_name The dns name added the dns zone, else defaults to var.name string "" no
dns_ttl The dns record type for the RDS instance, defaults to CNAME string "300" no
dns_type The dns record type for the RDS instance, defaults to CNAME string "CNAME" no
dns_zone The required route53 domain name we are added the dns entry to i.e. example.com any n/a yes
email_addresses A list of email addresses for key rotation notifications. list [] no
engine_type Database engine type any n/a yes
engine_version Database engine version, depends on engine type any n/a yes
environment The environment the RDS is running in i.e. dev, prod etc any n/a yes
instance_class Class of RDS instance string "db.t2.medium" no
is_multi_az Set to true on production bool false no
key_rotation Enable email notifications for old IAM keys. string "true" no
license_model License model information required for some DBs like Oracle SE2 string "" no
log_access_enabled Create a user with access to the instance's logs bool false no
management_access_enabled Create a user that can start/stop RDS and get logs with AWS CLI bool false no
max_allocated_storage The maximum allocated storage that is allowed for an RDS instance. any null no
name A descriptive name for the RDS instance (leave blank only when rds requires it to be blank) any n/a yes
number_of_aurora_instances The number of Aurora instances to create number 1 no
performance_insights_enabled Create a user that can access PI with AWS CLI bool false no
performance_insights_retention_period If Long Term Retention is turned off, performance data older than 7 days is deleted any null no
publicly_accessible If true, the RDS will be publicly accessible bool false no
replicate_source_db Specifies that this resource is a Replicate database, and to use this value as the source database. string "" no
skip_final_snapshot If true (false by default), no snapshot will be made before deleting DB bool false no
snapshot_identifier Specifies whether or not to create this database from a snapshot. string "rds:production-2015-06-26-06-05" no
storage_encrypted Indicates you want the underlining storage to be encrypted bool true no
storage_type One of 'standard' (magnetic), 'gp2' (general purpose SSD), or 'io1' (provisioned IOPS SSD). string "gp2" no
subnet_group_name The name/ID of the subnet group for the instance string "" no
subnet_ids The list of subnet IDs associated to a vpc list [] no
subnet_role A role used to filter out which subnets the RDS should reside, defaults to Role=compute string "compute" no
tags A map of tags to add to all resources map {} no
vpc_id The VPC ID to create the resources within any n/a yes

Outputs

Name Description
db_excluding_name_instance_id ID of the instance
db_including_name_instance_id ID of the instance
rds_security_group_id ID of security group

About

Terraform module to build RDSs

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • HCL 100.0%