ClusterArgs

data class ClusterArgs(val accountType: Output<String>? = null, val additionalVolumes: Output<List<ClusterAdditionalVolumeArgs>>? = null, val applications: Output<List<ClusterApplicationArgs>>? = null, val autoRenew: Output<Boolean>? = null, val autoRenewPeriod: Output<Int>? = null, val clientVersion: Output<String>? = null, val clusterName: Output<String>? = null, val clusterVersion: Output<String>? = null, val computeCount: Output<Int>? = null, val computeEnableHt: Output<Boolean>? = null, val computeInstanceType: Output<String>? = null, val computeSpotPriceLimit: Output<String>? = null, val computeSpotStrategy: Output<String>? = null, val deployMode: Output<String>? = null, val description: Output<String>? = null, val domain: Output<String>? = null, val ecsChargeType: Output<String>? = null, val ehpcVersion: Output<String>? = null, val haEnable: Output<Boolean>? = null, val imageId: Output<String>? = null, val imageOwnerAlias: Output<String>? = null, val inputFileUrl: Output<String>? = null, val isComputeEss: Output<Boolean>? = null, val jobQueue: Output<String>? = null, val keyPairName: Output<String>? = null, val loginCount: Output<Int>? = null, val loginInstanceType: Output<String>? = null, val managerCount: Output<Int>? = null, val managerInstanceType: Output<String>? = null, val osTag: Output<String>? = null, val password: Output<String>? = null, val period: Output<Int>? = null, val periodUnit: Output<String>? = null, val plugin: Output<String>? = null, val postInstallScripts: Output<List<ClusterPostInstallScriptArgs>>? = null, val ramNodeTypes: Output<List<String>>? = null, val ramRoleName: Output<String>? = null, val releaseInstance: Output<Boolean>? = null, val remoteDirectory: Output<String>? = null, val remoteVisEnable: Output<Boolean>? = null, val resourceGroupId: Output<String>? = null, val sccClusterId: Output<String>? = null, val schedulerType: Output<String>? = null, val securityGroupId: Output<String>? = null, val securityGroupName: Output<String>? = null, val systemDiskLevel: Output<String>? = null, val systemDiskSize: Output<Int>? = null, val systemDiskType: Output<String>? = null, val volumeId: Output<String>? = null, val volumeMountOption: Output<String>? = null, val volumeMountpoint: Output<String>? = null, val volumeProtocol: Output<String>? = null, val volumeType: Output<String>? = null, val vpcId: Output<String>? = null, val vswitchId: Output<String>? = null, val withoutAgent: Output<Boolean>? = null, val withoutElasticIp: Output<Boolean>? = null, val zoneId: Output<String>? = null) : ConvertibleToJava<ClusterArgs>

Provides a Ehpc Cluster resource. For information about Ehpc Cluster and how to use it, see What is Cluster.

NOTE: Available since v1.173.0.

Example Usage

