implicit dependency does not have any keyword but it can be noticed by giving reference to another elements
//implicit dependency via referencing objects vpc_security_group_ids = [aws_security_group.general.id]
depends_on keyword help us to activate explicit dependency
resource "aws_instance" "my_server_web" {
ami = "ami-0bd39c806c2335b95"
instance_type = "t3.micro"
vpc_security_group_ids = [aws_security_group.general.id]
tags = { Name = "Server-Web" }
depends_on = [
aws_instance.my_server_db,
aws_instance.my_server_app
]
}
resource "aws_instance" "my_server_app" {
ami = "ami-0bd39c806c2335b95"
instance_type = "t3.micro"
vpc_security_group_ids = [aws_security_group.general.id]
tags = { Name = "Server-App" }
depends_on = [aws_instance.my_server_db]
}
resource "aws_instance" "my_server_db" {
ami = "ami-0bd39c806c2335b95"
instance_type = "t3.micro"
vpc_security_group_ids = [aws_security_group.general.id]
tags = { Name = "Server-DB" }
}