1. Packages
  2. Volcengine
  3. API Docs
  4. autoscaling
  5. ScalingActivities
Volcengine v0.0.27 published on Tuesday, Dec 10, 2024 by Volcengine

volcengine.autoscaling.ScalingActivities

Explore with Pulumi AI

Volcengine v0.0.27 published on Tuesday, Dec 10, 2024 by Volcengine

Use this data source to query detailed information of scaling activities

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 fooScalingActivities = volcengine.autoscaling.ScalingActivitiesOutput({
    scalingGroupId: fooScalingGroup.id,
});
Copy
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_activities = volcengine.autoscaling.scaling_activities_output(scaling_group_id=foo_scaling_group.id)
Copy
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.ScalingActivitiesOutput(ctx, autoscaling.ScalingActivitiesOutputArgs{
			ScalingGroupId: fooScalingGroup.ID(),
		}, nil)
		return nil
	})
}
Copy
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 fooScalingActivities = Volcengine.Autoscaling.ScalingActivities.Invoke(new()
    {
        ScalingGroupId = fooScalingGroup.Id,
    });

});
Copy
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.ScalingActivitiesArgs;
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 fooScalingActivities = AutoscalingFunctions.ScalingActivities(ScalingActivitiesArgs.builder()
            .scalingGroupId(fooScalingGroup.id())
            .build());

    }
}
Copy
Coming soon!