Basic Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const config = new pulumi.Config();
const name = config.get("name") || "tf-example";
const _default = alicloud.getZones({
availableResourceCreation: "VSwitch",
});
const defaultGetImages = alicloud.ecs.getImages({
nameRegex: "^centos_7_6_x64*",
owners: "system",
});
const defaultGetInstanceTypes = _default.then(_default => alicloud.ecs.getInstanceTypes({
availabilityZone: _default.zones?.[0]?.id,
}));
const defaultNetwork = new alicloud.vpc.Network("default", {
vpcName: name,
cidrBlock: "10.0.0.0/8",
});
const defaultSwitch = new alicloud.vpc.Switch("default", {
vswitchName: name,
cidrBlock: "10.1.0.0/16",
vpcId: defaultNetwork.id,
zoneId: _default.then(_default => _default.zones?.[0]?.id),
});
const defaultFileSystem = new alicloud.nas.FileSystem("default", {
storageType: "Performance",
protocolType: "NFS",
});
const defaultMountTarget = new alicloud.nas.MountTarget("default", {
fileSystemId: defaultFileSystem.id,
accessGroupName: "DEFAULT_VPC_GROUP_NAME",
vswitchId: defaultSwitch.id,
});
const defaultCluster = new alicloud.ehpc.Cluster("default", {
clusterName: name,
deployMode: "Simple",
description: name,
haEnable: false,
imageId: defaultGetImages.then(defaultGetImages => defaultGetImages.images?.[0]?.id),
imageOwnerAlias: "system",
volumeProtocol: "nfs",
volumeId: defaultFileSystem.id,
volumeMountpoint: defaultMountTarget.mountTargetDomain,
computeCount: 1,
computeInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
loginCount: 1,
loginInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
managerCount: 1,
managerInstanceType: defaultGetInstanceTypes.then(defaultGetInstanceTypes => defaultGetInstanceTypes.instanceTypes?.[0]?.id),
osTag: "CentOS_7.6_64",
schedulerType: "pbs",
password: "your-password123",
vswitchId: defaultSwitch.id,
vpcId: defaultNetwork.id,
zoneId: _default.then(_default => _default.zones?.[0]?.id),
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "tf-example"
default = alicloud.get_zones(available_resource_creation="VSwitch")
default_get_images = alicloud.ecs.get_images(name_regex="^centos_7_6_x64*",
owners="system")
default_get_instance_types = alicloud.ecs.get_instance_types(availability_zone=default.zones[0].id)
default_network = alicloud.vpc.Network("default",
vpc_name=name,
cidr_block="10.0.0.0/8")
default_switch = alicloud.vpc.Switch("default",
vswitch_name=name,
cidr_block="10.1.0.0/16",
vpc_id=default_network.id,
zone_id=default.zones[0].id)
default_file_system = alicloud.nas.FileSystem("default",
storage_type="Performance",
protocol_type="NFS")
default_mount_target = alicloud.nas.MountTarget("default",
file_system_id=default_file_system.id,
access_group_name="DEFAULT_VPC_GROUP_NAME",
vswitch_id=default_switch.id)
default_cluster = alicloud.ehpc.Cluster("default",
cluster_name=name,
deploy_mode="Simple",
description=name,
ha_enable=False,
image_id=default_get_images.images[0].id,
image_owner_alias="system",
volume_protocol="nfs",
volume_id=default_file_system.id,
volume_mountpoint=default_mount_target.mount_target_domain,
compute_count=1,
compute_instance_type=default_get_instance_types.instance_types[0].id,
login_count=1,
login_instance_type=default_get_instance_types.instance_types[0].id,
manager_count=1,
manager_instance_type=default_get_instance_types.instance_types[0].id,
os_tag="CentOS_7.6_64",
scheduler_type="pbs",
password="your-password123",
vswitch_id=default_switch.id,
vpc_id=default_network.id,
zone_id=default.zones[0].id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
return await Deployment.RunAsync(() =>
{
var config = new Config();
var name = config.Get("name") ?? "tf-example";
var @default = AliCloud.GetZones.Invoke(new()
{
AvailableResourceCreation = "VSwitch",
});
var defaultGetImages = AliCloud.Ecs.GetImages.Invoke(new()
{
NameRegex = "^centos_7_6_x64*",
Owners = "system",
});
var defaultGetInstanceTypes = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
{
AvailabilityZone = @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id),
});
var defaultNetwork = new AliCloud.Vpc.Network("default", new()
{
VpcName = name,
CidrBlock = "10.0.0.0/8",
});
var defaultSwitch = new AliCloud.Vpc.Switch("default", new()
{
VswitchName = name,
CidrBlock = "10.1.0.0/16",
VpcId = defaultNetwork.Id,
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
});
var defaultFileSystem = new AliCloud.Nas.FileSystem("default", new()
{
StorageType = "Performance",
ProtocolType = "NFS",
});
var defaultMountTarget = new AliCloud.Nas.MountTarget("default", new()
{
FileSystemId = defaultFileSystem.Id,
AccessGroupName = "DEFAULT_VPC_GROUP_NAME",
VswitchId = defaultSwitch.Id,
});
var defaultCluster = new AliCloud.Ehpc.Cluster("default", new()
{
ClusterName = name,
DeployMode = "Simple",
Description = name,
HaEnable = false,
ImageId = defaultGetImages.Apply(getImagesResult => getImagesResult.Images[0]?.Id),
ImageOwnerAlias = "system",
VolumeProtocol = "nfs",
VolumeId = defaultFileSystem.Id,
VolumeMountpoint = defaultMountTarget.MountTargetDomain,
ComputeCount = 1,
ComputeInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
LoginCount = 1,
LoginInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
ManagerCount = 1,
ManagerInstanceType = defaultGetInstanceTypes.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id),
OsTag = "CentOS_7.6_64",
SchedulerType = "pbs",
Password = "your-password123",
VswitchId = defaultSwitch.Id,
VpcId = defaultNetwork.Id,
ZoneId = @default.Apply(@default => @default.Apply(getZonesResult => getZonesResult.Zones[0]?.Id)),
});
});
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ehpc"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/nas"
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
cfg := config.New(ctx, "")
name := "tf-example"
if param := cfg.Get("name"); param != "" {
name = param
}
_default, err := alicloud.GetZones(ctx, &alicloud.GetZonesArgs{
AvailableResourceCreation: pulumi.StringRef("VSwitch"),
}, nil)
if err != nil {
return err
}
defaultGetImages, err := ecs.GetImages(ctx, &ecs.GetImagesArgs{
NameRegex: pulumi.StringRef("^centos_7_6_x64*"),
Owners: pulumi.StringRef("system"),
}, nil)
if err != nil {
return err
}
defaultGetInstanceTypes, err := ecs.GetInstanceTypes(ctx, &ecs.GetInstanceTypesArgs{
AvailabilityZone: pulumi.StringRef(_default.Zones[0].Id),
}, nil)
if err != nil {
return err
}
defaultNetwork, err := vpc.NewNetwork(ctx, "default", &vpc.NetworkArgs{
VpcName: pulumi.String(name),
CidrBlock: pulumi.String("10.0.0.0/8"),
})
if err != nil {
return err
}
defaultSwitch, err := vpc.NewSwitch(ctx, "default", &vpc.SwitchArgs{
VswitchName: pulumi.String(name),
CidrBlock: pulumi.String("10.1.0.0/16"),
VpcId: defaultNetwork.ID(),
ZoneId: pulumi.String(_default.Zones[0].Id),
})
if err != nil {
return err
}
defaultFileSystem, err := nas.NewFileSystem(ctx, "default", &nas.FileSystemArgs{
StorageType: pulumi.String("Performance"),
ProtocolType: pulumi.String("NFS"),
})
if err != nil {
return err
}
defaultMountTarget, err := nas.NewMountTarget(ctx, "default", &nas.MountTargetArgs{
FileSystemId: defaultFileSystem.ID(),
AccessGroupName: pulumi.String("DEFAULT_VPC_GROUP_NAME"),
VswitchId: defaultSwitch.ID(),
})
if err != nil {
return err
}
_, err = ehpc.NewCluster(ctx, "default", &ehpc.ClusterArgs{
ClusterName: pulumi.String(name),
DeployMode: pulumi.String("Simple"),
Description: pulumi.String(name),
HaEnable: pulumi.Bool(false),
ImageId: pulumi.String(defaultGetImages.Images[0].Id),
ImageOwnerAlias: pulumi.String("system"),
VolumeProtocol: pulumi.String("nfs"),
VolumeId: defaultFileSystem.ID(),
VolumeMountpoint: defaultMountTarget.MountTargetDomain,
ComputeCount: pulumi.Int(1),
ComputeInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
LoginCount: pulumi.Int(1),
LoginInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
ManagerCount: pulumi.Int(1),
ManagerInstanceType: pulumi.String(defaultGetInstanceTypes.InstanceTypes[0].Id),
OsTag: pulumi.String("CentOS_7.6_64"),
SchedulerType: pulumi.String("pbs"),
Password: pulumi.String("your-password123"),
VswitchId: defaultSwitch.ID(),
VpcId: defaultNetwork.ID(),
ZoneId: pulumi.String(_default.Zones[0].Id),
})
if err != nil {
return err
}
return nil
})
}
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.ecs.EcsFunctions;
import com.pulumi.alicloud.ecs.inputs.GetImagesArgs;
import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
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.nas.FileSystem;
import com.pulumi.alicloud.nas.FileSystemArgs;
import com.pulumi.alicloud.nas.MountTarget;
import com.pulumi.alicloud.nas.MountTargetArgs;
import com.pulumi.alicloud.ehpc.Cluster;
import com.pulumi.alicloud.ehpc.ClusterArgs;
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("tf-example");
final var default = AlicloudFunctions.getZones(GetZonesArgs.builder()
.availableResourceCreation("VSwitch")
.build());
final var defaultGetImages = EcsFunctions.getImages(GetImagesArgs.builder()
.nameRegex("^centos_7_6_x64*")
.owners("system")
.build());
final var defaultGetInstanceTypes = EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
.availabilityZone(default_.zones()[0].id())
.build());
var defaultNetwork = new Network("defaultNetwork", NetworkArgs.builder()
.vpcName(name)
.cidrBlock("10.0.0.0/8")
.build());
var defaultSwitch = new Switch("defaultSwitch", SwitchArgs.builder()
.vswitchName(name)
.cidrBlock("10.1.0.0/16")
.vpcId(defaultNetwork.id())
.zoneId(default_.zones()[0].id())
.build());
var defaultFileSystem = new FileSystem("defaultFileSystem", FileSystemArgs.builder()
.storageType("Performance")
.protocolType("NFS")
.build());
var defaultMountTarget = new MountTarget("defaultMountTarget", MountTargetArgs.builder()
.fileSystemId(defaultFileSystem.id())
.accessGroupName("DEFAULT_VPC_GROUP_NAME")
.vswitchId(defaultSwitch.id())
.build());
var defaultCluster = new Cluster("defaultCluster", ClusterArgs.builder()
.clusterName(name)
.deployMode("Simple")
.description(name)
.haEnable(false)
.imageId(defaultGetImages.images()[0].id())
.imageOwnerAlias("system")
.volumeProtocol("nfs")
.volumeId(defaultFileSystem.id())
.volumeMountpoint(defaultMountTarget.mountTargetDomain())
.computeCount(1)
.computeInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())
.loginCount(1)
.loginInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())
.managerCount(1)
.managerInstanceType(defaultGetInstanceTypes.instanceTypes()[0].id())
.osTag("CentOS_7.6_64")
.schedulerType("pbs")
.password("your-password123")
.vswitchId(defaultSwitch.id())
.vpcId(defaultNetwork.id())
.zoneId(default_.zones()[0].id())
.build());
}
}
configuration:
name:
type: string
default: tf-example
resources:
defaultNetwork:
type: alicloud:vpc:Network
name: default
properties:
vpcName: ${name}
cidrBlock: 10.0.0.0/8
defaultSwitch:
type: alicloud:vpc:Switch
name: default
properties:
vswitchName: ${name}
cidrBlock: 10.1.0.0/16
vpcId: ${defaultNetwork.id}
zoneId: ${default.zones[0].id}
defaultFileSystem:
type: alicloud:nas:FileSystem
name: default
properties:
storageType: Performance
protocolType: NFS
defaultMountTarget:
type: alicloud:nas:MountTarget
name: default
properties:
fileSystemId: ${defaultFileSystem.id}
accessGroupName: DEFAULT_VPC_GROUP_NAME
vswitchId: ${defaultSwitch.id}
defaultCluster:
type: alicloud:ehpc:Cluster
name: default
properties:
clusterName: ${name}
deployMode: Simple
description: ${name}
haEnable: false
imageId: ${defaultGetImages.images[0].id}
imageOwnerAlias: system
volumeProtocol: nfs
volumeId: ${defaultFileSystem.id}
volumeMountpoint: ${defaultMountTarget.mountTargetDomain}
computeCount: 1
computeInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
loginCount: 1
loginInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
managerCount: 1
managerInstanceType: ${defaultGetInstanceTypes.instanceTypes[0].id}
osTag: CentOS_7.6_64
schedulerType: pbs
password: your-password123
vswitchId: ${defaultSwitch.id}
vpcId: ${defaultNetwork.id}
zoneId: ${default.zones[0].id}
variables:
default:
fn::invoke:
function: alicloud:getZones
arguments:
availableResourceCreation: VSwitch
defaultGetImages:
fn::invoke:
function: alicloud:ecs:getImages
arguments:
nameRegex: ^centos_7_6_x64*
owners: system
defaultGetInstanceTypes:
fn::invoke:
function: alicloud:ecs:getInstanceTypes
arguments:
availabilityZone: ${default.zones[0].id}

