getUsers

suspend fun getUsers(argument: GetUsersPlainArgs): GetUsersResult

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

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 defaultGroup = new Group("defaultGroup", GroupArgs.builder()
.comments("group comments")
.force(true)
.build());
var defaultUser = new User("defaultUser", UserArgs.builder()
.displayName("displayname")
.mobile("86-18888888888")
.email("hello.uuu@aaa.com")
.comments("yoyoyo")
.build());
var defaultGroupMembership = new GroupMembership("defaultGroupMembership", GroupMembershipArgs.builder()
.groupName(defaultGroup.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(defaultGroup.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())));
}
}

Return

A collection of values returned by getUsers. */

Parameters

argument

A collection of arguments for invoking getUsers.


suspend fun getUsers(groupName: String? = null, ids: List<String>? = null, nameRegex: String? = null, outputFile: String? = null, policyName: String? = null, policyType: String? = null): GetUsersResult

Return

A collection of values returned by getUsers.

See also

Parameters

groupName

Filter results by a specific group name. Returned users are in the specified group.

ids

A list of ram user IDs.

nameRegex

A regex string to filter resulting users by their names.

outputFile

File name where to save data source results (after running pulumi preview).

policyName

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.

policyType

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.


suspend fun getUsers(argument: suspend GetUsersPlainArgsBuilder.() -> Unit): GetUsersResult

Return

A collection of values returned by getUsers.

See also

Parameters

argument

Builder for com.pulumi.alicloud.ram.kotlin.inputs.GetUsersPlainArgs.