2017-03-16 4 views
1

私はデフォルトのCentOS 7 AMIでインスタンスを作成します。このAMIは自動的にボリュームを作成し、インスタンスにアタッチします。 terraformを使ってそのボリュームIDを読み取ることは可能ですか?私は次のコードを使用してインスタンスを作成します。Terraform:1つのインスタンスのボリュームIDを読み取る方法は?

resource "aws_instance" "DCOS-master3" { 
    ami = "${var.aws_centos_ami}" 
    availability_zone = "eu-west-1b" 
    instance_type = "t2.medium" 
    key_name = "${var.aws_key_name}" 
    security_groups = ["${aws_security_group.bastion.id}"] 
    associate_public_ip_address = true 
    private_ip = "10.0.0.13" 
    source_dest_check = false 
    subnet_id = "${aws_subnet.eu-west-1b-public.id}" 

    tags { 
      Name = "master3" 
     } 
} 

答えて

2

それは、リソースへのEBSボリュームを提供AWS側ですので、あなたがaws_instanceからEBSの詳細を抽出することができません。

しかし、EBS data sourceをいくつかのフィルタで定義することができます。

data "aws_ebs_volume" "ebs_volume" { 
    most_recent = true 

    filter { 
    name = "attachment.instance-id" 
    values = ["${aws_instance.DCOS-master3.id}"] 
    } 
} 

output "ebs_volume_id" { 
    value = "${data.aws_ebs_volume.ebs_volume.id}" 
} 

あなたはここでEBSのフィルタを参照できます。 http://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html

関連する問題