get Instances
The Instances data source list ECS instance resources according to their ID, name regex, image id, status and other fields.
NOTE: Available since v1.7.0.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const instancesDs = alicloud.ecs.getInstances({
nameRegex: "web_server",
status: "Running",
});
export const firstInstanceId = instancesDs.then(instancesDs => instancesDs.instances?.[0]?.id);
export const instanceIds = instancesDs.then(instancesDs => instancesDs.ids);
import pulumi
import pulumi_alicloud as alicloud
instances_ds = alicloud.ecs.get_instances(name_regex="web_server",
status="Running")
pulumi.export("firstInstanceId", instances_ds.instances[0].id)
pulumi.export("instanceIds", instances_ds.ids)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var instancesDs = AliCloud.Ecs.GetInstances.Invoke(new()
{
NameRegex = "web_server",
Status = "Running",
});
return new Dictionary<string, object?>
{
["firstInstanceId"] = instancesDs.Apply(getInstancesResult => getInstancesResult.Instances[0]?.Id),
["instanceIds"] = instancesDs.Apply(getInstancesResult => getInstancesResult.Ids),
};
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
instancesDs, err := ecs.GetInstances(ctx, &ecs.GetInstancesArgs{
NameRegex: pulumi.StringRef("web_server"),
Status: pulumi.StringRef("Running"),
}, nil)
if err != nil {
return err
}
ctx.Export("firstInstanceId", instancesDs.Instances[0].Id)
ctx.Export("instanceIds", instancesDs.Ids)
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;
import java.util.List;
import java.util.ArrayList;
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 instancesDs = EcsFunctions.getInstances(GetInstancesArgs.builder()
.nameRegex("web_server")
.status("Running")
.build());
ctx.export("firstInstanceId", instancesDs.instances()[0].id());
ctx.export("instanceIds", instancesDs.ids());
}
}
variables:
instancesDs:
fn::invoke:
function: alicloud:ecs:getInstances
arguments:
nameRegex: web_server
status: Running
outputs:
firstInstanceId: ${instancesDs.instances[0].id}
instanceIds: ${instancesDs.ids}
Return
A collection of values returned by getInstances.
Parameters
A collection of arguments for invoking getInstances.
Return
A collection of values returned by getInstances.
Parameters
Availability zone where instances are located.
Default to true
. If false, the attributes ram_role_name
and disk_device_mappings
will not be fetched and output.
A list of ECS instance IDs.
The image ID of some ECS instance used.
The name of the instance. Fuzzy search with the asterisk (*) wildcard characters is supported.
A regex string to filter results by instance name.
File name where to save data source results (after running pulumi preview
).
The RAM role name which the instance attaches.
The ID of resource group which the instance belongs.
Instance status. Valid values: "Creating", "Starting", "Running", "Stopping" and "Stopped". If undefined, all statuses are considered.
A map of tags assigned to the ECS instances. It must be in the format:
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const taggedInstances = alicloud.ecs.getInstances({
tags: {
tagKey1: "tagValue1",
tagKey2: "tagValue2",
},
});
import pulumi
import pulumi_alicloud as alicloud
tagged_instances = alicloud.ecs.get_instances(tags={
"tagKey1": "tagValue1",
"tagKey2": "tagValue2",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var taggedInstances = AliCloud.Ecs.GetInstances.Invoke(new()
{
Tags =
{
{ "tagKey1", "tagValue1" },
{ "tagKey2", "tagValue2" },
},
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := ecs.GetInstances(ctx, &ecs.GetInstancesArgs{
Tags: map[string]interface{}{
"tagKey1": "tagValue1",
"tagKey2": "tagValue2",
},
}, nil)
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetInstancesArgs;
import java.util.List;
import java.util.ArrayList;
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 taggedInstances = EcsFunctions.getInstances(GetInstancesArgs.builder()
.tags(Map.ofEntries(
Map.entry("tagKey1", "tagValue1"),
Map.entry("tagKey2", "tagValue2")
))
.build());
}
}
variables:
taggedInstances:
fn::invoke:
function: alicloud:ecs:getInstances
arguments:
tags:
tagKey1: tagValue1
tagKey2: tagValue2
ID of the VPC linked to the instances.
ID of the vSwitch linked to the instances.
See also
Return
A collection of values returned by getInstances.
Parameters
Builder for com.pulumi.alicloud.ecs.kotlin.inputs.GetInstancesPlainArgs.