Skip to content

UKHomeOffice/acp-tf-dms-serverless

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

acp-tf-dms-serverless terraform module

Module usage:

module "dms_serverless" {
    source = "git::https://github.com/UKHomeOffice/acp-tf-dms-serverless?ref=main"

    environment = var.environment

    dms_replication_name               = "<ticket>-<tenant>-placeholder"
    dms_replication_type               = "full-load-and-cdc"
    dms_replication_max_capacity_units = "4"
    dms_replication_subnet_group_id    = <subnet_group_id>

    source_database            = "source_db"
    source_database_engine     = "engine"
    source_database_identifier = "<ticket>-<tenant>-source_db"
    source_database_username   = "root"
    source_database_password   = data.aws_kms_secrets.source_db.plaintext["password"]
    source_database_port       = "<port>"
    source_database_endpoint   = "<source_db_endpoint>"

    target_database            = "target_db"
    target_database_engine     = "engine"
    target_database_identifier = "<ticket>-<tenant>-target_db"
    target_database_username   = "root"
    target_database_password   = data.aws_kms_secrets.target_db.plaintext["password"]
    target_database_port       = "<port>"
    target_database_endpoint   = "<target_db_endpoint>"

    tags = {
        ...
    }
}

Requirements

Name Version
terraform >= 1.0
aws ~> 5.59.0

Providers

Name Version
aws 5.59.0

Modules

No modules.

Resources

Name Type
aws_dms_endpoint.source resource
aws_dms_endpoint.target resource
aws_dms_replication_config.this resource
aws_caller_identity.current data source
aws_iam_policy_document.kms_key_policy_document data source
aws_region.current data source

Inputs

Name Description Type Default Required
dms_replication_max_capacity_units Specifies the maximum value of the DMS capacity units (DCUs) for which a given DMS Serverless replication can be provisioned. Please use one of: 2, 4, 8, 16, 32, 64, 128, 192, 256, 384 any n/a yes
dms_replication_name The name of the DMS replciation - sugguested pattern - - any n/a yes
dms_replication_preferred_maintenance_window The preferred weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC), minimum 30 min block - format ddd:hh24:mi-ddd:hh24:mi e.g. sun:23:45-mon:00:30 any null no
dms_replication_subnet_group_id The ID of the DMS subnet group to use - must be routable to both source and target database endpoint any n/a yes
dms_replication_table_mappings json escaped string of table mappings - default is % wildcard for schemas and tables string "{\"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"rule-action\":\"include\",\"object-locator\":{\"schema-name\":\"%%\",\"table-name\":\"%%\"}}]}" no
dms_replication_type The type of DMS replication, please use one of: full-load, cdc, full-load-and-cdc any n/a yes
email_addresses A list of email addresses for key rotation notifications. list [] no
environment The environment DMS is running in i.e. dev, prod etc any n/a yes
source_database The name of the database that needs to be migrated any n/a yes
source_database_certificate_arn The ARN of an ACM certificate should one be needed any null no
source_database_endpoint The endpoint of the source database any n/a yes
source_database_engine The source database engine, please pick one of: aurora, aurora-postgresql, azuredb, azure-sql-managed-instance, babelfish, db2, db2-zos, docdb, dynamodb, elasticsearch, kafka, kinesis, mariadb, mongodb, mysql, opensearch, oracle, postgres, redshift, s3, sqlserver, sybase any n/a yes
source_database_extra_connection_attributes Any additional connection attributes needed to connect to the source database. Please see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html for more info any null no
source_database_identifier The name of the the source database endpoint on DMS - sugguested pattern - -- any n/a yes
source_database_password The password for the username of the source database any n/a yes
source_database_port The port of the source database. E.g. mysql - 3306, postgres - 5432 any n/a yes
source_database_sslmode The SSL mode used to connect to the database. Pick one of: none, require, verify-ca, verify-full string "require" no
source_database_username The username of the source database to use - usually root, a user needs to have the neccessary permissions for DMS any n/a yes
tags A map of tags to add to all resources map {} no
target_database The name of the database on the target any n/a yes
target_database_certificate_arn The ARN of an ACM certificate should one be needed any null no
target_database_endpoint The endpoint of the target database any n/a yes
target_database_engine The target database engine, please pick one of: aurora, aurora-postgresql, azuredb, azure-sql-managed-instance, babelfish, db2, db2-zos, docdb, dynamodb, elasticsearch, kafka, kinesis, mariadb, mongodb, mysql, opensearch, oracle, postgres, redshift, s3, sqlserver, sybase any n/a yes
target_database_extra_connection_attributes Any additional connection attributes needed to connect to the target database. Please see https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html for more info any null no
target_database_identifier The name of the the target database endpoint on DMS - sugguested pattern - -- any n/a yes
target_database_password The password for the username of the target database any n/a yes
target_database_port The port of the target database. E.g. mysql - 3306, postgres - 5432 any n/a yes
target_database_sslmode The SSL mode used to connect to the database. Pick one of: none, require, verify-ca, verify-full string "require" no
target_database_username The username of the target database to use - usually root, a user needs to have the neccessary permissions for DMS any n/a yes

Outputs

No outputs.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages