Module ecs

This page documents the language specification for the alicloud package. If you're looking for help working with the inputs, outputs, or functions of alicloud resources in a Pulumi program, please see the resource documentation for examples and API reference.

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-alicloud repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-alicloud repo.

Resources

Functions

Others

Resources

Resource AutoProvisioningGroup

class AutoProvisioningGroup extends CustomResource

Provides a ECS auto provisioning group resource which is a solution that uses preemptive instances and payAsYouGo instances to rapidly deploy clusters.

NOTE: Available in 1.79.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "autoProvisioningGroup";

const defaultZones = pulumi.output(alicloud.getZones({
    availableDiskCategory: "cloudEfficiency",
    availableResourceCreation: "VSwitch",
}, { async: true }));
const defaultNetwork = new alicloud.vpc.Network("default", {
    cidrBlock: "172.16.0.0/16",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "172.16.0.0/24",
    vpcId: defaultNetwork.id,
});
const defaultSecurityGroup = new alicloud.ecs.SecurityGroup("default", {
    vpcId: defaultNetwork.id,
});
const defaultImages = pulumi.output(alicloud.ecs.getImages({
    mostRecent: true,
    nameRegex: "^ubuntu_18.*64",
    owners: "system",
}, { async: true }));
const template = new alicloud.ecs.LaunchTemplate("template", {
    imageId: defaultImages.images[0].id,
    instanceType: "ecs.n1.tiny",
    securityGroupId: defaultSecurityGroup.id,
});
const defaultAutoProvisioningGroup = new alicloud.ecs.AutoProvisioningGroup("default", {
    launchTemplateConfigs: [{
        instanceType: "ecs.n1.small",
        vswitchId: defaultSwitch.id,
    }],
    launchTemplateId: template.id,
    payAsYouGoTargetCapacity: "1",
    spotTargetCapacity: "2",
    totalTargetCapacity: "4",
});

Block config

The config mapping supports the following: * instanceType - (Optional) The instance type of the Nth extended configurations of the launch template. * maxPrice - (Required) The maximum price of the instance type specified in the Nth extended configurations of the launch template. * vswitchId - (Required) The ID of the VSwitch in the Nth extended configurations of the launch template. * weightedCapacity - (Optional) The weight of the instance type specified in the Nth extended configurations of the launch template. * priority - (Optional) The priority of the instance type specified in the Nth extended configurations of the launch template. A value of 0 indicates the highest priority.

constructor

new AutoProvisioningGroup(name: string, args: AutoProvisioningGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a AutoProvisioningGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AutoProvisioningGroupState, opts?: pulumi.CustomResourceOptions): AutoProvisioningGroup

Get an existing AutoProvisioningGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is AutoProvisioningGroup

Returns true if the given object is an instance of AutoProvisioningGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoProvisioningGroupName

public autoProvisioningGroupName: pulumi.Output<string | undefined>;

property autoProvisioningGroupType

public autoProvisioningGroupType: pulumi.Output<string | undefined>;

property defaultTargetCapacityType

public defaultTargetCapacityType: pulumi.Output<string | undefined>;

The type of supplemental instances. When the total value of PayAsYouGoTargetCapacity and SpotTargetCapacity is smaller than the value of TotalTargetCapacity, the auto provisioning group will create instances of the specified type to meet the capacity requirements. Valid values:PayAsYouGo: Pay-as-you-go instances; Spot: Preemptible instances, Default value: Spot.

property description

public description: pulumi.Output<string | undefined>;

The description of the auto provisioning group.

property excessCapacityTerminationPolicy

public excessCapacityTerminationPolicy: pulumi.Output<string | undefined>;

The shutdown policy for excess preemptible instances followed when the capacity of the auto provisioning group exceeds the target capacity. Valid values: no-termination and termination,Default value: no-termination.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property launchTemplateConfigs

public launchTemplateConfigs: pulumi.Output<AutoProvisioningGroupLaunchTemplateConfig[]>;

DataDisk mappings to attach to ecs instance. See Block config below for details.

property launchTemplateId

public launchTemplateId: pulumi.Output<string>;

The ID of the instance launch template associated with the auto provisioning group.

property launchTemplateVersion

public launchTemplateVersion: pulumi.Output<string | undefined>;

The version of the instance launch template associated with the auto provisioning group.

property maxSpotPrice

public maxSpotPrice: pulumi.Output<number | undefined>;

The global maximum price for preemptible instances in the auto provisioning group. If both the MaxSpotPrice and LaunchTemplateConfig.N.MaxPrice parameters are specified, the maximum price is the lower value of the two.

property payAsYouGoAllocationStrategy

public payAsYouGoAllocationStrategy: pulumi.Output<string | undefined>;

The scale-out policy for pay-as-you-go instances. Valid values: lowest-price and prioritized,Default value: lowest-price.

property payAsYouGoTargetCapacity

public payAsYouGoTargetCapacity: pulumi.Output<string | undefined>;

The target capacity of pay-as-you-go instances in the auto provisioning group.

property spotAllocationStrategy

public spotAllocationStrategy: pulumi.Output<string | undefined>;

The scale-out policy for preemptible instances. Valid values:lowest-price and diversified,Default value: lowest-price.

property spotInstanceInterruptionBehavior

public spotInstanceInterruptionBehavior: pulumi.Output<string | undefined>;

The default behavior after preemptible instances are shut down. Value values: stop and terminate,Default value: stop.

property spotInstancePoolsToUseCount

public spotInstancePoolsToUseCount: pulumi.Output<number | undefined>;

This parameter takes effect when the SpotAllocationStrategy parameter is set to lowest-price. The auto provisioning group selects instance types of the lowest cost to create instances.

property spotTargetCapacity

public spotTargetCapacity: pulumi.Output<string | undefined>;

The target capacity of preemptible instances in the auto provisioning group.

property terminateInstances

public terminateInstances: pulumi.Output<boolean | undefined>;

Specifies whether to release instances of the auto provisioning group. Valid values:false and true, default value: false.

property terminateInstancesWithExpiration

public terminateInstancesWithExpiration: pulumi.Output<boolean | undefined>;

The shutdown policy for preemptible instances when the auto provisioning group expires. Valid values: false and true, default value: false.

property totalTargetCapacity

public totalTargetCapacity: pulumi.Output<string>;

The total target capacity of the auto provisioning group. The target capacity consists of the following three parts:PayAsYouGoTargetCapacity,SpotTargetCapacity and the supplemental capacity besides PayAsYouGoTargetCapacity and SpotTargetCapacity.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property validFrom

public validFrom: pulumi.Output<string | undefined>;

The time when the auto provisioning group is started. The period of time between this point in time and the point in time specified by the validUntil parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group is immediately started after creation.

property validUntil

public validUntil: pulumi.Output<string | undefined>;

The time when the auto provisioning group expires. The period of time between this point in time and the point in time specified by the validFrom parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group never expires.

Resource CopyImage

class CopyImage extends CustomResource

constructor

new CopyImage(name: string, args: CopyImageArgs, opts?: pulumi.CustomResourceOptions)

Create a CopyImage resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CopyImageState, opts?: pulumi.CustomResourceOptions): CopyImage

Get an existing CopyImage resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is CopyImage

Returns true if the given object is an instance of CopyImage. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

property encrypted

public encrypted: pulumi.Output<boolean | undefined>;

property force

public force: pulumi.Output<boolean | undefined>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageName

public imageName: pulumi.Output<string>;

property kmsKeyId

public kmsKeyId: pulumi.Output<string | undefined>;

property name

public name: pulumi.Output<string>;

property sourceImageId

public sourceImageId: pulumi.Output<string>;

property sourceRegionId

public sourceRegionId: pulumi.Output<string>;

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Disk

class Disk extends CustomResource

constructor

new Disk(name: string, args: DiskArgs, opts?: pulumi.CustomResourceOptions)

Create a Disk resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DiskState, opts?: pulumi.CustomResourceOptions): Disk

Get an existing Disk resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Disk

Returns true if the given object is an instance of Disk. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The Zone to create the disk in.

property category

public category: pulumi.Output<string | undefined>;

Category of the disk. Valid values are cloud, cloudEfficiency, cloudSsd, cloudEssd. Default is cloudEfficiency.

property deleteAutoSnapshot

public deleteAutoSnapshot: pulumi.Output<boolean | undefined>;

Indicates whether the automatic snapshot is deleted when the disk is released. Default value: false.

property deleteWithInstance

public deleteWithInstance: pulumi.Output<boolean | undefined>;

Indicates whether the disk is released together with the instance: Default value: false.

property description

public description: pulumi.Output<string | undefined>;

Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property enableAutoSnapshot

public enableAutoSnapshot: pulumi.Output<boolean | undefined>;

Indicates whether to apply a created automatic snapshot policy to the disk. Default value: false.

property encrypted

public encrypted: pulumi.Output<boolean | undefined>;

If true, the disk will be encrypted, conflict with snapshotId.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

The Id of resource group which the disk belongs. > NOTE: Disk category cloud has been outdated and it only can be used none I/O Optimized ECS instances. Recommend cloudEfficiency and cloudSsd disk.

property size

public size: pulumi.Output<number>;

The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error InvalidDiskSize.TooSmall.

property snapshotId

public snapshotId: pulumi.Output<string | undefined>;

A snapshot to base the disk off of. If the disk size required by snapshot is greater than size, the size will be ignored, conflict with encrypted.

property status

public status: pulumi.Output<string>;

The disk status.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource DiskAttachment

class DiskAttachment extends CustomResource

constructor

new DiskAttachment(name: string, args: DiskAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a DiskAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DiskAttachmentState, opts?: pulumi.CustomResourceOptions): DiskAttachment

Get an existing DiskAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is DiskAttachment

Returns true if the given object is an instance of DiskAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property deviceName

public deviceName: pulumi.Output<string>;

The device name has been deprecated, and when attaching disk, it will be allocated automatically by system according to default order from /dev/xvdb to /dev/xvdz.

property diskId

public diskId: pulumi.Output<string>;

ID of the Disk to be attached.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

ID of the Instance to attach to.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Eip

class Eip extends CustomResource

constructor

new Eip(name: string, args?: EipArgs, opts?: pulumi.CustomResourceOptions)

Create a Eip resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipState, opts?: pulumi.CustomResourceOptions): Eip

Get an existing Eip resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Eip

Returns true if the given object is an instance of Eip. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property bandwidth

public bandwidth: pulumi.Output<number | undefined>;

Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). If this value is not specified, then automatically sets it to 5 Mbps.

property description

public description: pulumi.Output<string | undefined>;

Description of the EIP instance, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceChargeType

public instanceChargeType: pulumi.Output<string | undefined>;

Elastic IP instance charge type. Valid values are “PrePaid” and “PostPaid”. Default to “PostPaid”.

property internetChargeType

public internetChargeType: pulumi.Output<string | undefined>;

Internet charge type of the EIP, Valid values are PayByBandwidth, PayByTraffic. Default to PayByBandwidth. From version 1.7.1, default to PayByTraffic. It is only PayByBandwidth when instanceChargeType is PrePaid.

property ipAddress

public ipAddress: pulumi.Output<string>;

The elastic ip address

property isp

public isp: pulumi.Output<string>;

The line type of the Elastic IP instance. Default to BGP. Other type of the isp need to open a whitelist.

property name

public name: pulumi.Output<string>;

The name of the EIP instance. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://.

property period

public period: pulumi.Output<number | undefined>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify “period” and you can do that via web console.

property resourceGroupId

public resourceGroupId: pulumi.Output<string>;

The Id of resource group which the eip belongs.

property status

public status: pulumi.Output<string>;

The EIP current status.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource EipAssociation

class EipAssociation extends CustomResource

constructor

new EipAssociation(name: string, args: EipAssociationArgs, opts?: pulumi.CustomResourceOptions)

Create a EipAssociation resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: EipAssociationState, opts?: pulumi.CustomResourceOptions): EipAssociation

Get an existing EipAssociation resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is EipAssociation

Returns true if the given object is an instance of EipAssociation. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocationId

public allocationId: pulumi.Output<string>;

The allocation EIP ID.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceId

public instanceId: pulumi.Output<string>;

The ID of the ECS or SLB instance or Nat Gateway.

property instanceType

public instanceType: pulumi.Output<string>;

The type of cloud product that the eip instance to bind.

property privateIpAddress

public privateIpAddress: pulumi.Output<string>;

The private IP address in the network segment of the vswitch which has been assigned.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Image

class Image extends CustomResource

Creates a custom image. You can then use a custom image to create ECS instances (RunInstances) or change the system disk for an existing instance (ReplaceSystemDisk).

NOTE: If you want to create a template from an ECS instance, you can specify the instance ID (InstanceId) to create a custom image. You must make sure that the status of the specified instance is Running or Stopped. After a successful invocation, each disk of the specified instance has a new snapshot created.

NOTE: If you want to create a custom image based on the system disk of your ECS instance, you can specify one of the system disk snapshots (SnapshotId) to create a custom image. However, the specified snapshot cannot be created on or before July 15, 2013.

NOTE: If you want to combine snapshots of multiple disks into an image template, you can specify DiskDeviceMapping to create a custom image.

NOTE: Available in 1.64.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultImage = new alicloud.ecs.Image("default", {
    architecture: "x8664",
    description: "test-image",
    imageName: "test-image",
    instanceId: "i-bp1g6zv0ce8oghu7k***",
    platform: "CentOS",
    resourceGroupId: "rg-bp67acfmxazb4ph***",
    tags: {
        FinanceDept: "FinanceDeptJoshua",
    },
});

constructor

new Image(name: string, args?: ImageArgs, opts?: pulumi.CustomResourceOptions)

Create a Image resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageState, opts?: pulumi.CustomResourceOptions): Image

Get an existing Image resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Image

Returns true if the given object is an instance of Image. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property architecture

public architecture: pulumi.Output<string | undefined>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

public description: pulumi.Output<string | undefined>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property diskDeviceMappings

public diskDeviceMappings: pulumi.Output<ImageDiskDeviceMapping[]>;

Description of the system with disks and snapshots under the image.

property force

public force: pulumi.Output<boolean | undefined>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageName

public imageName: pulumi.Output<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property instanceId

public instanceId: pulumi.Output<string | undefined>;

The instance ID.

property name

public name: pulumi.Output<string>;

property platform

public platform: pulumi.Output<string | undefined>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, RedHat, Debian, CoreOS, Aliyun Linux, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

The ID of the enterprise resource group to which a custom image belongs

property snapshotId

public snapshotId: pulumi.Output<string | undefined>;

Specifies a snapshot that is used to create a combined custom image.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

The tag value of an image. The value of N ranges from 1 to 20.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ImageCopy

class ImageCopy extends CustomResource

Copies a custom image from one region to another. You can use copied images to perform operations in the target region, such as creating instances (RunInstances) and replacing system disks (ReplaceSystemDisk).

NOTE: You can only copy the custom image when it is in the Available state.

NOTE: You can only copy the image belonging to your Alibaba Cloud account. Images cannot be copied from one account to another.

NOTE: If the copying is not completed, you cannot call DeleteImage to delete the image but you can call CancelCopyImage to cancel the copying.

NOTE: Available in 1.66.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultImageCopy = new alicloud.ecs.ImageCopy("default", {
    description: "test-image",
    imageName: "test-image",
    sourceImageId: "m-bp1gxyhdswlsn18tu***",
    sourceRegionId: "cn-hangzhou",
    tags: {
        FinanceDept: "FinanceDeptJoshua",
    },
});

constructor

new ImageCopy(name: string, args: ImageCopyArgs, opts?: pulumi.CustomResourceOptions)

Create a ImageCopy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageCopyState, opts?: pulumi.CustomResourceOptions): ImageCopy

Get an existing ImageCopy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ImageCopy

Returns true if the given object is an instance of ImageCopy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property encrypted

public encrypted: pulumi.Output<boolean | undefined>;

Indicates whether to encrypt the image.

property force

public force: pulumi.Output<boolean | undefined>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageName

public imageName: pulumi.Output<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property kmsKeyId

public kmsKeyId: pulumi.Output<string | undefined>;

Key ID used to encrypt the image.

property name

public name: pulumi.Output<string>;

property sourceImageId

public sourceImageId: pulumi.Output<string>;

The source image ID.

property sourceRegionId

public sourceRegionId: pulumi.Output<string>;

The ID of the region to which the source custom image belongs. You can call DescribeRegions to view the latest regions of Alibaba Cloud.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

The tag value of an image. The value of N ranges from 1 to 20.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ImageExport

class ImageExport extends CustomResource

Export a custom image to the OSS bucket in the same region as the custom image.

NOTE: If you create an ECS instance using a mirror image and create a system disk snapshot again, exporting a custom image created from the system disk snapshot is not supported.

NOTE: Support for exporting custom images that include data disk snapshot information in the image. The number of data disks cannot exceed 4 and the maximum capacity of a single data disk cannot exceed 500 GiB.

NOTE: Before exporting the image, you must authorize the cloud server ECS official service account to write OSS permissions through RAM.

NOTE: Available in 1.68.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultImageExport = new alicloud.ecs.ImageExport("default", {
    imageId: "m-bp1gxy***",
    ossBucket: "ecsimageexportconfig",
    ossPrefix: "ecsExport",
});

constructor

new ImageExport(name: string, args: ImageExportArgs, opts?: pulumi.CustomResourceOptions)

Create a ImageExport resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageExportState, opts?: pulumi.CustomResourceOptions): ImageExport

Get an existing ImageExport resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ImageExport

Returns true if the given object is an instance of ImageExport. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

The source image ID.

property ossBucket

public ossBucket: pulumi.Output<string>;

Save the exported OSS bucket.

property ossPrefix

public ossPrefix: pulumi.Output<string | undefined>;

The prefix of your OSS Object. It can be composed of numbers or letters, and the character length is 1 ~ 30.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ImageImport

class ImageImport extends CustomResource

Import a copy of your local on-premise file to ECS, and appear as a custom replacement in the corresponding domain.

NOTE: You must upload the image file to the object storage OSS in advance.

NOTE: The region where the image is imported must be the same region as the OSS bucket where the image file is uploaded.

NOTE: Available in 1.69.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const thisImageImport = new alicloud.ecs.ImageImport("this", {
    architecture: "x8664",
    description: "test import image",
    diskDeviceMappings: [{
        diskImageSize: 5,
        ossBucket: "testimportimage",
        ossObject: "root.img",
    }],
    imageName: "test-import-image",
    licenseType: "Auto",
    osType: "linux",
    platform: "Ubuntu",
});

constructor

new ImageImport(name: string, args: ImageImportArgs, opts?: pulumi.CustomResourceOptions)

Create a ImageImport resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageImportState, opts?: pulumi.CustomResourceOptions): ImageImport

Get an existing ImageImport resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ImageImport

Returns true if the given object is an instance of ImageImport. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property architecture

public architecture: pulumi.Output<string | undefined>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

public description: pulumi.Output<string | undefined>;

Description of the image. The length is 2 to 256 English or Chinese characters, and cannot begin with http: // and https: //.

property diskDeviceMappings

public diskDeviceMappings: pulumi.Output<ImageImportDiskDeviceMapping[]>;

Description of the system with disks and snapshots under the image.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageName

public imageName: pulumi.Output<string | undefined>;

The image name. The length is 2 ~ 128 English or Chinese characters. Must start with a english letter or Chinese, and cannot start with http: // and https: //. Can contain numbers, colons (:), underscores (_), or hyphens (-).

property licenseType

public licenseType: pulumi.Output<string | undefined>;

The type of the license used to activate the operating system after the image is imported. Default value: Auto. Valid values: Auto,Aliyun,BYOL.

property osType

public osType: pulumi.Output<string | undefined>;

Operating system platform type. Valid values: windows, Default is linux.

property platform

public platform: pulumi.Output<string | undefined>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, Debian, CoreOS, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource ImageSharePermission

class ImageSharePermission extends CustomResource

Manage image sharing permissions. You can share your custom image to other Alibaba Cloud users. The user can use the shared custom image to create ECS instances or replace the system disk of the instance.

NOTE: You can only share your own custom images to other Alibaba Cloud users.

NOTE: Each custom image can be shared with up to 50 Alibaba Cloud accounts. You can submit a ticket to share with more users.

NOTE: After creating an ECS instance using a shared image, once the custom image owner releases the image sharing relationship or deletes the custom image, the instance cannot initialize the system disk.

NOTE: Available in 1.68.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultImageSharePermission = new alicloud.ecs.ImageSharePermission("default", {
    accountId: "1234567890",
    imageId: "m-bp1gxyh***",
});

constructor

new ImageSharePermission(name: string, args: ImageSharePermissionArgs, opts?: pulumi.CustomResourceOptions)

Create a ImageSharePermission resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ImageSharePermissionState, opts?: pulumi.CustomResourceOptions): ImageSharePermission

Get an existing ImageSharePermission resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ImageSharePermission

Returns true if the given object is an instance of ImageSharePermission. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accountId

public accountId: pulumi.Output<string>;

Alibaba Cloud Account ID. It is used to share images.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

The source image ID.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Instance

class Instance extends CustomResource

constructor

new Instance(name: string, args: InstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a Instance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance

Get an existing Instance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Instance

Returns true if the given object is an instance of Instance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property allocatePublicIp

public allocatePublicIp: pulumi.Output<boolean | undefined>;

It has been deprecated from version “1.7.0”. Setting “internetMaxBandwidthOut” larger than 0 can allocate a public ip address for an instance.

property autoReleaseTime

public autoReleaseTime: pulumi.Output<string | undefined>;

The automatic release time of the PostPaid instance. The time follows the ISO 8601 standard and is in UTC time. Format: yyyy-MM-ddTHH:mm:ssZ. It must be at least half an hour later than the current time and less than 3 years since the current time. Set it to null can cancel automatic release attribute and the ECS instance will not be released automatically.

property autoRenewPeriod

public autoRenewPeriod: pulumi.Output<number | undefined>;

Auto renewal period of an instance, in the unit of month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid value: - [1, 2, 3, 6, 12] when periodUnit in “Month” - [1, 2, 3] when periodUnit in “Week”

property availabilityZone

public availabilityZone: pulumi.Output<string>;

The Zone to start the instance in. It is ignored and will be computed when set vswitchId.

property creditSpecification

public creditSpecification: pulumi.Output<string>;

Performance mode of the t5 burstable instance. Valid values: ‘Standard’, ‘Unlimited’.

property dataDisks

public dataDisks: pulumi.Output<InstanceDataDisk[] | undefined>;

The list of data disks created with instance.

property deletionProtection

public deletionProtection: pulumi.Output<boolean | undefined>;

Whether enable the deletion protection or not. - true: Enable deletion protection. - false: Disable deletion protection.

property description

public description: pulumi.Output<string | undefined>;

The description of the data disk.

property dryRun

public dryRun: pulumi.Output<boolean | undefined>;

Specifies whether to send a dry-run request. Default to false. - true: Only a dry-run request is sent and no instance is created. The system checks whether the required parameters are set, and validates the request format, service permissions, and available ECS instances. If the validation fails, the corresponding error code is returned. If the validation succeeds, the DryRunOperation error code is returned. - false: A request is sent. If the validation succeeds, the instance is created.

property forceDelete

public forceDelete: pulumi.Output<boolean | undefined>;

If it is true, the “PrePaid” instance will be change to “PostPaid” and then deleted forcibly. However, because of changing instance charge type has CPU core count quota limitation, so strongly recommand that “Don’t modify instance charge type frequentlly in one month”.

property hostName

public hostName: pulumi.Output<string>;

Host name of the ECS, which is a string of at least two characters. “hostname” cannot start or end with “.” or “-“. In addition, two or more consecutive “.” or “-“ symbols are not allowed. On Windows, the host name can contain a maximum of 15 characters, which can be a combination of uppercase/lowercase letters, numerals, and “-“. The host name cannot contain dots (“.”) or contain only numeric characters. When it is changed, the instance will reboot to make the change take effect. On other OSs such as Linux, the host name can contain a maximum of 64 characters, which can be segments separated by dots (“.”), where each segment can contain uppercase/lowercase letters, numerals, or “_“. When it is changed, the instance will reboot to make the change take effect.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string>;

The Image to use for the instance. ECS instance’s image can be replaced via changing ‘image_id’. When it is changed, the instance will reboot to make the change take effect.

property includeDataDisks

public includeDataDisks: pulumi.Output<boolean | undefined>;

Whether to change instance disks charge type when changing instance charge type.

property instanceChargeType

public instanceChargeType: pulumi.Output<string | undefined>;

Valid values are PrePaid, PostPaid, The default is PostPaid.

property instanceName

public instanceName: pulumi.Output<string | undefined>;

property instanceType

public instanceType: pulumi.Output<string>;

The type of instance to start. When it is changed, the instance will reboot to make the change take effect.

property internetChargeType

public internetChargeType: pulumi.Output<string | undefined>;

Internet charge type of the instance, Valid values are PayByBandwidth, PayByTraffic. Default is PayByTraffic. At present, ‘PrePaid’ instance cannot change the value to “PayByBandwidth” from “PayByTraffic”.

property internetMaxBandwidthIn

public internetMaxBandwidthIn: pulumi.Output<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). Value range: [1, 200]. If this value is not specified, then automatically sets it to 200 Mbps.

property internetMaxBandwidthOut

public internetMaxBandwidthOut: pulumi.Output<number | undefined>;

Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bit per second). Value range: [0, 100]. Default to 0 Mbps.

property ioOptimized

public ioOptimized: pulumi.Output<string | undefined>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

public isOutdated: pulumi.Output<boolean | undefined>;

Whether to use outdated instance type. Default to false.

property keyName

public keyName: pulumi.Output<string>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

public kmsEncryptedPassword: pulumi.Output<string | undefined>;

An KMS encrypts password used to an instance. If the password is filled in, this field will be ignored. When it is changed, the instance will reboot to make the change take effect.

property kmsEncryptionContext

public kmsEncryptionContext: pulumi.Output<{[key: string]: any} | undefined>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating an instance with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set. When it is changed, the instance will reboot to make the change take effect.

property password

public password: pulumi.Output<string | undefined>;

Password to an instance is a string of 8 to 30 characters. It must contain uppercase/lowercase letters and numerals, but cannot contain special symbols. When it is changed, the instance will reboot to make the change take effect.

property period

public period: pulumi.Output<number | undefined>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: - [1-9, 12, 24, 36, 48, 60] when periodUnit in “Month” - [1-3] when periodUnit in “Week”

property periodUnit

public periodUnit: pulumi.Output<string | undefined>;

The duration unit that you will buy the resource. It is valid when instanceChargeType is ‘PrePaid’. Valid value: [“Week”, “Month”]. Default to “Month”.

property privateIp

public privateIp: pulumi.Output<string>;

Instance private IP address can be specified when you creating new instance. It is valid when vswitchId is specified. When it is changed, the instance will reboot to make the change take effect.

property publicIp

public publicIp: pulumi.Output<string>;

The instance public ip.

property renewalStatus

public renewalStatus: pulumi.Output<string | undefined>;

Whether to renew an ECS instance automatically or not. It is valid when instanceChargeType is PrePaid. Default to “Normal”. Valid values: - AutoRenewal: Enable auto renewal. - Normal: Disable auto renewal. - NotRenewal: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

The Id of resource group which the instance belongs.

property roleName

public roleName: pulumi.Output<string>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property securityEnhancementStrategy

public securityEnhancementStrategy: pulumi.Output<string | undefined>;

The security enhancement strategy. - Active: Enable security enhancement strategy, it only works on system images. - Deactive: Disable security enhancement strategy, it works on all images.

property securityGroups

public securityGroups: pulumi.Output<string[]>;

A list of security group ids to associate with.

property spotPriceLimit

public spotPriceLimit: pulumi.Output<number | undefined>;

The hourly price threshold of a instance, and it takes effect only when parameter ‘spot_strategy’ is ‘SpotWithPriceLimit’. Three decimals is allowed at most.

property spotStrategy

public spotStrategy: pulumi.Output<string | undefined>;

The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter instanceChargeType is ‘PostPaid’. Value range: - NoSpot: A regular Pay-As-You-Go instance. - SpotWithPriceLimit: A price threshold for a spot instance - SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance

property status

public status: pulumi.Output<string | undefined>;

The instance status. Valid values: [“Running”, “Stopped”]. You can control the instance start and stop through this parameter. Default to Running.

property subnetId

public subnetId: pulumi.Output<string>;

property systemDiskAutoSnapshotPolicyId

public systemDiskAutoSnapshotPolicyId: pulumi.Output<string | undefined>;

The ID of the automatic snapshot policy applied to the system disk.

property systemDiskCategory

public systemDiskCategory: pulumi.Output<string | undefined>;

Valid values are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd, cloud. cloud only is used to some none I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

public systemDiskSize: pulumi.Output<number | undefined>;

Size of the system disk, measured in GiB. Value range: [20, 500]. The specified value must be equal to or greater than max{20, Imagesize}. Default value: max{40, ImageSize}. ECS instance’s system disk can be reset when replacing system disk. When it is changed, the instance will reboot to make the change take effect.

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userData

public userData: pulumi.Output<string | undefined>;

User-defined data to customize the startup behaviors of an ECS instance and to pass data into an ECS instance. From version 1.60.0, it can be update in-place. If updated, the instance will reboot to make the change take effect. Note: Not all of changes will take effect and it depends on cloud-init module type.

property volumeTags

public volumeTags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the devices created by the instance at launch time. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property vswitchId

public vswitchId: pulumi.Output<string | undefined>;

The virtual switch ID to launch in VPC. This parameter must be set unless you can create classic network instances. When it is changed, the instance will reboot to make the change take effect.

Resource KeyPair

class KeyPair extends CustomResource

constructor

new KeyPair(name: string, args?: KeyPairArgs, opts?: pulumi.CustomResourceOptions)

Create a KeyPair resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KeyPairState, opts?: pulumi.CustomResourceOptions): KeyPair

Get an existing KeyPair resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is KeyPair

Returns true if the given object is an instance of KeyPair. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property fingerPrint

public fingerPrint: pulumi.Output<string>;

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property keyFile

public keyFile: pulumi.Output<string | undefined>;

The name of file to save your new key pair’s private key. Strongly suggest you to specified it when you creating key pair, otherwise, you wouldn’t get its private key ever.

property keyName

public keyName: pulumi.Output<string>;

The key pair’s name. It is the only in one Alicloud account.

property keyNamePrefix

public keyNamePrefix: pulumi.Output<string | undefined>;

property publicKey

public publicKey: pulumi.Output<string | undefined>;

You can import an existing public key and using Alicloud key pair to manage it.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

The Id of resource group which the key pair belongs.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource KeyPairAttachment

class KeyPairAttachment extends CustomResource

Provides a key pair attachment resource to bind key pair for several ECS instances.

NOTE: After the key pair is attached with sone instances, there instances must be rebooted to make the key pair affect.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "keyPairAttachmentName";

const defaultZones = pulumi.output(alicloud.getZones({
    availableDiskCategory: "cloudSsd",
    availableResourceCreation: "VSwitch",
}, { async: true }));
const type = defaultZones.apply(defaultZones => alicloud.ecs.getInstanceTypes({
    availabilityZone: defaultZones.zones[0].id,
    cpuCoreCount: 1,
    memorySize: 2,
}, { async: true }));
const images = pulumi.output(alicloud.ecs.getImages({
    mostRecent: true,
    nameRegex: "^ubuntu_18.*64",
    owners: "system",
}, { async: true }));
const vpc = new alicloud.vpc.Network("vpc", {
    cidrBlock: "10.1.0.0/21",
});
const vswitch = new alicloud.vpc.Switch("vswitch", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "10.1.1.0/24",
    vpcId: vpc.id,
});
const group = new alicloud.ecs.SecurityGroup("group", {
    description: "New security group",
    vpcId: vpc.id,
});
const instance: alicloud.ecs.Instance[] = [];
for (let i = 0; i < 2; i++) {
    instance.push(new alicloud.ecs.Instance(`instance-${i}`, {
        imageId: images.images[0].id,
        instanceChargeType: "PostPaid",
        instanceName: `${name}-${(i + 1)}`,
        instanceType: type.instanceTypes[0].id,
        internetChargeType: "PayByTraffic",
        internetMaxBandwidthOut: 5,
        password: "Test12345",
        securityGroups: [group.id],
        systemDiskCategory: "cloudSsd",
        vswitchId: vswitch.id,
    }));
}
const pair = new alicloud.ecs.KeyPair("pair", {
    keyName: name,
});
const attachment = new alicloud.ecs.KeyPairAttachment("attachment", {
    instanceIds: instance.map(v => v.id),
    keyName: pair.id,
});

constructor

new KeyPairAttachment(name: string, args: KeyPairAttachmentArgs, opts?: pulumi.CustomResourceOptions)

Create a KeyPairAttachment resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: KeyPairAttachmentState, opts?: pulumi.CustomResourceOptions): KeyPairAttachment

Get an existing KeyPairAttachment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is KeyPairAttachment

Returns true if the given object is an instance of KeyPairAttachment. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property force

public force: pulumi.Output<boolean | undefined>;

Set it to true and it will reboot instances which attached with the key pair to make key pair affect immediately.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceIds

public instanceIds: pulumi.Output<string[]>;

The list of ECS instance’s IDs.

property keyName

public keyName: pulumi.Output<string>;

The name of key pair used to bind.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource LaunchTemplate

class LaunchTemplate extends CustomResource

Provides an ECS Launch Template resource.

For information about Launch Template and how to use it, see Launch Template.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const images = pulumi.output(alicloud.ecs.getImages({
    owners: "system",
}, { async: true }));
const instances = pulumi.output(alicloud.ecs.getInstances({ async: true }));
const template = new alicloud.ecs.LaunchTemplate("template", {
    dataDisks: [
        {
            description: "test1",
            name: "disk1",
        },
        {
            description: "test2",
            name: "disk2",
        },
    ],
    description: "test1",
    hostName: "tf-test-host",
    imageId: images.images[0].id,
    instanceChargeType: "PrePaid",
    instanceName: "tf-instance-name",
    instanceType: instances.instances[0].instanceType,
    internetChargeType: "PayByBandwidth",
    internetMaxBandwidthIn: 5,
    internetMaxBandwidthOut: 0,
    ioOptimized: "none",
    keyPairName: "test-key-pair",
    networkInterfaces: {
        description: "hello1",
        name: "eth0",
        primaryIp: "10.0.0.2",
        securityGroupId: "xxxx",
        vswitchId: "xxxxxxx",
    },
    networkType: "vpc",
    ramRoleName: "xxxxx",
    resourceGroupId: "rg-zkdfjahg9zxncv0",
    securityEnhancementStrategy: "Active",
    securityGroupId: "sg-zxcvj0lasdf102350asdf9a",
    spotPriceLimit: 5,
    spotStrategy: "SpotWithPriceLimit",
    systemDiskCategory: "cloudSsd",
    systemDiskDescription: "test disk",
    systemDiskName: "hello",
    systemDiskSize: 40,
    tags: {
        tag1: "hello",
        tag2: "world",
    },
    userdata: "xxxxxxxxxxxxxx",
    vpcId: "vpc-asdfnbg0as8dfk1nb2",
    vswitchId: "sw-ljkngaksdjfj0nnasdf",
    zoneId: "beijing-a",
});

constructor

new LaunchTemplate(name: string, args?: LaunchTemplateArgs, opts?: pulumi.CustomResourceOptions)

Create a LaunchTemplate resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: LaunchTemplateState, opts?: pulumi.CustomResourceOptions): LaunchTemplate

Get an existing LaunchTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is LaunchTemplate

Returns true if the given object is an instance of LaunchTemplate. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property autoReleaseTime

public autoReleaseTime: pulumi.Output<string | undefined>;

Instance auto release time. The time is presented using the ISO8601 standard and in UTC time. The format is YYYY-MM-DDTHH:MM:SSZ.

property dataDisks

public dataDisks: pulumi.Output<LaunchTemplateDataDisk[] | undefined>;

The list of data disks created with instance.

property description

public description: pulumi.Output<string | undefined>;

The description of the data disk.

property hostName

public hostName: pulumi.Output<string | undefined>;

Instance host name.It cannot start or end with a period (.) or a hyphen (-) and it cannot have two or more consecutive periods (.) or hyphens (-).For Windows: The host name can be [2, 15] characters in length. It can contain A-Z, a-z, numbers, periods (.), and hyphens (-). It cannot only contain numbers. For other operating systems: The host name can be [2, 64] characters in length. It can be segments separated by periods (.). It can contain A-Z, a-z, numbers, and hyphens (-).

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property imageId

public imageId: pulumi.Output<string | undefined>;

Image ID.

property imageOwnerAlias

public imageOwnerAlias: pulumi.Output<string | undefined>;

property instanceChargeType

public instanceChargeType: pulumi.Output<string | undefined>;

Billing methods. Optional values: - PrePaid: Monthly, or annual subscription. Make sure that your registered credit card is invalid or you have insufficient balance in your PayPal account. Otherwise, InvalidPayMethod error may occur. - PostPaid: Pay-As-You-Go.

property instanceName

public instanceName: pulumi.Output<string | undefined>;

The name of the instance. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property instanceType

public instanceType: pulumi.Output<string | undefined>;

Instance type. For more information, call resourceAlicloudInstances to obtain the latest instance type list.

property internetChargeType

public internetChargeType: pulumi.Output<string | undefined>;

Internet bandwidth billing method. Optional values: PayByTraffic.

property internetMaxBandwidthIn

public internetMaxBandwidthIn: pulumi.Output<number>;

The maximum inbound bandwidth from the Internet network, measured in Mbit/s. Value range: [1, 200].

property internetMaxBandwidthOut

public internetMaxBandwidthOut: pulumi.Output<number | undefined>;

Maximum outbound bandwidth from the Internet, its unit of measurement is Mbit/s. Value range: [0, 100].

property ioOptimized

public ioOptimized: pulumi.Output<string | undefined>;

Whether it is an I/O-optimized instance or not. Optional values: - none - optimized

property keyPairName

public keyPairName: pulumi.Output<string | undefined>;

The name of the key pair. - Ignore this parameter for Windows instances. It is null by default. Even if you enter this parameter, only the Password content is used. - The password logon method for Linux instances is set to forbidden upon initialization.

property name

public name: pulumi.Output<string>;

The name of the data disk.

property networkInterfaces

public networkInterfaces: pulumi.Output<LaunchTemplateNetworkInterfaces | undefined>;

The list of network interfaces created with instance.

property networkType

public networkType: pulumi.Output<string | undefined>;

Network type of the instance. Value options: Classic | VPC.

property ramRoleName

public ramRoleName: pulumi.Output<string | undefined>;

The RAM role name of the instance. You can use the RAM API ListRoles to query instance RAM role names.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

property securityEnhancementStrategy

public securityEnhancementStrategy: pulumi.Output<string | undefined>;

Whether or not to activate the security enhancement feature and install network security software free of charge. Optional values: Active | Deactive.

property securityGroupId

public securityGroupId: pulumi.Output<string | undefined>;

The security group ID must be one in the same VPC.

property spotPriceLimit

public spotPriceLimit: pulumi.Output<number | undefined>;

-(Optional) Sets the maximum hourly instance price. Supports up to three decimal places.

property spotStrategy

public spotStrategy: pulumi.Output<string | undefined>;

The spot strategy for a Pay-As-You-Go instance. This parameter is valid and required only when InstanceChargeType is set to PostPaid. Value range: - NoSpot: Normal Pay-As-You-Go instance. - SpotWithPriceLimit: Sets the maximum price for a spot instance. - SpotAsPriceGo: The system automatically calculates the price. The maximum value is the Pay-As-You-Go price.

property systemDiskCategory

public systemDiskCategory: pulumi.Output<string | undefined>;

The category of the system disk. System disk type. Optional values: - cloud: Basic cloud disk. - cloud_efficiency: Ultra cloud disk. - cloud_ssd: SSD cloud Disks. - ephemeral_ssd: local SSD Disks - cloud_essd: ESSD cloud Disks.

property systemDiskDescription

public systemDiskDescription: pulumi.Output<string | undefined>;

System disk description. It cannot begin with http:// or https://.

property systemDiskName

public systemDiskName: pulumi.Output<string | undefined>;

System disk name. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property systemDiskSize

public systemDiskSize: pulumi.Output<number | undefined>;

Size of the system disk, measured in GB. Value range: [20, 500].

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property userdata

public userdata: pulumi.Output<string | undefined>;

User data of the instance, which is Base64-encoded. Size of the raw data cannot exceed 16 KB.

property vpcId

public vpcId: pulumi.Output<string | undefined>;

property vswitchId

public vswitchId: pulumi.Output<string | undefined>;

The VSwitch ID for ENI. The instance must be in the same zone of the same VPC network as the ENI, but they may belong to different VSwitches.

property zoneId

public zoneId: pulumi.Output<string | undefined>;

The zone ID of the instance.

Resource ReservedInstance

class ReservedInstance extends CustomResource

Provides an Reserved Instance resource.

NOTE: Available in 1.65.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const _default = new alicloud.ecs.ReservedInstance("default", {
    instanceType: "ecs.g6.large",
    instanceAmount: "1",
    periodUnit: "Year",
    offeringType: "All Upfront",
    description: "ReservedInstance",
    zoneId: "cn-shanghai-g",
    scope: "Zone",
    period: "1",
});

constructor

new ReservedInstance(name: string, args: ReservedInstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a ReservedInstance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ReservedInstanceState, opts?: pulumi.CustomResourceOptions): ReservedInstance

Get an existing ReservedInstance resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is ReservedInstance

Returns true if the given object is an instance of ReservedInstance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

Description of the RI. 2 to 256 English or Chinese characters. It cannot start with http:// or https://.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property instanceAmount

public instanceAmount: pulumi.Output<number>;

Number of instances allocated to an RI (An RI is a coupon that includes one or more allocated instances.).

property instanceType

public instanceType: pulumi.Output<string>;

Instance type of the RI. For more information, see Instance type families.

property name

public name: pulumi.Output<string>;

Name of the RI. The name must be a string of 2 to 128 characters in length and can contain letters, numbers, colons (:), underscores (_), and hyphens. It must start with a letter. It cannot start with http:// or https://.

property offeringType

public offeringType: pulumi.Output<string | undefined>;

Payment type of the RI. Optional values: No Upfront: No upfront payment is required., Partial Upfront: A portion of upfront payment is required.All Upfront: Full upfront payment is required.

property period

public period: pulumi.Output<number | undefined>;

property periodUnit

public periodUnit: pulumi.Output<string | undefined>;

Term unit. Optional value: Year.

property platform

public platform: pulumi.Output<string>;

The operating system type of the image used by the instance. Optional values: Windows, Linux. Default is Linux.

property resourceGroupId

public resourceGroupId: pulumi.Output<string>;

Resource group ID.

property scope

public scope: pulumi.Output<string | undefined>;

Scope of the RI. Optional values: Region: region-level, Zone: zone-level. Default is Region.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property zoneId

public zoneId: pulumi.Output<string | undefined>;

ID of the zone to which the RI belongs. When Scope is set to Zone, this parameter is required. For information about the zone list, see DescribeZones.

Resource SecurityGroup

class SecurityGroup extends CustomResource

constructor

new SecurityGroup(name: string, args?: SecurityGroupArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityGroup resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupState, opts?: pulumi.CustomResourceOptions): SecurityGroup

Get an existing SecurityGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SecurityGroup

Returns true if the given object is an instance of SecurityGroup. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

The security group description. Defaults to null.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property innerAccess

public innerAccess: pulumi.Output<boolean>;

Field ‘inner_access’ has been deprecated from provider version 1.55.3. Use ‘inner_access_policy’ replaces it.

property innerAccessPolicy

public innerAccessPolicy: pulumi.Output<string>;

Whether to allow both machines to access each other on all ports in the same security group. Valid values: [“Accept”, “Drop”]

property name

public name: pulumi.Output<string>;

The name of the security group. Defaults to null.

property resourceGroupId

public resourceGroupId: pulumi.Output<string | undefined>;

The Id of resource group which the securityGroup belongs.

property securityGroupType

public securityGroupType: pulumi.Output<string | undefined>;

The type of the security group. Valid values: normal: basic security group. enterprise: advanced security group For more information.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property vpcId

public vpcId: pulumi.Output<string | undefined>;

The VPC ID.

Resource SecurityGroupRule

class SecurityGroupRule extends CustomResource

constructor

new SecurityGroupRule(name: string, args: SecurityGroupRuleArgs, opts?: pulumi.CustomResourceOptions)

Create a SecurityGroupRule resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SecurityGroupRuleState, opts?: pulumi.CustomResourceOptions): SecurityGroupRule

Get an existing SecurityGroupRule resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SecurityGroupRule

Returns true if the given object is an instance of SecurityGroupRule. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property cidrIp

public cidrIp: pulumi.Output<string | undefined>;

The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.

property description

public description: pulumi.Output<string | undefined>;

The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property ipProtocol

public ipProtocol: pulumi.Output<string>;

The protocol. Can be tcp, udp, icmp, gre or all.

property nicType

public nicType: pulumi.Output<string>;

Network type, can be either internet or intranet, the default value is internet.

property policy

public policy: pulumi.Output<string | undefined>;

Authorization policy, can be either accept or drop, the default value is accept.

property portRange

public portRange: pulumi.Output<string | undefined>;

The range of port numbers relevant to the IP protocol. Default to “-1/-1”. When the protocol is tcp or udp, each side port number range from 1 to 65535 and ‘-1/-1’ will be invalid. For example, 1/200 means that the range of the port numbers is 1-200. Other protocols’ ‘port_range’ can only be “-1/-1”, and other values will be invalid.

property priority

public priority: pulumi.Output<number | undefined>;

Authorization policy priority, with parameter values: 1-100, default value: 1.

property securityGroupId

public securityGroupId: pulumi.Output<string>;

The security group to apply this rule to.

property sourceGroupOwnerAccount

public sourceGroupOwnerAccount: pulumi.Output<string | undefined>;

The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if cidrIp has already been set.

property sourceSecurityGroupId

public sourceSecurityGroupId: pulumi.Output<string | undefined>;

The target security group ID within the same region. If this field is specified, the nicType can only select intranet.

property type

public type: pulumi.Output<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Snapshot

class Snapshot extends CustomResource

Provides an ECS snapshot resource.

For information about snapshot and how to use it, see Snapshot.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const snapshot = new alicloud.ecs.Snapshot("snapshot", {
    description: "this snapshot is created for testing",
    diskId: alicloud_disk_attachment_instance_attachment.diskId,
    tags: {
        version: "1.2",
    },
});

constructor

new Snapshot(name: string, args: SnapshotArgs, opts?: pulumi.CustomResourceOptions)

Create a Snapshot resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SnapshotState, opts?: pulumi.CustomResourceOptions): Snapshot

Get an existing Snapshot resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Snapshot

Returns true if the given object is an instance of Snapshot. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property description

public description: pulumi.Output<string | undefined>;

Description of the snapshot. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property diskId

public diskId: pulumi.Output<string>;

The source disk ID.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Name of the snapshot. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”, “.”, “_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource SnapshotPolicy

class SnapshotPolicy extends CustomResource

Provides an ECS snapshot policy resource.

For information about snapshot policy and how to use it, see Snapshot.

NOTE: Available in 1.42.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const sp = new alicloud.ecs.SnapshotPolicy("sp", {
    repeatWeekdays: [
        "1",
        "2",
        "3",
    ],
    retentionDays: -1,
    timePoints: [
        "1",
        "22",
        "23",
    ],
});

constructor

new SnapshotPolicy(name: string, args: SnapshotPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a SnapshotPolicy resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SnapshotPolicyState, opts?: pulumi.CustomResourceOptions): SnapshotPolicy

Get an existing SnapshotPolicy resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is SnapshotPolicy

Returns true if the given object is an instance of SnapshotPolicy. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

The snapshot policy name.

property repeatWeekdays

public repeatWeekdays: pulumi.Output<string[]>;

The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array. - A maximum of seven time points can be selected. - The format is an JSON array of [“1”, “2”, … “7”] and the time points are separated by commas (,).

property retentionDays

public retentionDays: pulumi.Output<number>;

The snapshot retention time, and the unit of measurement is day. Optional values: - -1: The automatic snapshots are retained permanently. - [1, 65536]: The number of days retained.

property timePoints

public timePoints: pulumi.Output<string[]>;

The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array. - A maximum of 24 time points can be selected. - The format is an JSON array of [“0”, “1”, … “23”] and the time points are separated by commas (,).

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getDisks

getDisks(args?: GetDisksArgs, opts?: pulumi.InvokeOptions): Promise<GetDisksResult>

This data source provides the disks of the current Alibaba Cloud user.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const disksDs = pulumi.output(alicloud.ecs.getDisks({
    nameRegex: "sampleDisk",
}, { async: true }));

export const firstDiskId = disksDs.disks[0].id;

Function getEips

getEips(args?: GetEipsArgs, opts?: pulumi.InvokeOptions): Promise<GetEipsResult>

This data source provides a list of EIPs (Elastic IP address) owned by an Alibaba Cloud account.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const eipsDs = pulumi.output(alicloud.ecs.getEips({ async: true }));

export const firstEipId = eipsDs.eips[0].id;

Function getImages

getImages(args?: GetImagesArgs, opts?: pulumi.InvokeOptions): Promise<GetImagesResult>

This data source provides available image resources. It contains user’s private images, system images provided by Alibaba Cloud, other public images and the ones available on the image market.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const imagesDs = pulumi.output(alicloud.ecs.getImages({
    nameRegex: "^centos_6",
    owners: "system",
}, { async: true }));

export const firstImageId = imagesDs.images[0].id;

Function getInstances

