2017-03-16 19 views
1

我使用默認的CentOS 7 AMI創建實例。此AMI自動創建一個卷並附加到該實例。是否有可能使用terraform來讀取該卷ID?我創建一個使用下面的代碼實例:Terraform:如何讀取一個實例的卷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

您將無法從aws_instance提取EBS細節,因爲它是AWS側,提供了一個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

相關問題