Viewing docs for Alibaba Cloud v3.108.0
published on Thursday, Sep 17, 2026 by Pulumi
published on Thursday, Sep 17, 2026 by Pulumi
Viewing docs for Alibaba Cloud v3.108.0
published on Thursday, Sep 17, 2026 by Pulumi
published on Thursday, Sep 17, 2026 by Pulumi
Provides a Ehpc User resource.
This data source provides the Ehpc User of the current Alibaba Cloud user.
NOTE: Available since v1.292.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 userPasswordExampleVpc = new alicloud.vpc.Network("user_password_example_vpc", {
isDefault: false,
cidrBlock: "10.0.0.0/8",
vpcName: "user-password-example-vpc",
});
const userPasswordExampleVswitch = new alicloud.vpc.Switch("user_password_example_vswitch", {
isDefault: false,
vpcId: userPasswordExampleVpc.id,
zoneId: "cn-hangzhou-k",
cidrBlock: "10.0.0.0/24",
vswitchName: "user-password-example-vsw",
});
const userPasswordExampleNas = new alicloud.nas.FileSystem("user_password_example_nas", {
description: "user-password-example-nas",
storageType: "Capacity",
nfsAcl: {
enabled: false,
},
zoneId: "cn-hangzhou-k",
encryptType: 0,
protocolType: "NFS",
fileSystemType: "standard",
recycleBin: {
status: "Disable",
reservedDays: 7,
},
});
const userPasswordExampleAccessGroup = new alicloud.nas.AccessGroup("user_password_example_access_group", {
accessGroupType: "Vpc",
description: "user password example access group",
accessGroupName: "UserPasswordTest",
fileSystemType: "standard",
});
const userPasswordExampleMountDomain = new alicloud.nas.MountTarget("user_password_example_mount_domain", {
vpcId: userPasswordExampleVpc.id,
networkType: "Vpc",
accessGroupName: userPasswordExampleAccessGroup.accessGroupName,
vswitchId: userPasswordExampleVswitch.id,
fileSystemId: userPasswordExampleNas.id,
});
const userPasswordExampleSecurityGroup = new alicloud.ecs.SecurityGroup("user_password_example_security_group", {
vpcId: userPasswordExampleVpc.id,
securityGroupType: "normal",
});
const userPasswordExampleAccessRule = new alicloud.nas.AccessRule("user_password_example_access_rule", {
priority: 1,
accessGroupName: userPasswordExampleAccessGroup.accessGroupName,
fileSystemType: userPasswordExampleNas.fileSystemType,
sourceCidrIp: "10.0.0.0/8",
});
const userPasswordExampleCluster = new alicloud.ehpc.ClusterV2("user_password_example_cluster", {
clusterCredentials: {
password: "aliHPC123",
},
clusterVpcId: userPasswordExampleVpc.id,
clusterCategory: "Standard",
clusterMode: "Integrated",
securityGroupId: userPasswordExampleSecurityGroup.id,
clusterName: "user-password-example-cluster",
deletionProtection: false,
sharedStorages: [
{
mountDirectory: "/home",
nasDirectory: "/",
mountTargetDomain: userPasswordExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: userPasswordExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
mountDirectory: "/opt",
nasDirectory: "/",
mountTargetDomain: userPasswordExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: userPasswordExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
mountDirectory: "/ehpcdata",
nasDirectory: "/",
mountTargetDomain: userPasswordExampleMountDomain.mountTargetDomain,
protocolType: "NFS",
fileSystemId: userPasswordExampleNas.id,
mountOptions: "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
],
clusterVswitchId: userPasswordExampleVswitch.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",
},
},
});
const _default = new alicloud.ehpc.User("default", {
group: "users",
userName: "passworduser1",
clusterId: userPasswordExampleCluster.id,
password: "UserPass123",
});
const ids = alicloud.ehpc.getUsersOutput({
ids: [_default.id],
clusterId: _default.clusterId,
});
export const ehpcUsersId0 = ids.apply(ids => ids.users?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
config = pulumi.Config()
name = config.get("name")
if name is None:
name = "terraform-example"
user_password_example_vpc = alicloud.vpc.Network("user_password_example_vpc",
is_default=False,
cidr_block="10.0.0.0/8",
vpc_name="user-password-example-vpc")
user_password_example_vswitch = alicloud.vpc.Switch("user_password_example_vswitch",
is_default=False,
vpc_id=user_password_example_vpc.id,
zone_id="cn-hangzhou-k",
cidr_block="10.0.0.0/24",
vswitch_name="user-password-example-vsw")
user_password_example_nas = alicloud.nas.FileSystem("user_password_example_nas",
description="user-password-example-nas",
storage_type="Capacity",
nfs_acl={
"enabled": False,
},
zone_id="cn-hangzhou-k",
encrypt_type=0,
protocol_type="NFS",
file_system_type="standard",
recycle_bin={
"status": "Disable",
"reserved_days": 7,
})
user_password_example_access_group = alicloud.nas.AccessGroup("user_password_example_access_group",
access_group_type="Vpc",
description="user password example access group",
access_group_name="UserPasswordTest",
file_system_type="standard")
user_password_example_mount_domain = alicloud.nas.MountTarget("user_password_example_mount_domain",
vpc_id=user_password_example_vpc.id,
network_type="Vpc",
access_group_name=user_password_example_access_group.access_group_name,
vswitch_id=user_password_example_vswitch.id,
file_system_id=user_password_example_nas.id)
user_password_example_security_group = alicloud.ecs.SecurityGroup("user_password_example_security_group",
vpc_id=user_password_example_vpc.id,
security_group_type="normal")
user_password_example_access_rule = alicloud.nas.AccessRule("user_password_example_access_rule",
priority=1,
access_group_name=user_password_example_access_group.access_group_name,
file_system_type=user_password_example_nas.file_system_type,
source_cidr_ip="10.0.0.0/8")
user_password_example_cluster = alicloud.ehpc.ClusterV2("user_password_example_cluster",
cluster_credentials={
"password": "aliHPC123",
},
cluster_vpc_id=user_password_example_vpc.id,
cluster_category="Standard",
cluster_mode="Integrated",
security_group_id=user_password_example_security_group.id,
cluster_name="user-password-example-cluster",
deletion_protection=False,
shared_storages=[
{
"mount_directory": "/home",
"nas_directory": "/",
"mount_target_domain": user_password_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": user_password_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
"mount_directory": "/opt",
"nas_directory": "/",
"mount_target_domain": user_password_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": user_password_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
{
"mount_directory": "/ehpcdata",
"nas_directory": "/",
"mount_target_domain": user_password_example_mount_domain.mount_target_domain,
"protocol_type": "NFS",
"file_system_id": user_password_example_nas.id,
"mount_options": "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
],
cluster_vswitch_id=user_password_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",
},
})
default = alicloud.ehpc.User("default",
group="users",
user_name="passworduser1",
cluster_id=user_password_example_cluster.id,
password="UserPass123")
ids = alicloud.ehpc.get_users_output(ids=[default.id],
cluster_id=default.cluster_id)
pulumi.export("ehpcUsersId0", ids.users[0].id)
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
}
userPasswordExampleVpc, err := vpc.NewNetwork(ctx, "user_password_example_vpc", &vpc.NetworkArgs{
IsDefault: pulumi.Bool(false),
CidrBlock: pulumi.String("10.0.0.0/8"),
VpcName: pulumi.String("user-password-example-vpc"),
})
if err != nil {
return err
}
userPasswordExampleVswitch, err := vpc.NewSwitch(ctx, "user_password_example_vswitch", &vpc.SwitchArgs{
IsDefault: pulumi.Bool(false),
VpcId: userPasswordExampleVpc.ID().ToIDOutput().ToStringOutput(),
ZoneId: pulumi.String("cn-hangzhou-k"),
CidrBlock: pulumi.String("10.0.0.0/24"),
VswitchName: pulumi.String("user-password-example-vsw"),
})
if err != nil {
return err
}
userPasswordExampleNas, err := nas.NewFileSystem(ctx, "user_password_example_nas", &nas.FileSystemArgs{
Description: pulumi.String("user-password-example-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"),
RecycleBin: &nas.FileSystemRecycleBinArgs{
Status: pulumi.String("Disable"),
ReservedDays: pulumi.Int(7),
},
})
if err != nil {
return err
}
userPasswordExampleAccessGroup, err := nas.NewAccessGroup(ctx, "user_password_example_access_group", &nas.AccessGroupArgs{
AccessGroupType: pulumi.String("Vpc"),
Description: pulumi.String("user password example access group"),
AccessGroupName: pulumi.String("UserPasswordTest"),
FileSystemType: pulumi.String("standard"),
})
if err != nil {
return err
}
userPasswordExampleMountDomain, err := nas.NewMountTarget(ctx, "user_password_example_mount_domain", &nas.MountTargetArgs{
VpcId: userPasswordExampleVpc.ID().ToIDOutput().ToStringOutput(),
NetworkType: pulumi.String("Vpc"),
AccessGroupName: userPasswordExampleAccessGroup.AccessGroupName,
VswitchId: userPasswordExampleVswitch.ID().ToIDOutput().ToStringOutput(),
FileSystemId: userPasswordExampleNas.ID().ToIDOutput().ToStringOutput(),
})
if err != nil {
return err
}
userPasswordExampleSecurityGroup, err := ecs.NewSecurityGroup(ctx, "user_password_example_security_group", &ecs.SecurityGroupArgs{
VpcId: userPasswordExampleVpc.ID().ToIDOutput().ToStringOutput(),
SecurityGroupType: pulumi.String("normal"),
})
if err != nil {
return err
}
_, err = nas.NewAccessRule(ctx, "user_password_example_access_rule", &nas.AccessRuleArgs{
Priority: pulumi.Int(1),
AccessGroupName: userPasswordExampleAccessGroup.AccessGroupName,
FileSystemType: userPasswordExampleNas.FileSystemType,
SourceCidrIp: pulumi.String("10.0.0.0/8"),
})
if err != nil {
return err
}
userPasswordExampleCluster, err := ehpc.NewClusterV2(ctx, "user_password_example_cluster", &ehpc.ClusterV2Args{
ClusterCredentials: &ehpc.ClusterV2ClusterCredentialsArgs{
Password: pulumi.String("aliHPC123"),
},
ClusterVpcId: userPasswordExampleVpc.ID().ToIDOutput().ToStringOutput(),
ClusterCategory: pulumi.String("Standard"),
ClusterMode: pulumi.String("Integrated"),
SecurityGroupId: userPasswordExampleSecurityGroup.ID().ToIDOutput().ToStringOutput(),
ClusterName: pulumi.String("user-password-example-cluster"),
DeletionProtection: pulumi.Bool(false),
SharedStorages: ehpc.ClusterV2SharedStorageArray{
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/home"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: userPasswordExampleNas.ID().ToIDOutput().ToStringOutput(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/opt"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: userPasswordExampleNas.ID().ToIDOutput().ToStringOutput(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
&ehpc.ClusterV2SharedStorageArgs{
MountDirectory: pulumi.String("/ehpcdata"),
NasDirectory: pulumi.String("/"),
MountTargetDomain: userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType: pulumi.String("NFS"),
FileSystemId: userPasswordExampleNas.ID().ToIDOutput().ToStringOutput(),
MountOptions: pulumi.String("-t nfs -o vers=3,nolock,proto=tcp,noresvport"),
},
},
ClusterVswitchId: userPasswordExampleVswitch.ID().ToIDOutput().ToStringOutput(),
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"),
},
},
})
if err != nil {
return err
}
_default, err := ehpc.NewUser(ctx, "default", &ehpc.UserArgs{
Group: pulumi.String("users"),
UserName: pulumi.String("passworduser1"),
ClusterId: userPasswordExampleCluster.ID().ToIDOutput().ToStringOutput(),
Password: pulumi.String("UserPass123"),
})
if err != nil {
return err
}
ids := ehpc.GetUsersOutput(ctx, ehpc.GetUsersOutputArgs{
Ids: pulumi.StringArray{
_default.ID().ToIDOutput().ToStringOutput(),
},
ClusterId: _default.ClusterId,
}, nil)
ctx.Export("ehpcUsersId0", ids.ApplyT(func(ids ehpc.GetUsersResult) (*string, error) {
return ids.Users[0].Id, nil
}).(pulumi.StringPtrOutput))
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 userPasswordExampleVpc = new AliCloud.Vpc.Network("user_password_example_vpc", new()
{
IsDefault = false,
CidrBlock = "10.0.0.0/8",
VpcName = "user-password-example-vpc",
});
var userPasswordExampleVswitch = new AliCloud.Vpc.Switch("user_password_example_vswitch", new()
{
IsDefault = false,
VpcId = userPasswordExampleVpc.Id,
ZoneId = "cn-hangzhou-k",
CidrBlock = "10.0.0.0/24",
VswitchName = "user-password-example-vsw",
});
var userPasswordExampleNas = new AliCloud.Nas.FileSystem("user_password_example_nas", new()
{
Description = "user-password-example-nas",
StorageType = "Capacity",
NfsAcl = new AliCloud.Nas.Inputs.FileSystemNfsAclArgs
{
Enabled = false,
},
ZoneId = "cn-hangzhou-k",
EncryptType = 0,
ProtocolType = "NFS",
FileSystemType = "standard",
RecycleBin = new AliCloud.Nas.Inputs.FileSystemRecycleBinArgs
{
Status = "Disable",
ReservedDays = 7,
},
});
var userPasswordExampleAccessGroup = new AliCloud.Nas.AccessGroup("user_password_example_access_group", new()
{
AccessGroupType = "Vpc",
Description = "user password example access group",
AccessGroupName = "UserPasswordTest",
FileSystemType = "standard",
});
var userPasswordExampleMountDomain = new AliCloud.Nas.MountTarget("user_password_example_mount_domain", new()
{
VpcId = userPasswordExampleVpc.Id,
NetworkType = "Vpc",
AccessGroupName = userPasswordExampleAccessGroup.AccessGroupName,
VswitchId = userPasswordExampleVswitch.Id,
FileSystemId = userPasswordExampleNas.Id,
});
var userPasswordExampleSecurityGroup = new AliCloud.Ecs.SecurityGroup("user_password_example_security_group", new()
{
VpcId = userPasswordExampleVpc.Id,
SecurityGroupType = "normal",
});
var userPasswordExampleAccessRule = new AliCloud.Nas.AccessRule("user_password_example_access_rule", new()
{
Priority = 1,
AccessGroupName = userPasswordExampleAccessGroup.AccessGroupName,
FileSystemType = userPasswordExampleNas.FileSystemType,
SourceCidrIp = "10.0.0.0/8",
});
var userPasswordExampleCluster = new AliCloud.Ehpc.ClusterV2("user_password_example_cluster", new()
{
ClusterCredentials = new AliCloud.Ehpc.Inputs.ClusterV2ClusterCredentialsArgs
{
Password = "aliHPC123",
},
ClusterVpcId = userPasswordExampleVpc.Id,
ClusterCategory = "Standard",
ClusterMode = "Integrated",
SecurityGroupId = userPasswordExampleSecurityGroup.Id,
ClusterName = "user-password-example-cluster",
DeletionProtection = false,
SharedStorages = new[]
{
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/home",
NasDirectory = "/",
MountTargetDomain = userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = userPasswordExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/opt",
NasDirectory = "/",
MountTargetDomain = userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = userPasswordExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
new AliCloud.Ehpc.Inputs.ClusterV2SharedStorageArgs
{
MountDirectory = "/ehpcdata",
NasDirectory = "/",
MountTargetDomain = userPasswordExampleMountDomain.MountTargetDomain,
ProtocolType = "NFS",
FileSystemId = userPasswordExampleNas.Id,
MountOptions = "-t nfs -o vers=3,nolock,proto=tcp,noresvport",
},
},
ClusterVswitchId = userPasswordExampleVswitch.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",
},
},
});
var @default = new AliCloud.Ehpc.User("default", new()
{
Group = "users",
UserName = "passworduser1",
ClusterId = userPasswordExampleCluster.Id,
Password = "UserPass123",
});
var ids = AliCloud.Ehpc.GetUsers.Invoke(new()
{
Ids = new[]
{
@default.Id,
},
ClusterId = @default.ClusterId,
});
return new Dictionary<string, object?>
{
["ehpcUsersId0"] = ids.Apply(getUsersResult => getUsersResult.Users[0]?.Id),
};
});
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.inputs.FileSystemRecycleBinArgs;
import com.pulumi.alicloud.nas.AccessGroup;
import com.pulumi.alicloud.nas.AccessGroupArgs;
import com.pulumi.alicloud.nas.MountTarget;
import com.pulumi.alicloud.nas.MountTargetArgs;
import com.pulumi.alicloud.ecs.SecurityGroup;
import com.pulumi.alicloud.ecs.SecurityGroupArgs;
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.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.User;
import com.pulumi.alicloud.ehpc.UserArgs;
import com.pulumi.alicloud.ehpc.EhpcFunctions;
import com.pulumi.alicloud.ehpc.inputs.GetUsersArgs;
import java.util.ArrayList;
import java.util.Arrays;
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 userPasswordExampleVpc = new Network("userPasswordExampleVpc", NetworkArgs.builder()
.isDefault(false)
.cidrBlock("10.0.0.0/8")
.vpcName("user-password-example-vpc")
.build());
var userPasswordExampleVswitch = new Switch("userPasswordExampleVswitch", SwitchArgs.builder()
.isDefault(false)
.vpcId(userPasswordExampleVpc.id())
.zoneId("cn-hangzhou-k")
.cidrBlock("10.0.0.0/24")
.vswitchName("user-password-example-vsw")
.build());
var userPasswordExampleNas = new FileSystem("userPasswordExampleNas", FileSystemArgs.builder()
.description("user-password-example-nas")
.storageType("Capacity")
.nfsAcl(FileSystemNfsAclArgs.builder()
.enabled(false)
.build())
.zoneId("cn-hangzhou-k")
.encryptType(0)
.protocolType("NFS")
.fileSystemType("standard")
.recycleBin(FileSystemRecycleBinArgs.builder()
.status("Disable")
.reservedDays(7)
.build())
.build());
var userPasswordExampleAccessGroup = new AccessGroup("userPasswordExampleAccessGroup", AccessGroupArgs.builder()
.accessGroupType("Vpc")
.description("user password example access group")
.accessGroupName("UserPasswordTest")
.fileSystemType("standard")
.build());
var userPasswordExampleMountDomain = new MountTarget("userPasswordExampleMountDomain", MountTargetArgs.builder()
.vpcId(userPasswordExampleVpc.id())
.networkType("Vpc")
.accessGroupName(userPasswordExampleAccessGroup.accessGroupName())
.vswitchId(userPasswordExampleVswitch.id())
.fileSystemId(userPasswordExampleNas.id())
.build());
var userPasswordExampleSecurityGroup = new SecurityGroup("userPasswordExampleSecurityGroup", SecurityGroupArgs.builder()
.vpcId(userPasswordExampleVpc.id())
.securityGroupType("normal")
.build());
var userPasswordExampleAccessRule = new AccessRule("userPasswordExampleAccessRule", AccessRuleArgs.builder()
.priority(1)
.accessGroupName(userPasswordExampleAccessGroup.accessGroupName())
.fileSystemType(userPasswordExampleNas.fileSystemType())
.sourceCidrIp("10.0.0.0/8")
.build());
var userPasswordExampleCluster = new ClusterV2("userPasswordExampleCluster", ClusterV2Args.builder()
.clusterCredentials(ClusterV2ClusterCredentialsArgs.builder()
.password("aliHPC123")
.build())
.clusterVpcId(userPasswordExampleVpc.id())
.clusterCategory("Standard")
.clusterMode("Integrated")
.securityGroupId(userPasswordExampleSecurityGroup.id())
.clusterName("user-password-example-cluster")
.deletionProtection(false)
.sharedStorages(
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/home")
.nasDirectory("/")
.mountTargetDomain(userPasswordExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(userPasswordExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build(),
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/opt")
.nasDirectory("/")
.mountTargetDomain(userPasswordExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(userPasswordExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build(),
ClusterV2SharedStorageArgs.builder()
.mountDirectory("/ehpcdata")
.nasDirectory("/")
.mountTargetDomain(userPasswordExampleMountDomain.mountTargetDomain())
.protocolType("NFS")
.fileSystemId(userPasswordExampleNas.id())
.mountOptions("-t nfs -o vers=3,nolock,proto=tcp,noresvport")
.build())
.clusterVswitchId(userPasswordExampleVswitch.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());
var default_ = new User("default", UserArgs.builder()
.group("users")
.userName("passworduser1")
.clusterId(userPasswordExampleCluster.id())
.password("UserPass123")
.build());
final var ids = EhpcFunctions.getUsers(GetUsersArgs.builder()
.ids(default_.id())
.clusterId(default_.clusterId())
.build());
ctx.export("ehpcUsersId0", ids.applyValue(_ids -> _ids.users()[0].id()));
}
}
configuration:
name:
type: string
default: terraform-example
resources:
userPasswordExampleVpc:
type: alicloud:vpc:Network
name: user_password_example_vpc
properties:
isDefault: false
cidrBlock: 10.0.0.0/8
vpcName: user-password-example-vpc
userPasswordExampleVswitch:
type: alicloud:vpc:Switch
name: user_password_example_vswitch
properties:
isDefault: false
vpcId: ${userPasswordExampleVpc.id}
zoneId: cn-hangzhou-k
cidrBlock: 10.0.0.0/24
vswitchName: user-password-example-vsw
userPasswordExampleNas:
type: alicloud:nas:FileSystem
name: user_password_example_nas
properties:
description: user-password-example-nas
storageType: Capacity
nfsAcl:
enabled: false
zoneId: cn-hangzhou-k
encryptType: '0'
protocolType: NFS
fileSystemType: standard
recycleBin:
status: Disable
reservedDays: '7'
userPasswordExampleAccessGroup:
type: alicloud:nas:AccessGroup
name: user_password_example_access_group
properties:
accessGroupType: Vpc
description: user password example access group
accessGroupName: UserPasswordTest
fileSystemType: standard
userPasswordExampleMountDomain:
type: alicloud:nas:MountTarget
name: user_password_example_mount_domain
properties:
vpcId: ${userPasswordExampleVpc.id}
networkType: Vpc
accessGroupName: ${userPasswordExampleAccessGroup.accessGroupName}
vswitchId: ${userPasswordExampleVswitch.id}
fileSystemId: ${userPasswordExampleNas.id}
userPasswordExampleSecurityGroup:
type: alicloud:ecs:SecurityGroup
name: user_password_example_security_group
properties:
vpcId: ${userPasswordExampleVpc.id}
securityGroupType: normal
userPasswordExampleAccessRule:
type: alicloud:nas:AccessRule
name: user_password_example_access_rule
properties:
priority: '1'
accessGroupName: ${userPasswordExampleAccessGroup.accessGroupName}
fileSystemType: ${userPasswordExampleNas.fileSystemType}
sourceCidrIp: 10.0.0.0/8
userPasswordExampleCluster:
type: alicloud:ehpc:ClusterV2
name: user_password_example_cluster
properties:
clusterCredentials:
password: aliHPC123
clusterVpcId: ${userPasswordExampleVpc.id}
clusterCategory: Standard
clusterMode: Integrated
securityGroupId: ${userPasswordExampleSecurityGroup.id}
clusterName: user-password-example-cluster
deletionProtection: false
sharedStorages:
- mountDirectory: /home
nasDirectory: /
mountTargetDomain: ${userPasswordExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${userPasswordExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
- mountDirectory: /opt
nasDirectory: /
mountTargetDomain: ${userPasswordExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${userPasswordExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
- mountDirectory: /ehpcdata
nasDirectory: /
mountTargetDomain: ${userPasswordExampleMountDomain.mountTargetDomain}
protocolType: NFS
fileSystemId: ${userPasswordExampleNas.id}
mountOptions: -t nfs -o vers=3,nolock,proto=tcp,noresvport
clusterVswitchId: ${userPasswordExampleVswitch.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'
default:
type: alicloud:ehpc:User
properties:
group: users
userName: passworduser1
clusterId: ${userPasswordExampleCluster.id}
password: UserPass123
variables:
ids:
fn::invoke:
function: alicloud:ehpc:getUsers
arguments:
ids:
- ${default.id}
clusterId: ${default.clusterId}
outputs:
ehpcUsersId0: ${ids.users[0].id}
pulumi {
required_providers {
alicloud = {
source = "pulumi/alicloud"
}
}
}
data "alicloud_ehpc_getusers" "ids" {
ids = [alicloud_ehpc_user.default.id]
cluster_id = alicloud_ehpc_user.default.cluster_id
}
resource "alicloud_vpc_network" "user_password_example_vpc" {
is_default = false
cidr_block = "10.0.0.0/8"
vpc_name = "user-password-example-vpc"
}
resource "alicloud_vpc_switch" "user_password_example_vswitch" {
is_default = false
vpc_id = alicloud_vpc_network.user_password_example_vpc.id
zone_id = "cn-hangzhou-k"
cidr_block = "10.0.0.0/24"
vswitch_name = "user-password-example-vsw"
}
resource "alicloud_nas_filesystem" "user_password_example_nas" {
description = "user-password-example-nas"
storage_type = "Capacity"
nfs_acl = {
enabled = false
}
zone_id = "cn-hangzhou-k"
encrypt_type = "0"
protocol_type = "NFS"
file_system_type = "standard"
recycle_bin = {
status = "Disable"
reserved_days = "7"
}
}
resource "alicloud_nas_accessgroup" "user_password_example_access_group" {
access_group_type = "Vpc"
description = "user password example access group"
access_group_name = "UserPasswordTest"
file_system_type = "standard"
}
resource "alicloud_nas_mounttarget" "user_password_example_mount_domain" {
vpc_id = alicloud_vpc_network.user_password_example_vpc.id
network_type = "Vpc"
access_group_name = alicloud_nas_accessgroup.user_password_example_access_group.access_group_name
vswitch_id = alicloud_vpc_switch.user_password_example_vswitch.id
file_system_id = alicloud_nas_filesystem.user_password_example_nas.id
}
resource "alicloud_ecs_securitygroup" "user_password_example_security_group" {
vpc_id = alicloud_vpc_network.user_password_example_vpc.id
security_group_type = "normal"
}
resource "alicloud_nas_accessrule" "user_password_example_access_rule" {
priority = "1"
access_group_name = alicloud_nas_accessgroup.user_password_example_access_group.access_group_name
file_system_type = alicloud_nas_filesystem.user_password_example_nas.file_system_type
source_cidr_ip = "10.0.0.0/8"
}
resource "alicloud_ehpc_clusterv2" "user_password_example_cluster" {
cluster_credentials = {
password = "aliHPC123"
}
cluster_vpc_id = alicloud_vpc_network.user_password_example_vpc.id
cluster_category = "Standard"
cluster_mode = "Integrated"
security_group_id = alicloud_ecs_securitygroup.user_password_example_security_group.id
cluster_name = "user-password-example-cluster"
deletion_protection = false
shared_storages {
mount_directory = "/home"
nas_directory = "/"
mount_target_domain = alicloud_nas_mounttarget.user_password_example_mount_domain.mount_target_domain
protocol_type = "NFS"
file_system_id = alicloud_nas_filesystem.user_password_example_nas.id
mount_options = "-t nfs -o vers=3,nolock,proto=tcp,noresvport"
}
shared_storages {
mount_directory = "/opt"
nas_directory = "/"
mount_target_domain = alicloud_nas_mounttarget.user_password_example_mount_domain.mount_target_domain
protocol_type = "NFS"
file_system_id = alicloud_nas_filesystem.user_password_example_nas.id
mount_options = "-t nfs -o vers=3,nolock,proto=tcp,noresvport"
}
shared_storages {
mount_directory = "/ehpcdata"
nas_directory = "/"
mount_target_domain = alicloud_nas_mounttarget.user_password_example_mount_domain.mount_target_domain
protocol_type = "NFS"
file_system_id = alicloud_nas_filesystem.user_password_example_nas.id
mount_options = "-t nfs -o vers=3,nolock,proto=tcp,noresvport"
}
cluster_vswitch_id = alicloud_vpc_switch.user_password_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"
}
}
}
resource "alicloud_ehpc_user" "default" {
group = "users"
user_name = "passworduser1"
cluster_id = alicloud_ehpc_clusterv2.user_password_example_cluster.id
password = "UserPass123"
}
variable "name" {
type = string
default = "terraform-example"
}
output "ehpcUsersId0" {
value = data.alicloud_ehpc_getusers.ids.users[0].id
}
Using getUsers
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getUsers(args: GetUsersArgs, opts?: InvokeOptions): Promise<GetUsersResult>
function getUsersOutput(args: GetUsersOutputArgs, opts?: InvokeOutputOptions): Output<GetUsersResult>def get_users(cluster_id: Optional[str] = None,
ids: Optional[Sequence[str]] = None,
name_regex: Optional[str] = None,
output_file: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetUsersResult
def get_users_output(cluster_id: pulumi.Input[Optional[str]] = None,
ids: pulumi.Input[Optional[Sequence[pulumi.Input[str]]]] = None,
name_regex: pulumi.Input[Optional[str]] = None,
output_file: pulumi.Input[Optional[str]] = None,
opts: Optional[InvokeOutputOptions] = None) -> Output[GetUsersResult]func GetUsers(ctx *Context, args *GetUsersArgs, opts ...InvokeOption) (*GetUsersResult, error)
func GetUsersOutput(ctx *Context, args *GetUsersOutputArgs, opts ...InvokeOption) GetUsersResultOutput> Note: This function is named GetUsers in the Go SDK.
public static class GetUsers
{
public static Task<GetUsersResult> InvokeAsync(GetUsersArgs args, InvokeOptions? opts = null)
public static Output<GetUsersResult> Invoke(GetUsersInvokeArgs args, InvokeOptions? opts = null)
public static Output<GetUsersResult> Invoke(GetUsersInvokeArgs args, InvokeOutputOptions opts)
}public static CompletableFuture<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
public static Output<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
public static Output<GetUsersResult> getUsers(GetUsersArgs args, InvokeOutputOptions options)
fn::invoke:
function: alicloud:ehpc/getUsers:getUsers
arguments:
# arguments dictionarydata "alicloud_ehpc_get_users" "name" {
# arguments
}The following arguments are supported:
- Cluster
Id string - The cluster ID.
- Ids List<string>
- A list of User IDs.
- Name
Regex string - A regex string to filter results by User name.
- Output
File string - File name where to save data source results (after running
pulumi preview).
- Cluster
Id string - The cluster ID.
- Ids []string
- A list of User IDs.
- Name
Regex string - A regex string to filter results by User name.
- Output
File string - File name where to save data source results (after running
pulumi preview).
- cluster_
id string - The cluster ID.
- ids list(string)
- A list of User IDs.
- name_
regex string - A regex string to filter results by User name.
- output_
file string - File name where to save data source results (after running
pulumi preview).
- cluster
Id String - The cluster ID.
- ids List<String>
- A list of User IDs.
- name
Regex String - A regex string to filter results by User name.
- output
File String - File name where to save data source results (after running
pulumi preview).
- cluster
Id string - The cluster ID.
- ids string[]
- A list of User IDs.
- name
Regex string - A regex string to filter results by User name.
- output
File string - File name where to save data source results (after running
pulumi preview).
- cluster_
id str - The cluster ID.
- ids Sequence[str]
- A list of User IDs.
- name_
regex str - A regex string to filter results by User name.
- output_
file str - File name where to save data source results (after running
pulumi preview).
- cluster
Id String - The cluster ID.
- ids List<String>
- A list of User IDs.
- name
Regex String - A regex string to filter results by User name.
- output
File String - File name where to save data source results (after running
pulumi preview).
getUsers Result
The following output properties are available:
- Cluster
Id string - The cluster ID.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids List<string>
- Names List<string>
- A list of User names.
- Users
List<Pulumi.
Ali Cloud. Ehpc. Outputs. Get Users User> - A list of Users. Each element contains the following attributes:
- Name
Regex string - Output
File string
- Cluster
Id string - The cluster ID.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- Names []string
- A list of User names.
- Users
[]Get
Users User - A list of Users. Each element contains the following attributes:
- Name
Regex string - Output
File string
- cluster_
id string - The cluster ID.
- id string
- The provider-assigned unique ID for this managed resource.
- ids list(string)
- names list(string)
- A list of User names.
- users list(object)
- A list of Users. Each element contains the following attributes:
- name_
regex string - output_
file string
- cluster
Id String - The cluster ID.
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- names List<String>
- A list of User names.
- users
List<Get
Users User> - A list of Users. Each element contains the following attributes:
- name
Regex String - output
File String
- cluster
Id string - The cluster ID.
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- names string[]
- A list of User names.
- users
Get
Users User[] - A list of Users. Each element contains the following attributes:
- name
Regex string - output
File string
- cluster_
id str - The cluster ID.
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- names Sequence[str]
- A list of User names.
- users
Sequence[Get
Users User] - A list of Users. Each element contains the following attributes:
- name_
regex str - output_
file str
- cluster
Id String - The cluster ID.
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- names List<String>
- A list of User names.
- users List<Property Map>
- A list of Users. Each element contains the following attributes:
- name
Regex String - output
File String
Supporting Types
GetUsersUser
Package Details
- Repository
- Alibaba Cloud pulumi/pulumi-alicloud
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
alicloudTerraform Provider.
Viewing docs for Alibaba Cloud v3.108.0
published on Thursday, Sep 17, 2026 by Pulumi
published on Thursday, Sep 17, 2026 by Pulumi