@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
176 lines (175 loc) • 5.49 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
/**
* Use this data source to query detailed information of scaling groups
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as volcengine from "@pulumi/volcengine";
* import * as volcengine from "@volcengine/pulumi";
*
* const fooZones = volcengine.ecs.getZones({});
* 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 fooScalingGroup: volcengine.autoscaling.ScalingGroup[] = [];
* for (const range = {value: 0}; range.value < 3; range.value++) {
* fooScalingGroup.push(new volcengine.autoscaling.ScalingGroup(`fooScalingGroup-${range.value}`, {
* scalingGroupName: `acc-test-scaling-group-${range.value}`,
* subnetIds: [fooSubnet.id],
* multiAzPolicy: "BALANCE",
* desireInstanceNumber: 0,
* minInstanceNumber: 0,
* maxInstanceNumber: 10,
* instanceTerminatePolicy: "OldestInstance",
* defaultCooldown: 30,
* tags: [
* {
* key: "k2",
* value: "v2",
* },
* {
* key: "k1",
* value: "v1",
* },
* ],
* }));
* }
* const default = volcengine.autoscaling.getScalingGroupsOutput({
* ids: fooScalingGroup.map(__item => __item.id),
* });
* ```
*/
export declare function getScalingGroups(args?: GetScalingGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetScalingGroupsResult>;
/**
* A collection of arguments for invoking getScalingGroups.
*/
export interface GetScalingGroupsArgs {
/**
* A list of scaling group ids.
*/
ids?: string[];
/**
* A Name Regex of scaling group.
*/
nameRegex?: string;
/**
* File name where to save data source results.
*/
outputFile?: string;
/**
* The project name of the scaling group.
*/
projectName?: string;
/**
* A list of scaling group names.
*/
scalingGroupNames?: string[];
}
/**
* A collection of values returned by getScalingGroups.
*/
export interface GetScalingGroupsResult {
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly ids?: string[];
readonly nameRegex?: string;
readonly outputFile?: string;
/**
* The ProjectName of scaling group.
*/
readonly projectName?: string;
readonly scalingGroupNames?: string[];
/**
* The collection of scaling group query.
*/
readonly scalingGroups: outputs.autoscaling.GetScalingGroupsScalingGroup[];
/**
* The total count of scaling group query.
*/
readonly totalCount: number;
}
/**
* Use this data source to query detailed information of scaling groups
* ## Example Usage
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as volcengine from "@pulumi/volcengine";
* import * as volcengine from "@volcengine/pulumi";
*
* const fooZones = volcengine.ecs.getZones({});
* 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 fooScalingGroup: volcengine.autoscaling.ScalingGroup[] = [];
* for (const range = {value: 0}; range.value < 3; range.value++) {
* fooScalingGroup.push(new volcengine.autoscaling.ScalingGroup(`fooScalingGroup-${range.value}`, {
* scalingGroupName: `acc-test-scaling-group-${range.value}`,
* subnetIds: [fooSubnet.id],
* multiAzPolicy: "BALANCE",
* desireInstanceNumber: 0,
* minInstanceNumber: 0,
* maxInstanceNumber: 10,
* instanceTerminatePolicy: "OldestInstance",
* defaultCooldown: 30,
* tags: [
* {
* key: "k2",
* value: "v2",
* },
* {
* key: "k1",
* value: "v1",
* },
* ],
* }));
* }
* const default = volcengine.autoscaling.getScalingGroupsOutput({
* ids: fooScalingGroup.map(__item => __item.id),
* });
* ```
*/
export declare function getScalingGroupsOutput(args?: GetScalingGroupsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetScalingGroupsResult>;
/**
* A collection of arguments for invoking getScalingGroups.
*/
export interface GetScalingGroupsOutputArgs {
/**
* A list of scaling group ids.
*/
ids?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A Name Regex of scaling group.
*/
nameRegex?: pulumi.Input<string>;
/**
* File name where to save data source results.
*/
outputFile?: pulumi.Input<string>;
/**
* The project name of the scaling group.
*/
projectName?: pulumi.Input<string>;
/**
* A list of scaling group names.
*/
scalingGroupNames?: pulumi.Input<pulumi.Input<string>[]>;
}