Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
data "aws_instance" "foo" {
instance_id = "i-instanceid"
filter {
name = "image-id"
values = ["ami-xxxxxxxx"]
}
filter {
name = "tag:Name"
values = ["instance-name-tag"]
}
}
instance_id - (Optional) Specify the exact Instance ID with which to populate the data source.
instance_tags - (Optional) A mapping of tags, each pair of which must exactly match a pair on the desired Instance.
filter - (Optional) One or more name/value pairs to use as filters. There are several valid keys, for a full reference, check out describe-instances in the AWS CLI reference.
get_password_data - (Optional) If true, wait for password data to become available and retrieve it. Useful for getting the administrator password for instances running Microsoft Windows. The password data is exported to the password_data attribute. See GetPasswordData for more information.
NOTE: At least one of
filter,instance_tags, orinstance_idmust be specified.
NOTE: If anything other than a single match is returned by the search, Terraform will fail. Ensure that your search is specific enough to return a single Instance ID only.
id is set to the ID of the found Instance. In addition, the following attributes are exported:
NOTE: Some values are not always set and may not be available for interpolation.
ami - The ID of the AMI used to launch the instance. associate_public_ip_address - Whether or not the Instance is associated with a public IP address or not (Boolean). availability_zone - The availability zone of the Instance. ebs_block_device - The EBS block device mappings of the Instance. delete_on_termination - If the EBS volume will be deleted on termination. device_name - The physical name of the device. encrypted - If the EBS volume is encrypted. iops - 0 If the EBS volume is not a provisioned IOPS image, otherwise the supported IOPS count. snapshot_id - The ID of the snapshot. volume_size - The size of the volume, in GiB. volume_type - The volume type. ebs_optimized - Whether the Instance is EBS optimized or not (Boolean). ephemeral_block_device - The ephemeral block device mappings of the Instance. device_name - The physical name of the device. no_device - Whether the specified device included in the device mapping was suppressed or not (Boolean). virtual_name - The virtual device name. iam_instance_profile - The name of the instance profile associated with the Instance. ipv6_addresses - The IPv6 addresses associated to the Instance, if applicable. NOTE: Unlike the IPv4 address, this doesn't change if you attach an EIP to the instance. instance_type - The type of the Instance. key_name - The key name of the Instance. monitoring - Whether detailed monitoring is enabled or disabled for the Instance (Boolean). network_interface_id - The ID of the network interface that was created with the Instance. password_data - Base-64 encoded encrypted password data for the instance. Useful for getting the administrator password for instances running Microsoft Windows. This attribute is only exported if get_password_data is true. See GetPasswordData for more information. placement_group - The placement group of the Instance. private_dns - The private DNS name assigned to the Instance. Can only be used inside the Amazon EC2, and only available if you've enabled DNS hostnames for your VPC. private_ip - The private IP address assigned to the Instance. public_dns - The public DNS name assigned to the Instance. For EC2-VPC, this is only available if you've enabled DNS hostnames for your VPC. public_ip - The public IP address assigned to the Instance, if applicable. NOTE: If you are using an aws_eip with your instance, you should refer to the EIP's address directly and not use public_ip, as this field will change after the EIP is attached. root_block_device - The root block device mappings of the Instance delete_on_termination - If the root block device will be deleted on termination. iops - 0 If the volume is not a provisioned IOPS image, otherwise the supported IOPS count. volume_size - The size of the volume, in GiB. volume_type - The type of the volume. security_groups - The associated security groups. source_dest_check - Whether the network interface performs source/destination checking (Boolean). subnet_id - The VPC subnet ID. user_data - The User Data supplied to the Instance. tags - A mapping of tags assigned to the Instance. tenancy - The tenancy of the instance: dedicated, default, host. vpc_security_group_ids - The associated security groups in a non-default VPC. credit_specification - The credit specification of the Instance.
© 2018 HashiCorpLicensed under the MPL 2.0 License.
https://www.terraform.io/docs/providers/aws/d/instance.html