Import

Ehpc Cluster can be imported using the id, e.g.

$ pulumi import alicloud:ehpc/cluster:Cluster example <id>

Constructors

Link copied to clipboard
constructor(accountType: Output<String>? = null, additionalVolumes: Output<List<ClusterAdditionalVolumeArgs>>? = null, applications: Output<List<ClusterApplicationArgs>>? = null, autoRenew: Output<Boolean>? = null, autoRenewPeriod: Output<Int>? = null, clientVersion: Output<String>? = null, clusterName: Output<String>? = null, clusterVersion: Output<String>? = null, computeCount: Output<Int>? = null, computeEnableHt: Output<Boolean>? = null, computeInstanceType: Output<String>? = null, computeSpotPriceLimit: Output<String>? = null, computeSpotStrategy: Output<String>? = null, deployMode: Output<String>? = null, description: Output<String>? = null, domain: Output<String>? = null, ecsChargeType: Output<String>? = null, ehpcVersion: Output<String>? = null, haEnable: Output<Boolean>? = null, imageId: Output<String>? = null, imageOwnerAlias: Output<String>? = null, inputFileUrl: Output<String>? = null, isComputeEss: Output<Boolean>? = null, jobQueue: Output<String>? = null, keyPairName: Output<String>? = null, loginCount: Output<Int>? = null, loginInstanceType: Output<String>? = null, managerCount: Output<Int>? = null, managerInstanceType: Output<String>? = null, osTag: Output<String>? = null, password: Output<String>? = null, period: Output<Int>? = null, periodUnit: Output<String>? = null, plugin: Output<String>? = null, postInstallScripts: Output<List<ClusterPostInstallScriptArgs>>? = null, ramNodeTypes: Output<List<String>>? = null, ramRoleName: Output<String>? = null, releaseInstance: Output<Boolean>? = null, remoteDirectory: Output<String>? = null, remoteVisEnable: Output<Boolean>? = null, resourceGroupId: Output<String>? = null, sccClusterId: Output<String>? = null, schedulerType: Output<String>? = null, securityGroupId: Output<String>? = null, securityGroupName: Output<String>? = null, systemDiskLevel: Output<String>? = null, systemDiskSize: Output<Int>? = null, systemDiskType: Output<String>? = null, volumeId: Output<String>? = null, volumeMountOption: Output<String>? = null, volumeMountpoint: Output<String>? = null, volumeProtocol: Output<String>? = null, volumeType: Output<String>? = null, vpcId: Output<String>? = null, vswitchId: Output<String>? = null, withoutAgent: Output<Boolean>? = null, withoutElasticIp: Output<Boolean>? = null, zoneId: Output<String>? = null)

