When refreshing AWS DMS replication task Terraform code, there is a bug. When there is no change on replication task itself, InvalidParameterCombinationException: No modifications were requested on the task
error always gets thrown. This is definitely a bug.
Use a little random value into a task id to simulate changes all times that you apply
resource "random_id" "random_name" {
byte_length = 8
}
resource "aws_dms_replication_task" "fms_dms_replication_task" {
migration_type = "full-load-and-cdc"
replication_instance_arn = aws_dms_replication_instance.dms_repl_instance.replication_instance_arn
*replication_task_id = "${local.service}-fms-${lower(random_id.random_name.hex)}-dms-replication-task"*
source_endpoint_arn = aws_dms_endpoint.monodb_source.endpoint_arn
table_mappings = "{\"rules\":[{\"rule-type\":\"selection\",\"rule-id\":\"1\",\"rule-name\":\"1\",\"object-locator\":{\"schema-name\":\"public\",\"table-name\":\"pumps\"},\"rule-action\":\"include\",\"load-order\":\"1000\"}]}"
target_endpoint_arn = aws_dms_endpoint.kinesis_target.endpoint_arn
}
This is workaround to use random number with task id but whenever we apply change , terraform destroy and recreates dms task.