I am building a Terraform configuration to deploy some containers to AWS ECS. Obviously, I must push the Docker images to ECR. I created a repository in ECR and pushed the images.
Now I'm automating. If I declare the aws_ecr_repository
like so:
data "aws_ecr_repository" "service" {
name = "myrepository"
}
then Terraform will manage it. I can eventually reference it with something like
image = "${aws_ecr_repository.myrepository.repository_url}"
in the process of building the ECS task definition.
I am under the impression that Terraform will delete this repository – or fail when it has images – when I run terraform destroy
as a part of my development cycle. This would be bad, because then terraform destroy
would either never complete or I would have to clear out the ECR repository for that command to complete successfully.
How can I best reference an ECR repository that already exists but I seemingly don't want Terraform to manage because Terraform may destroy data that lives outside of Terraform, i.e. the Docker images uploaded by release CI jobs?