[英]Terraform depends_on
I have a plan that performs the following我有一个执行以下操作的计划
## Create Key file - located on the root folder ## ## 创建密钥文件 - 位于根文件夹中 ##
resource "tls_private_key" "key" {
algorithm = "RSA"
rsa_bits = 4096
}
resource "aws_key_pair" "key" {
key_name = "project_key"
public_key = tls_private_key.key.public_key_openssh
}
resource "local_file" "key" {
sensitive_content = tls_private_key.key.private_key_pem
filename = "key.pem"
}
## Main file that runs the module located on the root folder ## ## 运行位于根文件夹中的模块的主文件##
module "ansible-server"{
source = "./modules/ansible-server"
ami_id = "ami-04505e7fdc0741db8d"
instance_type = var.ansible_server_instance-type
availability_zone = var.availability_zone[0]
subnet_id = module.public_subnet.publicsubnetid[0]
vpc_id = module.vpc.vpcid
key_name = aws_key_pair.key.key_name
}
## Ec2 instance - located under modules/ansible-server/main.tf ## ## Ec2 实例 - 位于 modules/ansible-server/main.tf 下 ##
resource "aws_instance" "ansible_server" {
ami = var.ami_id
instance_type = var.instance_type
availability_zone = var.availability_zone
subnet_id = var.subnet_id
vpc_security_group_ids = [aws_security_group.ansible_server.id]
key_name = var.key_name
provisioner "file" {
source = "key.pem"
destination = "/home/ubuntu/.ssh/id_rsa"
connection {
host = self.public_ip
user = "user"
private_key = file("key.pem")
}
}
}
The depends_on
should be on the module: depends_on
应该在模块上:
module "ansible-server"{
source = "./modules/ansible-server"
ami_id = "ami-04505e7fdc0741db8d"
instance_type = var.ansible_server_instance-type
availability_zone = var.availability_zone[0]
subnet_id = module.public_subnet.publicsubnetid[0]
vpc_id = module.vpc.vpcid
key_name = aws_key_pair.key.key_name
depends_on = [local_file.key]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.