I am in a process of developing terraform module for DMS endpoint. The endpoint type is ‘sqlserver’, and we are trying to store the password in AWS Secrets Manager. We are facing issue as follows, when we apply ‘secrets_manager_arn‘ & ‘secrets_manager_role_arn’ while the engine_name is sqlserver.
Error Message :
[Error creating DMS endpoint: InvalidParameterValueException: The parameter Password must be provided and must not be blank.]
However, the module works fine when the engine_name is ‘postgres/Oracle’ which is right as per the documentation. We did try creating the secret manually and tried using the ARN in the terraform script but there was no luck.
Could someone help me?
The main goal is not to hard code the credentials in the terraform script (including tfstatefile), and use secrets manager only to manage the AWS_DMS_endpoint - sqlserver passwords.
Any help with AWS secrets Manager would be appreciated.
Terraform module for DMS-Endpoint looks similar to below:
resource “aws_dms_endpoint” “this” {
database_name = “dname”
endpoint_id = “dname-ID”
endpoint_type = “source”
engine_name = “sqlserver”
extra_connection_attributes = “”
ssl_mode = “none”
secrets_manager_arn = “arn:aws:secretsmanager::”
secrets_manager_access_role_arn = “arn:aws:iam:::role/”
}