getInstances(args?: GetInstancesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstancesResult>

The Instances data source list ECS instance resources according to their ID, name regex, image id, status and other fields.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const instancesDs = pulumi.output(alicloud.ecs.getInstances({
    nameRegex: "webServer",
    status: "Running",
}, { async: true }));

export const firstInstanceId = instancesDs.instances[0].id;
export const instanceIds = instancesDs.ids!;

Function getInstanceTypeFamilies

getInstanceTypeFamilies(args?: GetInstanceTypeFamiliesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypeFamiliesResult>

This data source provides the ECS instance type families of Alibaba Cloud.

NOTE: Available in 1.54.0+

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const defaultInstanceTypeFamilies = pulumi.output(alicloud.ecs.getInstanceTypeFamilies({
    instanceChargeType: "PrePaid",
}, { async: true }));

export const firstInstanceTypeFamilyId = defaultInstanceTypeFamilies.families[0].id;
export const instanceIds = defaultInstanceTypeFamilies.ids;

Function getInstanceTypes

getInstanceTypes(args?: GetInstanceTypesArgs, opts?: pulumi.InvokeOptions): Promise<GetInstanceTypesResult>

This data source provides the ECS instance types of Alibaba Cloud.

NOTE: By default, only the upgraded instance types are returned. If you want to get outdated instance types, you must set isOutdated to true.

NOTE: If one instance type is sold out, it will not be exported.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

// Declare the data source
const typesDs = pulumi.output(alicloud.ecs.getInstanceTypes({
    cpuCoreCount: 1,
    memorySize: 2,
}, { async: true }));
const instance = new alicloud.ecs.Instance("instance", {
    instanceType: typesDs.instanceTypes[0].id,
});

Function getKeyPairs

getKeyPairs(args?: GetKeyPairsArgs, opts?: pulumi.InvokeOptions): Promise<GetKeyPairsResult>

This data source provides a list of key pairs in an Alibaba Cloud account according to the specified filters.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

// Declare the data source
const defaultKeyPair = new alicloud.ecs.KeyPair("default", {
    keyName: "keyPairDatasource",
});
const defaultKeyPairs = defaultKeyPair.keyName.apply(keyName => alicloud.ecs.getKeyPairs({
    nameRegex: keyName,
}, { async: true }));

Function getNetworkInterfaces

getNetworkInterfaces(args?: GetNetworkInterfacesArgs, opts?: pulumi.InvokeOptions): Promise<GetNetworkInterfacesResult>

Use this data source to get a list of elastic network interfaces according to the specified filters in an Alibaba Cloud account.

For information about elastic network interface and how to use it, see Elastic Network Interface

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
const name = config.get("name") || "networkInterfacesName";

const vpc = new alicloud.vpc.Network("vpc", {
    cidrBlock: "192.168.0.0/24",
});
const defaultZones = pulumi.output(alicloud.getZones({
    availableResourceCreation: "VSwitch",
}, { async: true }));
const vswitch = new alicloud.vpc.Switch("vswitch", {
    availabilityZone: defaultZones.zones[0].id,
    cidrBlock: "192.168.0.0/24",
    vpcId: vpc.id,
});
const group = new alicloud.ecs.SecurityGroup("group", {
    vpcId: vpc.id,
});
const interfaceNetworkInterface = new alicloud.vpc.NetworkInterface("interface", {
    description: "Basic test",
    privateIp: "192.168.0.2",
    securityGroups: [group.id],
    tags: {
        "TF-VER": "0.11.3",
    },
    vswitchId: vswitch.id,
});
const instance = new alicloud.ecs.Instance("instance", {
    availabilityZone: defaultZones.zones[0].id,
    imageId: "centos_7_04_64_20G_alibase_201701015.vhd",
    instanceName: name,
    instanceType: "ecs.e3.xlarge",
    internetMaxBandwidthOut: 10,
    securityGroups: [group.id],
    systemDiskCategory: "cloudEfficiency",
    vswitchId: vswitch.id,
});
const attachment = new alicloud.vpc.NetworkInterfaceAttachment("attachment", {
    instanceId: instance.id,
    networkInterfaceId: interfaceNetworkInterface.id,
});
const defaultNetworkInterfaces = pulumi.all([attachment.networkInterfaceId, instance.id, group.id, vpc.id, vswitch.id]).apply(([networkInterfaceId, instanceId, groupId, vpcId, vswitchId]) => alicloud.ecs.getNetworkInterfaces({
    ids: [networkInterfaceId],
    instanceId: instanceId,
    nameRegex: name,
    privateIp: "192.168.0.2",
    securityGroupId: groupId,
    tags: {
        "TF-VER": "0.11.3",
    },
    type: "Secondary",
    vpcId: vpcId,
    vswitchId: vswitchId,
}, { async: true }));

export const eni0Name = defaultNetworkInterfaces.interfaces[0].name;

Argument Reference

The following arguments are supported:

  • ids - (Optional) A list of ENI IDs.
  • nameRegex - (Optional) A regex string to filter results by ENI name.
  • vpcId - (Optional) The VPC ID linked to ENIs.
  • vswitchId - (Optional) The VSwitch ID linked to ENIs.
  • privateIp - (Optional) The primary private IP address of the ENI.
  • securityGroupId - (Optional) The security group ID linked to ENIs.
  • name - (Optional) The name of the ENIs.
  • type - (Optional) The type of ENIs, Only support for “Primary” or “Secondary”.
  • instanceId - (Optional) The ECS instance ID that the ENI is attached to.
  • tags - (Optional) A map of tags assigned to ENIs.
  • outputFile - (Optional) The name of output file that saves the filter results.
  • resourceGroupId - (Optional, ForceNew, Available in 1.57.0+) The Id of resource group which the network interface belongs.

Function getSecurityGroupRules

getSecurityGroupRules(args: GetSecurityGroupRulesArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupRulesResult>

The alicloud.ecs.getSecurityGroupRules data source provides a collection of security permissions of a specific security group. Each collection item represents a single ingress or egress permission rule. The ID of the security group can be provided via a variable or the result from the other data source alicloud.ecs.getSecurityGroups.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const config = new pulumi.Config();
// Get the security group id from a variable
const securityGroupId = config.require("securityGroupId");

// Or get it from the alicloud.ecs.getSecurityGroups data source.
// Please note that the data source arguments must be enough to filter results to one security group.
const groupsDs = pulumi.output(alicloud.ecs.getSecurityGroups({
    nameRegex: "api",
}, { async: true }));
// Filter the security group rule by group
const ingressRulesDs = groupsDs.apply(groupsDs => alicloud.ecs.getSecurityGroupRules({
    direction: "ingress",
    groupId: groupsDs.groups[0].id,
    ipProtocol: "TCP",
    nicType: "internet",
}, { async: true }));
// Pass portRange to the backend service
const backend = new alicloud.ecs.Instance("backend", {
    userData: pulumi.interpolate`config_service.sh --portrange=${ingressRulesDs.rules[0].portRange}`,
});

Function getSecurityGroups

getSecurityGroups(args?: GetSecurityGroupsArgs, opts?: pulumi.InvokeOptions): Promise<GetSecurityGroupsResult>

This data source provides a list of Security Groups in an Alibaba Cloud account according to the specified filters.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

// Filter security groups and print the results into a file
const secGroupsDs = pulumi.output(alicloud.ecs.getSecurityGroups({
    nameRegex: "^web-",
    outputFile: "web_access.json",
}, { async: true }));
// In conjunction with a VPC
const primaryVpcDs = new alicloud.vpc.Network("primaryVpcDs", {});
const primarySecGroupsDs = primaryVpcDs.id.apply(id => alicloud.ecs.getSecurityGroups({
    vpcId: id,
}, { async: true }));

export const firstGroupId = primarySecGroupsDs.groups[0].id;

Function getSnapshots

getSnapshots(args?: GetSnapshotsArgs, opts?: pulumi.InvokeOptions): Promise<GetSnapshotsResult>

Use this data source to get a list of snapshot according to the specified filters in an Alibaba Cloud account.

For information about snapshot and how to use it, see Snapshot.

NOTE: Available in 1.40.0+.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";

const snapshots = pulumi.output(alicloud.ecs.getSnapshots({
    ids: ["s-123456890abcdef"],
    nameRegex: "tf-testAcc-snapshot",
}, { async: true }));

Argument Reference

The following arguments are supported:

  • instanceId - (Optional) The specified instance ID.
  • diskId - (Optional) The specified disk ID.
  • encrypted - (Optional) Queries the encrypted snapshots. Optional values:
    • true: Encrypted snapshots.
    • false: No encryption attribute limit.

Default value: false. * ids - (Optional) A list of snapshot IDs. * nameRegex - (Optional) A regex string to filter results by snapshot name. * status - (Optional) The specified snapshot status. * The snapshot status. Optional values: * progressing: The snapshots are being created. * accomplished: The snapshots are ready to use. * failed: The snapshot creation failed. * all: All status.

Default value: all.

  • type - (Optional) The snapshot category. Optional values:
    • auto: Auto snapshots.
    • user: Manual snapshots.
    • all: Auto and manual snapshots.

Default value: all. * sourceDiskType - (Optional) The type of source disk: * System: The snapshots are created for system disks. * Data: The snapshots are created for data disks.

  • usage - (Optional) The usage of the snapshot:
    • image: The snapshots are used to create custom images.
    • disk: The snapshots are used to CreateDisk.
    • mage_disk: The snapshots are used to create custom images and data disks.
    • none: The snapshots are not used yet.
  • tags - (Optional) A map of tags assigned to snapshots.
  • outputFile - (Optional) The name of output file that saves the filter results.

Others

interface AutoProvisioningGroupArgs

interface AutoProvisioningGroupArgs

The set of arguments for constructing a AutoProvisioningGroup resource.

property autoProvisioningGroupName

autoProvisioningGroupName?: pulumi.Input<string>;

property autoProvisioningGroupType

autoProvisioningGroupType?: pulumi.Input<string>;

property defaultTargetCapacityType

defaultTargetCapacityType?: pulumi.Input<string>;

The type of supplemental instances. When the total value of PayAsYouGoTargetCapacity and SpotTargetCapacity is smaller than the value of TotalTargetCapacity, the auto provisioning group will create instances of the specified type to meet the capacity requirements. Valid values:PayAsYouGo: Pay-as-you-go instances; Spot: Preemptible instances, Default value: Spot.

property description

description?: pulumi.Input<string>;

The description of the auto provisioning group.

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

The shutdown policy for excess preemptible instances followed when the capacity of the auto provisioning group exceeds the target capacity. Valid values: no-termination and termination,Default value: no-termination.

property launchTemplateConfigs

launchTemplateConfigs: pulumi.Input<pulumi.Input<AutoProvisioningGroupLaunchTemplateConfig>[]>;

DataDisk mappings to attach to ecs instance. See Block config below for details.

property launchTemplateId

launchTemplateId: pulumi.Input<string>;

The ID of the instance launch template associated with the auto provisioning group.

property launchTemplateVersion

launchTemplateVersion?: pulumi.Input<string>;

The version of the instance launch template associated with the auto provisioning group.

property maxSpotPrice

maxSpotPrice?: pulumi.Input<number>;

The global maximum price for preemptible instances in the auto provisioning group. If both the MaxSpotPrice and LaunchTemplateConfig.N.MaxPrice parameters are specified, the maximum price is the lower value of the two.

property payAsYouGoAllocationStrategy

payAsYouGoAllocationStrategy?: pulumi.Input<string>;

The scale-out policy for pay-as-you-go instances. Valid values: lowest-price and prioritized,Default value: lowest-price.

property payAsYouGoTargetCapacity

payAsYouGoTargetCapacity?: pulumi.Input<string>;

The target capacity of pay-as-you-go instances in the auto provisioning group.

property spotAllocationStrategy

spotAllocationStrategy?: pulumi.Input<string>;

The scale-out policy for preemptible instances. Valid values:lowest-price and diversified,Default value: lowest-price.

property spotInstanceInterruptionBehavior

spotInstanceInterruptionBehavior?: pulumi.Input<string>;

The default behavior after preemptible instances are shut down. Value values: stop and terminate,Default value: stop.

property spotInstancePoolsToUseCount

spotInstancePoolsToUseCount?: pulumi.Input<number>;

This parameter takes effect when the SpotAllocationStrategy parameter is set to lowest-price. The auto provisioning group selects instance types of the lowest cost to create instances.

property spotTargetCapacity

spotTargetCapacity?: pulumi.Input<string>;

The target capacity of preemptible instances in the auto provisioning group.

property terminateInstances

terminateInstances?: pulumi.Input<boolean>;

Specifies whether to release instances of the auto provisioning group. Valid values:false and true, default value: false.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

The shutdown policy for preemptible instances when the auto provisioning group expires. Valid values: false and true, default value: false.

property totalTargetCapacity

totalTargetCapacity: pulumi.Input<string>;

The total target capacity of the auto provisioning group. The target capacity consists of the following three parts:PayAsYouGoTargetCapacity,SpotTargetCapacity and the supplemental capacity besides PayAsYouGoTargetCapacity and SpotTargetCapacity.

property validFrom

validFrom?: pulumi.Input<string>;

The time when the auto provisioning group is started. The period of time between this point in time and the point in time specified by the validUntil parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group is immediately started after creation.

property validUntil

validUntil?: pulumi.Input<string>;

The time when the auto provisioning group expires. The period of time between this point in time and the point in time specified by the validFrom parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group never expires.

interface AutoProvisioningGroupState

interface AutoProvisioningGroupState

Input properties used for looking up and filtering AutoProvisioningGroup resources.

property autoProvisioningGroupName

autoProvisioningGroupName?: pulumi.Input<string>;

property autoProvisioningGroupType

autoProvisioningGroupType?: pulumi.Input<string>;

property defaultTargetCapacityType

defaultTargetCapacityType?: pulumi.Input<string>;

The type of supplemental instances. When the total value of PayAsYouGoTargetCapacity and SpotTargetCapacity is smaller than the value of TotalTargetCapacity, the auto provisioning group will create instances of the specified type to meet the capacity requirements. Valid values:PayAsYouGo: Pay-as-you-go instances; Spot: Preemptible instances, Default value: Spot.

property description

description?: pulumi.Input<string>;

The description of the auto provisioning group.

property excessCapacityTerminationPolicy

excessCapacityTerminationPolicy?: pulumi.Input<string>;

The shutdown policy for excess preemptible instances followed when the capacity of the auto provisioning group exceeds the target capacity. Valid values: no-termination and termination,Default value: no-termination.

property launchTemplateConfigs

launchTemplateConfigs?: pulumi.Input<pulumi.Input<AutoProvisioningGroupLaunchTemplateConfig>[]>;

DataDisk mappings to attach to ecs instance. See Block config below for details.

property launchTemplateId

launchTemplateId?: pulumi.Input<string>;

The ID of the instance launch template associated with the auto provisioning group.

property launchTemplateVersion

launchTemplateVersion?: pulumi.Input<string>;

The version of the instance launch template associated with the auto provisioning group.

property maxSpotPrice

maxSpotPrice?: pulumi.Input<number>;

The global maximum price for preemptible instances in the auto provisioning group. If both the MaxSpotPrice and LaunchTemplateConfig.N.MaxPrice parameters are specified, the maximum price is the lower value of the two.

property payAsYouGoAllocationStrategy

payAsYouGoAllocationStrategy?: pulumi.Input<string>;

The scale-out policy for pay-as-you-go instances. Valid values: lowest-price and prioritized,Default value: lowest-price.

property payAsYouGoTargetCapacity

payAsYouGoTargetCapacity?: pulumi.Input<string>;

The target capacity of pay-as-you-go instances in the auto provisioning group.

property spotAllocationStrategy

spotAllocationStrategy?: pulumi.Input<string>;

The scale-out policy for preemptible instances. Valid values:lowest-price and diversified,Default value: lowest-price.

property spotInstanceInterruptionBehavior

spotInstanceInterruptionBehavior?: pulumi.Input<string>;

The default behavior after preemptible instances are shut down. Value values: stop and terminate,Default value: stop.

property spotInstancePoolsToUseCount

spotInstancePoolsToUseCount?: pulumi.Input<number>;

This parameter takes effect when the SpotAllocationStrategy parameter is set to lowest-price. The auto provisioning group selects instance types of the lowest cost to create instances.

property spotTargetCapacity

spotTargetCapacity?: pulumi.Input<string>;

The target capacity of preemptible instances in the auto provisioning group.

property terminateInstances

terminateInstances?: pulumi.Input<boolean>;

Specifies whether to release instances of the auto provisioning group. Valid values:false and true, default value: false.

property terminateInstancesWithExpiration

terminateInstancesWithExpiration?: pulumi.Input<boolean>;

The shutdown policy for preemptible instances when the auto provisioning group expires. Valid values: false and true, default value: false.

property totalTargetCapacity

totalTargetCapacity?: pulumi.Input<string>;

The total target capacity of the auto provisioning group. The target capacity consists of the following three parts:PayAsYouGoTargetCapacity,SpotTargetCapacity and the supplemental capacity besides PayAsYouGoTargetCapacity and SpotTargetCapacity.

property validFrom

validFrom?: pulumi.Input<string>;

The time when the auto provisioning group is started. The period of time between this point in time and the point in time specified by the validUntil parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group is immediately started after creation.

property validUntil

validUntil?: pulumi.Input<string>;

The time when the auto provisioning group expires. The period of time between this point in time and the point in time specified by the validFrom parameter is the effective time period of the auto provisioning group.By default, an auto provisioning group never expires.

interface CopyImageArgs

interface CopyImageArgs

The set of arguments for constructing a CopyImage resource.

property description

description?: pulumi.Input<string>;

property encrypted

encrypted?: pulumi.Input<boolean>;

property force

force?: pulumi.Input<boolean>;

property imageName

imageName?: pulumi.Input<string>;

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

property sourceImageId

sourceImageId: pulumi.Input<string>;

property sourceRegionId

sourceRegionId: pulumi.Input<string>;

property tags

tags?: pulumi.Input<{[key: string]: any}>;

interface CopyImageState

interface CopyImageState

Input properties used for looking up and filtering CopyImage resources.

property description

description?: pulumi.Input<string>;

property encrypted

encrypted?: pulumi.Input<boolean>;

property force

force?: pulumi.Input<boolean>;

property imageName

imageName?: pulumi.Input<string>;

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

property name

name?: pulumi.Input<string>;

property sourceImageId

sourceImageId?: pulumi.Input<string>;

property sourceRegionId

sourceRegionId?: pulumi.Input<string>;

property tags

tags?: pulumi.Input<{[key: string]: any}>;

interface DiskArgs

interface DiskArgs

The set of arguments for constructing a Disk resource.

property availabilityZone

availabilityZone: pulumi.Input<string>;

The Zone to create the disk in.

property category

category?: pulumi.Input<string>;

Category of the disk. Valid values are cloud, cloudEfficiency, cloudSsd, cloudEssd. Default is cloudEfficiency.

property deleteAutoSnapshot

deleteAutoSnapshot?: pulumi.Input<boolean>;

Indicates whether the automatic snapshot is deleted when the disk is released. Default value: false.

property deleteWithInstance

deleteWithInstance?: pulumi.Input<boolean>;

Indicates whether the disk is released together with the instance: Default value: false.

property description

description?: pulumi.Input<string>;

Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property enableAutoSnapshot

enableAutoSnapshot?: pulumi.Input<boolean>;

Indicates whether to apply a created automatic snapshot policy to the disk. Default value: false.

property encrypted

encrypted?: pulumi.Input<boolean>;

If true, the disk will be encrypted, conflict with snapshotId.

property name

name?: pulumi.Input<string>;

Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the disk belongs. > NOTE: Disk category cloud has been outdated and it only can be used none I/O Optimized ECS instances. Recommend cloudEfficiency and cloudSsd disk.

property size

size: pulumi.Input<number>;

The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error InvalidDiskSize.TooSmall.

property snapshotId

snapshotId?: pulumi.Input<string>;

A snapshot to base the disk off of. If the disk size required by snapshot is greater than size, the size will be ignored, conflict with encrypted.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface DiskAttachmentArgs

interface DiskAttachmentArgs

The set of arguments for constructing a DiskAttachment resource.

property deviceName

DEPRECATED Attribute device_name is deprecated on disk attachment resource. Suggest to remove it from your template.
deviceName?: pulumi.Input<string>;

The device name has been deprecated, and when attaching disk, it will be allocated automatically by system according to default order from /dev/xvdb to /dev/xvdz.

property diskId

diskId: pulumi.Input<string>;

ID of the Disk to be attached.

property instanceId

instanceId: pulumi.Input<string>;

ID of the Instance to attach to.

interface DiskAttachmentState

interface DiskAttachmentState

Input properties used for looking up and filtering DiskAttachment resources.

property deviceName

DEPRECATED Attribute device_name is deprecated on disk attachment resource. Suggest to remove it from your template.
deviceName?: pulumi.Input<string>;

The device name has been deprecated, and when attaching disk, it will be allocated automatically by system according to default order from /dev/xvdb to /dev/xvdz.

property diskId

diskId?: pulumi.Input<string>;

ID of the Disk to be attached.

property instanceId

instanceId?: pulumi.Input<string>;

ID of the Instance to attach to.

interface DiskState

interface DiskState

Input properties used for looking up and filtering Disk resources.

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Zone to create the disk in.

property category

category?: pulumi.Input<string>;

Category of the disk. Valid values are cloud, cloudEfficiency, cloudSsd, cloudEssd. Default is cloudEfficiency.

property deleteAutoSnapshot

deleteAutoSnapshot?: pulumi.Input<boolean>;

Indicates whether the automatic snapshot is deleted when the disk is released. Default value: false.

property deleteWithInstance

deleteWithInstance?: pulumi.Input<boolean>;

Indicates whether the disk is released together with the instance: Default value: false.

property description

description?: pulumi.Input<string>;

Description of the disk. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property enableAutoSnapshot

enableAutoSnapshot?: pulumi.Input<boolean>;

Indicates whether to apply a created automatic snapshot policy to the disk. Default value: false.

property encrypted

encrypted?: pulumi.Input<boolean>;

If true, the disk will be encrypted, conflict with snapshotId.

property name

name?: pulumi.Input<string>;

Name of the ECS disk. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the disk belongs. > NOTE: Disk category cloud has been outdated and it only can be used none I/O Optimized ECS instances. Recommend cloudEfficiency and cloudSsd disk.

property size

size?: pulumi.Input<number>;

The size of the disk in GiBs. When resize the disk, the new size must be greater than the former value, or you would get an error InvalidDiskSize.TooSmall.

property snapshotId

snapshotId?: pulumi.Input<string>;

A snapshot to base the disk off of. If the disk size required by snapshot is greater than size, the size will be ignored, conflict with encrypted.

property status

status?: pulumi.Input<string>;

The disk status.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface EipArgs

interface EipArgs

The set of arguments for constructing a Eip resource.

property bandwidth

bandwidth?: pulumi.Input<number>;

Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). If this value is not specified, then automatically sets it to 5 Mbps.

property description

description?: pulumi.Input<string>;

Description of the EIP instance, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Elastic IP instance charge type. Valid values are “PrePaid” and “PostPaid”. Default to “PostPaid”.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet charge type of the EIP, Valid values are PayByBandwidth, PayByTraffic. Default to PayByBandwidth. From version 1.7.1, default to PayByTraffic. It is only PayByBandwidth when instanceChargeType is PrePaid.

property isp

isp?: pulumi.Input<string>;

The line type of the Elastic IP instance. Default to BGP. Other type of the isp need to open a whitelist.

property name

name?: pulumi.Input<string>;

The name of the EIP instance. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://.

property period

period?: pulumi.Input<number>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify “period” and you can do that via web console.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the eip belongs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface EipAssociationArgs

interface EipAssociationArgs

The set of arguments for constructing a EipAssociation resource.

property allocationId

allocationId: pulumi.Input<string>;

The allocation EIP ID.

property instanceId

instanceId: pulumi.Input<string>;

The ID of the ECS or SLB instance or Nat Gateway.

property instanceType

instanceType?: pulumi.Input<string>;

The type of cloud product that the eip instance to bind.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

The private IP address in the network segment of the vswitch which has been assigned.

interface EipAssociationState

interface EipAssociationState

Input properties used for looking up and filtering EipAssociation resources.

property allocationId

allocationId?: pulumi.Input<string>;

The allocation EIP ID.

property instanceId

instanceId?: pulumi.Input<string>;

The ID of the ECS or SLB instance or Nat Gateway.

property instanceType

instanceType?: pulumi.Input<string>;

The type of cloud product that the eip instance to bind.

property privateIpAddress

privateIpAddress?: pulumi.Input<string>;

The private IP address in the network segment of the vswitch which has been assigned.

interface EipState

interface EipState

Input properties used for looking up and filtering Eip resources.

property bandwidth

bandwidth?: pulumi.Input<number>;

Maximum bandwidth to the elastic public network, measured in Mbps (Mega bit per second). If this value is not specified, then automatically sets it to 5 Mbps.

property description

description?: pulumi.Input<string>;

Description of the EIP instance, This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Elastic IP instance charge type. Valid values are “PrePaid” and “PostPaid”. Default to “PostPaid”.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet charge type of the EIP, Valid values are PayByBandwidth, PayByTraffic. Default to PayByBandwidth. From version 1.7.1, default to PayByTraffic. It is only PayByBandwidth when instanceChargeType is PrePaid.

property ipAddress

ipAddress?: pulumi.Input<string>;

The elastic ip address

property isp

isp?: pulumi.Input<string>;

The line type of the Elastic IP instance. Default to BGP. Other type of the isp need to open a whitelist.

property name

name?: pulumi.Input<string>;

The name of the EIP instance. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”,“.”,”_“, and must not begin or end with a hyphen, and must not begin with http:// or https://.

property period

period?: pulumi.Input<number>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: [1-9, 12, 24, 36]. At present, the provider does not support modify “period” and you can do that via web console.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the eip belongs.

property status

status?: pulumi.Input<string>;

The EIP current status.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface GetDisksArgs

interface GetDisksArgs

A collection of arguments for invoking getDisks.

property category

category?: undefined | string;

Disk category. Possible values: cloud (basic cloud disk), cloudEfficiency (ultra cloud disk), ephemeralSsd (local SSD cloud disk), cloudSsd (SSD cloud disk), and cloudEssd (ESSD cloud disk).

property encrypted

encrypted?: undefined | string;

Indicate whether the disk is encrypted or not. Possible values: on and off.

property ids

ids?: string[];

A list of disks IDs.

property instanceId

instanceId?: undefined | string;

Filter the results by the specified ECS instance ID.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter results by disk name.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the disk belongs.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the disks. It must be in the format:

data "alicloud.ecs.getDisks" "disksDs" {
tags = {
tagKey1 = "tagValue1",
tagKey2 = "tagValue2"
}
}

property type

type?: undefined | string;

Disk type. Possible values: system and data.

interface GetDisksResult

interface GetDisksResult

A collection of values returned by getDisks.

property category

category?: undefined | string;

Disk category. Possible values: cloud (basic cloud disk), cloudEfficiency (ultra cloud disk), ephemeralSsd (local SSD cloud disk), cloudSsd (SSD cloud disk), and cloudEssd (ESSD cloud disk).

property disks

disks: GetDisksDisk[];

A list of disks. Each element contains the following attributes:

property encrypted

encrypted?: undefined | string;

Indicate whether the disk is encrypted or not. Possible values: on and off.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

property instanceId

instanceId?: undefined | string;

ID of the related instance. It is null unless the status is In_use.

property nameRegex

nameRegex?: undefined | string;

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the disk.

property type

type?: undefined | string;

Disk type. Possible values: system and data.

interface GetEipsArgs

interface GetEipsArgs

A collection of arguments for invoking getEips.

property ids

ids?: string[];

A list of EIP IDs.

property inUse

DEPRECATED Field 'in_use' has been deprecated from provider version 1.8.0.
inUse?: undefined | false | true;

Deprecated since the version 1.8.0 of this provider.

property ipAddresses

ipAddresses?: string[];

A list of EIP public IP addresses.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the eips belongs.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags to assign to the resource.

interface GetEipsResult

interface GetEipsResult

A collection of values returned by getEips.

property eips

eips: GetEipsEip[];

A list of EIPs. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

(Optional) A list of EIP IDs.

property inUse

inUse?: undefined | false | true;

property ipAddresses

ipAddresses?: string[];

property names

names: string[];

(Optional) A list of EIP names.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the eips belongs.

property tags

tags?: undefined | {[key: string]: any};

interface GetImagesArgs

interface GetImagesArgs

A collection of arguments for invoking getImages.

property mostRecent

mostRecent?: undefined | false | true;

If more than one result are returned, select the most recent one.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter resulting images by name.

property outputFile

outputFile?: undefined | string;

property owners

owners?: undefined | string;

Filter results by a specific image owner. Valid items are system, self, others, marketplace.

interface GetImagesResult

interface GetImagesResult

A collection of values returned by getImages.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of image IDs.

property images

images: GetImagesImage[];

A list of images. Each element contains the following attributes:

property mostRecent

mostRecent?: undefined | false | true;

property nameRegex

nameRegex?: undefined | string;

property outputFile

outputFile?: undefined | string;

property owners

owners?: undefined | string;

interface GetInstancesArgs

interface GetInstancesArgs

A collection of arguments for invoking getInstances.

property availabilityZone

availabilityZone?: undefined | string;

Availability zone where instances are located.

property ids

ids?: string[];

A list of ECS instance IDs.

property imageId

imageId?: undefined | string;

The image ID of some ECS instance used.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter results by instance name.

property outputFile

outputFile?: undefined | string;

property ramRoleName

ramRoleName?: undefined | string;

The RAM role name which the instance attaches.

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the instance belongs.

property status

status?: undefined | string;

Instance status. Valid values: “Creating”, “Starting”, “Running”, “Stopping” and “Stopped”. If undefined, all statuses are considered.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ECS instances. It must be in the format:

data "alicloud.ecs.getInstances" "taggedInstances" {
tags = {
tagKey1 = "tagValue1",
tagKey2 = "tagValue2"
}
}

property vpcId

vpcId?: undefined | string;

ID of the VPC linked to the instances.

property vswitchId

vswitchId?: undefined | string;

ID of the VSwitch linked to the instances.

interface GetInstancesResult

interface GetInstancesResult

A collection of values returned by getInstances.

property availabilityZone

availabilityZone?: undefined | string;

Availability zone the instance belongs to.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of ECS instance IDs.

property imageId

imageId?: undefined | string;

Image ID the instance is using.

property instances

instances: GetInstancesInstance[];

A list of instances. Each element contains the following attributes:

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of instances names.

property outputFile

outputFile?: undefined | string;

property ramRoleName

ramRoleName?: undefined | string;

The Ram role name.

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group.

property status

status?: undefined | string;

Instance current status.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ECS instance.

property vpcId

vpcId?: undefined | string;

ID of the VPC the instance belongs to.

property vswitchId

vswitchId?: undefined | string;

ID of the VSwitch the instance belongs to.

interface GetInstanceTypeFamiliesArgs

interface GetInstanceTypeFamiliesArgs

A collection of arguments for invoking getInstanceTypeFamilies.

property generation

generation?: undefined | string;

The generation of the instance type family, Valid values: ecs-1, ecs-2, ecs-3 and ecs-4. For more information, see Instance type families.

property instanceChargeType

instanceChargeType?: undefined | string;

Valid values are PrePaid, PostPaid, Default to PostPaid.

property outputFile

outputFile?: undefined | string;

property spotStrategy

spotStrategy?: undefined | string;

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

property zoneId

zoneId?: undefined | string;

The Zone to launch the instance.

interface GetInstanceTypeFamiliesResult

interface GetInstanceTypeFamiliesResult

A collection of values returned by getInstanceTypeFamilies.

property families

families: GetInstanceTypeFamiliesFamily[];

property generation

generation?: undefined | string;

The generation of the instance type family.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of instance type family IDs.

property instanceChargeType

instanceChargeType?: undefined | string;

property outputFile

outputFile?: undefined | string;

property spotStrategy

spotStrategy?: undefined | string;

property zoneId

zoneId?: undefined | string;

interface GetInstanceTypesArgs

interface GetInstanceTypesArgs

A collection of arguments for invoking getInstanceTypes.

property availabilityZone

availabilityZone?: undefined | string;

The zone where instance types are supported.

property cpuCoreCount

cpuCoreCount?: undefined | number;

Filter the results to a specific number of cpu cores.

property eniAmount

eniAmount?: undefined | number;

Filter the result whose network interface number is no more than eniAmount.

property gpuAmount

gpuAmount?: undefined | number;

The GPU amount of an instance type.

property gpuSpec

gpuSpec?: undefined | string;

The GPU spec of an instance type.

property instanceChargeType

instanceChargeType?: undefined | string;

Filter the results by charge type. Valid values: PrePaid and PostPaid. Default to PostPaid.

property instanceTypeFamily

instanceTypeFamily?: undefined | string;

Filter the results based on their family name. For example: ‘ecs.n4’.

property isOutdated

isOutdated?: undefined | false | true;

If true, outdated instance types are included in the results. Default to false.

property kubernetesNodeRole

kubernetesNodeRole?: undefined | string;

property memorySize

memorySize?: undefined | number;

Filter the results to a specific memory size in GB.

property networkType

networkType?: undefined | string;

Filter the results by network type. Valid values: Classic and Vpc.

property outputFile

outputFile?: undefined | string;

property sortedBy

sortedBy?: undefined | string;

property spotStrategy

spotStrategy?: undefined | string;

Filter the results by ECS spot type. Valid values: NoSpot, SpotWithPriceLimit and SpotAsPriceGo. Default to NoSpot.

interface GetInstanceTypesResult

interface GetInstanceTypesResult

A collection of values returned by getInstanceTypes.

property availabilityZone

availabilityZone?: undefined | string;

property cpuCoreCount

cpuCoreCount?: undefined | number;

Number of CPU cores.

property eniAmount

eniAmount?: undefined | number;

The maximum number of network interfaces that an instance type can be attached to.

property gpuAmount

gpuAmount?: undefined | number;

property gpuSpec

gpuSpec?: undefined | string;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of instance type IDs.

property instanceChargeType

instanceChargeType?: undefined | string;

property instanceTypeFamily

instanceTypeFamily?: undefined | string;

property instanceTypes

instanceTypes: GetInstanceTypesInstanceType[];

A list of image types. Each element contains the following attributes:

property isOutdated

isOutdated?: undefined | false | true;

property kubernetesNodeRole

kubernetesNodeRole?: undefined | string;

property memorySize

memorySize?: undefined | number;

Size of memory, measured in GB.

property networkType

networkType?: undefined | string;

property outputFile

outputFile?: undefined | string;

property sortedBy

sortedBy?: undefined | string;

property spotStrategy

spotStrategy?: undefined | string;

interface GetKeyPairsArgs

interface GetKeyPairsArgs

A collection of arguments for invoking getKeyPairs.

property fingerPrint

fingerPrint?: undefined | string;

A finger print used to retrieve specified key pair.

property ids

ids?: string[];

A list of key pair IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to apply to the resulting key pairs.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the key pair belongs.

property tags

tags?: undefined | {[key: string]: any};

A mapping of tags to assign to the resource.

interface GetKeyPairsResult

interface GetKeyPairsResult

A collection of values returned by getKeyPairs.

property fingerPrint

fingerPrint: string;

Finger print of the key pair.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

property keyPairs

keyPairs: GetKeyPairsKeyPair[];

A list of key pairs. Each element contains the following attributes:

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of key pair names.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group.

property tags

tags?: undefined | {[key: string]: any};

(Optional, Available in v1.66.0+) A mapping of tags to assign to the resource.

interface GetNetworkInterfacesArgs

interface GetNetworkInterfacesArgs

A collection of arguments for invoking getNetworkInterfaces.

property ids

ids?: string[];

property instanceId

instanceId?: undefined | string;

ID of the instance that the ENI is attached to.

property nameRegex

nameRegex?: undefined | string;

property outputFile

outputFile?: undefined | string;

property privateIp

privateIp?: undefined | string;

Primary private IP of the ENI.

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group.

property securityGroupId

securityGroupId?: undefined | string;

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ENI.

property type

type?: undefined | string;

property vpcId

vpcId?: undefined | string;

ID of the VPC that the ENI belongs to.

property vswitchId

vswitchId?: undefined | string;

ID of the VSwitch that the ENI is linked to.

interface GetNetworkInterfacesResult

interface GetNetworkInterfacesResult

A collection of values returned by getNetworkInterfaces.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

property instanceId

instanceId?: undefined | string;

ID of the instance that the ENI is attached to.

property interfaces

interfaces: GetNetworkInterfacesInterface[];

A list of ENIs. Each element contains the following attributes:

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

property outputFile

outputFile?: undefined | string;

property privateIp

privateIp?: undefined | string;

Primary private IP of the ENI.

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group.

property securityGroupId

securityGroupId?: undefined | string;

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ENI.

property type

type?: undefined | string;

property vpcId

vpcId?: undefined | string;

ID of the VPC that the ENI belongs to.

property vswitchId

vswitchId?: undefined | string;

ID of the VSwitch that the ENI is linked to.

interface GetSecurityGroupRulesArgs

interface GetSecurityGroupRulesArgs

A collection of arguments for invoking getSecurityGroupRules.

property direction

direction?: undefined | string;

Authorization direction. Valid values are: ingress or egress.

property groupId

groupId: string;

The ID of the security group that owns the rules.

property ipProtocol

ipProtocol?: undefined | string;

The IP protocol. Valid values are: tcp, udp, icmp, gre and all.

property nicType

nicType?: undefined | string;

Refers to the network type. Can be either internet or intranet. The default value is internet.

property outputFile

outputFile?: undefined | string;

property policy

policy?: undefined | string;

Authorization policy. Can be either accept or drop. The default value is accept.

interface GetSecurityGroupRulesResult

interface GetSecurityGroupRulesResult

A collection of values returned by getSecurityGroupRules.

property direction

direction?: undefined | string;

Authorization direction, ingress or egress.

property groupDesc

groupDesc: string;

The description of the security group that owns the rules.

property groupId

groupId: string;

property groupName

groupName: string;

The name of the security group that owns the rules.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ipProtocol

ipProtocol?: undefined | string;

The protocol. Can be tcp, udp, icmp, gre or all.

property nicType

nicType?: undefined | string;

Network type, internet or intranet.

property outputFile

outputFile?: undefined | string;

property policy

policy?: undefined | string;

Authorization policy. Can be either accept or drop.

property rules

rules: GetSecurityGroupRulesRule[];

A list of security group rules. Each element contains the following attributes:

interface GetSecurityGroupsArgs

interface GetSecurityGroupsArgs

A collection of arguments for invoking getSecurityGroups.

property ids

ids?: string[];

A list of Security Group IDs.

property nameRegex

nameRegex?: undefined | string;

A regex string to filter the resulting security groups by their names.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the securityGroup belongs.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ECS instances. It must be in the format:

data "alicloud.ecs.getSecurityGroups" "taggedSecurityGroups" {
tags = {
tagKey1 = "tagValue1",
tagKey2 = "tagValue2"
}
}

property vpcId

vpcId?: undefined | string;

Used to retrieve security groups that belong to the specified VPC ID.

interface GetSecurityGroupsResult

interface GetSecurityGroupsResult

A collection of values returned by getSecurityGroups.

property groups

groups: GetSecurityGroupsGroup[];

A list of Security Groups. Each element contains the following attributes:

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of Security Group IDs.

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of Security Group names.

property outputFile

outputFile?: undefined | string;

property resourceGroupId

resourceGroupId?: undefined | string;

The Id of resource group which the securityGroup belongs.

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the ECS instance.

property vpcId

vpcId?: undefined | string;

The ID of the VPC that owns the security group.

interface GetSnapshotsArgs

interface GetSnapshotsArgs

A collection of arguments for invoking getSnapshots.

property diskId

diskId?: undefined | string;

property encrypted

encrypted?: undefined | false | true;

Whether the snapshot is encrypted or not.

property ids

ids?: string[];

A list of snapshot IDs.

property instanceId

instanceId?: undefined | string;

property nameRegex

nameRegex?: undefined | string;

property outputFile

outputFile?: undefined | string;

property sourceDiskType

sourceDiskType?: undefined | string;

Source disk attribute. Value range: * System * Data

property status

status?: undefined | string;

The snapshot status. Value range: * progressing * accomplished * failed

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the snapshot.

property type

type?: undefined | string;

property usage

usage?: undefined | string;

Whether the snapshots are used to create resources or not. Value range: * image * disk * imageDisk * none

interface GetSnapshotsResult

interface GetSnapshotsResult

A collection of values returned by getSnapshots.

property diskId

diskId?: undefined | string;

property encrypted

encrypted?: undefined | false | true;

Whether the snapshot is encrypted or not.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ids

ids: string[];

A list of snapshot IDs.

property instanceId

instanceId?: undefined | string;

property nameRegex

nameRegex?: undefined | string;

property names

names: string[];

A list of snapshots names.

property outputFile

outputFile?: undefined | string;

property snapshots

snapshots: GetSnapshotsSnapshot[];

A list of snapshots. Each element contains the following attributes:

property sourceDiskType

sourceDiskType?: undefined | string;

Source disk attribute. Value range: * System * Data

property status

status?: undefined | string;

The snapshot status. Value range: * progressing * accomplished * failed

property tags

tags?: undefined | {[key: string]: any};

A map of tags assigned to the snapshot.

property type

type?: undefined | string;

property usage

usage?: undefined | string;

Whether the snapshots are used to create resources or not. Value range: * image * disk * imageDisk * none

interface ImageArgs

interface ImageArgs

The set of arguments for constructing a Image resource.

property architecture

architecture?: pulumi.Input<string>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

description?: pulumi.Input<string>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property diskDeviceMappings

diskDeviceMappings?: pulumi.Input<pulumi.Input<ImageDiskDeviceMapping>[]>;

Description of the system with disks and snapshots under the image.

property force

force?: pulumi.Input<boolean>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property instanceId

instanceId?: pulumi.Input<string>;

The instance ID.

property name

name?: pulumi.Input<string>;

property platform

platform?: pulumi.Input<string>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, RedHat, Debian, CoreOS, Aliyun Linux, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The ID of the enterprise resource group to which a custom image belongs

property snapshotId

snapshotId?: pulumi.Input<string>;

Specifies a snapshot that is used to create a combined custom image.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

The tag value of an image. The value of N ranges from 1 to 20.

interface ImageCopyArgs

interface ImageCopyArgs

The set of arguments for constructing a ImageCopy resource.

property description

description?: pulumi.Input<string>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property encrypted

encrypted?: pulumi.Input<boolean>;

Indicates whether to encrypt the image.

property force

force?: pulumi.Input<boolean>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

Key ID used to encrypt the image.

property name

name?: pulumi.Input<string>;

property sourceImageId

sourceImageId: pulumi.Input<string>;

The source image ID.

property sourceRegionId

sourceRegionId: pulumi.Input<string>;

The ID of the region to which the source custom image belongs. You can call DescribeRegions to view the latest regions of Alibaba Cloud.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

The tag value of an image. The value of N ranges from 1 to 20.

interface ImageCopyState

interface ImageCopyState

Input properties used for looking up and filtering ImageCopy resources.

property description

description?: pulumi.Input<string>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property encrypted

encrypted?: pulumi.Input<boolean>;

Indicates whether to encrypt the image.

property force

force?: pulumi.Input<boolean>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property kmsKeyId

kmsKeyId?: pulumi.Input<string>;

Key ID used to encrypt the image.

property name

name?: pulumi.Input<string>;

property sourceImageId

sourceImageId?: pulumi.Input<string>;

The source image ID.

property sourceRegionId

sourceRegionId?: pulumi.Input<string>;

The ID of the region to which the source custom image belongs. You can call DescribeRegions to view the latest regions of Alibaba Cloud.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

The tag value of an image. The value of N ranges from 1 to 20.

interface ImageExportArgs

interface ImageExportArgs

The set of arguments for constructing a ImageExport resource.

property imageId

imageId: pulumi.Input<string>;

The source image ID.

property ossBucket

ossBucket: pulumi.Input<string>;

Save the exported OSS bucket.

property ossPrefix

ossPrefix?: pulumi.Input<string>;

The prefix of your OSS Object. It can be composed of numbers or letters, and the character length is 1 ~ 30.

interface ImageExportState

interface ImageExportState

Input properties used for looking up and filtering ImageExport resources.

property imageId

imageId?: pulumi.Input<string>;

The source image ID.

property ossBucket

ossBucket?: pulumi.Input<string>;

Save the exported OSS bucket.

property ossPrefix

ossPrefix?: pulumi.Input<string>;

The prefix of your OSS Object. It can be composed of numbers or letters, and the character length is 1 ~ 30.

interface ImageImportArgs

interface ImageImportArgs

The set of arguments for constructing a ImageImport resource.

property architecture

architecture?: pulumi.Input<string>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

description?: pulumi.Input<string>;

Description of the image. The length is 2 to 256 English or Chinese characters, and cannot begin with http: // and https: //.

property diskDeviceMappings

diskDeviceMappings: pulumi.Input<pulumi.Input<ImageImportDiskDeviceMapping>[]>;

Description of the system with disks and snapshots under the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. The length is 2 ~ 128 English or Chinese characters. Must start with a english letter or Chinese, and cannot start with http: // and https: //. Can contain numbers, colons (:), underscores (_), or hyphens (-).

property licenseType

licenseType?: pulumi.Input<string>;

The type of the license used to activate the operating system after the image is imported. Default value: Auto. Valid values: Auto,Aliyun,BYOL.

property osType

osType?: pulumi.Input<string>;

Operating system platform type. Valid values: windows, Default is linux.

property platform

platform?: pulumi.Input<string>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, Debian, CoreOS, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

interface ImageImportState

interface ImageImportState

Input properties used for looking up and filtering ImageImport resources.

property architecture

architecture?: pulumi.Input<string>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

description?: pulumi.Input<string>;

Description of the image. The length is 2 to 256 English or Chinese characters, and cannot begin with http: // and https: //.

property diskDeviceMappings

diskDeviceMappings?: pulumi.Input<pulumi.Input<ImageImportDiskDeviceMapping>[]>;

Description of the system with disks and snapshots under the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. The length is 2 ~ 128 English or Chinese characters. Must start with a english letter or Chinese, and cannot start with http: // and https: //. Can contain numbers, colons (:), underscores (_), or hyphens (-).

property licenseType

licenseType?: pulumi.Input<string>;

The type of the license used to activate the operating system after the image is imported. Default value: Auto. Valid values: Auto,Aliyun,BYOL.

property osType

osType?: pulumi.Input<string>;

Operating system platform type. Valid values: windows, Default is linux.

property platform

platform?: pulumi.Input<string>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, Debian, CoreOS, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

interface ImageSharePermissionArgs

interface ImageSharePermissionArgs

The set of arguments for constructing a ImageSharePermission resource.

property accountId

accountId: pulumi.Input<string>;

Alibaba Cloud Account ID. It is used to share images.

property imageId

imageId: pulumi.Input<string>;

The source image ID.

interface ImageSharePermissionState

interface ImageSharePermissionState

Input properties used for looking up and filtering ImageSharePermission resources.

property accountId

accountId?: pulumi.Input<string>;

Alibaba Cloud Account ID. It is used to share images.

property imageId

imageId?: pulumi.Input<string>;

The source image ID.

interface ImageState

interface ImageState

Input properties used for looking up and filtering Image resources.

property architecture

architecture?: pulumi.Input<string>;

Specifies the architecture of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: i386 , Default is x8664.

property description

description?: pulumi.Input<string>;

The description of the image. It must be 2 to 256 characters in length and must not start with http:// or https://. Default value: null.

property diskDeviceMappings

diskDeviceMappings?: pulumi.Input<pulumi.Input<ImageDiskDeviceMapping>[]>;

Description of the system with disks and snapshots under the image.

property force

force?: pulumi.Input<boolean>;

Indicates whether to force delete the custom image, Default is false. - true:Force deletes the custom image, regardless of whether the image is currently being used by other instances. - false:Verifies that the image is not currently in use by any other instances before deleting the image.

property imageName

imageName?: pulumi.Input<string>;

The image name. It must be 2 to 128 characters in length, and must begin with a letter or Chinese character (beginning with http:// or https:// is not allowed). It can contain digits, colons (:), underscores (_), or hyphens (-). Default value: null.

property instanceId

instanceId?: pulumi.Input<string>;

The instance ID.

property name

name?: pulumi.Input<string>;

property platform

platform?: pulumi.Input<string>;

Specifies the operating system platform of the system disk after you specify a data disk snapshot as the data source of the system disk for creating an image. Valid values: CentOS, Ubuntu, SUSE, OpenSUSE, RedHat, Debian, CoreOS, Aliyun Linux, Windows Server 2003, Windows Server 2008, Windows Server 2012, Windows 7, Default is Others Linux, Customized Linux.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The ID of the enterprise resource group to which a custom image belongs

property snapshotId

snapshotId?: pulumi.Input<string>;

Specifies a snapshot that is used to create a combined custom image.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

The tag value of an image. The value of N ranges from 1 to 20.

interface InstanceArgs

interface InstanceArgs

The set of arguments for constructing a Instance resource.

property allocatePublicIp

DEPRECATED Field 'allocate_public_ip' has been deprecated from provider version 1.6.1. Setting 'internet_max_bandwidth_out' larger than 0 will allocate public ip for instance.
allocatePublicIp?: pulumi.Input<boolean>;

It has been deprecated from version “1.7.0”. Setting “internetMaxBandwidthOut” larger than 0 can allocate a public ip address for an instance.

property autoReleaseTime

autoReleaseTime?: pulumi.Input<string>;

The automatic release time of the PostPaid instance. The time follows the ISO 8601 standard and is in UTC time. Format: yyyy-MM-ddTHH:mm:ssZ. It must be at least half an hour later than the current time and less than 3 years since the current time. Set it to null can cancel automatic release attribute and the ECS instance will not be released automatically.

property autoRenewPeriod

autoRenewPeriod?: pulumi.Input<number>;

Auto renewal period of an instance, in the unit of month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid value: - [1, 2, 3, 6, 12] when periodUnit in “Month” - [1, 2, 3] when periodUnit in “Week”

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Zone to start the instance in. It is ignored and will be computed when set vswitchId.

property creditSpecification

creditSpecification?: pulumi.Input<string>;

Performance mode of the t5 burstable instance. Valid values: ‘Standard’, ‘Unlimited’.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<InstanceDataDisk>[]>;

The list of data disks created with instance.

property deletionProtection

deletionProtection?: pulumi.Input<boolean>;

Whether enable the deletion protection or not. - true: Enable deletion protection. - false: Disable deletion protection.

property description

description?: pulumi.Input<string>;

The description of the data disk.

property dryRun

dryRun?: pulumi.Input<boolean>;

Specifies whether to send a dry-run request. Default to false. - true: Only a dry-run request is sent and no instance is created. The system checks whether the required parameters are set, and validates the request format, service permissions, and available ECS instances. If the validation fails, the corresponding error code is returned. If the validation succeeds, the DryRunOperation error code is returned. - false: A request is sent. If the validation succeeds, the instance is created.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

If it is true, the “PrePaid” instance will be change to “PostPaid” and then deleted forcibly. However, because of changing instance charge type has CPU core count quota limitation, so strongly recommand that “Don’t modify instance charge type frequentlly in one month”.

property hostName

hostName?: pulumi.Input<string>;

Host name of the ECS, which is a string of at least two characters. “hostname” cannot start or end with “.” or “-“. In addition, two or more consecutive “.” or “-“ symbols are not allowed. On Windows, the host name can contain a maximum of 15 characters, which can be a combination of uppercase/lowercase letters, numerals, and “-“. The host name cannot contain dots (“.”) or contain only numeric characters. When it is changed, the instance will reboot to make the change take effect. On other OSs such as Linux, the host name can contain a maximum of 64 characters, which can be segments separated by dots (“.”), where each segment can contain uppercase/lowercase letters, numerals, or “_“. When it is changed, the instance will reboot to make the change take effect.

property imageId

imageId: pulumi.Input<string>;

The Image to use for the instance. ECS instance’s image can be replaced via changing ‘image_id’. When it is changed, the instance will reboot to make the change take effect.

property includeDataDisks

includeDataDisks?: pulumi.Input<boolean>;

Whether to change instance disks charge type when changing instance charge type.

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Valid values are PrePaid, PostPaid, The default is PostPaid.

property instanceName

instanceName?: pulumi.Input<string>;

property instanceType

instanceType: pulumi.Input<string>;

The type of instance to start. When it is changed, the instance will reboot to make the change take effect.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet charge type of the instance, Valid values are PayByBandwidth, PayByTraffic. Default is PayByTraffic. At present, ‘PrePaid’ instance cannot change the value to “PayByBandwidth” from “PayByTraffic”.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). Value range: [1, 200]. If this value is not specified, then automatically sets it to 200 Mbps.

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bit per second). Value range: [0, 100]. Default to 0 Mbps.

property ioOptimized

DEPRECATED Attribute io_optimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
ioOptimized?: pulumi.Input<string>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

isOutdated?: pulumi.Input<boolean>;

Whether to use outdated instance type. Default to false.

property keyName

keyName?: pulumi.Input<string>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

An KMS encrypts password used to an instance. If the password is filled in, this field will be ignored. When it is changed, the instance will reboot to make the change take effect.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating an instance with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set. When it is changed, the instance will reboot to make the change take effect.

property password

password?: pulumi.Input<string>;

Password to an instance is a string of 8 to 30 characters. It must contain uppercase/lowercase letters and numerals, but cannot contain special symbols. When it is changed, the instance will reboot to make the change take effect.

property period

period?: pulumi.Input<number>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: - [1-9, 12, 24, 36, 48, 60] when periodUnit in “Month” - [1-3] when periodUnit in “Week”

property periodUnit

periodUnit?: pulumi.Input<string>;

The duration unit that you will buy the resource. It is valid when instanceChargeType is ‘PrePaid’. Valid value: [“Week”, “Month”]. Default to “Month”.

property privateIp

privateIp?: pulumi.Input<string>;

Instance private IP address can be specified when you creating new instance. It is valid when vswitchId is specified. When it is changed, the instance will reboot to make the change take effect.

property renewalStatus

renewalStatus?: pulumi.Input<string>;

Whether to renew an ECS instance automatically or not. It is valid when instanceChargeType is PrePaid. Default to “Normal”. Valid values: - AutoRenewal: Enable auto renewal. - Normal: Disable auto renewal. - NotRenewal: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the instance belongs.

property roleName

roleName?: pulumi.Input<string>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property securityEnhancementStrategy

securityEnhancementStrategy?: pulumi.Input<string>;

The security enhancement strategy. - Active: Enable security enhancement strategy, it only works on system images. - Deactive: Disable security enhancement strategy, it works on all images.

property securityGroups

securityGroups: pulumi.Input<pulumi.Input<string>[]>;

A list of security group ids to associate with.

property spotPriceLimit

spotPriceLimit?: pulumi.Input<number>;

The hourly price threshold of a instance, and it takes effect only when parameter ‘spot_strategy’ is ‘SpotWithPriceLimit’. Three decimals is allowed at most.

property spotStrategy

spotStrategy?: pulumi.Input<string>;

The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter instanceChargeType is ‘PostPaid’. Value range: - NoSpot: A regular Pay-As-You-Go instance. - SpotWithPriceLimit: A price threshold for a spot instance - SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance

property status

status?: pulumi.Input<string>;

The instance status. Valid values: [“Running”, “Stopped”]. You can control the instance start and stop through this parameter. Default to Running.

property subnetId

subnetId?: pulumi.Input<string>;

property systemDiskAutoSnapshotPolicyId

systemDiskAutoSnapshotPolicyId?: pulumi.Input<string>;

The ID of the automatic snapshot policy applied to the system disk.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

Valid values are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd, cloud. cloud only is used to some none I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of the system disk, measured in GiB. Value range: [20, 500]. The specified value must be equal to or greater than max{20, Imagesize}. Default value: max{40, ImageSize}. ECS instance’s system disk can be reset when replacing system disk. When it is changed, the instance will reboot to make the change take effect.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property userData

userData?: pulumi.Input<string>;

User-defined data to customize the startup behaviors of an ECS instance and to pass data into an ECS instance. From version 1.60.0, it can be update in-place. If updated, the instance will reboot to make the change take effect. Note: Not all of changes will take effect and it depends on cloud-init module type.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the devices created by the instance at launch time. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property vswitchId

vswitchId?: pulumi.Input<string>;

The virtual switch ID to launch in VPC. This parameter must be set unless you can create classic network instances. When it is changed, the instance will reboot to make the change take effect.

interface InstanceState

interface InstanceState

Input properties used for looking up and filtering Instance resources.

property allocatePublicIp

DEPRECATED Field 'allocate_public_ip' has been deprecated from provider version 1.6.1. Setting 'internet_max_bandwidth_out' larger than 0 will allocate public ip for instance.
allocatePublicIp?: pulumi.Input<boolean>;

It has been deprecated from version “1.7.0”. Setting “internetMaxBandwidthOut” larger than 0 can allocate a public ip address for an instance.

property autoReleaseTime

autoReleaseTime?: pulumi.Input<string>;

The automatic release time of the PostPaid instance. The time follows the ISO 8601 standard and is in UTC time. Format: yyyy-MM-ddTHH:mm:ssZ. It must be at least half an hour later than the current time and less than 3 years since the current time. Set it to null can cancel automatic release attribute and the ECS instance will not be released automatically.

property autoRenewPeriod

autoRenewPeriod?: pulumi.Input<number>;

Auto renewal period of an instance, in the unit of month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid value: - [1, 2, 3, 6, 12] when periodUnit in “Month” - [1, 2, 3] when periodUnit in “Week”

property availabilityZone

availabilityZone?: pulumi.Input<string>;

The Zone to start the instance in. It is ignored and will be computed when set vswitchId.

property creditSpecification

creditSpecification?: pulumi.Input<string>;

Performance mode of the t5 burstable instance. Valid values: ‘Standard’, ‘Unlimited’.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<InstanceDataDisk>[]>;

The list of data disks created with instance.

property deletionProtection

deletionProtection?: pulumi.Input<boolean>;

Whether enable the deletion protection or not. - true: Enable deletion protection. - false: Disable deletion protection.

property description

description?: pulumi.Input<string>;

The description of the data disk.

property dryRun

dryRun?: pulumi.Input<boolean>;

Specifies whether to send a dry-run request. Default to false. - true: Only a dry-run request is sent and no instance is created. The system checks whether the required parameters are set, and validates the request format, service permissions, and available ECS instances. If the validation fails, the corresponding error code is returned. If the validation succeeds, the DryRunOperation error code is returned. - false: A request is sent. If the validation succeeds, the instance is created.

property forceDelete

forceDelete?: pulumi.Input<boolean>;

If it is true, the “PrePaid” instance will be change to “PostPaid” and then deleted forcibly. However, because of changing instance charge type has CPU core count quota limitation, so strongly recommand that “Don’t modify instance charge type frequentlly in one month”.

property hostName

hostName?: pulumi.Input<string>;

Host name of the ECS, which is a string of at least two characters. “hostname” cannot start or end with “.” or “-“. In addition, two or more consecutive “.” or “-“ symbols are not allowed. On Windows, the host name can contain a maximum of 15 characters, which can be a combination of uppercase/lowercase letters, numerals, and “-“. The host name cannot contain dots (“.”) or contain only numeric characters. When it is changed, the instance will reboot to make the change take effect. On other OSs such as Linux, the host name can contain a maximum of 64 characters, which can be segments separated by dots (“.”), where each segment can contain uppercase/lowercase letters, numerals, or “_“. When it is changed, the instance will reboot to make the change take effect.

property imageId

imageId?: pulumi.Input<string>;

The Image to use for the instance. ECS instance’s image can be replaced via changing ‘image_id’. When it is changed, the instance will reboot to make the change take effect.

property includeDataDisks

includeDataDisks?: pulumi.Input<boolean>;

Whether to change instance disks charge type when changing instance charge type.

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Valid values are PrePaid, PostPaid, The default is PostPaid.

property instanceName

instanceName?: pulumi.Input<string>;

property instanceType

instanceType?: pulumi.Input<string>;

The type of instance to start. When it is changed, the instance will reboot to make the change take effect.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet charge type of the instance, Valid values are PayByBandwidth, PayByTraffic. Default is PayByTraffic. At present, ‘PrePaid’ instance cannot change the value to “PayByBandwidth” from “PayByTraffic”.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

Maximum incoming bandwidth from the public network, measured in Mbps (Mega bit per second). Value range: [1, 200]. If this value is not specified, then automatically sets it to 200 Mbps.

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outgoing bandwidth to the public network, measured in Mbps (Mega bit per second). Value range: [0, 100]. Default to 0 Mbps.

property ioOptimized

DEPRECATED Attribute io_optimized has been deprecated on instance resource. All the launched alicloud instances will be IO optimized. Suggest to remove it from your template.
ioOptimized?: pulumi.Input<string>;

It has been deprecated on instance resource. All the launched alicloud instances will be I/O optimized.

property isOutdated

isOutdated?: pulumi.Input<boolean>;

Whether to use outdated instance type. Default to false.

property keyName

keyName?: pulumi.Input<string>;

The name of key pair that can login ECS instance successfully without password. If it is specified, the password would be invalid.

property kmsEncryptedPassword

kmsEncryptedPassword?: pulumi.Input<string>;

An KMS encrypts password used to an instance. If the password is filled in, this field will be ignored. When it is changed, the instance will reboot to make the change take effect.

property kmsEncryptionContext

kmsEncryptionContext?: pulumi.Input<{[key: string]: any}>;

An KMS encryption context used to decrypt kmsEncryptedPassword before creating or updating an instance with kmsEncryptedPassword. See Encryption Context. It is valid when kmsEncryptedPassword is set. When it is changed, the instance will reboot to make the change take effect.

property password

password?: pulumi.Input<string>;

Password to an instance is a string of 8 to 30 characters. It must contain uppercase/lowercase letters and numerals, but cannot contain special symbols. When it is changed, the instance will reboot to make the change take effect.

property period

period?: pulumi.Input<number>;

The duration that you will buy the resource, in month. It is valid when instanceChargeType is PrePaid. Default to 1. Valid values: - [1-9, 12, 24, 36, 48, 60] when periodUnit in “Month” - [1-3] when periodUnit in “Week”

property periodUnit

periodUnit?: pulumi.Input<string>;

The duration unit that you will buy the resource. It is valid when instanceChargeType is ‘PrePaid’. Valid value: [“Week”, “Month”]. Default to “Month”.

property privateIp

privateIp?: pulumi.Input<string>;

Instance private IP address can be specified when you creating new instance. It is valid when vswitchId is specified. When it is changed, the instance will reboot to make the change take effect.

property publicIp

publicIp?: pulumi.Input<string>;

The instance public ip.

property renewalStatus

renewalStatus?: pulumi.Input<string>;

Whether to renew an ECS instance automatically or not. It is valid when instanceChargeType is PrePaid. Default to “Normal”. Valid values: - AutoRenewal: Enable auto renewal. - Normal: Disable auto renewal. - NotRenewal: No renewal any longer. After you specify this value, Alibaba Cloud stop sending notification of instance expiry, and only gives a brief reminder on the third day before the instance expiry.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the instance belongs.

property roleName

roleName?: pulumi.Input<string>;

Instance RAM role name. The name is provided and maintained by RAM. You can use alicloud.ram.Role to create a new one.

property securityEnhancementStrategy

securityEnhancementStrategy?: pulumi.Input<string>;

The security enhancement strategy. - Active: Enable security enhancement strategy, it only works on system images. - Deactive: Disable security enhancement strategy, it works on all images.

property securityGroups

securityGroups?: pulumi.Input<pulumi.Input<string>[]>;

A list of security group ids to associate with.

property spotPriceLimit

spotPriceLimit?: pulumi.Input<number>;

The hourly price threshold of a instance, and it takes effect only when parameter ‘spot_strategy’ is ‘SpotWithPriceLimit’. Three decimals is allowed at most.

property spotStrategy

spotStrategy?: pulumi.Input<string>;

The spot strategy of a Pay-As-You-Go instance, and it takes effect only when parameter instanceChargeType is ‘PostPaid’. Value range: - NoSpot: A regular Pay-As-You-Go instance. - SpotWithPriceLimit: A price threshold for a spot instance - SpotAsPriceGo: A price that is based on the highest Pay-As-You-Go instance

property status

status?: pulumi.Input<string>;

The instance status. Valid values: [“Running”, “Stopped”]. You can control the instance start and stop through this parameter. Default to Running.

property subnetId

subnetId?: pulumi.Input<string>;

property systemDiskAutoSnapshotPolicyId

systemDiskAutoSnapshotPolicyId?: pulumi.Input<string>;

The ID of the automatic snapshot policy applied to the system disk.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

Valid values are ephemeralSsd, cloudEfficiency, cloudSsd, cloudEssd, cloud. cloud only is used to some none I/O optimized instance. Default to cloudEfficiency.

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of the system disk, measured in GiB. Value range: [20, 500]. The specified value must be equal to or greater than max{20, Imagesize}. Default value: max{40, ImageSize}. ECS instance’s system disk can be reset when replacing system disk. When it is changed, the instance will reboot to make the change take effect.

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property userData

userData?: pulumi.Input<string>;

User-defined data to customize the startup behaviors of an ECS instance and to pass data into an ECS instance. From version 1.60.0, it can be update in-place. If updated, the instance will reboot to make the change take effect. Note: Not all of changes will take effect and it depends on cloud-init module type.

property volumeTags

volumeTags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the devices created by the instance at launch time. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property vswitchId

vswitchId?: pulumi.Input<string>;

The virtual switch ID to launch in VPC. This parameter must be set unless you can create classic network instances. When it is changed, the instance will reboot to make the change take effect.

interface KeyPairArgs

interface KeyPairArgs

The set of arguments for constructing a KeyPair resource.

property keyFile

keyFile?: pulumi.Input<string>;

The name of file to save your new key pair’s private key. Strongly suggest you to specified it when you creating key pair, otherwise, you wouldn’t get its private key ever.

property keyName

keyName?: pulumi.Input<string>;

The key pair’s name. It is the only in one Alicloud account.

property keyNamePrefix

keyNamePrefix?: pulumi.Input<string>;

property publicKey

publicKey?: pulumi.Input<string>;

You can import an existing public key and using Alicloud key pair to manage it.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the key pair belongs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

interface KeyPairAttachmentArgs

interface KeyPairAttachmentArgs

The set of arguments for constructing a KeyPairAttachment resource.

property force

force?: pulumi.Input<boolean>;

Set it to true and it will reboot instances which attached with the key pair to make key pair affect immediately.

property instanceIds

instanceIds: pulumi.Input<pulumi.Input<string>[]>;

The list of ECS instance’s IDs.

property keyName

keyName: pulumi.Input<string>;

The name of key pair used to bind.

interface KeyPairAttachmentState

interface KeyPairAttachmentState

Input properties used for looking up and filtering KeyPairAttachment resources.

property force

force?: pulumi.Input<boolean>;

Set it to true and it will reboot instances which attached with the key pair to make key pair affect immediately.

property instanceIds

instanceIds?: pulumi.Input<pulumi.Input<string>[]>;

The list of ECS instance’s IDs.

property keyName

keyName?: pulumi.Input<string>;

The name of key pair used to bind.

interface KeyPairState

interface KeyPairState

Input properties used for looking up and filtering KeyPair resources.

property fingerPrint

fingerPrint?: pulumi.Input<string>;

property keyFile

keyFile?: pulumi.Input<string>;

The name of file to save your new key pair’s private key. Strongly suggest you to specified it when you creating key pair, otherwise, you wouldn’t get its private key ever.

property keyName

keyName?: pulumi.Input<string>;

The key pair’s name. It is the only in one Alicloud account.

property keyNamePrefix

keyNamePrefix?: pulumi.Input<string>;

property publicKey

publicKey?: pulumi.Input<string>;

You can import an existing public key and using Alicloud key pair to manage it.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the key pair belongs.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

interface LaunchTemplateArgs

interface LaunchTemplateArgs

The set of arguments for constructing a LaunchTemplate resource.

property autoReleaseTime

autoReleaseTime?: pulumi.Input<string>;

Instance auto release time. The time is presented using the ISO8601 standard and in UTC time. The format is YYYY-MM-DDTHH:MM:SSZ.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<LaunchTemplateDataDisk>[]>;

The list of data disks created with instance.

property description

description?: pulumi.Input<string>;

The description of the data disk.

property hostName

hostName?: pulumi.Input<string>;

Instance host name.It cannot start or end with a period (.) or a hyphen (-) and it cannot have two or more consecutive periods (.) or hyphens (-).For Windows: The host name can be [2, 15] characters in length. It can contain A-Z, a-z, numbers, periods (.), and hyphens (-). It cannot only contain numbers. For other operating systems: The host name can be [2, 64] characters in length. It can be segments separated by periods (.). It can contain A-Z, a-z, numbers, and hyphens (-).

property imageId

imageId?: pulumi.Input<string>;

Image ID.

property imageOwnerAlias

imageOwnerAlias?: pulumi.Input<string>;

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Billing methods. Optional values: - PrePaid: Monthly, or annual subscription. Make sure that your registered credit card is invalid or you have insufficient balance in your PayPal account. Otherwise, InvalidPayMethod error may occur. - PostPaid: Pay-As-You-Go.

property instanceName

instanceName?: pulumi.Input<string>;

The name of the instance. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property instanceType

instanceType?: pulumi.Input<string>;

Instance type. For more information, call resourceAlicloudInstances to obtain the latest instance type list.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet bandwidth billing method. Optional values: PayByTraffic.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

The maximum inbound bandwidth from the Internet network, measured in Mbit/s. Value range: [1, 200].

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outbound bandwidth from the Internet, its unit of measurement is Mbit/s. Value range: [0, 100].

property ioOptimized

ioOptimized?: pulumi.Input<string>;

Whether it is an I/O-optimized instance or not. Optional values: - none - optimized

property keyPairName

keyPairName?: pulumi.Input<string>;

The name of the key pair. - Ignore this parameter for Windows instances. It is null by default. Even if you enter this parameter, only the Password content is used. - The password logon method for Linux instances is set to forbidden upon initialization.

property name

name?: pulumi.Input<string>;

The name of the data disk.

property networkInterfaces

networkInterfaces?: pulumi.Input<LaunchTemplateNetworkInterfaces>;

The list of network interfaces created with instance.

property networkType

networkType?: pulumi.Input<string>;

Network type of the instance. Value options: Classic | VPC.

property ramRoleName

ramRoleName?: pulumi.Input<string>;

The RAM role name of the instance. You can use the RAM API ListRoles to query instance RAM role names.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

property securityEnhancementStrategy

securityEnhancementStrategy?: pulumi.Input<string>;

Whether or not to activate the security enhancement feature and install network security software free of charge. Optional values: Active | Deactive.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

The security group ID must be one in the same VPC.

property spotPriceLimit

spotPriceLimit?: pulumi.Input<number>;

-(Optional) Sets the maximum hourly instance price. Supports up to three decimal places.

property spotStrategy

spotStrategy?: pulumi.Input<string>;

The spot strategy for a Pay-As-You-Go instance. This parameter is valid and required only when InstanceChargeType is set to PostPaid. Value range: - NoSpot: Normal Pay-As-You-Go instance. - SpotWithPriceLimit: Sets the maximum price for a spot instance. - SpotAsPriceGo: The system automatically calculates the price. The maximum value is the Pay-As-You-Go price.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

The category of the system disk. System disk type. Optional values: - cloud: Basic cloud disk. - cloud_efficiency: Ultra cloud disk. - cloud_ssd: SSD cloud Disks. - ephemeral_ssd: local SSD Disks - cloud_essd: ESSD cloud Disks.

property systemDiskDescription

systemDiskDescription?: pulumi.Input<string>;

System disk description. It cannot begin with http:// or https://.

property systemDiskName

systemDiskName?: pulumi.Input<string>;

System disk name. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of the system disk, measured in GB. Value range: [20, 500].

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property userdata

userdata?: pulumi.Input<string>;

User data of the instance, which is Base64-encoded. Size of the raw data cannot exceed 16 KB.

property vpcId

vpcId?: pulumi.Input<string>;

property vswitchId

vswitchId?: pulumi.Input<string>;

The VSwitch ID for ENI. The instance must be in the same zone of the same VPC network as the ENI, but they may belong to different VSwitches.

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID of the instance.

interface LaunchTemplateState

interface LaunchTemplateState

Input properties used for looking up and filtering LaunchTemplate resources.

property autoReleaseTime

autoReleaseTime?: pulumi.Input<string>;

Instance auto release time. The time is presented using the ISO8601 standard and in UTC time. The format is YYYY-MM-DDTHH:MM:SSZ.

property dataDisks

dataDisks?: pulumi.Input<pulumi.Input<LaunchTemplateDataDisk>[]>;

The list of data disks created with instance.

property description

description?: pulumi.Input<string>;

The description of the data disk.

property hostName

hostName?: pulumi.Input<string>;

Instance host name.It cannot start or end with a period (.) or a hyphen (-) and it cannot have two or more consecutive periods (.) or hyphens (-).For Windows: The host name can be [2, 15] characters in length. It can contain A-Z, a-z, numbers, periods (.), and hyphens (-). It cannot only contain numbers. For other operating systems: The host name can be [2, 64] characters in length. It can be segments separated by periods (.). It can contain A-Z, a-z, numbers, and hyphens (-).

property imageId

imageId?: pulumi.Input<string>;

Image ID.

property imageOwnerAlias

imageOwnerAlias?: pulumi.Input<string>;

property instanceChargeType

instanceChargeType?: pulumi.Input<string>;

Billing methods. Optional values: - PrePaid: Monthly, or annual subscription. Make sure that your registered credit card is invalid or you have insufficient balance in your PayPal account. Otherwise, InvalidPayMethod error may occur. - PostPaid: Pay-As-You-Go.

property instanceName

instanceName?: pulumi.Input<string>;

The name of the instance. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property instanceType

instanceType?: pulumi.Input<string>;

Instance type. For more information, call resourceAlicloudInstances to obtain the latest instance type list.

property internetChargeType

internetChargeType?: pulumi.Input<string>;

Internet bandwidth billing method. Optional values: PayByTraffic.

property internetMaxBandwidthIn

internetMaxBandwidthIn?: pulumi.Input<number>;

The maximum inbound bandwidth from the Internet network, measured in Mbit/s. Value range: [1, 200].

property internetMaxBandwidthOut

internetMaxBandwidthOut?: pulumi.Input<number>;

Maximum outbound bandwidth from the Internet, its unit of measurement is Mbit/s. Value range: [0, 100].

property ioOptimized

ioOptimized?: pulumi.Input<string>;

Whether it is an I/O-optimized instance or not. Optional values: - none - optimized

property keyPairName

keyPairName?: pulumi.Input<string>;

The name of the key pair. - Ignore this parameter for Windows instances. It is null by default. Even if you enter this parameter, only the Password content is used. - The password logon method for Linux instances is set to forbidden upon initialization.

property name

name?: pulumi.Input<string>;

The name of the data disk.

property networkInterfaces

networkInterfaces?: pulumi.Input<LaunchTemplateNetworkInterfaces>;

The list of network interfaces created with instance.

property networkType

networkType?: pulumi.Input<string>;

Network type of the instance. Value options: Classic | VPC.

property ramRoleName

ramRoleName?: pulumi.Input<string>;

The RAM role name of the instance. You can use the RAM API ListRoles to query instance RAM role names.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

property securityEnhancementStrategy

securityEnhancementStrategy?: pulumi.Input<string>;

Whether or not to activate the security enhancement feature and install network security software free of charge. Optional values: Active | Deactive.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

The security group ID must be one in the same VPC.

property spotPriceLimit

spotPriceLimit?: pulumi.Input<number>;

-(Optional) Sets the maximum hourly instance price. Supports up to three decimal places.

property spotStrategy

spotStrategy?: pulumi.Input<string>;

The spot strategy for a Pay-As-You-Go instance. This parameter is valid and required only when InstanceChargeType is set to PostPaid. Value range: - NoSpot: Normal Pay-As-You-Go instance. - SpotWithPriceLimit: Sets the maximum price for a spot instance. - SpotAsPriceGo: The system automatically calculates the price. The maximum value is the Pay-As-You-Go price.

property systemDiskCategory

systemDiskCategory?: pulumi.Input<string>;

The category of the system disk. System disk type. Optional values: - cloud: Basic cloud disk. - cloud_efficiency: Ultra cloud disk. - cloud_ssd: SSD cloud Disks. - ephemeral_ssd: local SSD Disks - cloud_essd: ESSD cloud Disks.

property systemDiskDescription

systemDiskDescription?: pulumi.Input<string>;

System disk description. It cannot begin with http:// or https://.

property systemDiskName

systemDiskName?: pulumi.Input<string>;

System disk name. The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).