Properties

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

The type of the domain account service. Valid values: nis, ldap. Default value: nis

Link copied to clipboard

The additional volumes. See additional_volumes below.

Link copied to clipboard

The application. See application below.

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

Specifies whether to enable auto-renewal for the subscription. Default value: false.

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

The auto-renewal period of the subscription compute nodes. The parameter takes effect when AutoRenew is set to true.

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

The version of the E-HPC client. By default, the parameter is set to the latest version number.

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

The name of the cluster. The name must be 2 to 64 characters in length.

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

The version of the cluster. Default value: 1.0.

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

The number of the compute nodes. Valid values: 1 to 99.

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

Specifies whether the compute nodes support hyper-threading. Default value: true.

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

The instance type of the compute nodes.

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

The maximum hourly price of the compute nodes. A maximum of three decimal places can be used in the value of the parameter. The parameter is valid only when the ComputeSpotStrategy parameter is set to SpotWithPriceLimit.

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

The bidding method of the compute nodes. Default value: NoSpot. Valid values:

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

The mode in which the cluster is deployed. Valid values: Standard, Simple, Tiny. Default value: Standard.

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

The description of the cluster. The description must be 2 to 256 characters in length. It cannot start with http:// or https://.

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

The domain name of the on-premises cluster. This parameter takes effect only when the AccoutType parameter is set to Idap.

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

