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 = {
...
}
}
Name | Version |
---|---|
terraform | >= 1.0 |
aws | ~> 5.59.0 |
Name | Version |
---|---|
aws | 5.59.0 |
No modules.
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 |
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 |
No outputs.