EciScalingConfigurationArgs

data class EciScalingConfigurationArgs(val acrRegistryInfos: Output<List<EciScalingConfigurationAcrRegistryInfoArgs>>? = null, val active: Output<Boolean>? = null, val autoCreateEip: Output<Boolean>? = null, val containerGroupName: Output<String>? = null, val containers: Output<List<EciScalingConfigurationContainerArgs>>? = null, val cpu: Output<Double>? = null, val description: Output<String>? = null, val dnsPolicy: Output<String>? = null, val egressBandwidth: Output<Int>? = null, val eipBandwidth: Output<Int>? = null, val enableSls: Output<Boolean>? = null, val forceDelete: Output<Boolean>? = null, val hostAliases: Output<List<EciScalingConfigurationHostAliasArgs>>? = null, val hostName: Output<String>? = null, val imageRegistryCredentials: Output<List<EciScalingConfigurationImageRegistryCredentialArgs>>? = null, val ingressBandwidth: Output<Int>? = null, val initContainers: Output<List<EciScalingConfigurationInitContainerArgs>>? = null, val memory: Output<Double>? = null, val ramRoleName: Output<String>? = null, val resourceGroupId: Output<String>? = null, val restartPolicy: Output<String>? = null, val scalingConfigurationName: Output<String>? = null, val scalingGroupId: Output<String>? = null, val securityGroupId: Output<String>? = null, val spotPriceLimit: Output<Double>? = null, val spotStrategy: Output<String>? = null, val tags: Output<Map<String, Any>>? = null, val volumes: Output<List<EciScalingConfigurationVolumeArgs>>? = null) : ConvertibleToJava<EciScalingConfigurationArgs>

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

Constructors

Link copied to clipboard
fun EciScalingConfigurationArgs(acrRegistryInfos: Output<List<EciScalingConfigurationAcrRegistryInfoArgs>>? = null, active: Output<Boolean>? = null, autoCreateEip: Output<Boolean>? = null, containerGroupName: Output<String>? = null, containers: Output<List<EciScalingConfigurationContainerArgs>>? = null, cpu: Output<Double>? = null, description: Output<String>? = null, dnsPolicy: Output<String>? = null, egressBandwidth: Output<Int>? = null, eipBandwidth: Output<Int>? = null, enableSls: Output<Boolean>? = null, forceDelete: Output<Boolean>? = null, hostAliases: Output<List<EciScalingConfigurationHostAliasArgs>>? = null, hostName: Output<String>? = null, imageRegistryCredentials: Output<List<EciScalingConfigurationImageRegistryCredentialArgs>>? = null, ingressBandwidth: Output<Int>? = null, initContainers: Output<List<EciScalingConfigurationInitContainerArgs>>? = null, memory: Output<Double>? = null, ramRoleName: Output<String>? = null, resourceGroupId: Output<String>? = null, restartPolicy: Output<String>? = null, scalingConfigurationName: Output<String>? = null, scalingGroupId: Output<String>? = null, securityGroupId: Output<String>? = null, spotPriceLimit: Output<Double>? = null, spotStrategy: Output<String>? = null, tags: Output<Map<String, Any>>? = null, volumes: Output<List<EciScalingConfigurationVolumeArgs>>? = null)

Functions

Link copied to clipboard
open override fun toJava(): EciScalingConfigurationArgs

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>? = null

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>? = null

Whether create eip automatically.

Link copied to clipboard
val containerGroupName: Output<String>? = null

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>? = null

The amount of CPU resources allocated to the container group.

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

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>? = null

dns policy of contain group.

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

egress bandwidth.

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

Eip bandwidth.

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

Enable sls log service.

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

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>? = null

Hostname of an ECI instance.

Link copied to clipboard

The image registry credential. See image_registry_credentials below for details.

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

Ingress bandwidth.

Link copied to clipboard

The list of initContainers. See init_containers below for details.

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

The amount of memory resources allocated to the container group.

Link copied to clipboard
val ramRoleName: Output<String>? = null

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

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

ID of resource group.

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

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

Link copied to clipboard
val scalingConfigurationName: Output<String>? = null

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>? = null

ID of the scaling group of a eci scaling configuration.

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

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>? = null

The maximum price hourly for spot instance.

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

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>>? = null

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

Link copied to clipboard

The list of volumes. See volumes below for details.