property systemDiskSize

systemDiskSize?: pulumi.Input<number>;

Size of the system disk, measured in GB. Value range: [20, 500].

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource. - Key: It can be up to 64 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It cannot be a null string. - Value: It can be up to 128 characters in length. It cannot begin with “aliyun”, “acs:“, “http://“, or “https://“. It can be a null string.

property userdata

userdata?: pulumi.Input<string>;

User data of the instance, which is Base64-encoded. Size of the raw data cannot exceed 16 KB.

property vpcId

vpcId?: pulumi.Input<string>;

property vswitchId

vswitchId?: pulumi.Input<string>;

The VSwitch ID for ENI. The instance must be in the same zone of the same VPC network as the ENI, but they may belong to different VSwitches.

property zoneId

zoneId?: pulumi.Input<string>;

The zone ID of the instance.

interface ReservedInstanceArgs

interface ReservedInstanceArgs

The set of arguments for constructing a ReservedInstance resource.

property description

description?: pulumi.Input<string>;

Description of the RI. 2 to 256 English or Chinese characters. It cannot start with http:// or https://.

property instanceAmount

instanceAmount?: pulumi.Input<number>;

Number of instances allocated to an RI (An RI is a coupon that includes one or more allocated instances.).

property instanceType

instanceType: pulumi.Input<string>;

