Volcengine v0.0.27 published on Tuesday, Dec 10, 2024 by Volcengine
volcengine.autoscaling.ScalingInstances
Explore with Pulumi AI
Use this data source to query detailed information of scaling instances
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as volcengine from "@pulumi/volcengine";
import * as volcengine from "@volcengine/pulumi";
const fooZones = volcengine.ecs.Zones({});
const fooVpc = new volcengine.vpc.Vpc("fooVpc", {
    vpcName: "acc-test-vpc",
    cidrBlock: "172.16.0.0/16",
});
const fooSubnet = new volcengine.vpc.Subnet("fooSubnet", {
    subnetName: "acc-test-subnet",
    cidrBlock: "172.16.0.0/24",
    zoneId: fooZones.then(fooZones => fooZones.zones?.[0]?.id),
    vpcId: fooVpc.id,
});
const fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
    securityGroupName: "acc-test-security-group",
    vpcId: fooVpc.id,
});
const fooImages = volcengine.ecs.Images({
    osType: "Linux",
    visibility: "public",
    instanceTypeId: "ecs.g1.large",
});
const fooKeyPair = new volcengine.ecs.KeyPair("fooKeyPair", {
    description: "acc-test-2",
    keyPairName: "acc-test-key-pair-name",
});
const fooLaunchTemplate = new volcengine.ecs.LaunchTemplate("fooLaunchTemplate", {
    description: "acc-test-desc",
    eipBandwidth: 200,
    eipBillingType: "PostPaidByBandwidth",
    eipIsp: "BGP",
    hostName: "acc-hostname",
    imageId: fooImages.then(fooImages => fooImages.images?.[0]?.imageId),
    instanceChargeType: "PostPaid",
    instanceName: "acc-instance-name",
    instanceTypeId: "ecs.g1.large",
    keyPairName: fooKeyPair.keyPairName,
    launchTemplateName: "acc-test-template",
    networkInterfaces: [{
        subnetId: fooSubnet.id,
        securityGroupIds: [fooSecurityGroup.id],
    }],
    volumes: [{
        volumeType: "ESSD_PL0",
        size: 50,
        deleteWithInstance: true,
    }],
});
const fooScalingGroup = new volcengine.autoscaling.ScalingGroup("fooScalingGroup", {
    scalingGroupName: "acc-test-scaling-group",
    subnetIds: [fooSubnet.id],
    multiAzPolicy: "BALANCE",
    desireInstanceNumber: -1,
    minInstanceNumber: 0,
    maxInstanceNumber: 10,
    instanceTerminatePolicy: "OldestInstance",
    defaultCooldown: 10,
    launchTemplateId: fooLaunchTemplate.id,
    launchTemplateVersion: "Default",
});
const fooScalingGroupEnabler = new volcengine.autoscaling.ScalingGroupEnabler("fooScalingGroupEnabler", {scalingGroupId: fooScalingGroup.id});
const fooInstance: volcengine.ecs.Instance[] = [];
for (const range = {value: 0}; range.value < 3; range.value++) {
    fooInstance.push(new volcengine.ecs.Instance(`fooInstance-${range.value}`, {
        instanceName: `acc-test-ecs-${range.value}`,
        description: "acc-test",
        hostName: "tf-acc-test",
        imageId: fooImages.then(fooImages => fooImages.images?.[0]?.imageId),
        instanceType: "ecs.g1.large",
        password: "93f0cb0614Aab12",
        instanceChargeType: "PostPaid",
        systemVolumeType: "ESSD_PL0",
        systemVolumeSize: 40,
        subnetId: fooSubnet.id,
        securityGroupIds: [fooSecurityGroup.id],
    }));
}
const fooScalingInstanceAttachment: volcengine.autoscaling.ScalingInstanceAttachment[] = [];
fooInstance.length.apply(rangeBody => {
    for (const range = {value: 0}; range.value < rangeBody; range.value++) {
        fooScalingInstanceAttachment.push(new volcengine.autoscaling.ScalingInstanceAttachment(`fooScalingInstanceAttachment-${range.value}`, {
            instanceId: fooInstance[range.value].id,
            scalingGroupId: fooScalingGroup.id,
            entrusted: true,
        }, {
        dependsOn: [fooScalingGroupEnabler],
    }));
    }
});
const fooScalingInstances = volcengine.autoscaling.ScalingInstancesOutput({
    scalingGroupId: fooScalingGroup.id,
    ids: fooScalingInstanceAttachment.map(__item => __item.instanceId),
});
import pulumi
import pulumi_volcengine as volcengine
foo_zones = volcengine.ecs.zones()
foo_vpc = volcengine.vpc.Vpc("fooVpc",
    vpc_name="acc-test-vpc",
    cidr_block="172.16.0.0/16")
