getInstance function

Future<GetInstanceResult> getInstance(
  1. GetInstanceArgs args, {
  2. InvokeOptions? options,
})

Use this data source to get the ID of an Amazon EC2 Instance for use in other resources.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const foo = aws.ec2.getInstance({
    filters: [
        {
            name: "image-id",
            values: ["ami-xxxxxxxx"],
        },
        {
            name: "tag:Name",
            values: ["instance-name-tag"],
        },
    ],
    instanceId: "i-instanceid",
});
import pulumi
import pulumi_aws as aws

foo = aws.ec2.get_instance(filters=[
        {
            "name": "image-id",
            "values": ["ami-xxxxxxxx"],
        },
        {
            "name": "tag:Name",
            "values": ["instance-name-tag"],
        },
    ],
    instance_id="i-instanceid")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() =>
{
    var foo = Aws.Ec2.GetInstance.Invoke(new()
    {
        Filters = new[]
        {
            new Aws.Ec2.Inputs.GetInstanceFilterInputArgs
            {
                Name = "image-id",
                Values = new[]
                {
                    "ami-xxxxxxxx",
                },
            },
            new Aws.Ec2.Inputs.GetInstanceFilterInputArgs
            {
                Name = "tag:Name",
                Values = new[]
                {
                    "instance-name-tag",
                },
            },
        },
        InstanceId = "i-instanceid",
    });

});
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.LookupInstance(ctx, &ec2.LookupInstanceArgs{
			Filters: []ec2.GetInstanceFilter{
				{
					Name: "image-id",
					Values: []string{
						"ami-xxxxxxxx",
					},
				},
				{
					Name: "tag:Name",
					Values: []string{
						"instance-name-tag",
					},
				},
			},
			InstanceId: pulumi.StringRef("i-instanceid"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
pulumi {
  required_providers {
    aws = {
      source = "pulumi/aws"
    }
  }
}

data "aws_ec2_getinstance" "foo" {
  filters {
    name   = "image-id"
    values = ["ami-xxxxxxxx"]
  }
  filters {
    name   = "tag:Name"
    values = ["instance-name-tag"]
  }
  instance_id = "i-instanceid"
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.Ec2Functions;
import com.pulumi.aws.ec2.inputs.GetInstanceArgs;
import com.pulumi.aws.ec2.inputs.GetInstanceFilterArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var foo = Ec2Functions.getInstance(GetInstanceArgs.builder()
            .filters(
                GetInstanceFilterArgs.builder()
                    .name("image-id")
                    .values("ami-xxxxxxxx")
                    .build(),
                GetInstanceFilterArgs.builder()
                    .name("tag:Name")
                    .values("instance-name-tag")
                    .build())
            .instanceId("i-instanceid")
            .build());

    }
}
variables:
  foo:
    fn::invoke:
      function: aws:ec2:getInstance
      arguments:
        filters:
          - name: image-id
            values:
              - ami-xxxxxxxx
          - name: tag:Name
            values:
              - instance-name-tag
        instanceId: i-instanceid

args Arguments passed to this invoke. Arguments for getInstance. options Invoke options controlling this call.

Implementation

Future<GetInstanceResult> getInstance(
  GetInstanceArgs args, {
  pulumi.InvokeOptions? options,
}) async {
  final deployment = pulumi.Deployment.instance;
  final result = await deployment.invoke<Map<String, dynamic>>(
    'aws:ec2/getInstance:getInstance',
    args.toMap(),
    options: pulumi.toDeploymentInvokeOptions(options),
  );
  return GetInstanceResult.fromMap(result);
}