我有一个执行以下操作的计划
##创建密钥文件-位于根文件夹##上
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"
}##主文件,它运行位于根文件夹##上的模块
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实例-位于模块/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")
}
}
}发布于 2022-04-14 09:12:29
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]
}https://stackoverflow.com/questions/71869042
复制相似问题