@volcengine/pulumi
Version:
A Pulumi package for creating and managing volcengine cloud resources.
347 lines (346 loc) • 9.96 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* Use this data source to query detailed information of ecs instances
* ## 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 fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
* securityGroupName: "acc-test-security-group",
* vpcId: fooVpc.id,
* });
* const fooImages = volcengine.ecs.getImages({
* osType: "Linux",
* visibility: "public",
* instanceTypeId: "ecs.g1.large",
* });
* const fooInstance: volcengine.ecs.Instance[] = [];
* for (const range = {value: 0}; range.value < 2; 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,
* dataVolumes: [{
* volumeType: "ESSD_PL0",
* size: 50,
* deleteWithInstance: true,
* }],
* subnetId: fooSubnet.id,
* securityGroupIds: [fooSecurityGroup.id],
* projectName: "default",
* tags: [{
* key: "k1",
* value: "v1",
* }],
* }));
* }
* const fooInstances = volcengine.ecs.getInstancesOutput({
* ids: fooInstance.map(__item => __item.id),
* });
* ```
*/
/** @deprecated volcengine.ecs.Instances has been deprecated in favor of volcengine.ecs.getInstances */
export declare function instances(args?: InstancesArgs, opts?: pulumi.InvokeOptions): Promise<InstancesResult>;
/**
* A collection of arguments for invoking Instances.
*/
export interface InstancesArgs {
/**
* A list of DeploymentSet IDs.
*/
deploymentSetIds?: string[];
/**
* A list of Eip addresses.
*/
eipAddresses?: string[];
/**
* The hpc cluster ID of ECS instance.
*/
hpcClusterId?: string;
/**
* A list of ECS instance IDs.
*/
ids?: string[];
/**
* The charge type of ECS instance.
*/
instanceChargeType?: string;
/**
* The name of ECS instance. This field support fuzzy query.
*/
instanceName?: string;
/**
* A list of instance type families.
*/
instanceTypeFamilies?: string[];
/**
* A list of instance type IDs.
*/
instanceTypeIds?: string[];
/**
* A list of ipv6 addresses.
*/
ipv6Addresses?: string[];
/**
* The key pair name of ECS instance.
*/
keyPairName?: string;
/**
* A Name Regex of ECS instance.
*/
nameRegex?: string;
/**
* File name where to save data source results.
*/
outputFile?: string;
/**
* The primary ip address of ECS instance.
*/
primaryIpAddress?: string;
/**
* The ProjectName of ECS instance.
*/
projectName?: string;
/**
* The status of ECS instance.
*/
status?: string;
/**
* Tags.
*/
tags?: inputs.ecs.InstancesTag[];
/**
* The VPC ID of ECS instance.
*/
vpcId?: string;
/**
* The available zone ID of ECS instance.
*/
zoneId?: string;
}
/**
* A collection of values returned by Instances.
*/
export interface InstancesResult {
readonly deploymentSetIds?: string[];
readonly eipAddresses?: string[];
readonly hpcClusterId?: string;
/**
* The provider-assigned unique ID for this managed resource.
*/
readonly id: string;
readonly ids?: string[];
/**
* The charge type of ECS instance.
*/
readonly instanceChargeType?: string;
/**
* The name of ECS instance.
*/
readonly instanceName?: string;
readonly instanceTypeFamilies?: string[];
readonly instanceTypeIds?: string[];
/**
* The collection of ECS instance query.
*/
readonly instances: outputs.ecs.InstancesInstance[];
/**
* The IPv6 address list of the ECS instance.
*/
readonly ipv6Addresses?: string[];
/**
* The ssh key name of ECS instance.
*/
readonly keyPairName?: string;
readonly nameRegex?: string;
readonly outputFile?: string;
/**
* The private ip address of networkInterface.
*/
readonly primaryIpAddress?: string;
/**
* The ProjectName of ECS instance.
*/
readonly projectName?: string;
/**
* The status of ECS instance.
*/
readonly status?: string;
/**
* Tags.
*/
readonly tags?: outputs.ecs.InstancesTag[];
/**
* The total count of ECS instance query.
*/
readonly totalCount: number;
/**
* The VPC ID of ECS instance.
*/
readonly vpcId?: string;
/**
* The available zone ID of ECS instance.
*/
readonly zoneId?: string;
}
/**
* Use this data source to query detailed information of ecs instances
* ## 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 fooSecurityGroup = new volcengine.vpc.SecurityGroup("fooSecurityGroup", {
* securityGroupName: "acc-test-security-group",
* vpcId: fooVpc.id,
* });
* const fooImages = volcengine.ecs.getImages({
* osType: "Linux",
* visibility: "public",
* instanceTypeId: "ecs.g1.large",
* });
* const fooInstance: volcengine.ecs.Instance[] = [];
* for (const range = {value: 0}; range.value < 2; 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,
* dataVolumes: [{
* volumeType: "ESSD_PL0",
* size: 50,
* deleteWithInstance: true,
* }],
* subnetId: fooSubnet.id,
* securityGroupIds: [fooSecurityGroup.id],
* projectName: "default",
* tags: [{
* key: "k1",
* value: "v1",
* }],
* }));
* }
* const fooInstances = volcengine.ecs.getInstancesOutput({
* ids: fooInstance.map(__item => __item.id),
* });
* ```
*/
/** @deprecated volcengine.ecs.Instances has been deprecated in favor of volcengine.ecs.getInstances */
export declare function instancesOutput(args?: InstancesOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<InstancesResult>;
/**
* A collection of arguments for invoking Instances.
*/
export interface InstancesOutputArgs {
/**
* A list of DeploymentSet IDs.
*/
deploymentSetIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of Eip addresses.
*/
eipAddresses?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The hpc cluster ID of ECS instance.
*/
hpcClusterId?: pulumi.Input<string>;
/**
* A list of ECS instance IDs.
*/
ids?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The charge type of ECS instance.
*/
instanceChargeType?: pulumi.Input<string>;
/**
* The name of ECS instance. This field support fuzzy query.
*/
instanceName?: pulumi.Input<string>;
/**
* A list of instance type families.
*/
instanceTypeFamilies?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of instance type IDs.
*/
instanceTypeIds?: pulumi.Input<pulumi.Input<string>[]>;
/**
* A list of ipv6 addresses.
*/
ipv6Addresses?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The key pair name of ECS instance.
*/
keyPairName?: pulumi.Input<string>;
/**
* A Name Regex of ECS instance.
*/
nameRegex?: pulumi.Input<string>;
/**
* File name where to save data source results.
*/
outputFile?: pulumi.Input<string>;
/**
* The primary ip address of ECS instance.
*/
primaryIpAddress?: pulumi.Input<string>;
/**
* The ProjectName of ECS instance.
*/
projectName?: pulumi.Input<string>;
/**
* The status of ECS instance.
*/
status?: pulumi.Input<string>;
/**
* Tags.
*/
tags?: pulumi.Input<pulumi.Input<inputs.ecs.InstancesTagArgs>[]>;
/**
* The VPC ID of ECS instance.
*/
vpcId?: pulumi.Input<string>;
/**
* The available zone ID of ECS instance.
*/
zoneId?: pulumi.Input<string>;
}