Viewing docs for Alibaba Cloud v3.97.0
published on Saturday, Mar 14, 2026 by Pulumi
published on Saturday, Mar 14, 2026 by Pulumi
Viewing docs for Alibaba Cloud v3.97.0
published on Saturday, Mar 14, 2026 by Pulumi
published on Saturday, Mar 14, 2026 by Pulumi
This data source provides a list of RAM users in an Alibaba Cloud account according to the specified filters.
NOTE: Available since v1.0.0+.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
const _default = new alicloud.ram.Group("default", {
name: "group1",
comments: "group comments",
force: true,
});
const defaultUser = new alicloud.ram.User("default", {
name: "user-example",
displayName: "displayname",
mobile: "86-18888888888",
email: "hello.uuu@aaa.com",
comments: "yoyoyo",
});
const defaultGroupMembership = new alicloud.ram.GroupMembership("default", {
groupName: _default.name,
userNames: [defaultUser.name],
});
const defaultPolicy = new alicloud.ram.Policy("default", {
policyName: "ram-policy-example",
policyDocument: `\\t\\t\\t{
\\t\\t\\t\\t\\"Statement\\": [
\\t\\t\\t\\t {
\\t\\t\\t\\t\\t\\"Action\\": [
\\t\\t\\t\\t\\t\\"oss:ListObjects\\",
\\t\\t\\t\\t\\t\\"oss:ListObjects\\"
\\t\\t\\t \\t\\t],
\\t\\t\\t \\t\\t\\"Effect\\": \\"Deny\\",
\\t\\t\\t \\t\\t\\"Resource\\": [
\\t\\t\\t\\t\\t\\t\\"acs:oss:*:*:mybucket\\",
\\t\\t\\t\\t\\t\\t\\"acs:oss:*:*:mybucket/*\\"
\\t\\t\\t \\t\\t]
\\t\\t\\t\\t }
\\t\\t \\t\\t],
\\t\\t\\t\\t\\"Version\\": \\"1\\"
\\t\\t\\t}
`,
description: "this is a policy example",
force: true,
});
const defaultUserPolicyAttachment = new alicloud.ram.UserPolicyAttachment("default", {
policyName: defaultPolicy.policyName,
userName: defaultUser.name,
policyType: defaultPolicy.type,
});
const usersDs = alicloud.ram.getUsersOutput({
outputFile: "users.txt",
groupName: _default.name,
policyName: defaultPolicy.policyName,
policyType: "Custom",
nameRegex: defaultUser.name,
});
export const firstUserId = usersDs.apply(usersDs => usersDs.users?.[0]?.id);
import pulumi
import pulumi_alicloud as alicloud
default = alicloud.ram.Group("default",
name="group1",
comments="group comments",
force=True)
default_user = alicloud.ram.User("default",
name="user-example",
display_name="displayname",
mobile="86-18888888888",
email="hello.uuu@aaa.com",
comments="yoyoyo")
default_group_membership = alicloud.ram.GroupMembership("default",
group_name=default.name,
user_names=[default_user.name])
default_policy = alicloud.ram.Policy("default",
policy_name="ram-policy-example",
policy_document="""\t\t\t{
\t\t\t\t\"Statement\": [
\t\t\t\t {
\t\t\t\t\t\"Action\": [
\t\t\t\t\t\"oss:ListObjects\",
\t\t\t\t\t\"oss:ListObjects\"
\t\t\t \t\t],
\t\t\t \t\t\"Effect\": \"Deny\",
\t\t\t \t\t\"Resource\": [
\t\t\t\t\t\t\"acs:oss:*:*:mybucket\",
\t\t\t\t\t\t\"acs:oss:*:*:mybucket/*\"
\t\t\t \t\t]
\t\t\t\t }
\t\t \t\t],
\t\t\t\t\"Version\": \"1\"
\t\t\t}
""",
description="this is a policy example",
force=True)
default_user_policy_attachment = alicloud.ram.UserPolicyAttachment("default",
policy_name=default_policy.policy_name,
user_name=default_user.name,
policy_type=default_policy.type)
users_ds = alicloud.ram.get_users_output(output_file="users.txt",
group_name=default.name,
policy_name=default_policy.policy_name,
policy_type="Custom",
name_regex=default_user.name)
pulumi.export("firstUserId", users_ds.users[0].id)
package main
import (
"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ram"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_default, err := ram.NewGroup(ctx, "default", &ram.GroupArgs{
Name: pulumi.String("group1"),
Comments: pulumi.String("group comments"),
Force: pulumi.Bool(true),
})
if err != nil {
return err
}
defaultUser, err := ram.NewUser(ctx, "default", &ram.UserArgs{
Name: pulumi.String("user-example"),
DisplayName: pulumi.String("displayname"),
Mobile: pulumi.String("86-18888888888"),
Email: pulumi.String("hello.uuu@aaa.com"),
Comments: pulumi.String("yoyoyo"),
})
if err != nil {
return err
}
_, err = ram.NewGroupMembership(ctx, "default", &ram.GroupMembershipArgs{
GroupName: _default.Name,
UserNames: pulumi.StringArray{
defaultUser.Name,
},
})
if err != nil {
return err
}
defaultPolicy, err := ram.NewPolicy(ctx, "default", &ram.PolicyArgs{
PolicyName: pulumi.String("ram-policy-example"),
PolicyDocument: pulumi.String(`\t\t\t{
\t\t\t\t\"Statement\": [
\t\t\t\t {
\t\t\t\t\t\"Action\": [
\t\t\t\t\t\"oss:ListObjects\",
\t\t\t\t\t\"oss:ListObjects\"
\t\t\t \t\t],
\t\t\t \t\t\"Effect\": \"Deny\",
\t\t\t \t\t\"Resource\": [
\t\t\t\t\t\t\"acs:oss:*:*:mybucket\",
\t\t\t\t\t\t\"acs:oss:*:*:mybucket/*\"
\t\t\t \t\t]
\t\t\t\t }
\t\t \t\t],
\t\t\t\t\"Version\": \"1\"
\t\t\t}
`),
Description: pulumi.String("this is a policy example"),
Force: pulumi.Bool(true),
})
if err != nil {
return err
}
_, err = ram.NewUserPolicyAttachment(ctx, "default", &ram.UserPolicyAttachmentArgs{
PolicyName: defaultPolicy.PolicyName,
UserName: defaultUser.Name,
PolicyType: defaultPolicy.Type,
})
if err != nil {
return err
}
usersDs := ram.GetUsersOutput(ctx, ram.GetUsersOutputArgs{
OutputFile: pulumi.String("users.txt"),
GroupName: _default.Name,
PolicyName: defaultPolicy.PolicyName,
PolicyType: pulumi.String("Custom"),
NameRegex: defaultUser.Name,
}, nil)
ctx.Export("firstUserId", usersDs.ApplyT(func(usersDs ram.GetUsersResult) (*string, error) {
return &usersDs.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 @default = new AliCloud.Ram.Group("default", new()
{
Name = "group1",
Comments = "group comments",
Force = true,
});
var defaultUser = new AliCloud.Ram.User("default", new()
{
Name = "user-example",
DisplayName = "displayname",
Mobile = "86-18888888888",
Email = "hello.uuu@aaa.com",
Comments = "yoyoyo",
});
var defaultGroupMembership = new AliCloud.Ram.GroupMembership("default", new()
{
GroupName = @default.Name,
UserNames = new[]
{
defaultUser.Name,
},
});
var defaultPolicy = new AliCloud.Ram.Policy("default", new()
{
PolicyName = "ram-policy-example",
PolicyDocument = @"\t\t\t{
\t\t\t\t\""Statement\"": [
\t\t\t\t {
\t\t\t\t\t\""Action\"": [
\t\t\t\t\t\""oss:ListObjects\"",
\t\t\t\t\t\""oss:ListObjects\""
\t\t\t \t\t],
\t\t\t \t\t\""Effect\"": \""Deny\"",
\t\t\t \t\t\""Resource\"": [
\t\t\t\t\t\t\""acs:oss:*:*:mybucket\"",
\t\t\t\t\t\t\""acs:oss:*:*:mybucket/*\""
\t\t\t \t\t]
\t\t\t\t }
\t\t \t\t],
\t\t\t\t\""Version\"": \""1\""
\t\t\t}
",
Description = "this is a policy example",
Force = true,
});
var defaultUserPolicyAttachment = new AliCloud.Ram.UserPolicyAttachment("default", new()
{
PolicyName = defaultPolicy.PolicyName,
UserName = defaultUser.Name,
PolicyType = defaultPolicy.Type,
});
var usersDs = AliCloud.Ram.GetUsers.Invoke(new()
{
OutputFile = "users.txt",
GroupName = @default.Name,
PolicyName = defaultPolicy.PolicyName,
PolicyType = "Custom",
NameRegex = defaultUser.Name,
});
return new Dictionary<string, object?>
{
["firstUserId"] = usersDs.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.ram.Group;
import com.pulumi.alicloud.ram.GroupArgs;
import com.pulumi.alicloud.ram.User;
import com.pulumi.alicloud.ram.UserArgs;
import com.pulumi.alicloud.ram.GroupMembership;
import com.pulumi.alicloud.ram.GroupMembershipArgs;
import com.pulumi.alicloud.ram.Policy;
import com.pulumi.alicloud.ram.PolicyArgs;
import com.pulumi.alicloud.ram.UserPolicyAttachment;
import com.pulumi.alicloud.ram.UserPolicyAttachmentArgs;
import com.pulumi.alicloud.ram.RamFunctions;
import com.pulumi.alicloud.ram.inputs.GetUsersArgs;
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) {
var default_ = new Group("default", GroupArgs.builder()
.name("group1")
.comments("group comments")
.force(true)
.build());
var defaultUser = new User("defaultUser", UserArgs.builder()
.name("user-example")
.displayName("displayname")
.mobile("86-18888888888")
.email("hello.uuu@aaa.com")
.comments("yoyoyo")
.build());
var defaultGroupMembership = new GroupMembership("defaultGroupMembership", GroupMembershipArgs.builder()
.groupName(default_.name())
.userNames(defaultUser.name())
.build());
var defaultPolicy = new Policy("defaultPolicy", PolicyArgs.builder()
.policyName("ram-policy-example")
.policyDocument("""
\t\t\t{
\t\t\t\t\"Statement\": [
\t\t\t\t {
\t\t\t\t\t\"Action\": [
\t\t\t\t\t\"oss:ListObjects\",
\t\t\t\t\t\"oss:ListObjects\"
\t\t\t \t\t],
\t\t\t \t\t\"Effect\": \"Deny\",
\t\t\t \t\t\"Resource\": [
\t\t\t\t\t\t\"acs:oss:*:*:mybucket\",
\t\t\t\t\t\t\"acs:oss:*:*:mybucket/*\"
\t\t\t \t\t]
\t\t\t\t }
\t\t \t\t],
\t\t\t\t\"Version\": \"1\"
\t\t\t}
""")
.description("this is a policy example")
.force(true)
.build());
var defaultUserPolicyAttachment = new UserPolicyAttachment("defaultUserPolicyAttachment", UserPolicyAttachmentArgs.builder()
.policyName(defaultPolicy.policyName())
.userName(defaultUser.name())
.policyType(defaultPolicy.type())
.build());
final var usersDs = RamFunctions.getUsers(GetUsersArgs.builder()
.outputFile("users.txt")
.groupName(default_.name())
.policyName(defaultPolicy.policyName())
.policyType("Custom")
.nameRegex(defaultUser.name())
.build());
ctx.export("firstUserId", usersDs.applyValue(_usersDs -> _usersDs.users()[0].id()));
}
}
resources:
default:
type: alicloud:ram:Group
properties:
name: group1
comments: group comments
force: true
defaultUser:
type: alicloud:ram:User
name: default
properties:
name: user-example
displayName: displayname
mobile: 86-18888888888
email: hello.uuu@aaa.com
comments: yoyoyo
defaultGroupMembership:
type: alicloud:ram:GroupMembership
name: default
properties:
groupName: ${default.name}
userNames:
- ${defaultUser.name}
defaultPolicy:
type: alicloud:ram:Policy
name: default
properties:
policyName: ram-policy-example
policyDocument: |
\t\t\t{
\t\t\t\t\"Statement\": [
\t\t\t\t {
\t\t\t\t\t\"Action\": [
\t\t\t\t\t\"oss:ListObjects\",
\t\t\t\t\t\"oss:ListObjects\"
\t\t\t \t\t],
\t\t\t \t\t\"Effect\": \"Deny\",
\t\t\t \t\t\"Resource\": [
\t\t\t\t\t\t\"acs:oss:*:*:mybucket\",
\t\t\t\t\t\t\"acs:oss:*:*:mybucket/*\"
\t\t\t \t\t]
\t\t\t\t }
\t\t \t\t],
\t\t\t\t\"Version\": \"1\"
\t\t\t}
description: this is a policy example
force: true
defaultUserPolicyAttachment:
type: alicloud:ram:UserPolicyAttachment
name: default
properties:
policyName: ${defaultPolicy.policyName}
userName: ${defaultUser.name}
policyType: ${defaultPolicy.type}
variables:
usersDs:
fn::invoke:
function: alicloud:ram:getUsers
arguments:
outputFile: users.txt
groupName: ${default.name}
policyName: ${defaultPolicy.policyName}
policyType: Custom
nameRegex: ${defaultUser.name}
outputs:
firstUserId: ${usersDs.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?: InvokeOptions): Output<GetUsersResult>def get_users(group_name: Optional[str] = None,
ids: Optional[Sequence[str]] = None,
name_regex: Optional[str] = None,
output_file: Optional[str] = None,
policy_name: Optional[str] = None,
policy_type: Optional[str] = None,
opts: Optional[InvokeOptions] = None) -> GetUsersResult
def get_users_output(group_name: Optional[pulumi.Input[str]] = None,
ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
name_regex: Optional[pulumi.Input[str]] = None,
output_file: Optional[pulumi.Input[str]] = None,
policy_name: Optional[pulumi.Input[str]] = None,
policy_type: Optional[pulumi.Input[str]] = None,
opts: Optional[InvokeOptions] = 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 CompletableFuture<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
public static Output<GetUsersResult> getUsers(GetUsersArgs args, InvokeOptions options)
fn::invoke:
function: alicloud:ram/getUsers:getUsers
arguments:
# arguments dictionaryThe following arguments are supported:
- Group
Name string - Filter results by a specific group name. Returned users are in the specified group.
- Ids List<string>
- A list of ram user IDs.
- Name
Regex string - A regex string to filter resulting users by their names.
- Output
File string - File name where to save data source results (after running
pulumi preview). - Policy
Name string - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - Policy
Type string - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
- Group
Name string - Filter results by a specific group name. Returned users are in the specified group.
- Ids []string
- A list of ram user IDs.
- Name
Regex string - A regex string to filter resulting users by their names.
- Output
File string - File name where to save data source results (after running
pulumi preview). - Policy
Name string - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - Policy
Type string - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
- group
Name String - Filter results by a specific group name. Returned users are in the specified group.
- ids List<String>
- A list of ram user IDs.
- name
Regex String - A regex string to filter resulting users by their names.
- output
File String - File name where to save data source results (after running
pulumi preview). - policy
Name String - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - policy
Type String - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
- group
Name string - Filter results by a specific group name. Returned users are in the specified group.
- ids string[]
- A list of ram user IDs.
- name
Regex string - A regex string to filter resulting users by their names.
- output
File string - File name where to save data source results (after running
pulumi preview). - policy
Name string - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - policy
Type string - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
- group_
name str - Filter results by a specific group name. Returned users are in the specified group.
- ids Sequence[str]
- A list of ram user IDs.
- name_
regex str - A regex string to filter resulting users by their names.
- output_
file str - File name where to save data source results (after running
pulumi preview). - policy_
name str - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - policy_
type str - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
- group
Name String - Filter results by a specific group name. Returned users are in the specified group.
- ids List<String>
- A list of ram user IDs.
- name
Regex String - A regex string to filter resulting users by their names.
- output
File String - File name where to save data source results (after running
pulumi preview). - policy
Name String - Filter results by a specific policy name. If you set this parameter without setting
policy_type, the later will be automatically set toSystem. Returned users are attached to the specified policy. - policy
Type String - Filter results by a specific policy type. Valid values are
CustomandSystem. If you set this parameter, you must setpolicy_nameas well.
getUsers Result
The following output properties are available:
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids List<string>
- A list of ram user IDs.
- Names List<string>
- A list of ram user's name.
- Users
List<Pulumi.
Ali Cloud. Ram. Outputs. Get Users User> - A list of users. Each element contains the following attributes:
- Group
Name string - Name
Regex string - Output
File string - Policy
Name string - Policy
Type string
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- A list of ram user IDs.
- Names []string
- A list of ram user's name.
- Users
[]Get
Users User - A list of users. Each element contains the following attributes:
- Group
Name string - Name
Regex string - Output
File string - Policy
Name string - Policy
Type string
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of ram user IDs.
- names List<String>
- A list of ram user's name.
- users
List<Get
Users User> - A list of users. Each element contains the following attributes:
- group
Name String - name
Regex String - output
File String - policy
Name String - policy
Type String
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- A list of ram user IDs.
- names string[]
- A list of ram user's name.
- users
Get
Users User[] - A list of users. Each element contains the following attributes:
- group
Name string - name
Regex string - output
File string - policy
Name string - policy
Type string
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- A list of ram user IDs.
- names Sequence[str]
- A list of ram user's name.
- users
Sequence[Get
Users User] - A list of users. Each element contains the following attributes:
- group_
name str - name_
regex str - output_
file str - policy_
name str - policy_
type str
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- A list of ram user IDs.
- names List<String>
- A list of ram user's name.
- users List<Property Map>
- A list of users. Each element contains the following attributes:
- group
Name String - name
Regex String - output
File String - policy
Name String - policy
Type String
Supporting Types
GetUsersUser
- Create
Date string - Creation date of the user.
- Id string
- The original id is user's name, but it is user id in 1.37.0+.
- Last
Login stringDate - (Removed) Last login date of the user. Removed from version 1.79.0.
- Name string
- Name of the user.
- Create
Date string - Creation date of the user.
- Id string
- The original id is user's name, but it is user id in 1.37.0+.
- Last
Login stringDate - (Removed) Last login date of the user. Removed from version 1.79.0.
- Name string
- Name of the user.
- create
Date String - Creation date of the user.
- id String
- The original id is user's name, but it is user id in 1.37.0+.
- last
Login StringDate - (Removed) Last login date of the user. Removed from version 1.79.0.
- name String
- Name of the user.
- create
Date string - Creation date of the user.
- id string
- The original id is user's name, but it is user id in 1.37.0+.
- last
Login stringDate - (Removed) Last login date of the user. Removed from version 1.79.0.
- name string
- Name of the user.
- create_
date str - Creation date of the user.
- id str
- The original id is user's name, but it is user id in 1.37.0+.
- last_
login_ strdate - (Removed) Last login date of the user. Removed from version 1.79.0.
- name str
- Name of the user.
- create
Date String - Creation date of the user.
- id String
- The original id is user's name, but it is user id in 1.37.0+.
- last
Login StringDate - (Removed) Last login date of the user. Removed from version 1.79.0.
- name String
- Name of the user.
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.97.0
published on Saturday, Mar 14, 2026 by Pulumi
published on Saturday, Mar 14, 2026 by Pulumi
