EciScalingConfiguration

class EciScalingConfiguration : KotlinCustomResource

Provides a ESS eci scaling configuration resource. For information about ess eci scaling configuration, see CreateEciScalingConfiguration.

NOTE: Available since v1.164.0.

Example Usage

Basic Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.alicloud.AlicloudFunctions;
import com.pulumi.alicloud.inputs.GetZonesArgs;
import com.pulumi.alicloud.vpc.Network;
import com.pulumi.alicloud.vpc.NetworkArgs;
import com.pulumi.alicloud.vpc.Switch;
import com.pulumi.alicloud.vpc.SwitchArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.ess.ScalingGroup;
import com.pulumi.alicloud.ess.ScalingGroupArgs;
import com.pulumi.alicloud.ess.EciScalingConfiguration;
import com.pulumi.alicloud.ess.EciScalingConfigurationArgs;
import com.pulumi.alicloud.ess.inputs.EciScalingConfigurationContainerArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var config = ctx.config();
final var name = config.get("name").orElse("terraform-example");
final var defaultZones = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableDiskCategory("cloud_efficiency")
.availableResourceCreation("VSwitch")
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("172.16.0.0/16")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vpcId(defaultNetwork.id())
.cidrBlock("172.16.0.0/24")
.zoneId(defaultZones.applyValue(getZonesResult -> getZonesResult.zones()[0].id()))
.vswitchName(name)
.build());
var defaultSecurityGroup = new SecurityGroup("defaultSecurityGroup", SecurityGroupArgs.builder()
.vpcId(defaultNetwork.id())
.build());
var defaultScalingGroup = new ScalingGroup("defaultScalingGroup", ScalingGroupArgs.builder()
.minSize(0)
.maxSize(1)
.scalingGroupName(name)
.removalPolicies(
"OldestInstance",
"NewestInstance")
.vswitchIds(defaultSwitch.id())
.groupType("ECI")
.build());
var defaultEciScalingConfiguration = new EciScalingConfiguration("defaultEciScalingConfiguration", EciScalingConfigurationArgs.builder()
.scalingGroupId(defaultScalingGroup.id())
.cpu(2)
.memory(4)
.securityGroupId(defaultSecurityGroup.id())
.forceDelete(true)
.active(true)
.containerGroupName("container-group-1649839595174")
.containers(EciScalingConfigurationContainerArgs.builder()
.name("container-1")
.image("registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/alpine:3.5")
.build())
.build());
}
}

Import

ESS eci scaling configuration can be imported using the id, e.g.

$ pulumi import alicloud:ess/eciScalingConfiguration:EciScalingConfiguration example asc-abc123456

Properties

Link copied to clipboard

Information about the Container Registry Enterprise Edition instance. See acr_registry_infos below for details.

Link copied to clipboard
val active: Output<Boolean>?

Whether active current eci scaling configuration in the specified scaling group. Note that only one configuration can be active. Default to false.

Link copied to clipboard
val autoCreateEip: Output<Boolean>?

Whether create eip automatically.

Link copied to clipboard

The name of the container group.

Link copied to clipboard

The list of containers. See containers below for details.

Link copied to clipboard
val cpu: Output<Double>?

The amount of CPU resources allocated to the container group.

Link copied to clipboard
val description: Output<String>?

The description of data disk N. Valid values of N: 1 to 16. The description must be 2 to 256 characters in length and cannot start with http:// or https://.

Link copied to clipboard
val dnsPolicy: Output<String>?

dns policy of contain group.

Link copied to clipboard
val egressBandwidth: Output<Int>?

egress bandwidth.

Link copied to clipboard
val eipBandwidth: Output<Int>?

Eip bandwidth.

Link copied to clipboard
val enableSls: Output<Boolean>?

Enable sls log service.

Link copied to clipboard
val forceDelete: Output<Boolean>?

The eci scaling configuration will be deleted forcibly with deleting its scaling group. Default to false.

Link copied to clipboard

HostAliases. See host_aliases below.

Link copied to clipboard
val hostName: Output<String>?

Hostname of an ECI instance.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard

The image registry credential. See image_registry_credentials below for details.

Link copied to clipboard
val ingressBandwidth: Output<Int>?

Ingress bandwidth.

Link copied to clipboard

The list of initContainers. See init_containers below for details.

Link copied to clipboard
val memory: Output<Double>?

The amount of memory resources allocated to the container group.

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val ramRoleName: Output<String>?

The RAM role that the container group assumes. ECI and ECS share the same RAM role.

Link copied to clipboard
val resourceGroupId: Output<String>?

ID of resource group.

Link copied to clipboard
val restartPolicy: Output<String>?

The restart policy of the container group. Default to Always.

Link copied to clipboard

Name shown for the scheduled task. which must contain 2-64 characters ( English or Chinese), starting with numbers, English letters or Chinese characters, and can contain number, underscores _, hypens -, and decimal point .. If this parameter value is not specified, the default value is EciScalingConfigurationId.

Link copied to clipboard
val scalingGroupId: Output<String>

ID of the scaling group of a eci scaling configuration.

Link copied to clipboard
val securityGroupId: Output<String>?

ID of the security group used to create new instance. It is conflict with security_group_ids.

Link copied to clipboard
val spotPriceLimit: Output<Double>?

The maximum price hourly for spot instance.

Link copied to clipboard
val spotStrategy: Output<String>?

The spot strategy for a Pay-As-You-Go instance. Valid values: NoSpot, SpotAsPriceGo , SpotWithPriceLimit.

Link copied to clipboard
val tags: Output<Map<String, Any>>?

A mapping of tags to assign to the resource. It will be applied for ECI instances finally.

Link copied to clipboard
val urn: Output<String>
Link copied to clipboard

The list of volumes. See volumes below for details.