getRoles

suspend fun getRoles(argument: GetRolesPlainArgs): GetRolesResult

Use this data source to get the ARNs and Names of IAM Roles.

Example Usage

All roles in an account

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetRolesArgs;
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 roles = IamFunctions.getRoles();
}
}

Roles filtered by name regex

Roles whose role-name contains project

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetRolesArgs;
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 roles = IamFunctions.getRoles(GetRolesArgs.builder()
.nameRegex(".*project.*")
.build());
}
}

Roles filtered by path prefix

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetRolesArgs;
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 roles = IamFunctions.getRoles(GetRolesArgs.builder()
.pathPrefix("/custom-path")
.build());
}
}

Roles provisioned by AWS SSO

Roles in the account filtered by path prefix

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetRolesArgs;
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 roles = IamFunctions.getRoles(GetRolesArgs.builder()
.pathPrefix("/aws-reserved/sso.amazonaws.com/")
.build());
}
}

Return

A collection of values returned by getRoles.

Parameters

argument

A collection of arguments for invoking getRoles.


suspend fun getRoles(nameRegex: String? = null, pathPrefix: String? = null): GetRolesResult

Return

A collection of values returned by getRoles.

Parameters

nameRegex

Regex string to apply to the IAM roles list returned by AWS. This allows more advanced filtering not supported from the AWS API. This filtering is done locally on what AWS returns, and could have a performance impact if the result is large. Combine this with other options to narrow down the list AWS returns.

pathPrefix

Path prefix for filtering the results. For example, the prefix /application_abc/component_xyz/ gets all roles whose path starts with /application_abc/component_xyz/. If it is not included, it defaults to a slash (/), listing all roles. For more details, check out 1.

See also


suspend fun getRoles(argument: suspend GetRolesPlainArgsBuilder.() -> Unit): GetRolesResult

Return

A collection of values returned by getRoles.

Parameters

argument

Builder for com.pulumi.aws.iam.kotlin.inputs.GetRolesPlainArgs.

See also