Using ScalingActivities

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 scalingActivities(args: ScalingActivitiesArgs, opts?: InvokeOptions): Promise<ScalingActivitiesResult>
function scalingActivitiesOutput(args: ScalingActivitiesOutputArgs, opts?: InvokeOptions): Output<ScalingActivitiesResult>
Copy
def scaling_activities(end_time: Optional[str] = None,
                       ids: Optional[Sequence[str]] = None,
                       output_file: Optional[str] = None,
                       scaling_group_id: Optional[str] = None,
                       start_time: Optional[str] = None,
                       status_code: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> ScalingActivitiesResult
def scaling_activities_output(end_time: Optional[pulumi.Input[str]] = None,
                       ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                       output_file: Optional[pulumi.Input[str]] = None,
                       scaling_group_id: Optional[pulumi.Input[str]] = None,
                       start_time: Optional[pulumi.Input[str]] = None,
                       status_code: Optional[pulumi.Input[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[ScalingActivitiesResult]
Copy
func ScalingActivities(ctx *Context, args *ScalingActivitiesArgs, opts ...InvokeOption) (*ScalingActivitiesResult, error)
func ScalingActivitiesOutput(ctx *Context, args *ScalingActivitiesOutputArgs, opts ...InvokeOption) ScalingActivitiesResultOutput
Copy
public static class ScalingActivities 
{
    public static Task<ScalingActivitiesResult> InvokeAsync(ScalingActivitiesArgs args, InvokeOptions? opts = null)
    public static Output<ScalingActivitiesResult> Invoke(ScalingActivitiesInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<ScalingActivitiesResult> scalingActivities(ScalingActivitiesArgs args, InvokeOptions options)
public static Output<ScalingActivitiesResult> scalingActivities(ScalingActivitiesArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: volcengine:autoscaling:ScalingActivities
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

ScalingGroupId This property is required. string
A Id of Scaling Group.
EndTime string
An end time to start a Scaling Activity.
Ids List<string>
A list of Scaling Activity IDs.
OutputFile string
File name where to save data source results.
StartTime string
A start time to start a Scaling Activity.
StatusCode string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
ScalingGroupId This property is required. string
A Id of Scaling Group.
EndTime string
An end time to start a Scaling Activity.
Ids []string
A list of Scaling Activity IDs.
OutputFile string
File name where to save data source results.
StartTime string
A start time to start a Scaling Activity.
StatusCode string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
scalingGroupId This property is required. String
A Id of Scaling Group.
endTime String
An end time to start a Scaling Activity.
ids List<String>
A list of Scaling Activity IDs.
outputFile String
File name where to save data source results.
startTime String
A start time to start a Scaling Activity.
statusCode String
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
scalingGroupId This property is required. string
A Id of Scaling Group.
endTime string
An end time to start a Scaling Activity.
ids string[]
A list of Scaling Activity IDs.
outputFile string
File name where to save data source results.
startTime string
A start time to start a Scaling Activity.
statusCode string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
scaling_group_id This property is required. str
A Id of Scaling Group.
end_time str
An end time to start a Scaling Activity.
ids Sequence[str]
A list of Scaling Activity IDs.
output_file str
File name where to save data source results.
start_time str
A start time to start a Scaling Activity.
status_code str
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
scalingGroupId This property is required. String
A Id of Scaling Group.
endTime String
An end time to start a Scaling Activity.
ids List<String>
A list of Scaling Activity IDs.
outputFile String
File name where to save data source results.
startTime String
A start time to start a Scaling Activity.
statusCode String
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.

ScalingActivities Result

The following output properties are available:

Activities List<ScalingActivitiesActivity>
The collection of Scaling Activity query.
Id string
The provider-assigned unique ID for this managed resource.
ScalingGroupId string
The scaling group Id.
TotalCount int
The total count of Scaling Activity query.
EndTime string
Ids List<string>
OutputFile string
StartTime string
StatusCode string
The Status Code of Scaling Activity.
Activities []ScalingActivitiesActivity
The collection of Scaling Activity query.
Id string
The provider-assigned unique ID for this managed resource.
ScalingGroupId string
The scaling group Id.
TotalCount int
The total count of Scaling Activity query.
EndTime string
Ids []string
OutputFile string
StartTime string
StatusCode string
The Status Code of Scaling Activity.
activities List<ScalingActivitiesActivity>
The collection of Scaling Activity query.
id String
The provider-assigned unique ID for this managed resource.
scalingGroupId String
The scaling group Id.
totalCount Integer
The total count of Scaling Activity query.
endTime String
ids List<String>
outputFile String
startTime String
statusCode String
The Status Code of Scaling Activity.
activities ScalingActivitiesActivity[]
The collection of Scaling Activity query.
id string
The provider-assigned unique ID for this managed resource.
scalingGroupId string
The scaling group Id.
totalCount number
The total count of Scaling Activity query.
endTime string
ids string[]
outputFile string
startTime string
statusCode string
The Status Code of Scaling Activity.
activities Sequence[ScalingActivitiesActivity]
The collection of Scaling Activity query.
id str
The provider-assigned unique ID for this managed resource.
scaling_group_id str
The scaling group Id.
total_count int
The total count of Scaling Activity query.
end_time str
ids Sequence[str]
output_file str
start_time str
status_code str
The Status Code of Scaling Activity.
activities List<Property Map>
The collection of Scaling Activity query.
id String
The provider-assigned unique ID for this managed resource.
scalingGroupId String
The scaling group Id.
totalCount Number
The total count of Scaling Activity query.
endTime String
ids List<String>
outputFile String
startTime String
statusCode String
The Status Code of Scaling Activity.

Supporting Types

ScalingActivitiesActivity

ActivityType This property is required. string
The Actual Type.
ActualAdjustInstanceNumber This property is required. int
The Actual Adjustment Instance Number.
Cooldown This property is required. int
The Cooldown time.
CreatedAt This property is required. string
The create time of Scaling Activity.
CurrentInstanceNumber This property is required. int
The Current Instance Number.
ExpectedRunTime This property is required. string
The expected run time of Scaling Activity.
Id This property is required. string
The ID of Scaling Activity.
MaxInstanceNumber This property is required. int
The Max Instance Number.
MinInstanceNumber This property is required. int
The Min Instance Number.
RelatedInstances This property is required. List<ScalingActivitiesActivityRelatedInstance>
The related instances.
ResultMsg This property is required. string
The Result of Scaling Activity.
ScalingActivityId This property is required. string
The ID of Scaling Activity.
ScalingGroupId This property is required. string
A Id of Scaling Group.
StatusCode This property is required. string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
StoppedAt This property is required. string
The stopped time of Scaling Activity.
TaskCategory This property is required. string
The task category of Scaling Activity.
ActivityType This property is required. string
The Actual Type.
ActualAdjustInstanceNumber This property is required. int
The Actual Adjustment Instance Number.
Cooldown This property is required. int
The Cooldown time.
CreatedAt This property is required. string
The create time of Scaling Activity.
CurrentInstanceNumber This property is required. int
The Current Instance Number.
ExpectedRunTime This property is required. string
The expected run time of Scaling Activity.
Id This property is required. string
The ID of Scaling Activity.
MaxInstanceNumber This property is required. int
The Max Instance Number.
MinInstanceNumber This property is required. int
The Min Instance Number.
RelatedInstances This property is required. []ScalingActivitiesActivityRelatedInstance
The related instances.
ResultMsg This property is required. string
The Result of Scaling Activity.
ScalingActivityId This property is required. string
The ID of Scaling Activity.
ScalingGroupId This property is required. string
A Id of Scaling Group.
StatusCode This property is required. string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
StoppedAt This property is required. string
The stopped time of Scaling Activity.
TaskCategory This property is required. string
The task category of Scaling Activity.
activityType This property is required. String
The Actual Type.
actualAdjustInstanceNumber This property is required. Integer
The Actual Adjustment Instance Number.
cooldown This property is required. Integer
The Cooldown time.
createdAt This property is required. String
The create time of Scaling Activity.
currentInstanceNumber This property is required. Integer
The Current Instance Number.
expectedRunTime This property is required. String
The expected run time of Scaling Activity.
id This property is required. String
The ID of Scaling Activity.
maxInstanceNumber This property is required. Integer
The Max Instance Number.
minInstanceNumber This property is required. Integer
The Min Instance Number.
relatedInstances This property is required. List<ScalingActivitiesActivityRelatedInstance>
The related instances.
resultMsg This property is required. String
The Result of Scaling Activity.
scalingActivityId This property is required. String
The ID of Scaling Activity.
scalingGroupId This property is required. String
A Id of Scaling Group.
statusCode This property is required. String
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
stoppedAt This property is required. String
The stopped time of Scaling Activity.
taskCategory This property is required. String
The task category of Scaling Activity.
activityType This property is required. string
The Actual Type.
actualAdjustInstanceNumber This property is required. number
The Actual Adjustment Instance Number.
cooldown This property is required. number
The Cooldown time.
createdAt This property is required. string
The create time of Scaling Activity.
currentInstanceNumber This property is required. number
The Current Instance Number.
expectedRunTime This property is required. string
The expected run time of Scaling Activity.
id This property is required. string
The ID of Scaling Activity.
maxInstanceNumber This property is required. number
The Max Instance Number.
minInstanceNumber This property is required. number
The Min Instance Number.
relatedInstances This property is required. ScalingActivitiesActivityRelatedInstance[]
The related instances.
resultMsg This property is required. string
The Result of Scaling Activity.
scalingActivityId This property is required. string
The ID of Scaling Activity.
scalingGroupId This property is required. string
A Id of Scaling Group.
statusCode This property is required. string
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
stoppedAt This property is required. string
The stopped time of Scaling Activity.
taskCategory This property is required. string
The task category of Scaling Activity.
activity_type This property is required. str
The Actual Type.
actual_adjust_instance_number This property is required. int
The Actual Adjustment Instance Number.
cooldown This property is required. int
The Cooldown time.
created_at This property is required. str
The create time of Scaling Activity.
current_instance_number This property is required. int
The Current Instance Number.
expected_run_time This property is required. str
The expected run time of Scaling Activity.
id This property is required. str
The ID of Scaling Activity.
max_instance_number This property is required. int
The Max Instance Number.
min_instance_number This property is required. int
The Min Instance Number.
related_instances This property is required. Sequence[ScalingActivitiesActivityRelatedInstance]
The related instances.
result_msg This property is required. str
The Result of Scaling Activity.
scaling_activity_id This property is required. str
The ID of Scaling Activity.
scaling_group_id This property is required. str
A Id of Scaling Group.
status_code This property is required. str
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
stopped_at This property is required. str
The stopped time of Scaling Activity.
task_category This property is required. str
The task category of Scaling Activity.
activityType This property is required. String
The Actual Type.
actualAdjustInstanceNumber This property is required. Number
The Actual Adjustment Instance Number.
cooldown This property is required. Number
The Cooldown time.
createdAt This property is required. String
The create time of Scaling Activity.
currentInstanceNumber This property is required. Number
The Current Instance Number.
expectedRunTime This property is required. String
The expected run time of Scaling Activity.
id This property is required. String
The ID of Scaling Activity.
maxInstanceNumber This property is required. Number
The Max Instance Number.
minInstanceNumber This property is required. Number
The Min Instance Number.
relatedInstances This property is required. List<Property Map>
The related instances.
resultMsg This property is required. String
The Result of Scaling Activity.
scalingActivityId This property is required. String
The ID of Scaling Activity.
scalingGroupId This property is required. String
A Id of Scaling Group.
statusCode This property is required. String
A status code of Scaling Activity. Valid values: Init, Running, Success, PartialSuccess, Error, Rejected, Exception.
stoppedAt This property is required. String
The stopped time of Scaling Activity.
taskCategory This property is required. String
The task category of Scaling Activity.

ScalingActivitiesActivityRelatedInstance

InstanceId This property is required. string
The Instance ID.
Message This property is required. string
The message of Instance.
OperateType This property is required. string
The Operation Type.
Status This property is required. string
The Status.
InstanceId This property is required. string
The Instance ID.
Message This property is required. string
The message of Instance.
OperateType This property is required. string
The Operation Type.
Status This property is required. string
The Status.
instanceId This property is required. String
The Instance ID.
message This property is required. String
The message of Instance.
operateType This property is required. String
The Operation Type.
status This property is required. String
The Status.
instanceId This property is required. string
The Instance ID.
message This property is required. string
The message of Instance.
operateType This property is required. string
The Operation Type.
status This property is required. string
The Status.
instance_id This property is required. str
The Instance ID.
message This property is required. str
The message of Instance.
operate_type This property is required. str
The Operation Type.
status This property is required. str
The Status.
instanceId This property is required. String
The Instance ID.
message This property is required. String
The message of Instance.
operateType This property is required. String
The Operation Type.
status This property is required. String
The Status.

Package Details

Repository
volcengine volcengine/pulumi-volcengine
License
Apache-2.0
Notes
This Pulumi package is based on the volcengine Terraform Provider.
Volcengine v0.0.27 published on Tuesday, Dec 10, 2024 by Volcengine