The billing method of the nodes.

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

The version of E-HPC. By default, the parameter is set to the latest version number.

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

Specifies whether to enable the high availability feature. Default value: false. Note: If high availability is enabled, a primary management node and a secondary management node are used.

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

The ID of the image.

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

The type of the image. Valid values: others, self, system, marketplace. Default value: system.

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

The URL of the job files that are uploaded to an Object Storage Service (OSS) bucket.

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

Specifies whether to enable auto scaling. Default value: false.

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

The queue to which the compute nodes are added.

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

The name of the AccessKey pair.

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

The number of the logon nodes. Valid values: 1.

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

The instance type of the logon nodes.

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

The number of the management nodes. Valid values: 1 and 2.

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

The instance type of the management nodes.

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

The image tag of the operating system.

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

The root password of the logon node. The password must be 8 to 30 characters in length and contain at least three of the following items: uppercase letters, lowercase letters, digits, and special characters. The password can contain the following special characters: ( ) ~ ! @ # $ % ^ & * - + = { } [ ] : ; ‘ < > , . ? /. You must specify either password or key_pair_name. If both are specified, the Password parameter prevails.

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

The duration of the subscription. The unit of the duration is specified by the period_unit parameter. Default value: 1.

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

The unit of the subscription duration. Valid values: Year, Month, Hour. Default value: Month.

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

