If you use ignore_secret_changes=true, you must import both the secret and its version resource. Or the first apply silently overwrites the running password.
You're adopting the terraform-aws-modules/secrets-manager module for an existing AWS Secrets Manager secret whose value was set out-of-band -- maybe rotated by a different system, maybe injected by a CI job. You set ignore_secret_changes = true so Terraform won't trample the live value on every apply.
If you only terraform import the secret itself, Terraform still creates a brand-new aws_secretsmanager_secret_version resource on first apply -- using the placeholder secret_string from your module input. ignore_secret_changes protects you on subsequent runs; it does not protect you on the first.
Import both resources, not just one:
# the secret
terragrunt import module.secret.aws_secretsmanager_secret.this[0] arn:aws:secretsmanager:us-east-1:...:secret:my-secret-XXXXXX
# the version too
terragrunt import module.secret.aws_secretsmanager_secret_version.this[0] arn:aws:secretsmanager:us-east-1:...:secret:my-secret-XXXXXX|AWSCURRENT
terragrunt state rm both resources so the real import runs on merge in CI.Same convention works for any module that pairs an "outer" resource with version / config siblings -- IAM policy versions, Lambda code, etc.