foo_subnet = volcengine.vpc.Subnet("fooSubnet",
    subnet_name="acc-test-subnet",
    cidr_block="172.16.0.0/24",
    zone_id=foo_zones.zones[0].id,
    vpc_id=foo_vpc.id)
foo_security_group = volcengine.vpc.SecurityGroup("fooSecurityGroup",
    security_group_name="acc-test-security-group",
    vpc_id=foo_vpc.id)
foo_images = volcengine.ecs.images(os_type="Linux",
    visibility="public",
    instance_type_id="ecs.g1.large")
foo_key_pair = volcengine.ecs.KeyPair("fooKeyPair",
    description="acc-test-2",
    key_pair_name="acc-test-key-pair-name")
foo_launch_template = volcengine.ecs.LaunchTemplate("fooLaunchTemplate",
    description="acc-test-desc",
    eip_bandwidth=200,
    eip_billing_type="PostPaidByBandwidth",
    eip_isp="BGP",
    host_name="acc-hostname",
    image_id=foo_images.images[0].image_id,
    instance_charge_type="PostPaid",
    instance_name="acc-instance-name",
    instance_type_id="ecs.g1.large",
    key_pair_name=foo_key_pair.key_pair_name,
    launch_template_name="acc-test-template",
    network_interfaces=[volcengine.ecs.LaunchTemplateNetworkInterfaceArgs(
        subnet_id=foo_subnet.id,
        security_group_ids=[foo_security_group.id],
    )],
    volumes=[volcengine.ecs.LaunchTemplateVolumeArgs(
        volume_type="ESSD_PL0",
        size=50,
        delete_with_instance=True,
    )])
foo_scaling_group = volcengine.autoscaling.ScalingGroup("fooScalingGroup",
    scaling_group_name="acc-test-scaling-group",
    subnet_ids=[foo_subnet.id],
    multi_az_policy="BALANCE",
    desire_instance_number=-1,
    min_instance_number=0,
    max_instance_number=10,
    instance_terminate_policy="OldestInstance",
    default_cooldown=10,
    launch_template_id=foo_launch_template.id,
    launch_template_version="Default")
foo_scaling_group_enabler = volcengine.autoscaling.ScalingGroupEnabler("fooScalingGroupEnabler", scaling_group_id=foo_scaling_group.id)
foo_instance = []
for range in [{"value": i} for i in range(0, 3)]:
    foo_instance.append(volcengine.ecs.Instance(f"fooInstance-{range['value']}",
        instance_name=f"acc-test-ecs-{range['value']}",
        description="acc-test",
        host_name="tf-acc-test",
        image_id=foo_images.images[0].image_id,
        instance_type="ecs.g1.large",
        password="93f0cb0614Aab12",
        instance_charge_type="PostPaid",
        system_volume_type="ESSD_PL0",
        system_volume_size=40,
        subnet_id=foo_subnet.id,
        security_group_ids=[foo_security_group.id]))
foo_scaling_instance_attachment = []
def create_foo_scaling_instance_attachment(range_body):
    for range in [{"value": i} for i in range(0, range_body)]:
        foo_scaling_instance_attachment.append(volcengine.autoscaling.ScalingInstanceAttachment(f"fooScalingInstanceAttachment-{range['value']}",
            instance_id=foo_instance[range["value"]].id,
            scaling_group_id=foo_scaling_group.id,
            entrusted=True,
            opts=pulumi.ResourceOptions(depends_on=[foo_scaling_group_enabler])))
(len(foo_instance)).apply(create_foo_scaling_instance_attachment)
foo_scaling_instances = volcengine.autoscaling.scaling_instances_output(scaling_group_id=foo_scaling_group.id,
    ids=[__item.instance_id for __item in foo_scaling_instance_attachment])