The mode configurations of the plug-in. This parameter takes effect only when the SchedulerType parameter is set to custom. The value must be a JSON string. The parameter contains the following parameters: pluginMod, pluginLocalPath, and pluginOssPath.

Link copied to clipboard

The post install script. See post_install_script below.

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

The node of the RAM role.

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

The name of the Resource Access Management (RAM) role.

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

The release instance. Valid values: true.

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

The remote directory to which the file system is mounted.

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

Specifies whether to enable Virtual Network Computing (VNC). Default value: false.

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

The ID of the resource group.

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

The ID of the Super Computing Cluster (SCC) instance. If you specify the parameter, the SCC instance is moved to a new SCC cluster.

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

The type of the scheduler. Valid values: pbs, slurm, opengridscheduler and deadline. Default value: pbs.

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

The ID of the security group to which the cluster belongs.

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

If you do not use an existing security group, set the parameter to the name of a new security group. A default policy is applied to the new security group.

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

The performance level of the ESSD that is used as the system disk. Default value: PL1 For more information, see ESSDs. Valid values:

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

The size of the system disk. Unit: GB. Valid values: 40 to 500. Default value: 40.

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

The type of the system disk. Valid values: cloud_efficiency, cloud_ssd, cloud_essd or cloud. Default value: cloud_ssd.

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

The ID of the file system. If you leave the parameter empty, a Performance NAS file system is created by default.

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

The mount options of the file system.

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

The mount target of the file system. Take note of the following information:

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

The type of the protocol that is used by the file system. Valid values: NFS, SMB. Default value: NFS.

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

The type of the shared storage. Only Apsara File Storage NAS file systems are supported.

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

The ID of the virtual private cloud (VPC) to which the cluster belongs.

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

The ID of the vSwitch. E-HPC supports only VPC networks.

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

Specifies whether not to install the agent. Default value: false.

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

Specifies whether the logon node uses an elastic IP address (EIP). Default value: false.

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

The ID of the zone.

Functions

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