我有一个脚本,需要在配置实例并附加卷后运行:
resource "aws_instance" "controller" {
...
provisioner "remote-exec" {
connection {
type = "ssh"
user = "centos"
}
inline = [
"download and run script to verify environment"
]
}
}
resource "aws_ebs_volume" "controller-ebs-sdb" {
...
}
resource "aws_volume_attachment" "controller-volume-attachment-sdb" {
device_name = "/dev/sdb"
volume_id = "${aws_ebs_volume.controller-ebs-sdb.id}"
instance_id = "${aws_instance.controller.id}"
}
Run Code Online (Sandbox Code Playgroud)
目前,该脚本使环境失败,因为它运行时尚未附加卷。
是否可以仅在附加卷后运行远程执行脚本?
您可以在任何资源上运行配置程序(考虑其极端版本的null_resource
模式aws_volume_attachment
),因此最好的办法是在资源上运行它:
# ...
resource "aws_volume_attachment" "controller-volume-attachment-sdb" {
device_name = "/dev/sdb"
volume_id = "${aws_ebs_volume.controller-ebs-sdb.id}"
instance_id = "${aws_instance.controller.id}"
provisioner "remote-exec" {
connection {
host = "${aws_instance.controller.public_ip}"
type = "ssh"
user = "centos"
}
inline = [
"download and run script to verify environment"
]
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
894 次 |
最近记录: |