Provides a Ehpc Queue resource.
E-HPC the compute queue of the cluster.
For information about Ehpc Queue and how to use it, see What is Queue.
NOTE: Available since v1.266.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") || "terraform-example";
const queueMinimalExampleVpc = new alicloud.vpc.Network("queue_minimal_example_vpc", {
isDefault: false,
cidrBlock: "10.0.0.0/8",
vpcName: "example-cluster-vpc",
});
const queueMinimalExampleVswitch = new alicloud.vpc.Switch("queue_minimal_example_vswitch", {
isDefault: false,
vpcId: queueMinimalExampleVpc.id,
zoneId: "cn-hangzhou-k",
cidrBlock: "10.0.0.0/24",
vswitchName: "example-cluster-vsw",
});
const queueMinimalExampleNas = new alicloud.nas.FileSystem("queue_minimal_example_nas", {
description: "example-cluster-nas",
storageType: "Capacity",
nfsAcl: {
enabled: false,
},
zoneId: "cn-hangzhou-k",
encryptType: 0,
protocolType: "NFS",
fileSystemType: "standard",
});
const queueMinimalExampleAccessGroup = new alicloud.nas.AccessGroup("queue_minimal_example_access_group", {
accessGroupType: "Vpc",
description: name,
accessGroupName: "StandardMountTarget",
fileSystemType: "standard",
});
const queueMinimalExampleSecurityGroup = new alicloud.ecs.SecurityGroup("queue_minimal_example_security_group", {
vpcId: queueMinimalExampleVpc.id,
securityGroupType: "normal",
});
const queueMinimalExampleMountDomain = new alicloud.nas.MountTarget("queue_minimal_example_mount_domain", {
vpcId: queueMinimalExampleVpc.id,
networkType: "Vpc",
accessGroupName: queueMinimalExampleAccessGroup.accessGroupName,
vswitchId: queueMinimalExampleVswitch.id,
fileSystemId: queueMinimalExampleNas.id,
});
const queueMinimalExampleAccessRule = new alicloud.nas.AccessRule("queue_minimal_example_access_rule", {
priority: 1,
accessGroupName: queueMinimalExampleAccessGroup.accessGroupName,
fileSystemType: queueMinimalExampleNas.fileSystemType,
sourceCidrIp: "10.0.0.0/8",
});
const queueMinimalClusterExample = new alicloud.ehpc.ClusterV2("queue_minimal_cluster_example", {
clusterCredentials: {
password: "aliHPC123",
},
clusterVpcId: queueMinimalExampleVpc.id,
clusterCategory: "Standard",
clusterMode: "Integrated",
securityGroupId: queueMinimalExampleSecurityGroup.id,
addons: [{
version: "1.0",
servicesSpec: `[
{
\\"ServiceName\\": \\"SSH\\",
\\"NetworkACL\\": [
{
\\"Port\\": 22,
\\"SourceCidrIp\\": \\"0.0.0.0/0\\",
\\"IpProtocol\\": \\"TCP\\"
}
]
},
{
\\"ServiceName\\": \\"VNC\\",
\\"NetworkACL\\": [
{
\\"Port\\": 12016,
\\"SourceCidrIp\\": \\"0.0.0.0/0\\",
\\"IpProtocol\\": \\"TCP\\"
}
]
},
{
\\"ServiceName\\": \\"CLIENT\\",
\\"ServiceAccessType\\": \\"URL\\",
\\"ServiceAccessUrl\\": \\"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\\",
\\"NetworkACL\\": [
{
\\"Port\\": 12011,
\\"SourceCidrIp\\": \\"0.0.0.0/0\\",
\\"IpProtocol\\": \\"TCP\\"
}
]
}
]
`,
resourcesSpec: `{
\\"EipResource\\": {
\\"AutoCreate\\": true
},
\\"EcsResources\\": [
{
\\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\",
\\"EnableHT\\": true,
\\"InstanceChargeType\\": \\"PostPaid\\",
\\"InstanceType\\": \\"ecs.c7.xlarge\\",
\\"SpotStrategy\\": \\"NoSpot\\",
\\"SystemDisk\\": {
\\"Category\\": \\"cloud_essd\\",
\\"Size\\": 40,
\\"Level\\": \\"PL0\\"
},
\\"DataDisks\\": [
{
\\"Category\\": \\"cloud_essd\\",
\\"Size\\": 40,
\\"Level\\": \\"PL0\\"
}
]
}
]
}
`,
name: "Login",
}],
clusterName: "minimal-example-cluster",
deletionProtection: false,
sharedStorages: [
{
mountDirectory: "/home",
nasDirectory: "/",
mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: queueMinimalExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
mountDirectory: "/opt",
nasDirectory: "/",
mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: queueMinimalExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
mountDirectory: "/ehpcdata",
nasDirectory: "/",
mountTargetDomain: queueMinimalExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: queueMinimalExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
],
clusterVswitchId: queueMinimalExampleVswitch.id,
manager: {
managerNode: {
systemDisk: {
category: "cloud_essd",
size: 40,
level: "PL0",
},
enableHt: true,
instanceChargeType: "PostPaid",
imageId: "centos_7_6_x64_20G_alibase_20211130.vhd",
instanceType: "ecs.c6.xlarge",
spotStrategy: "NoSpot",
},
scheduler: {
type: "SLURM",
version: "22.05.8",
},
dns: {
type: "nis",
version: "1.0",
},
directoryService: {
type: "nis",
version: "1.0",
},
},
}, {
dependsOn: [queueMinimalExampleAccessRule],
});
const _default = new alicloud.ehpc.Queue("default", {
clusterId: queueMinimalClusterExample.id,
queueName: "autoque1",
});
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
queue_minimal_example_vpc = alicloud.vpc.Network("queue_minimal_example_vpc",
is_default=False,
cidr_block="10.0.0.0/8",
vpc_name="example-cluster-vpc")
queue_minimal_example_vswitch = alicloud.vpc.Switch("queue_minimal_example_vswitch",
is_default=False,
vpc_id=queue_minimal_example_vpc.id,
zone_id="cn-hangzhou-k",
cidr_block="10.0.0.0/24",
vswitch_name="example-cluster-vsw")
queue_minimal_example_nas = alicloud.nas.FileSystem("queue_minimal_example_nas",
description="example-cluster-nas",
storage_type="Capacity",
nfs_acl={
"enabled": False,
},
zone_id="cn-hangzhou-k",
encrypt_type=0,
protocol_type="NFS",
file_system_type="standard")
queue_minimal_example_access_group = alicloud.nas.AccessGroup("queue_minimal_example_access_group",
access_group_type="Vpc",
description=name,
access_group_name="StandardMountTarget",
file_system_type="standard")
queue_minimal_example_security_group = alicloud.ecs.SecurityGroup("queue_minimal_example_security_group",
vpc_id=queue_minimal_example_vpc.id,
security_group_type="normal")
queue_minimal_example_mount_domain = alicloud.nas.MountTarget("queue_minimal_example_mount_domain",
vpc_id=queue_minimal_example_vpc.id,
network_type="Vpc",
access_group_name=queue_minimal_example_access_group.access_group_name,
vswitch_id=queue_minimal_example_vswitch.id,
file_system_id=queue_minimal_example_nas.id)
queue_minimal_example_access_rule = alicloud.nas.AccessRule("queue_minimal_example_access_rule",
priority=1,
access_group_name=queue_minimal_example_access_group.access_group_name,
file_system_type=queue_minimal_example_nas.file_system_type,
source_cidr_ip="10.0.0.0/8")
queue_minimal_cluster_example = alicloud.ehpc.ClusterV2("queue_minimal_cluster_example",
cluster_credentials={
"password": "aliHPC123",
},
cluster_vpc_id=queue_minimal_example_vpc.id,
cluster_category="Standard",
cluster_mode="Integrated",
security_group_id=queue_minimal_example_security_group.id,
addons=[{
"version": "1.0",
"services_spec": """[
{
\"ServiceName\": \"SSH\",
\"NetworkACL\": [
{
\"Port\": 22,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"VNC\",
\"NetworkACL\": [
{
\"Port\": 12016,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"CLIENT\",
\"ServiceAccessType\": \"URL\",
\"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\",
\"NetworkACL\": [
{
\"Port\": 12011,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
}
]
""",
"resources_spec": """{
\"EipResource\": {
\"AutoCreate\": true
},
\"EcsResources\": [
{
\"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",
\"EnableHT\": true,
\"InstanceChargeType\": \"PostPaid\",
\"InstanceType\": \"ecs.c7.xlarge\",
\"SpotStrategy\": \"NoSpot\",
\"SystemDisk\": {
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
},
\"DataDisks\": [
{
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
}
]
}
]
}
""",
"name": "Login",
}],
cluster_name="minimal-example-cluster",
deletion_protection=False,
shared_storages=[
{
"mount_directory": "/home",
"nas_directory": "/",
"mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": queue_minimal_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
"mount_directory": "/opt",
"nas_directory": "/",
"mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": queue_minimal_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
"mount_directory": "/ehpcdata",
"nas_directory": "/",
"mount_target_domain": queue_minimal_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": queue_minimal_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
],
cluster_vswitch_id=queue_minimal_example_vswitch.id,
manager={
"manager_node": {
"system_disk": {
"category": "cloud_essd",
"size": 40,
"level": "PL0",
},
"enable_ht": True,
"instance_charge_type": "PostPaid",
"image_id": "centos_7_6_x64_20G_alibase_20211130.vhd",
"instance_type": "ecs.c6.xlarge",
"spot_strategy": "NoSpot",
},
"scheduler": {
"type": "SLURM",
"version": "22.05.8",
},
"dns": {
"type": "nis",
"version": "1.0",
},
"directory_service": {
"type": "nis",
"version": "1.0",
},
},
opts = pulumi.ResourceOptions(depends_on=[queue_minimal_example_access_rule]))
default = alicloud.ehpc.Queue("default",
cluster_id=queue_minimal_cluster_example.id,
queue_name="autoque1")
package main
import (
"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 := "terraform-example"
if param := cfg.Get("name"); param != "" {
name = param
}
queueMinimalExampleVpc, err := vpc.NewNetwork(ctx, "queue_minimal_example_vpc", &vpc.NetworkArgs{
IsDefault: pulumi.Bool(false),
CidrBlock: pulumi.String("10.0.0.0/8"),
VpcName: pulumi.String("example-cluster-vpc"),
})
if err != nil {
return err
}
queueMinimalExampleVswitch, err := vpc.NewSwitch(ctx, "queue_minimal_example_vswitch", &vpc.SwitchArgs{
IsDefault: pulumi.Bool(false),
VpcId: queueMinimalExampleVpc.ID(),
ZoneId: pulumi.String("cn-hangzhou-k"),
CidrBlock: pulumi.String("10.0.0.0/24"),
VswitchName: pulumi.String("example-cluster-vsw"),
})
if err != nil {
return err
}
queueMinimalExampleNas, err := nas.NewFileSystem(ctx, "queue_minimal_example_nas", &nas.FileSystemArgs{
Description: pulumi.String("example-cluster-nas"),
StorageType: pulumi.String("Capacity"),
NfsAcl: &nas.FileSystemNfsAclArgs{
Enabled: pulumi.Bool(false),
},
ZoneId: pulumi.String("cn-hangzhou-k"),
EncryptType: pulumi.Int(0),
ProtocolType: pulumi.String("NFS"),
FileSystemType: pulumi.String("standard"),
})
if err != nil {
return err
}
queueMinimalExampleAccessGroup, err := nas.NewAccessGroup(ctx, "queue_minimal_example_access_group", &nas.AccessGroupArgs{
AccessGroupType: pulumi.String("Vpc"),
Description: pulumi.String(name),
AccessGroupName: pulumi.String("StandardMountTarget"),
FileSystemType: pulumi.String("standard"),
})
if err != nil {
return err
}
queueMinimalExampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, "queue_minimal_example_security_group", &ecs.SecurityGroupArgs{
VpcId: queueMinimalExampleVpc.ID(),
SecurityGroupType: pulumi.String("normal"),
})
if err != nil {
return err
}
queueMinimalExampleMountDomain, err := nas.NewMountTarget(ctx, "queue_minimal_example_mount_domain", &nas.MountTargetArgs{
VpcId: queueMinimalExampleVpc.ID(),
NetworkType: pulumi.String("Vpc"),
AccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName,
VswitchId: queueMinimalExampleVswitch.ID(),
FileSystemId: queueMinimalExampleNas.ID(),
})
if err != nil {
return err
}
queueMinimalExampleAccessRule, err := nas.NewAccessRule(ctx, "queue_minimal_example_access_rule", &nas.AccessRuleArgs{
Priority: pulumi.Int(1),
AccessGroupName: queueMinimalExampleAccessGroup.AccessGroupName,
FileSystemType: queueMinimalExampleNas.FileSystemType,
SourceCidrIp: pulumi.String("10.0.0.0/8"),
})
if err != nil {
return err
}
queueMinimalClusterExample, err := ehpc.NewClusterV2(ctx, "queue_minimal_cluster_example", &ehpc.ClusterV2Args{
ClusterCredentials: &ehpc.ClusterV2ClusterCredentialsArgs{
Password: pulumi.String("aliHPC123"),
},
ClusterVpcId: queueMinimalExampleVpc.ID(),
ClusterCategory: pulumi.String("Standard"),
ClusterMode: pulumi.String("Integrated"),
SecurityGroupId: queueMinimalExampleSecurityGroup.ID(),
Addons: ehpc.ClusterV2AddonArray{
&ehpc.ClusterV2AddonArgs{
Version: pulumi.String("1.0"),
ServicesSpec: pulumi.String(`[
{
\"ServiceName\": \"SSH\",
\"NetworkACL\": [
{
\"Port\": 22,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"VNC\",
\"NetworkACL\": [
{
\"Port\": 12016,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"CLIENT\",
\"ServiceAccessType\": \"URL\",
\"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\",
\"NetworkACL\": [
{
\"Port\": 12011,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
}
]
`),
ResourcesSpec: pulumi.String(`{
\"EipResource\": {
\"AutoCreate\": true
},
\"EcsResources\": [
{
\"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",
\"EnableHT\": true,
\"InstanceChargeType\": \"PostPaid\",
\"InstanceType\": \"ecs.c7.xlarge\",
\"SpotStrategy\": \"NoSpot\",
\"SystemDisk\": {
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
},
\"DataDisks\": [
{
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
}
]
}
]
}
`),
Name: pulumi.String("Login"),
},
},
ClusterName: pulumi.String("minimal-example-cluster"),
DeletionProtection: pulumi.Bool(false),
SharedStorages: ehpc.ClusterV2SharedStorageArray{
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/home"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: queueMinimalExampleNas.ID(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/opt"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: queueMinimalExampleNas.ID(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/ehpcdata"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: queueMinimalExampleNas.ID(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
},
ClusterVswitchId: queueMinimalExampleVswitch.ID(),
Manager: &ehpc.ClusterV2ManagerArgs{
ManagerNode: &ehpc.ClusterV2ManagerManagerNodeArgs{
SystemDisk: &ehpc.ClusterV2ManagerManagerNodeSystemDiskArgs{
Category: pulumi.String("cloud_essd"),
Size: pulumi.Int(40),
Level: pulumi.String("PL0"),
},
EnableHt: pulumi.Bool(true),
InstanceChargeType: pulumi.String("PostPaid"),
ImageId: pulumi.String("centos_7_6_x64_20G_alibase_20211130.vhd"),
InstanceType: pulumi.String("ecs.c6.xlarge"),
SpotStrategy: pulumi.String("NoSpot"),
},
Scheduler: &ehpc.ClusterV2ManagerSchedulerArgs{
Type: pulumi.String("SLURM"),
Version: pulumi.String("22.05.8"),
},
Dns: &ehpc.ClusterV2ManagerDnsArgs{
Type: pulumi.String("nis"),
Version: pulumi.String("1.0"),
},
DirectoryService: &ehpc.ClusterV2ManagerDirectoryServiceArgs{
Type: pulumi.String("nis"),
Version: pulumi.String("1.0"),
},
},
}, pulumi.DependsOn([]pulumi.Resource{
queueMinimalExampleAccessRule,
}))
if err != nil {
return err
}
_, err = ehpc.NewQueue(ctx, "default", &ehpc.QueueArgs{
ClusterId: queueMinimalClusterExample.ID(),
QueueName: pulumi.String("autoque1"),
})
if err != nil {
return err
}
return nil
})
}
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") ?? "terraform-example";
var queueMinimalExampleVpc = new AliCloud.Vpc.Network("queue_minimal_example_vpc", new()
{
IsDefault = false,
CidrBlock = "10.0.0.0/8",
VpcName = "example-cluster-vpc",
});
var queueMinimalExampleVswitch = new AliCloud.Vpc.Switch("queue_minimal_example_vswitch", new()
{
IsDefault = false,
VpcId = queueMinimalExampleVpc.Id,
ZoneId = "cn-hangzhou-k",
CidrBlock = "10.0.0.0/24",
VswitchName = "example-cluster-vsw",
});
var queueMinimalExampleNas = new AliCloud.Nas.FileSystem("queue_minimal_example_nas", new()
{
Description = "example-cluster-nas",
StorageType = "Capacity",
NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs
{
Enabled = false,
},
ZoneId = "cn-hangzhou-k",
EncryptType = 0,
ProtocolType = "NFS",
FileSystemType = "standard",
});
var queueMinimalExampleAccessGroup = new AliCloud.Nas.AccessGroup("queue_minimal_example_access_group", new()
{
AccessGroupType = "Vpc",
Description = name,
AccessGroupName = "StandardMountTarget",
FileSystemType = "standard",
});
var queueMinimalExampleSecurityGroup = new AliCloud.Ecs.SecurityGroup("queue_minimal_example_security_group", new()
{
VpcId = queueMinimalExampleVpc.Id,
SecurityGroupType = "normal",
});
var queueMinimalExampleMountDomain = new AliCloud.Nas.MountTarget("queue_minimal_example_mount_domain", new()
{
VpcId = queueMinimalExampleVpc.Id,
NetworkType = "Vpc",
AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName,
VswitchId = queueMinimalExampleVswitch.Id,
FileSystemId = queueMinimalExampleNas.Id,
});
var queueMinimalExampleAccessRule = new AliCloud.Nas.AccessRule("queue_minimal_example_access_rule", new()
{
Priority = 1,
AccessGroupName = queueMinimalExampleAccessGroup.AccessGroupName,
FileSystemType = queueMinimalExampleNas.FileSystemType,
SourceCidrIp = "10.0.0.0/8",
});
var queueMinimalClusterExample = new AliCloud.Ehpc.ClusterV2("queue_minimal_cluster_example", new()
{
ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs
{
Password = "aliHPC123",
},
ClusterVpcId = queueMinimalExampleVpc.Id,
ClusterCategory = "Standard",
ClusterMode = "Integrated",
SecurityGroupId = queueMinimalExampleSecurityGroup.Id,
Addons = new[]
{
new AliCloud.Ehpc.Inputs.ClusterV2AddonArgs
{
Version = "1.0",
ServicesSpec = @"[
{
\""ServiceName\"": \""SSH\"",
\""NetworkACL\"": [
{
\""Port\"": 22,
\""SourceCidrIp\"": \""0.0.0.0/0\"",
\""IpProtocol\"": \""TCP\""
}
]
},
{
\""ServiceName\"": \""VNC\"",
\""NetworkACL\"": [
{
\""Port\"": 12016,
\""SourceCidrIp\"": \""0.0.0.0/0\"",
\""IpProtocol\"": \""TCP\""
}
]
},
{
\""ServiceName\"": \""CLIENT\"",
\""ServiceAccessType\"": \""URL\"",
\""ServiceAccessUrl\"": \""https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\"",
\""NetworkACL\"": [
{
\""Port\"": 12011,
\""SourceCidrIp\"": \""0.0.0.0/0\"",
\""IpProtocol\"": \""TCP\""
}
]
}
]
",
ResourcesSpec = @"{
\""EipResource\"": {
\""AutoCreate\"": true
},
\""EcsResources\"": [
{
\""ImageId\"": \""centos_7_6_x64_20G_alibase_20211130.vhd\"",
\""EnableHT\"": true,
\""InstanceChargeType\"": \""PostPaid\"",
\""InstanceType\"": \""ecs.c7.xlarge\"",
\""SpotStrategy\"": \""NoSpot\"",
\""SystemDisk\"": {
\""Category\"": \""cloud_essd\"",
\""Size\"": 40,
\""Level\"": \""PL0\""
},
\""DataDisks\"": [
{
\""Category\"": \""cloud_essd\"",
\""Size\"": 40,
\""Level\"": \""PL0\""
}
]
}
]
}
",
Name = "Login",
},
},
ClusterName = "minimal-example-cluster",
DeletionProtection = false,
SharedStorages = new[]
{
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/home",
NasDirectory = "/",
MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = queueMinimalExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/opt",
NasDirectory = "/",
MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = queueMinimalExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/ehpcdata",
NasDirectory = "/",
MountTargetDomain = queueMinimalExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = queueMinimalExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
},
ClusterVswitchId = queueMinimalExampleVswitch.Id,
Manager = new AliCloud.Ehpc.Inputs.ClusterV2ManagerArgs
{
ManagerNode = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeArgs
{
SystemDisk = new AliCloud.Ehpc.Inputs.ClusterV2ManagerManagerNodeSystemDiskArgs
{
Category = "cloud_essd",
Size = 40,
Level = "PL0",
},
EnableHt = true,
InstanceChargeType = "PostPaid",
ImageId = "centos_7_6_x64_20G_alibase_20211130.vhd",
InstanceType = "ecs.c6.xlarge",
SpotStrategy = "NoSpot",
},
Scheduler = new AliCloud.Ehpc.Inputs.ClusterV2ManagerSchedulerArgs
{
Type = "SLURM",
Version = "22.05.8",
},
Dns = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDnsArgs
{
Type = "nis",
Version = "1.0",
},
DirectoryService = new AliCloud.Ehpc.Inputs.ClusterV2ManagerDirectoryServiceArgs
{
Type = "nis",
Version = "1.0",
},
},
}, new CustomResourceOptions
{
DependsOn =
{
queueMinimalExampleAccessRule,
},
});
var @default = new AliCloud.Ehpc.Queue("default", new()
{
ClusterId = queueMinimalClusterExample.Id,
QueueName = "autoque1",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
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.inputs.FileSystemNfsAclArgs;
import com.pulumi.alicloud.nas.AccessGroup;
import com.pulumi.alicloud.nas.AccessGroupArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
import com.pulumi.alicloud.nas.MountTarget;
import com.pulumi.alicloud.nas.MountTargetArgs;
import com.pulumi.alicloud.nas.AccessRule;
import com.pulumi.alicloud.nas.AccessRuleArgs;
import com.pulumi.alicloud.ehpc.ClusterV2;
import com.pulumi.alicloud.ehpc.ClusterV2Args;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ClusterCredentialsArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2AddonArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2SharedStorageArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerManagerNodeSystemDiskArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerSchedulerArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDnsArgs;
import com.pulumi.alicloud.ehpc.inputs.ClusterV2ManagerDirectoryServiceArgs;
import com.pulumi.alicloud.ehpc.Queue;
import com.pulumi.alicloud.ehpc.QueueArgs;
import com.pulumi.resources.CustomResourceOptions;
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");
var queueMinimalExampleVpc = new Network("queueMinimalExampleVpc", NetworkArgs.builder()
.isDefault(false)
.cidrBlock("10.0.0.0/8")
.vpcName("example-cluster-vpc")
.build());
var queueMinimalExampleVswitch = new Switch("queueMinimalExampleVswitch", SwitchArgs.builder()
.isDefault(false)
.vpcId(queueMinimalExampleVpc.id())
.zoneId("cn-hangzhou-k")
.cidrBlock("10.0.0.0/24")
.vswitchName("example-cluster-vsw")
.build());
var queueMinimalExampleNas = new FileSystem("queueMinimalExampleNas", FileSystemArgs.builder()
.description("example-cluster-nas")
.storageType("Capacity")
.nfsAcl(FileSystemNfsAclArgs.builder()
.enabled(false)
.build())
.zoneId("cn-hangzhou-k")
.encryptType(0)
.protocolType("NFS")
.fileSystemType("standard")
.build());
var queueMinimalExampleAccessGroup = new AccessGroup("queueMinimalExampleAccessGroup", AccessGroupArgs.builder()
.accessGroupType("Vpc")
.description(name)
.accessGroupName("StandardMountTarget")
.fileSystemType("standard")
.build());
var queueMinimalExampleSecurityGroup = new SecurityGroup("queueMinimalExampleSecurityGroup", SecurityGroupArgs.builder()
.vpcId(queueMinimalExampleVpc.id())
.securityGroupType("normal")
.build());
var queueMinimalExampleMountDomain = new MountTarget("queueMinimalExampleMountDomain", MountTargetArgs.builder()
.vpcId(queueMinimalExampleVpc.id())
.networkType("Vpc")
.accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())
.vswitchId(queueMinimalExampleVswitch.id())
.fileSystemId(queueMinimalExampleNas.id())
.build());
var queueMinimalExampleAccessRule = new AccessRule("queueMinimalExampleAccessRule", AccessRuleArgs.builder()
.priority(1)
.accessGroupName(queueMinimalExampleAccessGroup.accessGroupName())
.fileSystemType(queueMinimalExampleNas.fileSystemType())
.sourceCidrIp("10.0.0.0/8")
.build());
var queueMinimalClusterExample = new ClusterV2("queueMinimalClusterExample", ClusterV2Args.builder()
.clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()
.password("aliHPC123")
.build())
.clusterVpcId(queueMinimalExampleVpc.id())
.clusterCategory("Standard")
.clusterMode("Integrated")
.securityGroupId(queueMinimalExampleSecurityGroup.id())
.addons(ClusterV2AddonArgs.builder()
.version("1.0")
.servicesSpec("""
[
{
\"ServiceName\": \"SSH\",
\"NetworkACL\": [
{
\"Port\": 22,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"VNC\",
\"NetworkACL\": [
{
\"Port\": 12016,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"CLIENT\",
\"ServiceAccessType\": \"URL\",
\"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\",
\"NetworkACL\": [
{
\"Port\": 12011,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
}
]
""")
.resourcesSpec("""
{
\"EipResource\": {
\"AutoCreate\": true
},
\"EcsResources\": [
{
\"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",
\"EnableHT\": true,
\"InstanceChargeType\": \"PostPaid\",
\"InstanceType\": \"ecs.c7.xlarge\",
\"SpotStrategy\": \"NoSpot\",
\"SystemDisk\": {
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
},
\"DataDisks\": [
{
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
}
]
}
]
}
""")
.name("Login")
.build())
.clusterName("minimal-example-cluster")
.deletionProtection(false)
.sharedStorages(
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/home")
.nasDirectory("/")
.mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(queueMinimalExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build(),
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/opt")
.nasDirectory("/")
.mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(queueMinimalExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build(),
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/ehpcdata")
.nasDirectory("/")
.mountTargetDomain(queueMinimalExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(queueMinimalExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build())
.clusterVswitchId(queueMinimalExampleVswitch.id())
.manager(ClusterV2ManagerArgs.builder()
.managerNode(ClusterV2ManagerManagerNodeArgs.builder()
.systemDisk(ClusterV2ManagerManagerNodeSystemDiskArgs.builder()
.category("cloud_essd")
.size(40)
.level("PL0")
.build())
.enableHt(true)
.instanceChargeType("PostPaid")
.imageId("centos_7_6_x64_20G_alibase_20211130.vhd")
.instanceType("ecs.c6.xlarge")
.spotStrategy("NoSpot")
.build())
.scheduler(ClusterV2ManagerSchedulerArgs.builder()
.type("SLURM")
.version("22.05.8")
.build())
.dns(ClusterV2ManagerDnsArgs.builder()
.type("nis")
.version("1.0")
.build())
.directoryService(ClusterV2ManagerDirectoryServiceArgs.builder()
.type("nis")
.version("1.0")
.build())
.build())
.build(), CustomResourceOptions.builder()
.dependsOn(queueMinimalExampleAccessRule)
.build());
var default_ = new Queue("default", QueueArgs.builder()
.clusterId(queueMinimalClusterExample.id())
.queueName("autoque1")
.build());
}
}
configuration:
name:
type: string
default: terraform-example
resources:
queueMinimalExampleVpc:
type: alicloud:vpc:Network
name: queue_minimal_example_vpc
properties:
isDefault: false
cidrBlock: 10.0.0.0/8
vpcName: example-cluster-vpc
queueMinimalExampleVswitch:
type: alicloud:vpc:Switch
name: queue_minimal_example_vswitch
properties:
isDefault: false
vpcId: ${queueMinimalExampleVpc.id}
zoneId: cn-hangzhou-k
cidrBlock: 10.0.0.0/24
vswitchName: example-cluster-vsw
queueMinimalExampleNas:
type: alicloud:nas:FileSystem
name: queue_minimal_example_nas
properties:
description: example-cluster-nas
storageType: Capacity
nfsAcl:
enabled: false
zoneId: cn-hangzhou-k
encryptType: '0'
protocolType: NFS
fileSystemType: standard
queueMinimalExampleAccessGroup:
type: alicloud:nas:AccessGroup
name: queue_minimal_example_access_group
properties:
accessGroupType: Vpc
description: ${name}
accessGroupName: StandardMountTarget
fileSystemType: standard
queueMinimalExampleSecurityGroup:
type: alicloud:ecs:SecurityGroup
name: queue_minimal_example_security_group
properties:
vpcId: ${queueMinimalExampleVpc.id}
securityGroupType: normal
queueMinimalExampleMountDomain:
type: alicloud:nas:MountTarget
name: queue_minimal_example_mount_domain
properties:
vpcId: ${queueMinimalExampleVpc.id}
networkType: Vpc
accessGroupName: ${queueMinimalExampleAccessGroup.accessGroupName}
vswitchId: ${queueMinimalExampleVswitch.id}
fileSystemId: ${queueMinimalExampleNas.id}
queueMinimalExampleAccessRule:
type: alicloud:nas:AccessRule
name: queue_minimal_example_access_rule
properties:
priority: '1'
accessGroupName: ${queueMinimalExampleAccessGroup.accessGroupName}
fileSystemType: ${queueMinimalExampleNas.fileSystemType}
sourceCidrIp: 10.0.0.0/8
queueMinimalClusterExample:
type: alicloud:ehpc:ClusterV2
name: queue_minimal_cluster_example
properties:
clusterCredentials:
password: aliHPC123
clusterVpcId: ${queueMinimalExampleVpc.id}
clusterCategory: Standard
clusterMode: Integrated
securityGroupId: ${queueMinimalExampleSecurityGroup.id}
addons:
- version: '1.0'
servicesSpec: |
[
{
\"ServiceName\": \"SSH\",
\"NetworkACL\": [
{
\"Port\": 22,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"VNC\",
\"NetworkACL\": [
{
\"Port\": 12016,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
},
{
\"ServiceName\": \"CLIENT\",
\"ServiceAccessType\": \"URL\",
\"ServiceAccessUrl\": \"https://ehpc-app.oss-cn-hangzhou.aliyuncs.com/ClientRelease/E-HPC-Client-Mac-zh-cn.zip\",
\"NetworkACL\": [
{
\"Port\": 12011,
\"SourceCidrIp\": \"0.0.0.0/0\",
\"IpProtocol\": \"TCP\"
}
]
}
]
resourcesSpec: |
{
\"EipResource\": {
\"AutoCreate\": true
},
\"EcsResources\": [
{
\"ImageId\": \"centos_7_6_x64_20G_alibase_20211130.vhd\",
\"EnableHT\": true,
\"InstanceChargeType\": \"PostPaid\",
\"InstanceType\": \"ecs.c7.xlarge\",
\"SpotStrategy\": \"NoSpot\",
\"SystemDisk\": {
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
},
\"DataDisks\": [
{
\"Category\": \"cloud_essd\",
\"Size\": 40,
\"Level\": \"PL0\"
}
]
}
]
}
name: Login
clusterName: minimal-example-cluster
deletionProtection: false
sharedStorages:
- mountDirectory: /home
nasDirectory: /
mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${queueMinimalExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
- mountDirectory: /opt
nasDirectory: /
mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${queueMinimalExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
- mountDirectory: /ehpcdata
nasDirectory: /
mountTargetDomain: ${queueMinimalExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${queueMinimalExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
clusterVswitchId: ${queueMinimalExampleVswitch.id}
manager:
managerNode:
systemDisk:
category: cloud_essd
size: '40'
level: PL0
enableHt: true
instanceChargeType: PostPaid
imageId: centos_7_6_x64_20G_alibase_20211130.vhd
instanceType: ecs.c6.xlarge
spotStrategy: NoSpot
scheduler:
type: SLURM
version: 22.05.8
dns:
type: nis
version: '1.0'
directoryService:
type: nis
version: '1.0'
options:
dependsOn:
- ${queueMinimalExampleAccessRule}
default:
type: alicloud:ehpc:Queue
properties:
clusterId: ${queueMinimalClusterExample.id}
queueName: autoque1
📚 Need more examples? VIEW MORE EXAMPLES
Create Queue Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Queue(name: string, args?: QueueArgs, opts?: CustomResourceOptions);@overload
def Queue(resource_name: str,
args: Optional[QueueArgs] = None,
opts: Optional[ResourceOptions] = None)
@overload
def Queue(resource_name: str,
opts: Optional[ResourceOptions] = None,
cluster_id: Optional[str] = None,
compute_nodes: Optional[Sequence[QueueComputeNodeArgs]] = None,
enable_scale_in: Optional[bool] = None,
enable_scale_out: Optional[bool] = None,
hostname_prefix: Optional[str] = None,
hostname_suffix: Optional[str] = None,
initial_count: Optional[int] = None,
inter_connect: Optional[str] = None,
max_count: Optional[int] = None,
min_count: Optional[int] = None,
queue_name: Optional[str] = None,
vswitch_ids: Optional[Sequence[str]] = None)func NewQueue(ctx *Context, name string, args *QueueArgs, opts ...ResourceOption) (*Queue, error)public Queue(string name, QueueArgs? args = null, CustomResourceOptions? opts = null)type: alicloud:ehpc:Queue
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args QueueArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args QueueArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args QueueArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args QueueArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args QueueArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var alicloudQueueResource = new AliCloud.Ehpc.Queue("alicloudQueueResource", new()
{
ClusterId = "string",
ComputeNodes = new[]
{
new AliCloud.Ehpc.Inputs.QueueComputeNodeArgs
{
AutoRenew = false,
AutoRenewPeriod = 0,
Duration = 0,
EnableHt = false,
ImageId = "string",
InstanceChargeType = "string",
InstanceType = "string",
Period = 0,
PeriodUnit = "string",
SpotPriceLimit = 0,
SpotStrategy = "string",
SystemDisk = new AliCloud.Ehpc.Inputs.QueueComputeNodeSystemDiskArgs
{
Category = "string",
Level = "string",
Size = 0,
},
},
},
EnableScaleIn = false,
EnableScaleOut = false,
HostnamePrefix = "string",
HostnameSuffix = "string",
InitialCount = 0,
InterConnect = "string",
MaxCount = 0,
MinCount = 0,
QueueName = "string",
VswitchIds = new[]
{
"string",
},
});
example, err := ehpc.NewQueue(ctx, "alicloudQueueResource", &ehpc.QueueArgs{
ClusterId: pulumi.String("string"),
ComputeNodes: ehpc.QueueComputeNodeArray{
&ehpc.QueueComputeNodeArgs{
AutoRenew: pulumi.Bool(false),
AutoRenewPeriod: pulumi.Int(0),
Duration: pulumi.Int(0),
EnableHt: pulumi.Bool(false),
ImageId: pulumi.String("string"),
InstanceChargeType: pulumi.String("string"),
InstanceType: pulumi.String("string"),
Period: pulumi.Int(0),
PeriodUnit: pulumi.String("string"),
SpotPriceLimit: pulumi.Float64(0),
SpotStrategy: pulumi.String("string"),
SystemDisk: &ehpc.QueueComputeNodeSystemDiskArgs{
Category: pulumi.String("string"),
Level: pulumi.String("string"),
Size: pulumi.Int(0),
},
},
},
EnableScaleIn: pulumi.Bool(false),
EnableScaleOut: pulumi.Bool(false),
HostnamePrefix: pulumi.String("string"),
HostnameSuffix: pulumi.String("string"),
InitialCount: pulumi.Int(0),
InterConnect: pulumi.String("string"),
MaxCount: pulumi.Int(0),
MinCount: pulumi.Int(0),
QueueName: pulumi.String("string"),
VswitchIds: pulumi.StringArray{
pulumi.String("string"),
},
})
var alicloudQueueResource = new com.pulumi.alicloud.ehpc.Queue("alicloudQueueResource", com.pulumi.alicloud.ehpc.QueueArgs.builder()
.clusterId("string")
.computeNodes(QueueComputeNodeArgs.builder()
.autoRenew(false)
.autoRenewPeriod(0)
.duration(0)
.enableHt(false)
.imageId("string")
.instanceChargeType("string")
.instanceType("string")
.period(0)
.periodUnit("string")
.spotPriceLimit(0.0)
.spotStrategy("string")
.systemDisk(QueueComputeNodeSystemDiskArgs.builder()
.category("string")
.level("string")
.size(0)
.build())
.build())
.enableScaleIn(false)
.enableScaleOut(false)
.hostnamePrefix("string")
.hostnameSuffix("string")
.initialCount(0)
.interConnect("string")
.maxCount(0)
.minCount(0)
.queueName("string")
.vswitchIds("string")
.build());
alicloud_queue_resource = alicloud.ehpc.Queue("alicloudQueueResource",
cluster_id="string",
compute_nodes=[{
"auto_renew": False,
"auto_renew_period": 0,
"duration": 0,
"enable_ht": False,
"image_id": "string",
"instance_charge_type": "string",
"instance_type": "string",
"period": 0,
"period_unit": "string",
"spot_price_limit": 0,
"spot_strategy": "string",
"system_disk": {
"category": "string",
"level": "string",
"size": 0,
},
}],
enable_scale_in=False,
enable_scale_out=False,
hostname_prefix="string",
hostname_suffix="string",
initial_count=0,
inter_connect="string",
max_count=0,
min_count=0,
queue_name="string",
vswitch_ids=["string"])
const alicloudQueueResource = new alicloud.ehpc.Queue("alicloudQueueResource", {
clusterId: "string",
computeNodes: [{
autoRenew: false,
autoRenewPeriod: 0,
duration: 0,
enableHt: false,
imageId: "string",
instanceChargeType: "string",
instanceType: "string",
period: 0,
periodUnit: "string",
spotPriceLimit: 0,
spotStrategy: "string",
systemDisk: {
category: "string",
level: "string",
size: 0,
},
}],
enableScaleIn: false,
enableScaleOut: false,
hostnamePrefix: "string",
hostnameSuffix: "string",
initialCount: 0,
interConnect: "string",
maxCount: 0,
minCount: 0,
queueName: "string",
vswitchIds: ["string"],
});
type: alicloud:ehpc:Queue
properties:
clusterId: string
computeNodes:
- autoRenew: false
autoRenewPeriod: 0
duration: 0
enableHt: false
imageId: string
instanceChargeType: string
instanceType: string
period: 0
periodUnit: string
spotPriceLimit: 0
spotStrategy: string
systemDisk:
category: string
level: string
size: 0
enableScaleIn: false
enableScaleOut: false
hostnamePrefix: string
hostnameSuffix: string
initialCount: 0
interConnect: string
maxCount: 0
minCount: 0
queueName: string
vswitchIds:
- string
Queue Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Queue resource accepts the following input properties:
- Cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- Compute
Nodes List<Pulumi.Ali Cloud. Ehpc. Inputs. Queue Compute Node> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - Enable
Scale boolIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- Enable
Scale boolOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- Hostname
Prefix string - The hostname prefix of the added compute nodes.
- Hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- Initial
Count int - The initial number of compute nodes in the queue.
- Inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- Max
Count int - The maximum number of compute nodes that the queue can contain.
- Min
Count int - The minimum number of compute nodes that the queue must contain.
- Queue
Name string - The queue name.
- Vswitch
Ids List<string> - The vSwitches available for use by compute nodes in the queue.
- Cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- Compute
Nodes []QueueCompute Node Args - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - Enable
Scale boolIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- Enable
Scale boolOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- Hostname
Prefix string - The hostname prefix of the added compute nodes.
- Hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- Initial
Count int - The initial number of compute nodes in the queue.
- Inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- Max
Count int - The maximum number of compute nodes that the queue can contain.
- Min
Count int - The minimum number of compute nodes that the queue must contain.
- Queue
Name string - The queue name.
- Vswitch
Ids []string - The vSwitches available for use by compute nodes in the queue.
- cluster
Id String - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes List<QueueCompute Node> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - enable
Scale BooleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale BooleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix String - The hostname prefix of the added compute nodes.
- hostname
Suffix String - The hostname suffix of the compute nodes in the queue.
- initial
Count Integer - The initial number of compute nodes in the queue.
- inter
Connect String - The type of the network for interconnecting compute nodes in the queue.
- max
Count Integer - The maximum number of compute nodes that the queue can contain.
- min
Count Integer - The minimum number of compute nodes that the queue must contain.
- queue
Name String - The queue name.
- vswitch
Ids List<String> - The vSwitches available for use by compute nodes in the queue.
- cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes QueueCompute Node[] - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - enable
Scale booleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale booleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix string - The hostname prefix of the added compute nodes.
- hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- initial
Count number - The initial number of compute nodes in the queue.
- inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- max
Count number - The maximum number of compute nodes that the queue can contain.
- min
Count number - The minimum number of compute nodes that the queue must contain.
- queue
Name string - The queue name.
- vswitch
Ids string[] - The vSwitches available for use by compute nodes in the queue.
- cluster_
id str - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute_
nodes Sequence[QueueCompute Node Args] - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - enable_
scale_ boolin - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable_
scale_ boolout - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname_
prefix str - The hostname prefix of the added compute nodes.
- hostname_
suffix str - The hostname suffix of the compute nodes in the queue.
- initial_
count int - The initial number of compute nodes in the queue.
- inter_
connect str - The type of the network for interconnecting compute nodes in the queue.
- max_
count int - The maximum number of compute nodes that the queue can contain.
- min_
count int - The minimum number of compute nodes that the queue must contain.
- queue_
name str - The queue name.
- vswitch_
ids Sequence[str] - The vSwitches available for use by compute nodes in the queue.
- cluster
Id String - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes List<Property Map> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - enable
Scale BooleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale BooleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix String - The hostname prefix of the added compute nodes.
- hostname
Suffix String - The hostname suffix of the compute nodes in the queue.
- initial
Count Number - The initial number of compute nodes in the queue.
- inter
Connect String - The type of the network for interconnecting compute nodes in the queue.
- max
Count Number - The maximum number of compute nodes that the queue can contain.
- min
Count Number - The minimum number of compute nodes that the queue must contain.
- queue
Name String - The queue name.
- vswitch
Ids List<String> - The vSwitches available for use by compute nodes in the queue.
Outputs
All input properties are implicitly available as output properties. Additionally, the Queue resource produces the following output properties:
- Create
Time string - The creation time of the resource
- Id string
- The provider-assigned unique ID for this managed resource.
- Create
Time string - The creation time of the resource
- Id string
- The provider-assigned unique ID for this managed resource.
- create
Time String - The creation time of the resource
- id String
- The provider-assigned unique ID for this managed resource.
- create
Time string - The creation time of the resource
- id string
- The provider-assigned unique ID for this managed resource.
- create_
time str - The creation time of the resource
- id str
- The provider-assigned unique ID for this managed resource.
- create
Time String - The creation time of the resource
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing Queue Resource
Get an existing Queue resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: QueueState, opts?: CustomResourceOptions): Queue@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
cluster_id: Optional[str] = None,
compute_nodes: Optional[Sequence[QueueComputeNodeArgs]] = None,
create_time: Optional[str] = None,
enable_scale_in: Optional[bool] = None,
enable_scale_out: Optional[bool] = None,
hostname_prefix: Optional[str] = None,
hostname_suffix: Optional[str] = None,
initial_count: Optional[int] = None,
inter_connect: Optional[str] = None,
max_count: Optional[int] = None,
min_count: Optional[int] = None,
queue_name: Optional[str] = None,
vswitch_ids: Optional[Sequence[str]] = None) -> Queuefunc GetQueue(ctx *Context, name string, id IDInput, state *QueueState, opts ...ResourceOption) (*Queue, error)public static Queue Get(string name, Input<string> id, QueueState? state, CustomResourceOptions? opts = null)public static Queue get(String name, Output<String> id, QueueState state, CustomResourceOptions options)resources: _: type: alicloud:ehpc:Queue get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- Compute
Nodes List<Pulumi.Ali Cloud. Ehpc. Inputs. Queue Compute Node> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - Create
Time string - The creation time of the resource
- Enable
Scale boolIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- Enable
Scale boolOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- Hostname
Prefix string - The hostname prefix of the added compute nodes.
- Hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- Initial
Count int - The initial number of compute nodes in the queue.
- Inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- Max
Count int - The maximum number of compute nodes that the queue can contain.
- Min
Count int - The minimum number of compute nodes that the queue must contain.
- Queue
Name string - The queue name.
- Vswitch
Ids List<string> - The vSwitches available for use by compute nodes in the queue.
- Cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- Compute
Nodes []QueueCompute Node Args - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - Create
Time string - The creation time of the resource
- Enable
Scale boolIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- Enable
Scale boolOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- Hostname
Prefix string - The hostname prefix of the added compute nodes.
- Hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- Initial
Count int - The initial number of compute nodes in the queue.
- Inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- Max
Count int - The maximum number of compute nodes that the queue can contain.
- Min
Count int - The minimum number of compute nodes that the queue must contain.
- Queue
Name string - The queue name.
- Vswitch
Ids []string - The vSwitches available for use by compute nodes in the queue.
- cluster
Id String - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes List<QueueCompute Node> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - create
Time String - The creation time of the resource
- enable
Scale BooleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale BooleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix String - The hostname prefix of the added compute nodes.
- hostname
Suffix String - The hostname suffix of the compute nodes in the queue.
- initial
Count Integer - The initial number of compute nodes in the queue.
- inter
Connect String - The type of the network for interconnecting compute nodes in the queue.
- max
Count Integer - The maximum number of compute nodes that the queue can contain.
- min
Count Integer - The minimum number of compute nodes that the queue must contain.
- queue
Name String - The queue name.
- vswitch
Ids List<String> - The vSwitches available for use by compute nodes in the queue.
- cluster
Id string - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes QueueCompute Node[] - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - create
Time string - The creation time of the resource
- enable
Scale booleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale booleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix string - The hostname prefix of the added compute nodes.
- hostname
Suffix string - The hostname suffix of the compute nodes in the queue.
- initial
Count number - The initial number of compute nodes in the queue.
- inter
Connect string - The type of the network for interconnecting compute nodes in the queue.
- max
Count number - The maximum number of compute nodes that the queue can contain.
- min
Count number - The minimum number of compute nodes that the queue must contain.
- queue
Name string - The queue name.
- vswitch
Ids string[] - The vSwitches available for use by compute nodes in the queue.
- cluster_
id str - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute_
nodes Sequence[QueueCompute Node Args] - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - create_
time str - The creation time of the resource
- enable_
scale_ boolin - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable_
scale_ boolout - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname_
prefix str - The hostname prefix of the added compute nodes.
- hostname_
suffix str - The hostname suffix of the compute nodes in the queue.
- initial_
count int - The initial number of compute nodes in the queue.
- inter_
connect str - The type of the network for interconnecting compute nodes in the queue.
- max_
count int - The maximum number of compute nodes that the queue can contain.
- min_
count int - The minimum number of compute nodes that the queue must contain.
- queue_
name str - The queue name.
- vswitch_
ids Sequence[str] - The vSwitches available for use by compute nodes in the queue.
- cluster
Id String - The cluster ID. You can call the ListClusters operation to query the cluster ID.
- compute
Nodes List<Property Map> - The hardware configurations of the compute nodes in the queue. Valid values of N: 1 to 10. See
compute_nodesbelow. - create
Time String - The creation time of the resource
- enable
Scale BooleanIn - Specifies whether to enable auto scale-in for the queue. Valid values:
- true
- false
- enable
Scale BooleanOut - Specifies whether to enable auto scale-out for the queue. Valid values:
- true
- false
- hostname
Prefix String - The hostname prefix of the added compute nodes.
- hostname
Suffix String - The hostname suffix of the compute nodes in the queue.
- initial
Count Number - The initial number of compute nodes in the queue.
- inter
Connect String - The type of the network for interconnecting compute nodes in the queue.
- max
Count Number - The maximum number of compute nodes that the queue can contain.
- min
Count Number - The minimum number of compute nodes that the queue must contain.
- queue
Name String - The queue name.
- vswitch
Ids List<String> - The vSwitches available for use by compute nodes in the queue.
Supporting Types
QueueComputeNode, QueueComputeNodeArgs
- Auto
Renew bool - AutoRenew
- Auto
Renew intPeriod - AutoRenewPeriod
- Duration int
- Duration
- Enable
Ht bool - Whether HT is enabled for the computing node.
- Image
Id string - ImageId
- Instance
Charge stringType - InstanceChargeType
- Instance
Type string - InstanceTypes
- Period int
- Period
- Period
Unit string - PeriodUnit
- Spot
Price doubleLimit - SpotPriceLimit
- Spot
Strategy string - SpotStrategy
- System
Disk Pulumi.Ali Cloud. Ehpc. Inputs. Queue Compute Node System Disk - SystemDisk See
system_diskbelow.
- Auto
Renew bool - AutoRenew
- Auto
Renew intPeriod - AutoRenewPeriod
- Duration int
- Duration
- Enable
Ht bool - Whether HT is enabled for the computing node.
- Image
Id string - ImageId
- Instance
Charge stringType - InstanceChargeType
- Instance
Type string - InstanceTypes
- Period int
- Period
- Period
Unit string - PeriodUnit
- Spot
Price float64Limit - SpotPriceLimit
- Spot
Strategy string - SpotStrategy
- System
Disk QueueCompute Node System Disk - SystemDisk See
system_diskbelow.
- auto
Renew Boolean - AutoRenew
- auto
Renew IntegerPeriod - AutoRenewPeriod
- duration Integer
- Duration
- enable
Ht Boolean - Whether HT is enabled for the computing node.
- image
Id String - ImageId
- instance
Charge StringType - InstanceChargeType
- instance
Type String - InstanceTypes
- period Integer
- Period
- period
Unit String - PeriodUnit
- spot
Price DoubleLimit - SpotPriceLimit
- spot
Strategy String - SpotStrategy
- system
Disk QueueCompute Node System Disk - SystemDisk See
system_diskbelow.
- auto
Renew boolean - AutoRenew
- auto
Renew numberPeriod - AutoRenewPeriod
- duration number
- Duration
- enable
Ht boolean - Whether HT is enabled for the computing node.
- image
Id string - ImageId
- instance
Charge stringType - InstanceChargeType
- instance
Type string - InstanceTypes
- period number
- Period
- period
Unit string - PeriodUnit
- spot
Price numberLimit - SpotPriceLimit
- spot
Strategy string - SpotStrategy
- system
Disk QueueCompute Node System Disk - SystemDisk See
system_diskbelow.
- auto_
renew bool - AutoRenew
- auto_
renew_ intperiod - AutoRenewPeriod
- duration int
- Duration
- enable_
ht bool - Whether HT is enabled for the computing node.
- image_
id str - ImageId
- instance_
charge_ strtype - InstanceChargeType
- instance_
type str - InstanceTypes
- period int
- Period
- period_
unit str - PeriodUnit
- spot_
price_ floatlimit - SpotPriceLimit
- spot_
strategy str - SpotStrategy
- system_
disk QueueCompute Node System Disk - SystemDisk See
system_diskbelow.
- auto
Renew Boolean - AutoRenew
- auto
Renew NumberPeriod - AutoRenewPeriod
- duration Number
- Duration
- enable
Ht Boolean - Whether HT is enabled for the computing node.
- image
Id String - ImageId
- instance
Charge StringType - InstanceChargeType
- instance
Type String - InstanceTypes
- period Number
- Period
- period
Unit String - PeriodUnit
- spot
Price NumberLimit - SpotPriceLimit
- spot
Strategy String - SpotStrategy
- system
Disk Property Map - SystemDisk See
system_diskbelow.
QueueComputeNodeSystemDisk, QueueComputeNodeSystemDiskArgs
Import
Ehpc Queue can be imported using the id, e.g.
$ pulumi import alicloud:ehpc/queue:Queue example <cluster_id>:<queue_name>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