Instance type of the RI. For more information, see Instance type families.

property name

name?: pulumi.Input<string>;

Name of the RI. The name must be a string of 2 to 128 characters in length and can contain letters, numbers, colons (:), underscores (_), and hyphens. It must start with a letter. It cannot start with http:// or https://.

property offeringType

offeringType?: pulumi.Input<string>;

Payment type of the RI. Optional values: No Upfront: No upfront payment is required., Partial Upfront: A portion of upfront payment is required.All Upfront: Full upfront payment is required.

property period

period?: pulumi.Input<number>;

property periodUnit

periodUnit?: pulumi.Input<string>;

Term unit. Optional value: Year.

property platform

platform?: pulumi.Input<string>;

The operating system type of the image used by the instance. Optional values: Windows, Linux. Default is Linux.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

Resource group ID.

property scope

scope?: pulumi.Input<string>;

Scope of the RI. Optional values: Region: region-level, Zone: zone-level. Default is Region.

property zoneId

zoneId?: pulumi.Input<string>;

ID of the zone to which the RI belongs. When Scope is set to Zone, this parameter is required. For information about the zone list, see DescribeZones.

interface ReservedInstanceState

interface ReservedInstanceState

Input properties used for looking up and filtering ReservedInstance resources.

property description

description?: pulumi.Input<string>;