package main
import (
	"fmt"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/autoscaling"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/ecs"
	"github.com/volcengine/pulumi-volcengine/sdk/go/volcengine/vpc"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
fooZones, err := ecs.Zones(ctx, nil, nil);
if err != nil {
return err
}
fooVpc, err := vpc.NewVpc(ctx, "fooVpc", &vpc.VpcArgs{
VpcName: pulumi.String("acc-test-vpc"),
CidrBlock: pulumi.String("172.16.0.0/16"),
})
if err != nil {
return err
}
fooSubnet, err := vpc.NewSubnet(ctx, "fooSubnet", &vpc.SubnetArgs{
SubnetName: pulumi.String("acc-test-subnet"),
CidrBlock: pulumi.String("172.16.0.0/24"),
ZoneId: pulumi.String(fooZones.Zones[0].Id),
VpcId: fooVpc.ID(),
})
if err != nil {
return err
}
fooSecurityGroup, err := vpc.NewSecurityGroup(ctx, "fooSecurityGroup", &vpc.SecurityGroupArgs{
SecurityGroupName: pulumi.String("acc-test-security-group"),
VpcId: fooVpc.ID(),
})
if err != nil {
return err
}
fooImages, err := ecs.Images(ctx, &ecs.ImagesArgs{
OsType: pulumi.StringRef("Linux"),
Visibility: pulumi.StringRef("public"),
InstanceTypeId: pulumi.StringRef("ecs.g1.large"),
}, nil);
if err != nil {
return err
}
fooKeyPair, err := ecs.NewKeyPair(ctx, "fooKeyPair", &ecs.KeyPairArgs{
Description: pulumi.String("acc-test-2"),
KeyPairName: pulumi.String("acc-test-key-pair-name"),
})
if err != nil {
return err
}
fooLaunchTemplate, err := ecs.NewLaunchTemplate(ctx, "fooLaunchTemplate", &ecs.LaunchTemplateArgs{
Description: pulumi.String("acc-test-desc"),
EipBandwidth: pulumi.Int(200),
EipBillingType: pulumi.String("PostPaidByBandwidth"),
EipIsp: pulumi.String("BGP"),
HostName: pulumi.String("acc-hostname"),
ImageId: pulumi.String(fooImages.Images[0].ImageId),
InstanceChargeType: pulumi.String("PostPaid"),
InstanceName: pulumi.String("acc-instance-name"),
InstanceTypeId: pulumi.String("ecs.g1.large"),
KeyPairName: fooKeyPair.KeyPairName,
LaunchTemplateName: pulumi.String("acc-test-template"),
NetworkInterfaces: ecs.LaunchTemplateNetworkInterfaceArray{
&ecs.LaunchTemplateNetworkInterfaceArgs{
SubnetId: fooSubnet.ID(),
SecurityGroupIds: pulumi.StringArray{
fooSecurityGroup.ID(),
},
},
},
Volumes: ecs.LaunchTemplateVolumeArray{
&ecs.LaunchTemplateVolumeArgs{
VolumeType: pulumi.String("ESSD_PL0"),
Size: pulumi.Int(50),
DeleteWithInstance: pulumi.Bool(true),
},
},
})
if err != nil {
return err
}
fooScalingGroup, err := autoscaling.NewScalingGroup(ctx, "fooScalingGroup", &autoscaling.ScalingGroupArgs{
ScalingGroupName: pulumi.String("acc-test-scaling-group"),
SubnetIds: pulumi.StringArray{
fooSubnet.ID(),
},
MultiAzPolicy: pulumi.String("BALANCE"),
DesireInstanceNumber: -1,
MinInstanceNumber: pulumi.Int(0),
MaxInstanceNumber: pulumi.Int(10),
InstanceTerminatePolicy: pulumi.String("OldestInstance"),
DefaultCooldown: pulumi.Int(10),
LaunchTemplateId: fooLaunchTemplate.ID(),
LaunchTemplateVersion: pulumi.String("Default"),
})
if err != nil {
return err
}
fooScalingGroupEnabler, err := autoscaling.NewScalingGroupEnabler(ctx, "fooScalingGroupEnabler", &autoscaling.ScalingGroupEnablerArgs{
ScalingGroupId: fooScalingGroup.ID(),
})
if err != nil {
return err
}
var fooInstance []*ecs.Instance
for index := 0; index < 3; index++ {
    key0 := index
    val0 := index
__res, err := ecs.NewInstance(ctx, fmt.Sprintf("fooInstance-%v", key0), &ecs.InstanceArgs{
InstanceName: pulumi.String(fmt.Sprintf("acc-test-ecs-%v", val0)),
Description: pulumi.String("acc-test"),
HostName: pulumi.String("tf-acc-test"),
ImageId: pulumi.String(fooImages.Images[0].ImageId),
InstanceType: pulumi.String("ecs.g1.large"),
Password: pulumi.String("93f0cb0614Aab12"),
InstanceChargeType: pulumi.String("PostPaid"),
SystemVolumeType: pulumi.String("ESSD_PL0"),
SystemVolumeSize: pulumi.Int(40),
SubnetId: fooSubnet.ID(),
SecurityGroupIds: pulumi.StringArray{
fooSecurityGroup.ID(),
},
})
if err != nil {
return err
}
fooInstance = append(fooInstance, __res)
}
var fooScalingInstanceAttachment []*autoscaling.ScalingInstanceAttachment
for index := 0; index < len(fooInstance); index++ {
    key0 := index
    val0 := index
__res, err := autoscaling.NewScalingInstanceAttachment(ctx, fmt.Sprintf("fooScalingInstanceAttachment-%v", key0), &autoscaling.ScalingInstanceAttachmentArgs{
InstanceId: fooInstance[val0].ID(),
ScalingGroupId: fooScalingGroup.ID(),
Entrusted: pulumi.Bool(true),
}, pulumi.DependsOn([]pulumi.Resource{
fooScalingGroupEnabler,
}))
if err != nil {
return err
}
fooScalingInstanceAttachment = append(fooScalingInstanceAttachment, __res)
}
_ = autoscaling.ScalingInstancesOutput(ctx, autoscaling.ScalingInstancesOutputArgs{
ScalingGroupId: fooScalingGroup.ID(),
Ids: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ #-functions-volcengine:autoscaling-scalingInstances:ScalingInstances.pp:93,22-64),
}, nil);
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Volcengine = Pulumi.Volcengine;
return await Deployment.RunAsync(() => 
{
    var fooZones = Volcengine.Ecs.Zones.Invoke();
    var fooVpc = new Volcengine.Vpc.Vpc("fooVpc", new()
    {
        VpcName = "acc-test-vpc",
        CidrBlock = "172.16.0.0/16",
    });
    var fooSubnet = new Volcengine.Vpc.Subnet("fooSubnet", new()
    {
        SubnetName = "acc-test-subnet",
        CidrBlock = "172.16.0.0/24",
        ZoneId = fooZones.Apply(zonesResult => zonesResult.Zones[0]?.Id),
        VpcId = fooVpc.Id,
    });
    var fooSecurityGroup = new Volcengine.Vpc.SecurityGroup("fooSecurityGroup", new()
    {
        SecurityGroupName = "acc-test-security-group",
        VpcId = fooVpc.Id,
    });
    var fooImages = Volcengine.Ecs.Images.Invoke(new()
    {
        OsType = "Linux",
        Visibility = "public",
        InstanceTypeId = "ecs.g1.large",
    });
    var fooKeyPair = new Volcengine.Ecs.KeyPair("fooKeyPair", new()
    {
        Description = "acc-test-2",
        KeyPairName = "acc-test-key-pair-name",
    });
    var fooLaunchTemplate = new Volcengine.Ecs.LaunchTemplate("fooLaunchTemplate", new()
    {
        Description = "acc-test-desc",
        EipBandwidth = 200,
        EipBillingType = "PostPaidByBandwidth",
        EipIsp = "BGP",
        HostName = "acc-hostname",
        ImageId = fooImages.Apply(imagesResult => imagesResult.Images[0]?.ImageId),
        InstanceChargeType = "PostPaid",
        InstanceName = "acc-instance-name",
        InstanceTypeId = "ecs.g1.large",
        KeyPairName = fooKeyPair.KeyPairName,
        LaunchTemplateName = "acc-test-template",
        NetworkInterfaces = new[]
        {
            new Volcengine.Ecs.Inputs.LaunchTemplateNetworkInterfaceArgs
            {
                SubnetId = fooSubnet.Id,
                SecurityGroupIds = new[]
                {
                    fooSecurityGroup.Id,
                },
            },
        },
        Volumes = new[]
        {
            new Volcengine.Ecs.Inputs.LaunchTemplateVolumeArgs
            {
                VolumeType = "ESSD_PL0",
                Size = 50,
                DeleteWithInstance = true,
            },
        },
    });
    var fooScalingGroup = new Volcengine.Autoscaling.ScalingGroup("fooScalingGroup", new()
    {
        ScalingGroupName = "acc-test-scaling-group",
        SubnetIds = new[]
        {
            fooSubnet.Id,
        },
        MultiAzPolicy = "BALANCE",
        DesireInstanceNumber = -1,
        MinInstanceNumber = 0,
        MaxInstanceNumber = 10,
        InstanceTerminatePolicy = "OldestInstance",
        DefaultCooldown = 10,
        LaunchTemplateId = fooLaunchTemplate.Id,
        LaunchTemplateVersion = "Default",
    });
    var fooScalingGroupEnabler = new Volcengine.Autoscaling.ScalingGroupEnabler("fooScalingGroupEnabler", new()
    {
        ScalingGroupId = fooScalingGroup.Id,
    });
    var fooInstance = new List<Volcengine.Ecs.Instance>();
    for (var rangeIndex = 0; rangeIndex < 3; rangeIndex++)
    {
        var range = new { Value = rangeIndex };
        fooInstance.Add(new Volcengine.Ecs.Instance($"fooInstance-{range.Value}", new()
        {
            InstanceName = $"acc-test-ecs-{range.Value}",
            Description = "acc-test",
            HostName = "tf-acc-test",
            ImageId = fooImages.Apply(imagesResult => imagesResult.Images[0]?.ImageId),
            InstanceType = "ecs.g1.large",
            Password = "93f0cb0614Aab12",
            InstanceChargeType = "PostPaid",
            SystemVolumeType = "ESSD_PL0",
            SystemVolumeSize = 40,
            SubnetId = fooSubnet.Id,
            SecurityGroupIds = new[]
            {
                fooSecurityGroup.Id,
            },
        }));
    }
    var fooScalingInstanceAttachment = new List<Volcengine.Autoscaling.ScalingInstanceAttachment>();
    for (var rangeIndex = 0; rangeIndex < fooInstance.Length; rangeIndex++)
    {
        var range = new { Value = rangeIndex };
        fooScalingInstanceAttachment.Add(new Volcengine.Autoscaling.ScalingInstanceAttachment($"fooScalingInstanceAttachment-{range.Value}", new()
        {
            InstanceId = fooInstance[range.Value].Id,
            ScalingGroupId = fooScalingGroup.Id,
            Entrusted = true,
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                fooScalingGroupEnabler,
            },
        }));
    }
    var fooScalingInstances = Volcengine.Autoscaling.ScalingInstances.Invoke(new()
    {
        ScalingGroupId = fooScalingGroup.Id,
        Ids = fooScalingInstanceAttachment.Select(__item => __item.InstanceId).ToList(),
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.volcengine.ecs.EcsFunctions;
import com.pulumi.volcengine.ecs.inputs.ZonesArgs;
import com.pulumi.volcengine.vpc.Vpc;
import com.pulumi.volcengine.vpc.VpcArgs;
import com.pulumi.volcengine.vpc.Subnet;
import com.pulumi.volcengine.vpc.SubnetArgs;
import com.pulumi.volcengine.vpc.SecurityGroup;
import com.pulumi.volcengine.vpc.SecurityGroupArgs;
import com.pulumi.volcengine.ecs.inputs.ImagesArgs;
import com.pulumi.volcengine.ecs.KeyPair;
import com.pulumi.volcengine.ecs.KeyPairArgs;
import com.pulumi.volcengine.ecs.LaunchTemplate;
import com.pulumi.volcengine.ecs.LaunchTemplateArgs;
import com.pulumi.volcengine.ecs.inputs.LaunchTemplateNetworkInterfaceArgs;
import com.pulumi.volcengine.ecs.inputs.LaunchTemplateVolumeArgs;
import com.pulumi.volcengine.autoscaling.ScalingGroup;
import com.pulumi.volcengine.autoscaling.ScalingGroupArgs;
import com.pulumi.volcengine.autoscaling.ScalingGroupEnabler;
import com.pulumi.volcengine.autoscaling.ScalingGroupEnablerArgs;
import com.pulumi.volcengine.ecs.Instance;
import com.pulumi.volcengine.ecs.InstanceArgs;
import com.pulumi.volcengine.autoscaling.ScalingInstanceAttachment;
import com.pulumi.volcengine.autoscaling.ScalingInstanceAttachmentArgs;
import com.pulumi.volcengine.autoscaling.AutoscalingFunctions;
import com.pulumi.volcengine.autoscaling.inputs.ScalingInstancesArgs;
import com.pulumi.codegen.internal.KeyedValue;
import com.pulumi.resources.CustomResourceOptions;
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 fooZones = EcsFunctions.Zones();
        var fooVpc = new Vpc("fooVpc", VpcArgs.builder()        
            .vpcName("acc-test-vpc")
            .cidrBlock("172.16.0.0/16")
            .build());
        var fooSubnet = new Subnet("fooSubnet", SubnetArgs.builder()        
            .subnetName("acc-test-subnet")
            .cidrBlock("172.16.0.0/24")
            .zoneId(fooZones.applyValue(zonesResult -> zonesResult.zones()[0].id()))
            .vpcId(fooVpc.id())
            .build());
        var fooSecurityGroup = new SecurityGroup("fooSecurityGroup", SecurityGroupArgs.builder()        
            .securityGroupName("acc-test-security-group")
            .vpcId(fooVpc.id())
            .build());
        final var fooImages = EcsFunctions.Images(ImagesArgs.builder()
            .osType("Linux")
            .visibility("public")
            .instanceTypeId("ecs.g1.large")
            .build());
        var fooKeyPair = new KeyPair("fooKeyPair", KeyPairArgs.builder()        
            .description("acc-test-2")
            .keyPairName("acc-test-key-pair-name")
            .build());
        var fooLaunchTemplate = new LaunchTemplate("fooLaunchTemplate", LaunchTemplateArgs.builder()        
            .description("acc-test-desc")
            .eipBandwidth(200)
            .eipBillingType("PostPaidByBandwidth")
            .eipIsp("BGP")
            .hostName("acc-hostname")
            .imageId(fooImages.applyValue(imagesResult -> imagesResult.images()[0].imageId()))
            .instanceChargeType("PostPaid")
            .instanceName("acc-instance-name")
            .instanceTypeId("ecs.g1.large")
            .keyPairName(fooKeyPair.keyPairName())
            .launchTemplateName("acc-test-template")
            .networkInterfaces(LaunchTemplateNetworkInterfaceArgs.builder()
                .subnetId(fooSubnet.id())
                .securityGroupIds(fooSecurityGroup.id())
                .build())
            .volumes(LaunchTemplateVolumeArgs.builder()
                .volumeType("ESSD_PL0")
                .size(50)
                .deleteWithInstance(true)
                .build())
            .build());
        var fooScalingGroup = new ScalingGroup("fooScalingGroup", ScalingGroupArgs.builder()        
            .scalingGroupName("acc-test-scaling-group")
            .subnetIds(fooSubnet.id())
            .multiAzPolicy("BALANCE")
            .desireInstanceNumber("TODO: GenUnaryOpExpression")
            .minInstanceNumber(0)
            .maxInstanceNumber(10)
            .instanceTerminatePolicy("OldestInstance")
            .defaultCooldown(10)
            .launchTemplateId(fooLaunchTemplate.id())
            .launchTemplateVersion("Default")
            .build());
        var fooScalingGroupEnabler = new ScalingGroupEnabler("fooScalingGroupEnabler", ScalingGroupEnablerArgs.builder()        
            .scalingGroupId(fooScalingGroup.id())
            .build());
        for (var i = 0; i < 3; i++) {
            new Instance("fooInstance-" + i, InstanceArgs.builder()            
                .instanceName(String.format("acc-test-ecs-%s", range.value()))
                .description("acc-test")
                .hostName("tf-acc-test")
                .imageId(fooImages.applyValue(imagesResult -> imagesResult.images()[0].imageId()))
                .instanceType("ecs.g1.large")
                .password("93f0cb0614Aab12")
                .instanceChargeType("PostPaid")
                .systemVolumeType("ESSD_PL0")
                .systemVolumeSize(40)
                .subnetId(fooSubnet.id())
                .securityGroupIds(fooSecurityGroup.id())
                .build());
        
}
        for (var i = 0; i < fooInstance.length(); i++) {
            new ScalingInstanceAttachment("fooScalingInstanceAttachment-" + i, ScalingInstanceAttachmentArgs.builder()            
                .instanceId(fooInstance[range.value()].id())
                .scalingGroupId(fooScalingGroup.id())
                .entrusted(true)
                .build(), CustomResourceOptions.builder()
                    .dependsOn(fooScalingGroupEnabler)
                    .build());
        
}
        final var fooScalingInstances = AutoscalingFunctions.ScalingInstances(ScalingInstancesArgs.builder()
            .scalingGroupId(fooScalingGroup.id())
            .ids(fooScalingInstanceAttachment.stream().map(element -> element.instanceId()).collect(toList()))
            .build());
    }
}
Coming soon!
Using ScalingInstances
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function scalingInstances(args: ScalingInstancesArgs, opts?: InvokeOptions): Promise<ScalingInstancesResult>
function scalingInstancesOutput(args: ScalingInstancesOutputArgs, opts?: InvokeOptions): Output<ScalingInstancesResult>def scaling_instances(creation_type: Optional[str] = None,
                      ids: Optional[Sequence[str]] = None,
                      output_file: Optional[str] = None,
                      scaling_configuration_id: Optional[str] = None,
                      scaling_group_id: Optional[str] = None,
                      status: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> ScalingInstancesResult
def scaling_instances_output(creation_type: Optional[pulumi.Input[str]] = None,
                      ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                      output_file: Optional[pulumi.Input[str]] = None,
                      scaling_configuration_id: Optional[pulumi.Input[str]] = None,
                      scaling_group_id: Optional[pulumi.Input[str]] = None,
                      status: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[ScalingInstancesResult]func ScalingInstances(ctx *Context, args *ScalingInstancesArgs, opts ...InvokeOption) (*ScalingInstancesResult, error)
func ScalingInstancesOutput(ctx *Context, args *ScalingInstancesOutputArgs, opts ...InvokeOption) ScalingInstancesResultOutputpublic static class ScalingInstances 
{
    public static Task<ScalingInstancesResult> InvokeAsync(ScalingInstancesArgs args, InvokeOptions? opts = null)
    public static Output<ScalingInstancesResult> Invoke(ScalingInstancesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<ScalingInstancesResult> scalingInstances(ScalingInstancesArgs args, InvokeOptions options)
public static Output<ScalingInstancesResult> scalingInstances(ScalingInstancesArgs args, InvokeOptions options)
fn::invoke:
  function: volcengine:autoscaling:ScalingInstances
  arguments:
    # arguments dictionaryThe following arguments are supported:
- ScalingGroup stringId 
- The id of the scaling group.
- CreationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- Ids List<string>
- A list of instance ids.
- OutputFile string
- File name where to save data source results.
- ScalingConfiguration stringId 
- The id of the scaling configuration id.
- Status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- ScalingGroup stringId 
- The id of the scaling group.
- CreationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- Ids []string
- A list of instance ids.
- OutputFile string
- File name where to save data source results.
- ScalingConfiguration stringId 
- The id of the scaling configuration id.
- Status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- scalingGroup StringId 
- The id of the scaling group.
- creationType String
- The creation type of the instances. Valid values: AutoCreated, Attached.
- ids List<String>
- A list of instance ids.
- outputFile String
- File name where to save data source results.
- scalingConfiguration StringId 
- The id of the scaling configuration id.
- status String
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- scalingGroup stringId 
- The id of the scaling group.
- creationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- ids string[]
- A list of instance ids.
- outputFile string
- File name where to save data source results.
- scalingConfiguration stringId 
- The id of the scaling configuration id.
- status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- scaling_group_ strid 
- The id of the scaling group.
- creation_type str
- The creation type of the instances. Valid values: AutoCreated, Attached.
- ids Sequence[str]
- A list of instance ids.
- output_file str
- File name where to save data source results.
- scaling_configuration_ strid 
- The id of the scaling configuration id.
- status str
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- scalingGroup StringId 
- The id of the scaling group.
- creationType String
- The creation type of the instances. Valid values: AutoCreated, Attached.
- ids List<String>
- A list of instance ids.
- outputFile String
- File name where to save data source results.
- scalingConfiguration StringId 
- The id of the scaling configuration id.
- status String
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
ScalingInstances Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- ScalingGroup stringId 
- The id of the scaling group.
- ScalingInstances List<ScalingInstances Scaling Instance> 
- The collection of scaling instances.
- TotalCount int
- The total count of scaling instances query.
- CreationType string
- The creation type of the instance. Valid values: AutoCreated, Attached.
- Ids List<string>
- OutputFile string
- ScalingConfiguration stringId 
- The id of the scaling configuration.
- Status string
- The status of instances.
- Id string
- The provider-assigned unique ID for this managed resource.
- ScalingGroup stringId 
- The id of the scaling group.
- ScalingInstances []ScalingInstances Scaling Instance 
- The collection of scaling instances.
- TotalCount int
- The total count of scaling instances query.
- CreationType string
- The creation type of the instance. Valid values: AutoCreated, Attached.
- Ids []string
- OutputFile string
- ScalingConfiguration stringId 
- The id of the scaling configuration.
- Status string
- The status of instances.
- id String
- The provider-assigned unique ID for this managed resource.
- scalingGroup StringId 
- The id of the scaling group.
- scalingInstances List<ScalingInstances Scaling Instance> 
- The collection of scaling instances.
- totalCount Integer
- The total count of scaling instances query.
- creationType String
- The creation type of the instance. Valid values: AutoCreated, Attached.
- ids List<String>
- outputFile String
- scalingConfiguration StringId 
- The id of the scaling configuration.
- status String
- The status of instances.
- id string
- The provider-assigned unique ID for this managed resource.
- scalingGroup stringId 
- The id of the scaling group.
- scalingInstances ScalingInstances Scaling Instance[] 
- The collection of scaling instances.
- totalCount number
- The total count of scaling instances query.
- creationType string
- The creation type of the instance. Valid values: AutoCreated, Attached.
- ids string[]
- outputFile string
- scalingConfiguration stringId 
- The id of the scaling configuration.
- status string
- The status of instances.
- id str
- The provider-assigned unique ID for this managed resource.
- scaling_group_ strid 
- The id of the scaling group.
- scaling_instances Sequence[ScalingInstances Scaling Instance] 
- The collection of scaling instances.
- total_count int
- The total count of scaling instances query.
- creation_type str
- The creation type of the instance. Valid values: AutoCreated, Attached.
- ids Sequence[str]
- output_file str
- scaling_configuration_ strid 
- The id of the scaling configuration.
- status str
- The status of instances.
- id String
- The provider-assigned unique ID for this managed resource.
- scalingGroup StringId 
- The id of the scaling group.
- scalingInstances List<Property Map>
- The collection of scaling instances.
- totalCount Number
- The total count of scaling instances query.
- creationType String
- The creation type of the instance. Valid values: AutoCreated, Attached.
- ids List<String>
- outputFile String
- scalingConfiguration StringId 
- The id of the scaling configuration.
- status String
- The status of instances.
Supporting Types
ScalingInstancesScalingInstance   
- CreatedTime string
- The time when the instance was added to the scaling group.
- CreationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- Entrusted bool
- Whether to host the instance to a scaling group.
- Id string
- The id of the scaling instance.
- InstanceId string
- The id of the scaling instance.
- ScalingConfiguration stringId 
- The id of the scaling configuration id.
- ScalingGroup stringId 
- The id of the scaling group.
- ScalingPolicy stringId 
- The id of the scaling policy.
- Status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- CreatedTime string
- The time when the instance was added to the scaling group.
- CreationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- Entrusted bool
- Whether to host the instance to a scaling group.
- Id string
- The id of the scaling instance.
- InstanceId string
- The id of the scaling instance.
- ScalingConfiguration stringId 
- The id of the scaling configuration id.
- ScalingGroup stringId 
- The id of the scaling group.
- ScalingPolicy stringId 
- The id of the scaling policy.
- Status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- createdTime String
- The time when the instance was added to the scaling group.
- creationType String
- The creation type of the instances. Valid values: AutoCreated, Attached.
- entrusted Boolean
- Whether to host the instance to a scaling group.
- id String
- The id of the scaling instance.
- instanceId String
- The id of the scaling instance.
- scalingConfiguration StringId 
- The id of the scaling configuration id.
- scalingGroup StringId 
- The id of the scaling group.
- scalingPolicy StringId 
- The id of the scaling policy.
- status String
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- createdTime string
- The time when the instance was added to the scaling group.
- creationType string
- The creation type of the instances. Valid values: AutoCreated, Attached.
- entrusted boolean
- Whether to host the instance to a scaling group.
- id string
- The id of the scaling instance.
- instanceId string
- The id of the scaling instance.
- scalingConfiguration stringId 
- The id of the scaling configuration id.
- scalingGroup stringId 
- The id of the scaling group.
- scalingPolicy stringId 
- The id of the scaling policy.
- status string
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- created_time str
- The time when the instance was added to the scaling group.
- creation_type str
- The creation type of the instances. Valid values: AutoCreated, Attached.
- entrusted bool
- Whether to host the instance to a scaling group.
- id str
- The id of the scaling instance.
- instance_id str
- The id of the scaling instance.
- scaling_configuration_ strid 
- The id of the scaling configuration id.
- scaling_group_ strid 
- The id of the scaling group.
- scaling_policy_ strid 
- The id of the scaling policy.
- status str
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
- createdTime String
- The time when the instance was added to the scaling group.
- creationType String
- The creation type of the instances. Valid values: AutoCreated, Attached.
- entrusted Boolean
- Whether to host the instance to a scaling group.
- id String
- The id of the scaling instance.
- instanceId String
- The id of the scaling instance.
- scalingConfiguration StringId 
- The id of the scaling configuration id.
- scalingGroup StringId 
- The id of the scaling group.
- scalingPolicy StringId 
- The id of the scaling policy.
- status String
- The status of instances. Valid values: Init, Pending, Pending:Wait, InService, Error, Removing, Removing:Wait, Stopped, Protected.
Package Details
- Repository
- volcengine volcengine/pulumi-volcengine
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the volcengineTerraform Provider.