get Users
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: `\x09\x09\x09{
\x09\x09\x09\x09"Statement": [
\x09\x09\x09\x09 {
\x09\x09\x09\x09\x09"Action": [
\x09\x09\x09\x09\x09"oss:ListObjects",
\x09\x09\x09\x09\x09"oss:ListObjects"
\x09\x09\x09 \x09\x09],
\x09\x09\x09 \x09\x09"Effect": "Deny",
\x09\x09\x09 \x09\x09"Resource": [
\x09\x09\x09\x09\x09\x09"acs:oss:*:*:mybucket",
\x09\x09\x09\x09\x09\x09"acs:oss:*:*:mybucket/*"
\x09\x09\x09 \x09\x09]
\x09\x09\x09\x09 }
\x09\x09 \x09\x09],
\x09\x09\x09\x09"Version": "1"
\x09\x09\x09}
`,
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="""\x09\x09\x09{
\x09\x09\x09\x09"Statement": [
\x09\x09\x09\x09 {
\x09\x09\x09\x09\x09"Action": [
\x09\x09\x09\x09\x09"oss:ListObjects",
\x09\x09\x09\x09\x09"oss:ListObjects"
\x09\x09\x09 \x09\x09],
\x09\x09\x09 \x09\x09"Effect": "Deny",
\x09\x09\x09 \x09\x09"Resource": [
\x09\x09\x09\x09\x09\x09"acs:oss:*:*:mybucket",
\x09\x09\x09\x09\x09\x09"acs:oss:*:*:mybucket/*"
\x09\x09\x09 \x09\x09]
\x09\x09\x09\x09 }
\x09\x09 \x09\x09],
\x09\x09\x09\x09"Version": "1"
\x09\x09\x09}
""",
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)
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 = @" {
""Statement"": [
{
""Action"": [
""oss:ListObjects"",
""oss:ListObjects""
],
""Effect"": ""Deny"",
""Resource"": [
""acs:oss:*:*:mybucket"",
""acs:oss:*:*:mybucket/*""
]
}
],
""Version"": ""1""
}
",
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 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(` {
"Statement": [
{
"Action": [
"oss:ListObjects",
"oss:ListObjects"
],
"Effect": "Deny",
"Resource": [
"acs:oss:*:*:mybucket",
"acs:oss:*:*:mybucket/*"
]
}
],
"Version": "1"
}
`),
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
})
}
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("""
{
"Statement": [
{
"Action": [
"oss:ListObjects",
"oss:ListObjects"
],
"Effect": "Deny",
"Resource": [
"acs:oss:*:*:mybucket",
"acs:oss:*:*:mybucket/*"
]
}
],
"Version": "1"
}
""")
.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(getUsersResult -> getUsersResult).applyValue(usersDs -> usersDs.applyValue(getUsersResult -> getUsersResult.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: |
{
"Statement": [
{
"Action": [
"oss:ListObjects",
"oss:ListObjects"
],
"Effect": "Deny",
"Resource": [
"acs:oss:*:*:mybucket",
"acs:oss:*:*:mybucket/*"
]
}
],
"Version": "1"
}
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}
Return
A collection of values returned by getUsers. //////
Parameters
A collection of arguments for invoking getUsers.
Return
A collection of values returned by getUsers.
Parameters
Filter results by a specific group name. Returned users are in the specified group.
A list of ram user IDs.
A regex string to filter resulting users by their names.
File name where to save data source results (after running pulumi preview
).
Filter results by a specific policy name. If you set this parameter without setting policy_type
, the later will be automatically set to System
. Returned users are attached to the specified policy.
Filter results by a specific policy type. Valid values are Custom
and System
. If you set this parameter, you must set policy_name
as well.
See also
Return
A collection of values returned by getUsers.
Parameters
Builder for com.pulumi.alicloud.ram.kotlin.inputs.GetUsersPlainArgs.