Description of the RI. 2 to 256 English or Chinese characters. It cannot start with http:// or https://.

property instanceAmount

instanceAmount?: pulumi.Input<number>;

Number of instances allocated to an RI (An RI is a coupon that includes one or more allocated instances.).

property instanceType

instanceType?: pulumi.Input<string>;

Instance type of the RI. For more information, see Instance type families.

property name

name?: pulumi.Input<string>;

Name of the RI. The name must be a string of 2 to 128 characters in length and can contain letters, numbers, colons (:), underscores (_), and hyphens. It must start with a letter. It cannot start with http:// or https://.

property offeringType

offeringType?: pulumi.Input<string>;

Payment type of the RI. Optional values: No Upfront: No upfront payment is required., Partial Upfront: A portion of upfront payment is required.All Upfront: Full upfront payment is required.

property period

period?: pulumi.Input<number>;

property periodUnit

periodUnit?: pulumi.Input<string>;

Term unit. Optional value: Year.

property platform

platform?: pulumi.Input<string>;

The operating system type of the image used by the instance. Optional values: Windows, Linux. Default is Linux.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

Resource group ID.

property scope

scope?: pulumi.Input<string>;

Scope of the RI. Optional values: Region: region-level, Zone: zone-level. Default is Region.

property zoneId

