Data Source: aws_instance
Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.
Example Usage
data "aws_instance" "foo" {
instance_id = "i-instanceid"
filter {
name = "image-id"
values = ["ami-xxxxxxxx"]
}
filter {
name = "tag:Name"
values = ["instance-name-tag"]
}
}
Argument Reference
-
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 thepassword_dataattribute. 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.
Attributes Reference
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-0If 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 ifget_password_datais 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 anaws_eipwith your instance, you should refer to the EIP's address directly and not usepublic_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-0If 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