4.4 KiB
layout, page_title, sidebar_current, description
| layout | page_title | sidebar_current | description |
|---|---|---|---|
| aws | AWS: aws_instance | docs-aws-datasource-instance | Get information on an Amazon EC2 Instance. |
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.
~> NOTE: At least one of filter, instance_tags, or instance_id must 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.
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 instance profile associated with the Instance. Specified as an ARN.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.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 Instancedelete_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.