zoneId?: pulumi.Input<string>;

ID of the zone to which the RI belongs. When Scope is set to Zone, this parameter is required. For information about the zone list, see DescribeZones.

interface SecurityGroupArgs

interface SecurityGroupArgs

The set of arguments for constructing a SecurityGroup resource.

property description

description?: pulumi.Input<string>;

The security group description. Defaults to null.

property innerAccess

DEPRECATED Field 'inner_access' has been deprecated from provider version 1.55.3. Use 'inner_access_policy' replaces it.
innerAccess?: pulumi.Input<boolean>;

Field ‘inner_access’ has been deprecated from provider version 1.55.3. Use ‘inner_access_policy’ replaces it.

property innerAccessPolicy

innerAccessPolicy?: pulumi.Input<string>;

Whether to allow both machines to access each other on all ports in the same security group. Valid values: [“Accept”, “Drop”]

property name

name?: pulumi.Input<string>;

The name of the security group. Defaults to null.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the securityGroup belongs.

property securityGroupType

securityGroupType?: pulumi.Input<string>;

The type of the security group. Valid values: normal: basic security group. enterprise: advanced security group For more information.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

interface SecurityGroupRuleArgs

interface SecurityGroupRuleArgs

The set of arguments for constructing a SecurityGroupRule resource.

property cidrIp

cidrIp?: pulumi.Input<string>;

The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.

property description

description?: pulumi.Input<string>;

The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.

property ipProtocol

ipProtocol: pulumi.Input<string>;

The protocol. Can be tcp, udp, icmp, gre or all.

property nicType

nicType?: pulumi.Input<string>;

Network type, can be either internet or intranet, the default value is internet.

property policy

policy?: pulumi.Input<string>;

Authorization policy, can be either accept or drop, the default value is accept.

property portRange

portRange?: pulumi.Input<string>;

The range of port numbers relevant to the IP protocol. Default to “-1/-1”. When the protocol is tcp or udp, each side port number range from 1 to 65535 and ‘-1/-1’ will be invalid. For example, 1/200 means that the range of the port numbers is 1-200. Other protocols’ ‘port_range’ can only be “-1/-1”, and other values will be invalid.

property priority

priority?: pulumi.Input<number>;

Authorization policy priority, with parameter values: 1-100, default value: 1.

property securityGroupId

securityGroupId: pulumi.Input<string>;

The security group to apply this rule to.

property sourceGroupOwnerAccount

sourceGroupOwnerAccount?: pulumi.Input<string>;

The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if cidrIp has already been set.

property sourceSecurityGroupId

sourceSecurityGroupId?: pulumi.Input<string>;

The target security group ID within the same region. If this field is specified, the nicType can only select intranet.

property type

type: pulumi.Input<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

interface SecurityGroupRuleState

interface SecurityGroupRuleState

Input properties used for looking up and filtering SecurityGroupRule resources.

property cidrIp

cidrIp?: pulumi.Input<string>;

The target IP address range. The default value is 0.0.0.0/0 (which means no restriction will be applied). Other supported formats include 10.159.6.18/12. Only IPv4 is supported.

property description

description?: pulumi.Input<string>;

The description of the security group rule. The description can be up to 1 to 512 characters in length. Defaults to null.

property ipProtocol

ipProtocol?: pulumi.Input<string>;

The protocol. Can be tcp, udp, icmp, gre or all.

property nicType

nicType?: pulumi.Input<string>;

Network type, can be either internet or intranet, the default value is internet.

property policy

policy?: pulumi.Input<string>;

Authorization policy, can be either accept or drop, the default value is accept.

property portRange

portRange?: pulumi.Input<string>;

The range of port numbers relevant to the IP protocol. Default to “-1/-1”. When the protocol is tcp or udp, each side port number range from 1 to 65535 and ‘-1/-1’ will be invalid. For example, 1/200 means that the range of the port numbers is 1-200. Other protocols’ ‘port_range’ can only be “-1/-1”, and other values will be invalid.

property priority

priority?: pulumi.Input<number>;

Authorization policy priority, with parameter values: 1-100, default value: 1.

property securityGroupId

securityGroupId?: pulumi.Input<string>;

The security group to apply this rule to.

property sourceGroupOwnerAccount

sourceGroupOwnerAccount?: pulumi.Input<string>;

The Alibaba Cloud user account Id of the target security group when security groups are authorized across accounts. This parameter is invalid if cidrIp has already been set.

property sourceSecurityGroupId

sourceSecurityGroupId?: pulumi.Input<string>;

The target security group ID within the same region. If this field is specified, the nicType can only select intranet.

property type

type?: pulumi.Input<string>;

The type of rule being created. Valid options are ingress (inbound) or egress (outbound).

interface SecurityGroupState

interface SecurityGroupState

Input properties used for looking up and filtering SecurityGroup resources.

property description

description?: pulumi.Input<string>;

The security group description. Defaults to null.

property innerAccess

DEPRECATED Field 'inner_access' has been deprecated from provider version 1.55.3. Use 'inner_access_policy' replaces it.
innerAccess?: pulumi.Input<boolean>;

Field ‘inner_access’ has been deprecated from provider version 1.55.3. Use ‘inner_access_policy’ replaces it.

property innerAccessPolicy

innerAccessPolicy?: pulumi.Input<string>;

Whether to allow both machines to access each other on all ports in the same security group. Valid values: [“Accept”, “Drop”]

property name

name?: pulumi.Input<string>;

The name of the security group. Defaults to null.

property resourceGroupId

resourceGroupId?: pulumi.Input<string>;

The Id of resource group which the securityGroup belongs.

property securityGroupType

securityGroupType?: pulumi.Input<string>;

The type of the security group. Valid values: normal: basic security group. enterprise: advanced security group For more information.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property vpcId

vpcId?: pulumi.Input<string>;

The VPC ID.

interface SnapshotArgs

interface SnapshotArgs

The set of arguments for constructing a Snapshot resource.

property description

description?: pulumi.Input<string>;

Description of the snapshot. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property diskId

diskId: pulumi.Input<string>;

The source disk ID.

property name

name?: pulumi.Input<string>;

Name of the snapshot. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”, “.”, “_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface SnapshotPolicyArgs

interface SnapshotPolicyArgs

The set of arguments for constructing a SnapshotPolicy resource.

property name

name?: pulumi.Input<string>;

The snapshot policy name.

property repeatWeekdays

repeatWeekdays: pulumi.Input<pulumi.Input<string>[]>;

The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array. - A maximum of seven time points can be selected. - The format is an JSON array of [“1”, “2”, … “7”] and the time points are separated by commas (,).

property retentionDays

retentionDays: pulumi.Input<number>;

The snapshot retention time, and the unit of measurement is day. Optional values: - -1: The automatic snapshots are retained permanently. - [1, 65536]: The number of days retained.

property timePoints

timePoints: pulumi.Input<pulumi.Input<string>[]>;

The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array. - A maximum of 24 time points can be selected. - The format is an JSON array of [“0”, “1”, … “23”] and the time points are separated by commas (,).

interface SnapshotPolicyState

interface SnapshotPolicyState

Input properties used for looking up and filtering SnapshotPolicy resources.

property name

name?: pulumi.Input<string>;

The snapshot policy name.

property repeatWeekdays

repeatWeekdays?: pulumi.Input<pulumi.Input<string>[]>;

The automatic snapshot repetition dates. The unit of measurement is day and the repeating cycle is a week. Value range: [1, 7], which represents days starting from Monday to Sunday, for example 1 indicates Monday. When you want to schedule multiple automatic snapshot tasks for a disk in a week, you can set the RepeatWeekdays to an array. - A maximum of seven time points can be selected. - The format is an JSON array of [“1”, “2”, … “7”] and the time points are separated by commas (,).

property retentionDays

retentionDays?: pulumi.Input<number>;

The snapshot retention time, and the unit of measurement is day. Optional values: - -1: The automatic snapshots are retained permanently. - [1, 65536]: The number of days retained.

property timePoints

timePoints?: pulumi.Input<pulumi.Input<string>[]>;

The automatic snapshot creation schedule, and the unit of measurement is hour. Value range: [0, 23], which represents from 00:00 to 24:00, for example 1 indicates 01:00. When you want to schedule multiple automatic snapshot tasks for a disk in a day, you can set the TimePoints to an array. - A maximum of 24 time points can be selected. - The format is an JSON array of [“0”, “1”, … “23”] and the time points are separated by commas (,).

interface SnapshotState

interface SnapshotState

Input properties used for looking up and filtering Snapshot resources.

property description

description?: pulumi.Input<string>;

Description of the snapshot. This description can have a string of 2 to 256 characters, It cannot begin with http:// or https://. Default value is null.

property diskId

diskId?: pulumi.Input<string>;

The source disk ID.

property name

name?: pulumi.Input<string>;

Name of the snapshot. This name can have a string of 2 to 128 characters, must contain only alphanumeric characters or hyphens, such as “-”, “.”, “_“, and must not begin or end with a hyphen, and must not begin with http:// or https://. Default value is null.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.