Package com.pulumi.aws.iam
Class IamFunctions
- java.lang.Object
-
- com.pulumi.aws.iam.IamFunctions
-
public final class IamFunctions extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description IamFunctions()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static com.pulumi.core.Output<GetAccessKeysResult>getAccessKeys(GetAccessKeysArgs args)This data source can be used to fetch information about IAM access keys of a specific IAM user.static com.pulumi.core.Output<GetAccessKeysResult>getAccessKeys(GetAccessKeysArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about IAM access keys of a specific IAM user.static com.pulumi.core.Output<GetAccessKeysResult>getAccessKeys(GetAccessKeysArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about IAM access keys of a specific IAM user.static java.util.concurrent.CompletableFuture<GetAccessKeysResult>getAccessKeysPlain(GetAccessKeysPlainArgs args)This data source can be used to fetch information about IAM access keys of a specific IAM user.static java.util.concurrent.CompletableFuture<GetAccessKeysResult>getAccessKeysPlain(GetAccessKeysPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about IAM access keys of a specific IAM user.static com.pulumi.core.Output<GetAccountAliasResult>getAccountAlias()The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static com.pulumi.core.Output<GetAccountAliasResult>getAccountAlias(com.pulumi.resources.InvokeArgs args)The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static com.pulumi.core.Output<GetAccountAliasResult>getAccountAlias(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static com.pulumi.core.Output<GetAccountAliasResult>getAccountAlias(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOutputOptions options)The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static java.util.concurrent.CompletableFuture<GetAccountAliasResult>getAccountAliasPlain()The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static java.util.concurrent.CompletableFuture<GetAccountAliasResult>getAccountAliasPlain(com.pulumi.resources.InvokeArgs args)The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static java.util.concurrent.CompletableFuture<GetAccountAliasResult>getAccountAliasPlain(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working.static com.pulumi.core.Output<GetGroupResult>getGroup(GetGroupArgs args)This data source can be used to fetch information about a specific IAM group.static com.pulumi.core.Output<GetGroupResult>getGroup(GetGroupArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM group.static com.pulumi.core.Output<GetGroupResult>getGroup(GetGroupArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM group.static java.util.concurrent.CompletableFuture<GetGroupResult>getGroupPlain(GetGroupPlainArgs args)This data source can be used to fetch information about a specific IAM group.static java.util.concurrent.CompletableFuture<GetGroupResult>getGroupPlain(GetGroupPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM group.static com.pulumi.core.Output<GetInstanceProfileResult>getInstanceProfile(GetInstanceProfileArgs args)This data source can be used to fetch information about a specific IAM instance profile.static com.pulumi.core.Output<GetInstanceProfileResult>getInstanceProfile(GetInstanceProfileArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM instance profile.static com.pulumi.core.Output<GetInstanceProfileResult>getInstanceProfile(GetInstanceProfileArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM instance profile.static java.util.concurrent.CompletableFuture<GetInstanceProfileResult>getInstanceProfilePlain(GetInstanceProfilePlainArgs args)This data source can be used to fetch information about a specific IAM instance profile.static java.util.concurrent.CompletableFuture<GetInstanceProfileResult>getInstanceProfilePlain(GetInstanceProfilePlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM instance profile.static com.pulumi.core.Output<GetInstanceProfilesResult>getInstanceProfiles(GetInstanceProfilesArgs args)This data source can be used to fetch information about all IAM instance profiles under a role.static com.pulumi.core.Output<GetInstanceProfilesResult>getInstanceProfiles(GetInstanceProfilesArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about all IAM instance profiles under a role.static com.pulumi.core.Output<GetInstanceProfilesResult>getInstanceProfiles(GetInstanceProfilesArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about all IAM instance profiles under a role.static java.util.concurrent.CompletableFuture<GetInstanceProfilesResult>getInstanceProfilesPlain(GetInstanceProfilesPlainArgs args)This data source can be used to fetch information about all IAM instance profiles under a role.static java.util.concurrent.CompletableFuture<GetInstanceProfilesResult>getInstanceProfilesPlain(GetInstanceProfilesPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about all IAM instance profiles under a role.static com.pulumi.core.Output<GetOpenIdConnectProviderResult>getOpenIdConnectProvider()This data source can be used to fetch information about a specific IAM OpenID Connect provider.static com.pulumi.core.Output<GetOpenIdConnectProviderResult>getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args)This data source can be used to fetch information about a specific IAM OpenID Connect provider.static com.pulumi.core.Output<GetOpenIdConnectProviderResult>getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM OpenID Connect provider.static com.pulumi.core.Output<GetOpenIdConnectProviderResult>getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM OpenID Connect provider.static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult>getOpenIdConnectProviderPlain()This data source can be used to fetch information about a specific IAM OpenID Connect provider.static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult>getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args)This data source can be used to fetch information about a specific IAM OpenID Connect provider.static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult>getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM OpenID Connect provider.static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederation()Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args)Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederationPlain()Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederationPlain(com.pulumi.resources.InvokeArgs args)Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult>getOutboundWebIdentityFederationPlain(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation.static com.pulumi.core.Output<GetPolicyResult>getPolicy()This data source can be used to fetch information about a specific IAM policy.static com.pulumi.core.Output<GetPolicyResult>getPolicy(GetPolicyArgs args)This data source can be used to fetch information about a specific IAM policy.static com.pulumi.core.Output<GetPolicyResult>getPolicy(GetPolicyArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM policy.static com.pulumi.core.Output<GetPolicyResult>getPolicy(GetPolicyArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM policy.static com.pulumi.core.Output<GetPolicyDocumentResult>getPolicyDocument()Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static com.pulumi.core.Output<GetPolicyDocumentResult>getPolicyDocument(GetPolicyDocumentArgs args)Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static com.pulumi.core.Output<GetPolicyDocumentResult>getPolicyDocument(GetPolicyDocumentArgs args, com.pulumi.deployment.InvokeOptions options)Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static com.pulumi.core.Output<GetPolicyDocumentResult>getPolicyDocument(GetPolicyDocumentArgs args, com.pulumi.deployment.InvokeOutputOptions options)Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult>getPolicyDocumentPlain()Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult>getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args)Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult>getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args, com.pulumi.deployment.InvokeOptions options)Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`.static java.util.concurrent.CompletableFuture<GetPolicyResult>getPolicyPlain()This data source can be used to fetch information about a specific IAM policy.static java.util.concurrent.CompletableFuture<GetPolicyResult>getPolicyPlain(GetPolicyPlainArgs args)This data source can be used to fetch information about a specific IAM policy.static java.util.concurrent.CompletableFuture<GetPolicyResult>getPolicyPlain(GetPolicyPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM policy.static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult>getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args)Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult>getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, com.pulumi.deployment.InvokeOptions options)Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult>getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, com.pulumi.deployment.InvokeOutputOptions options)Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.static java.util.concurrent.CompletableFuture<GetPrincipalPolicySimulationInvokeResult>getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args)Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.static java.util.concurrent.CompletableFuture<GetPrincipalPolicySimulationInvokeResult>getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args, com.pulumi.deployment.InvokeOptions options)Runs a simulation of the IAM policies of a particular principal against a given hypothetical request.static com.pulumi.core.Output<GetRoleResult>getRole(GetRoleArgs args)This data source can be used to fetch information about a specific IAM role.static com.pulumi.core.Output<GetRoleResult>getRole(GetRoleArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM role.static com.pulumi.core.Output<GetRoleResult>getRole(GetRoleArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM role.static java.util.concurrent.CompletableFuture<GetRoleResult>getRolePlain(GetRolePlainArgs args)This data source can be used to fetch information about a specific IAM role.static java.util.concurrent.CompletableFuture<GetRoleResult>getRolePlain(GetRolePlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM role.static com.pulumi.core.Output<GetRolePoliciesResult>getRolePolicies(GetRolePoliciesArgs args)Use this data source to get the names of inline policies associated with an IAM role.static com.pulumi.core.Output<GetRolePoliciesResult>getRolePolicies(GetRolePoliciesArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the names of inline policies associated with an IAM role.static com.pulumi.core.Output<GetRolePoliciesResult>getRolePolicies(GetRolePoliciesArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to get the names of inline policies associated with an IAM role.static java.util.concurrent.CompletableFuture<GetRolePoliciesResult>getRolePoliciesPlain(GetRolePoliciesPlainArgs args)Use this data source to get the names of inline policies associated with an IAM role.static java.util.concurrent.CompletableFuture<GetRolePoliciesResult>getRolePoliciesPlain(GetRolePoliciesPlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the names of inline policies associated with an IAM role.static com.pulumi.core.Output<GetRolePolicyAttachmentsResult>getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args)Provides details about the managed policies attached to an AWS IAM Role.static com.pulumi.core.Output<GetRolePolicyAttachmentsResult>getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about the managed policies attached to an AWS IAM Role.static com.pulumi.core.Output<GetRolePolicyAttachmentsResult>getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args, com.pulumi.deployment.InvokeOutputOptions options)Provides details about the managed policies attached to an AWS IAM Role.static java.util.concurrent.CompletableFuture<GetRolePolicyAttachmentsResult>getRolePolicyAttachmentsPlain(GetRolePolicyAttachmentsPlainArgs args)Provides details about the managed policies attached to an AWS IAM Role.static java.util.concurrent.CompletableFuture<GetRolePolicyAttachmentsResult>getRolePolicyAttachmentsPlain(GetRolePolicyAttachmentsPlainArgs args, com.pulumi.deployment.InvokeOptions options)Provides details about the managed policies attached to an AWS IAM Role.static com.pulumi.core.Output<GetRolesResult>getRoles()Use this data source to get the ARNs and Names of IAM Roles.static com.pulumi.core.Output<GetRolesResult>getRoles(GetRolesArgs args)Use this data source to get the ARNs and Names of IAM Roles.static com.pulumi.core.Output<GetRolesResult>getRoles(GetRolesArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the ARNs and Names of IAM Roles.static com.pulumi.core.Output<GetRolesResult>getRoles(GetRolesArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to get the ARNs and Names of IAM Roles.static java.util.concurrent.CompletableFuture<GetRolesResult>getRolesPlain()Use this data source to get the ARNs and Names of IAM Roles.static java.util.concurrent.CompletableFuture<GetRolesResult>getRolesPlain(GetRolesPlainArgs args)Use this data source to get the ARNs and Names of IAM Roles.static java.util.concurrent.CompletableFuture<GetRolesResult>getRolesPlain(GetRolesPlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the ARNs and Names of IAM Roles.static com.pulumi.core.Output<GetSamlProviderResult>getSamlProvider(GetSamlProviderArgs args)This data source can be used to fetch information about a specific IAM SAML provider.static com.pulumi.core.Output<GetSamlProviderResult>getSamlProvider(GetSamlProviderArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM SAML provider.static com.pulumi.core.Output<GetSamlProviderResult>getSamlProvider(GetSamlProviderArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM SAML provider.static java.util.concurrent.CompletableFuture<GetSamlProviderResult>getSamlProviderPlain(GetSamlProviderPlainArgs args)This data source can be used to fetch information about a specific IAM SAML provider.static java.util.concurrent.CompletableFuture<GetSamlProviderResult>getSamlProviderPlain(GetSamlProviderPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM SAML provider.static com.pulumi.core.Output<GetServerCertificateResult>getServerCertificate()Use this data source to lookup information about IAM Server Certificates.static com.pulumi.core.Output<GetServerCertificateResult>getServerCertificate(GetServerCertificateArgs args)Use this data source to lookup information about IAM Server Certificates.static com.pulumi.core.Output<GetServerCertificateResult>getServerCertificate(GetServerCertificateArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to lookup information about IAM Server Certificates.static com.pulumi.core.Output<GetServerCertificateResult>getServerCertificate(GetServerCertificateArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to lookup information about IAM Server Certificates.static java.util.concurrent.CompletableFuture<GetServerCertificateResult>getServerCertificatePlain()Use this data source to lookup information about IAM Server Certificates.static java.util.concurrent.CompletableFuture<GetServerCertificateResult>getServerCertificatePlain(GetServerCertificatePlainArgs args)Use this data source to lookup information about IAM Server Certificates.static java.util.concurrent.CompletableFuture<GetServerCertificateResult>getServerCertificatePlain(GetServerCertificatePlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to lookup information about IAM Server Certificates.static com.pulumi.core.Output<GetSessionContextResult>getSessionContext(GetSessionContextArgs args)This data source provides information on the IAM source role of an STS assumed role.static com.pulumi.core.Output<GetSessionContextResult>getSessionContext(GetSessionContextArgs args, com.pulumi.deployment.InvokeOptions options)This data source provides information on the IAM source role of an STS assumed role.static com.pulumi.core.Output<GetSessionContextResult>getSessionContext(GetSessionContextArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source provides information on the IAM source role of an STS assumed role.static java.util.concurrent.CompletableFuture<GetSessionContextResult>getSessionContextPlain(GetSessionContextPlainArgs args)This data source provides information on the IAM source role of an STS assumed role.static java.util.concurrent.CompletableFuture<GetSessionContextResult>getSessionContextPlain(GetSessionContextPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source provides information on the IAM source role of an STS assumed role.static com.pulumi.core.Output<GetUserResult>getUser(GetUserArgs args)This data source can be used to fetch information about a specific IAM user.static com.pulumi.core.Output<GetUserResult>getUser(GetUserArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM user.static com.pulumi.core.Output<GetUserResult>getUser(GetUserArgs args, com.pulumi.deployment.InvokeOutputOptions options)This data source can be used to fetch information about a specific IAM user.static java.util.concurrent.CompletableFuture<GetUserResult>getUserPlain(GetUserPlainArgs args)This data source can be used to fetch information about a specific IAM user.static java.util.concurrent.CompletableFuture<GetUserResult>getUserPlain(GetUserPlainArgs args, com.pulumi.deployment.InvokeOptions options)This data source can be used to fetch information about a specific IAM user.static com.pulumi.core.Output<GetUsersResult>getUsers()Use this data source to get the ARNs and Names of IAM Users.static com.pulumi.core.Output<GetUsersResult>getUsers(GetUsersArgs args)Use this data source to get the ARNs and Names of IAM Users.static com.pulumi.core.Output<GetUsersResult>getUsers(GetUsersArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the ARNs and Names of IAM Users.static com.pulumi.core.Output<GetUsersResult>getUsers(GetUsersArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to get the ARNs and Names of IAM Users.static java.util.concurrent.CompletableFuture<GetUsersResult>getUsersPlain()Use this data source to get the ARNs and Names of IAM Users.static java.util.concurrent.CompletableFuture<GetUsersResult>getUsersPlain(GetUsersPlainArgs args)Use this data source to get the ARNs and Names of IAM Users.static java.util.concurrent.CompletableFuture<GetUsersResult>getUsersPlain(GetUsersPlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get the ARNs and Names of IAM Users.static com.pulumi.core.Output<GetUserSshKeyResult>getUserSshKey(GetUserSshKeyArgs args)Use this data source to get information about a SSH public key associated with the specified IAM user.static com.pulumi.core.Output<GetUserSshKeyResult>getUserSshKey(GetUserSshKeyArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get information about a SSH public key associated with the specified IAM user.static com.pulumi.core.Output<GetUserSshKeyResult>getUserSshKey(GetUserSshKeyArgs args, com.pulumi.deployment.InvokeOutputOptions options)Use this data source to get information about a SSH public key associated with the specified IAM user.static java.util.concurrent.CompletableFuture<GetUserSshKeyResult>getUserSshKeyPlain(GetUserSshKeyPlainArgs args)Use this data source to get information about a SSH public key associated with the specified IAM user.static java.util.concurrent.CompletableFuture<GetUserSshKeyResult>getUserSshKeyPlain(GetUserSshKeyPlainArgs args, com.pulumi.deployment.InvokeOptions options)Use this data source to get information about a SSH public key associated with the specified IAM user.
-
-
-
Method Detail
-
getAccessKeys
public static com.pulumi.core.Output<GetAccessKeysResult> getAccessKeys(GetAccessKeysArgs args)
This data source can be used to fetch information about IAM access keys of a specific IAM user. ## Example Usagepackage 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.GetAccessKeysArgs; 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 example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder() .user("an_example_user_name") .build()); } }
-
getAccessKeysPlain
public static java.util.concurrent.CompletableFuture<GetAccessKeysResult> getAccessKeysPlain(GetAccessKeysPlainArgs args)
This data source can be used to fetch information about IAM access keys of a specific IAM user. ## Example Usagepackage 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.GetAccessKeysArgs; 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 example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder() .user("an_example_user_name") .build()); } }
-
getAccessKeys
public static com.pulumi.core.Output<GetAccessKeysResult> getAccessKeys(GetAccessKeysArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about IAM access keys of a specific IAM user. ## Example Usagepackage 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.GetAccessKeysArgs; 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 example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder() .user("an_example_user_name") .build()); } }
-
getAccessKeys
public static com.pulumi.core.Output<GetAccessKeysResult> getAccessKeys(GetAccessKeysArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about IAM access keys of a specific IAM user. ## Example Usagepackage 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.GetAccessKeysArgs; 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 example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder() .user("an_example_user_name") .build()); } }
-
getAccessKeysPlain
public static java.util.concurrent.CompletableFuture<GetAccessKeysResult> getAccessKeysPlain(GetAccessKeysPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about IAM access keys of a specific IAM user. ## Example Usagepackage 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.GetAccessKeysArgs; 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 example = IamFunctions.getAccessKeys(GetAccessKeysArgs.builder() .user("an_example_user_name") .build()); } }
-
getAccountAlias
public static com.pulumi.core.Output<GetAccountAliasResult> getAccountAlias()
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAliasPlain
public static java.util.concurrent.CompletableFuture<GetAccountAliasResult> getAccountAliasPlain()
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAlias
public static com.pulumi.core.Output<GetAccountAliasResult> getAccountAlias(com.pulumi.resources.InvokeArgs args)
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAliasPlain
public static java.util.concurrent.CompletableFuture<GetAccountAliasResult> getAccountAliasPlain(com.pulumi.resources.InvokeArgs args)
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAlias
public static com.pulumi.core.Output<GetAccountAliasResult> getAccountAlias(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAlias
public static com.pulumi.core.Output<GetAccountAliasResult> getAccountAlias(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOutputOptions options)
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getAccountAliasPlain
public static java.util.concurrent.CompletableFuture<GetAccountAliasResult> getAccountAliasPlain(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)
The IAM Account Alias data source allows access to the account alias for the effective account in which this provider is working. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 current = IamFunctions.getAccountAlias(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); ctx.export("accountAlias", current.accountAlias()); } }
-
getGroup
public static com.pulumi.core.Output<GetGroupResult> getGroup(GetGroupArgs args)
This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetGroupArgs; 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 example = IamFunctions.getGroup(GetGroupArgs.builder() .groupName("an_example_group_name") .build()); } }
-
getGroupPlain
public static java.util.concurrent.CompletableFuture<GetGroupResult> getGroupPlain(GetGroupPlainArgs args)
This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetGroupArgs; 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 example = IamFunctions.getGroup(GetGroupArgs.builder() .groupName("an_example_group_name") .build()); } }
-
getGroup
public static com.pulumi.core.Output<GetGroupResult> getGroup(GetGroupArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetGroupArgs; 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 example = IamFunctions.getGroup(GetGroupArgs.builder() .groupName("an_example_group_name") .build()); } }
-
getGroup
public static com.pulumi.core.Output<GetGroupResult> getGroup(GetGroupArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetGroupArgs; 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 example = IamFunctions.getGroup(GetGroupArgs.builder() .groupName("an_example_group_name") .build()); } }
-
getGroupPlain
public static java.util.concurrent.CompletableFuture<GetGroupResult> getGroupPlain(GetGroupPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM group. By using this data source, you can reference IAM group properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetGroupArgs; 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 example = IamFunctions.getGroup(GetGroupArgs.builder() .groupName("an_example_group_name") .build()); } }
-
getInstanceProfile
public static com.pulumi.core.Output<GetInstanceProfileResult> getInstanceProfile(GetInstanceProfileArgs args)
This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfileArgs; 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 example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder() .name("an_example_instance_profile_name") .build()); } }
-
getInstanceProfilePlain
public static java.util.concurrent.CompletableFuture<GetInstanceProfileResult> getInstanceProfilePlain(GetInstanceProfilePlainArgs args)
This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfileArgs; 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 example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder() .name("an_example_instance_profile_name") .build()); } }
-
getInstanceProfile
public static com.pulumi.core.Output<GetInstanceProfileResult> getInstanceProfile(GetInstanceProfileArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfileArgs; 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 example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder() .name("an_example_instance_profile_name") .build()); } }
-
getInstanceProfile
public static com.pulumi.core.Output<GetInstanceProfileResult> getInstanceProfile(GetInstanceProfileArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfileArgs; 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 example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder() .name("an_example_instance_profile_name") .build()); } }
-
getInstanceProfilePlain
public static java.util.concurrent.CompletableFuture<GetInstanceProfileResult> getInstanceProfilePlain(GetInstanceProfilePlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM instance profile. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfileArgs; 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 example = IamFunctions.getInstanceProfile(GetInstanceProfileArgs.builder() .name("an_example_instance_profile_name") .build()); } }
-
getInstanceProfiles
public static com.pulumi.core.Output<GetInstanceProfilesResult> getInstanceProfiles(GetInstanceProfilesArgs args)
This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfilesArgs; 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 example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder() .roleName("an_example_iam_role_name") .build()); } }
-
getInstanceProfilesPlain
public static java.util.concurrent.CompletableFuture<GetInstanceProfilesResult> getInstanceProfilesPlain(GetInstanceProfilesPlainArgs args)
This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfilesArgs; 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 example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder() .roleName("an_example_iam_role_name") .build()); } }
-
getInstanceProfiles
public static com.pulumi.core.Output<GetInstanceProfilesResult> getInstanceProfiles(GetInstanceProfilesArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfilesArgs; 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 example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder() .roleName("an_example_iam_role_name") .build()); } }
-
getInstanceProfiles
public static com.pulumi.core.Output<GetInstanceProfilesResult> getInstanceProfiles(GetInstanceProfilesArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfilesArgs; 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 example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder() .roleName("an_example_iam_role_name") .build()); } }
-
getInstanceProfilesPlain
public static java.util.concurrent.CompletableFuture<GetInstanceProfilesResult> getInstanceProfilesPlain(GetInstanceProfilesPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about all IAM instance profiles under a role. By using this data source, you can reference IAM instance profile properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetInstanceProfilesArgs; 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 example = IamFunctions.getInstanceProfiles(GetInstanceProfilesArgs.builder() .roleName("an_example_iam_role_name") .build()); } }
-
getOpenIdConnectProvider
public static com.pulumi.core.Output<GetOpenIdConnectProviderResult> getOpenIdConnectProvider()
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProviderPlain
public static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult> getOpenIdConnectProviderPlain()
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProvider
public static com.pulumi.core.Output<GetOpenIdConnectProviderResult> getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args)
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProviderPlain
public static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult> getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args)
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProvider
public static com.pulumi.core.Output<GetOpenIdConnectProviderResult> getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProvider
public static com.pulumi.core.Output<GetOpenIdConnectProviderResult> getOpenIdConnectProvider(GetOpenIdConnectProviderArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOpenIdConnectProviderPlain
public static java.util.concurrent.CompletableFuture<GetOpenIdConnectProviderResult> getOpenIdConnectProviderPlain(GetOpenIdConnectProviderPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM OpenID Connect provider. By using this data source, you can retrieve the the resource information by either its `arn` or `url`. ## Example Usagepackage 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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .arn("arn:aws:iam::123456789012:oidc-provider/accounts.google.com") .build()); } }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.GetOpenIdConnectProviderArgs; 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 example = IamFunctions.getOpenIdConnectProvider(GetOpenIdConnectProviderArgs.builder() .url("https://accounts.google.com") .build()); } }
-
getOutboundWebIdentityFederation
public static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederation()
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederationPlain
public static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederationPlain()
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederation
public static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args)
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederationPlain
public static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederationPlain(com.pulumi.resources.InvokeArgs args)
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederation
public static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederation
public static com.pulumi.core.Output<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederation(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getOutboundWebIdentityFederationPlain
public static java.util.concurrent.CompletableFuture<GetOutboundWebIdentityFederationResult> getOutboundWebIdentityFederationPlain(com.pulumi.resources.InvokeArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to retrieve information about an AWS IAM (Identity & Access Management) Outbound Web Identity Federation. ## Example Usagepackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.IamFunctions; 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 example = IamFunctions.getOutboundWebIdentityFederation(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference); } }
-
getPolicy
public static com.pulumi.core.Output<GetPolicyResult> getPolicy()
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicyPlain
public static java.util.concurrent.CompletableFuture<GetPolicyResult> getPolicyPlain()
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicy
public static com.pulumi.core.Output<GetPolicyResult> getPolicy(GetPolicyArgs args)
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicyPlain
public static java.util.concurrent.CompletableFuture<GetPolicyResult> getPolicyPlain(GetPolicyPlainArgs args)
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicy
public static com.pulumi.core.Output<GetPolicyResult> getPolicy(GetPolicyArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicy
public static com.pulumi.core.Output<GetPolicyResult> getPolicy(GetPolicyArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicyPlain
public static java.util.concurrent.CompletableFuture<GetPolicyResult> getPolicyPlain(GetPolicyPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM policy. ## Example Usage ### By ARN
### By Namepackage 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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .arn("arn:aws:iam::123456789012:policy/UsersManageOwnCredentials") .build()); } }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.GetPolicyArgs; 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 example = IamFunctions.getPolicy(GetPolicyArgs.builder() .name("test_policy") .build()); } }
-
getPolicyDocument
public static com.pulumi.core.Output<GetPolicyDocumentResult> getPolicyDocument()
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocumentPlain
public static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult> getPolicyDocumentPlain()
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocument
public static com.pulumi.core.Output<GetPolicyDocumentResult> getPolicyDocument(GetPolicyDocumentArgs args)
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocumentPlain
public static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult> getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args)
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocument
public static com.pulumi.core.Output<GetPolicyDocumentResult> getPolicyDocument(GetPolicyDocumentArgs args, com.pulumi.deployment.InvokeOptions options)
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocument
public static com.pulumi.core.Output<GetPolicyDocumentResult> getPolicyDocument(GetPolicyDocumentArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPolicyDocumentPlain
public static java.util.concurrent.CompletableFuture<GetPolicyDocumentResult> getPolicyDocumentPlain(GetPolicyDocumentPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Generates an IAM policy document in JSON format for use with resources that expect policy documents such as `aws.iam.Policy`. Using this data source to generate policy documents is *optional*. It is also valid to use literal JSON strings in your configuration or to use the `file` interpolation function to read a raw JSON policy document from a file. ## Example Usage ### Basic Example
### Example Multiple Condition Keys and Values You can specify a [condition with multiple keys and values](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_multi-value-conditions.html) by supplying multiple `condition` blocks with the same `test` value, but differing `variable` and `values` values.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; import com.pulumi.aws.iam.Policy; import com.pulumi.aws.iam.PolicyArgs; 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 example = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("1") .actions( "s3:ListAllMyBuckets", "s3:GetBucketLocation") .resources("arn:aws:s3:::*") .build(), GetPolicyDocumentStatementArgs.builder() .conditions(GetPolicyDocumentStatementConditionArgs.builder() .test("StringLike") .variable("s3:prefix") .values( "", "home/", "home/&{aws:username}/") .build()) .actions("s3:ListBucket") .resources(String.format("arn:aws:s3:::%s", s3BucketName)) .build(), GetPolicyDocumentStatementArgs.builder() .actions("s3:*") .resources( String.format("arn:aws:s3:::%s/home/&{{aws:username}}", s3BucketName), String.format("arn:aws:s3:::%s/home/&{{aws:username}}/*", s3BucketName)) .build()) .build()); var examplePolicy = new Policy("examplePolicy", PolicyArgs.builder() .name("example_policy") .path("/") .policy(example.json()) .build()); } }
`data.aws_iam_policy_document.example_multiple_condition_keys_and_values.json` will evaluate to: ### Example Assume-Role Policy with Multiple Principals You can specify multiple principal blocks with different types. You can also use this data source to generate an assume-role policy.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementConditionArgs; 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 exampleMultipleConditionKeysAndValues = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .conditions( GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:service") .values("pi") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:pi:service") .values("rds") .build(), GetPolicyDocumentStatementConditionArgs.builder() .test("ForAnyValue:StringEquals") .variable("kms:EncryptionContext:aws:rds:db-id") .values( "db-AAAAABBBBBCCCCCDDDDDEEEEE", "db-EEEEEDDDDDCCCCCBBBBBAAAAA") .build()) .actions( "kms:Decrypt", "kms:GenerateDataKey") .resources("*") .build()) .build()); } }
### Example Using A Source Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementPrincipalArgs; 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 eventStreamBucketRoleAssumeRolePolicy = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals( GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("firehose.amazonaws.com") .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("AWS") .identifiers(trustedRoleArn) .build(), GetPolicyDocumentStatementPrincipalArgs.builder() .type("Federated") .identifiers( String.format("arn:aws:iam::%s:saml-provider/%s", accountId,providerName), "cognito-identity.amazonaws.com") .build()) .actions("sts:AssumeRole") .build()) .build()); } }
`data.aws_iam_policy_document.source_document_example.json` will evaluate to: ### Example Using An Override Documentpackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var sourceDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .sourcePolicyDocuments(source.json()) .build()); } }
`data.aws_iam_policy_document.override_policy_document_example.json` will evaluate to: ### Example with Both Source and Override Documents You can also combine `sourcePolicyDocuments` and `overridePolicyDocuments` in the same document.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources("*") .build()) .build()); final var overridePolicyDocumentExample = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("SidToOverride") .actions("s3:*") .resources( "arn:aws:s3:::somebucket", "arn:aws:s3:::somebucket/*") .build()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.politik.json` will evaluate to: ### Example of Merging Source Documents Multiple documents can be combined using the `sourcePolicyDocuments` or `overridePolicyDocuments` attributes. `sourcePolicyDocuments` requires that all documents have unique Sids, while `overridePolicyDocuments` will iteratively override matching Sids.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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 source = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("ec2:DescribeAccountAttributes") .resources("*") .build()) .build()); final var override = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceholder") .actions("s3:GetObject") .resources("*") .build()) .build()); final var politik = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments(source.json()) .overridePolicyDocuments(override.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: ### Example of Merging Override Documentspackage 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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 sourceOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidOne") .actions("s3:*") .resources("*") .build()) .build()); final var sourceTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .sid("UniqueSidTwo") .actions("iam:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .actions("lambda:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .sourcePolicyDocuments( sourceOne.json(), sourceTwo.json()) .build()); } }
`data.aws_iam_policy_document.combined.json` will evaluate to: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.GetPolicyDocumentArgs; import com.pulumi.aws.iam.inputs.GetPolicyDocumentStatementArgs; 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 policyOne = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Allow") .actions("s3:*") .resources("*") .build()) .build()); final var policyTwo = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements( GetPolicyDocumentStatementArgs.builder() .effect("Allow") .actions("ec2:*") .resources("*") .build(), GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Allow") .actions("iam:*") .resources("*") .build()) .build()); final var policyThree = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderOne") .effect("Deny") .actions("logs:*") .resources("*") .build()) .build()); final var combined = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .sid("OverridePlaceHolderTwo") .effect("Deny") .actions("*") .resources("*") .build()) .overridePolicyDocuments( policyOne.json(), policyTwo.json(), policyThree.json()) .build()); } }
-
getPrincipalPolicySimulation
public static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult> getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args)
Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. You can use this data source in conjunction with Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. ## Example Usage ### Self Access-checking Example The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.
If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `dependsOn` inside any resource which would require those credentials, to ensure that the policy check will run first:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames( "s3:GetObject", "s3:PutObject", "s3:DeleteObject") .policySourceArn(current.arn()) .resourceArns("arn:aws:s3:::my-test-bucket") .build()); } }
### Testing the Effect of a Declared Policy The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket("my-test-bucket") .build(), CustomResourceOptions.builder() .dependsOn(s3ObjectAccess) .build()); } }
When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.User; import com.pulumi.aws.iam.UserArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.UserPolicy; import com.pulumi.aws.iam.UserPolicyArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new User("example", UserArgs.builder() .name("example") .build()); var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder() .bucket("my-test-bucket") .build()); var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() .name("example_s3_access") .user(example.name()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:GetObject"), jsonProperty("Effect", "Allow"), jsonProperty("Resource", _arn) ))) )))) .build()); var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() .bucket(exampleBucket.bucket()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:*"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", current.accountId()) )), jsonProperty("Resource", jsonArray( _arn, String.format("%s/*", _arn) )) ))) )))) .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames("s3:GetObject") .policySourceArn(example.arn()) .resourceArns(exampleBucket.arn()) .resourcePolicyJson(accountAccess.policy()) .build()); } }
-
getPrincipalPolicySimulationPlain
public static java.util.concurrent.CompletableFuture<GetPrincipalPolicySimulationInvokeResult> getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args)
Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. You can use this data source in conjunction with Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. ## Example Usage ### Self Access-checking Example The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.
If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `dependsOn` inside any resource which would require those credentials, to ensure that the policy check will run first:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames( "s3:GetObject", "s3:PutObject", "s3:DeleteObject") .policySourceArn(current.arn()) .resourceArns("arn:aws:s3:::my-test-bucket") .build()); } }
### Testing the Effect of a Declared Policy The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket("my-test-bucket") .build(), CustomResourceOptions.builder() .dependsOn(s3ObjectAccess) .build()); } }
When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.User; import com.pulumi.aws.iam.UserArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.UserPolicy; import com.pulumi.aws.iam.UserPolicyArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new User("example", UserArgs.builder() .name("example") .build()); var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder() .bucket("my-test-bucket") .build()); var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() .name("example_s3_access") .user(example.name()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:GetObject"), jsonProperty("Effect", "Allow"), jsonProperty("Resource", _arn) ))) )))) .build()); var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() .bucket(exampleBucket.bucket()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:*"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", current.accountId()) )), jsonProperty("Resource", jsonArray( _arn, String.format("%s/*", _arn) )) ))) )))) .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames("s3:GetObject") .policySourceArn(example.arn()) .resourceArns(exampleBucket.arn()) .resourcePolicyJson(accountAccess.policy()) .build()); } }
-
getPrincipalPolicySimulation
public static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult> getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, com.pulumi.deployment.InvokeOptions options)
Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. You can use this data source in conjunction with Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. ## Example Usage ### Self Access-checking Example The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.
If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `dependsOn` inside any resource which would require those credentials, to ensure that the policy check will run first:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames( "s3:GetObject", "s3:PutObject", "s3:DeleteObject") .policySourceArn(current.arn()) .resourceArns("arn:aws:s3:::my-test-bucket") .build()); } }
### Testing the Effect of a Declared Policy The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket("my-test-bucket") .build(), CustomResourceOptions.builder() .dependsOn(s3ObjectAccess) .build()); } }
When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.User; import com.pulumi.aws.iam.UserArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.UserPolicy; import com.pulumi.aws.iam.UserPolicyArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new User("example", UserArgs.builder() .name("example") .build()); var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder() .bucket("my-test-bucket") .build()); var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() .name("example_s3_access") .user(example.name()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:GetObject"), jsonProperty("Effect", "Allow"), jsonProperty("Resource", _arn) ))) )))) .build()); var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() .bucket(exampleBucket.bucket()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:*"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", current.accountId()) )), jsonProperty("Resource", jsonArray( _arn, String.format("%s/*", _arn) )) ))) )))) .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames("s3:GetObject") .policySourceArn(example.arn()) .resourceArns(exampleBucket.arn()) .resourcePolicyJson(accountAccess.policy()) .build()); } }
-
getPrincipalPolicySimulation
public static com.pulumi.core.Output<GetPrincipalPolicySimulationInvokeResult> getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. You can use this data source in conjunction with Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. ## Example Usage ### Self Access-checking Example The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.
If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `dependsOn` inside any resource which would require those credentials, to ensure that the policy check will run first:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames( "s3:GetObject", "s3:PutObject", "s3:DeleteObject") .policySourceArn(current.arn()) .resourceArns("arn:aws:s3:::my-test-bucket") .build()); } }
### Testing the Effect of a Declared Policy The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket("my-test-bucket") .build(), CustomResourceOptions.builder() .dependsOn(s3ObjectAccess) .build()); } }
When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.User; import com.pulumi.aws.iam.UserArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.UserPolicy; import com.pulumi.aws.iam.UserPolicyArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new User("example", UserArgs.builder() .name("example") .build()); var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder() .bucket("my-test-bucket") .build()); var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() .name("example_s3_access") .user(example.name()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:GetObject"), jsonProperty("Effect", "Allow"), jsonProperty("Resource", _arn) ))) )))) .build()); var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() .bucket(exampleBucket.bucket()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:*"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", current.accountId()) )), jsonProperty("Resource", jsonArray( _arn, String.format("%s/*", _arn) )) ))) )))) .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames("s3:GetObject") .policySourceArn(example.arn()) .resourceArns(exampleBucket.arn()) .resourcePolicyJson(accountAccess.policy()) .build()); } }
-
getPrincipalPolicySimulationPlain
public static java.util.concurrent.CompletableFuture<GetPrincipalPolicySimulationInvokeResult> getPrincipalPolicySimulationPlain(GetPrincipalPolicySimulationPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Runs a simulation of the IAM policies of a particular principal against a given hypothetical request. You can use this data source in conjunction with Preconditions and Postconditions so that your configuration can test either whether it should have sufficient access to do its own work, or whether policies your configuration declares itself are sufficient for their intended use elsewhere. > **Note:** Correctly using this data source requires familiarity with various details of AWS Identity and Access Management, and how various AWS services integrate with it. For general information on the AWS IAM policy simulator, see [Testing IAM policies with the IAM policy simulator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_testing-policies.html). This data source wraps the `iam:SimulatePrincipalPolicy` API action described on that page. ## Example Usage ### Self Access-checking Example The following example raises an error if the credentials passed to the AWS provider do not have access to perform the three actions `s3:GetObject`, `s3:PutObject`, and `s3:DeleteObject` on the S3 bucket with the given ARN.
If you intend to use this data source to quickly raise an error when the given credentials are insufficient then you must use `dependsOn` inside any resource which would require those credentials, to ensure that the policy check will run first:package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames( "s3:GetObject", "s3:PutObject", "s3:DeleteObject") .policySourceArn(current.arn()) .resourceArns("arn:aws:s3:::my-test-bucket") .build()); } }
### Testing the Effect of a Declared Policy The following example declares an S3 bucket and a user that should have access to the bucket, and then uses `aws.iam.getPrincipalPolicySimulation` to verify that the user does indeed have access to perform needed operations against the bucket.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.s3.BucketObjectv2; import com.pulumi.aws.s3.BucketObjectv2Args; import com.pulumi.resources.CustomResourceOptions; 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) { var example = new BucketObjectv2("example", BucketObjectv2Args.builder() .bucket("my-test-bucket") .build(), CustomResourceOptions.builder() .dependsOn(s3ObjectAccess) .build()); } }
When using `aws.iam.getPrincipalPolicySimulation` to test the effect of a policy declared elsewhere in the same configuration, it's important to use `dependsOn` to make sure that the needed policy has been fully created or updated before running the simulation.package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.User; import com.pulumi.aws.iam.UserArgs; import com.pulumi.aws.s3.Bucket; import com.pulumi.aws.s3.BucketArgs; import com.pulumi.aws.iam.UserPolicy; import com.pulumi.aws.iam.UserPolicyArgs; import com.pulumi.aws.s3.BucketPolicy; import com.pulumi.aws.s3.BucketPolicyArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetPrincipalPolicySimulationArgs; import static com.pulumi.codegen.internal.Serialization.*; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); var example = new User("example", UserArgs.builder() .name("example") .build()); var exampleBucket = new Bucket("exampleBucket", BucketArgs.builder() .bucket("my-test-bucket") .build()); var s3Access = new UserPolicy("s3Access", UserPolicyArgs.builder() .name("example_s3_access") .user(example.name()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:GetObject"), jsonProperty("Effect", "Allow"), jsonProperty("Resource", _arn) ))) )))) .build()); var accountAccess = new BucketPolicy("accountAccess", BucketPolicyArgs.builder() .bucket(exampleBucket.bucket()) .policy(exampleBucket.arn().applyValue(_arn -> serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "s3:*"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("AWS", current.accountId()) )), jsonProperty("Resource", jsonArray( _arn, String.format("%s/*", _arn) )) ))) )))) .build()); final var s3ObjectAccess = IamFunctions.getPrincipalPolicySimulation(GetPrincipalPolicySimulationArgs.builder() .actionNames("s3:GetObject") .policySourceArn(example.arn()) .resourceArns(exampleBucket.arn()) .resourcePolicyJson(accountAccess.policy()) .build()); } }
-
getRole
public static com.pulumi.core.Output<GetRoleResult> getRole(GetRoleArgs args)
This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetRoleArgs; 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 example = IamFunctions.getRole(GetRoleArgs.builder() .name("an_example_role_name") .build()); } }
-
getRolePlain
public static java.util.concurrent.CompletableFuture<GetRoleResult> getRolePlain(GetRolePlainArgs args)
This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetRoleArgs; 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 example = IamFunctions.getRole(GetRoleArgs.builder() .name("an_example_role_name") .build()); } }
-
getRole
public static com.pulumi.core.Output<GetRoleResult> getRole(GetRoleArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetRoleArgs; 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 example = IamFunctions.getRole(GetRoleArgs.builder() .name("an_example_role_name") .build()); } }
-
getRole
public static com.pulumi.core.Output<GetRoleResult> getRole(GetRoleArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetRoleArgs; 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 example = IamFunctions.getRole(GetRoleArgs.builder() .name("an_example_role_name") .build()); } }
-
getRolePlain
public static java.util.concurrent.CompletableFuture<GetRoleResult> getRolePlain(GetRolePlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM role. By using this data source, you can reference IAM role properties without having to hard code ARNs as input. ## Example Usagepackage 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.GetRoleArgs; 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 example = IamFunctions.getRole(GetRoleArgs.builder() .name("an_example_role_name") .build()); } }
-
getRolePolicies
public static com.pulumi.core.Output<GetRolePoliciesResult> getRolePolicies(GetRolePoliciesArgs args)
Use this data source to get the names of inline policies associated with an IAM role. ## Example Usagepackage 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.GetRolePoliciesArgs; 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 example = IamFunctions.getRolePolicies(GetRolePoliciesArgs.builder() .roleName("my-role-name") .build()); } }
-
getRolePoliciesPlain
public static java.util.concurrent.CompletableFuture<GetRolePoliciesResult> getRolePoliciesPlain(GetRolePoliciesPlainArgs args)
Use this data source to get the names of inline policies associated with an IAM role. ## Example Usagepackage 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.GetRolePoliciesArgs; 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 example = IamFunctions.getRolePolicies(GetRolePoliciesArgs.builder() .roleName("my-role-name") .build()); } }
-
getRolePolicies
public static com.pulumi.core.Output<GetRolePoliciesResult> getRolePolicies(GetRolePoliciesArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the names of inline policies associated with an IAM role. ## Example Usagepackage 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.GetRolePoliciesArgs; 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 example = IamFunctions.getRolePolicies(GetRolePoliciesArgs.builder() .roleName("my-role-name") .build()); } }
-
getRolePolicies
public static com.pulumi.core.Output<GetRolePoliciesResult> getRolePolicies(GetRolePoliciesArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to get the names of inline policies associated with an IAM role. ## Example Usagepackage 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.GetRolePoliciesArgs; 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 example = IamFunctions.getRolePolicies(GetRolePoliciesArgs.builder() .roleName("my-role-name") .build()); } }
-
getRolePoliciesPlain
public static java.util.concurrent.CompletableFuture<GetRolePoliciesResult> getRolePoliciesPlain(GetRolePoliciesPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the names of inline policies associated with an IAM role. ## Example Usagepackage 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.GetRolePoliciesArgs; 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 example = IamFunctions.getRolePolicies(GetRolePoliciesArgs.builder() .roleName("my-role-name") .build()); } }
-
getRolePolicyAttachments
public static com.pulumi.core.Output<GetRolePolicyAttachmentsResult> getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args)
Provides details about the managed policies attached to an AWS IAM Role. ## Example Usage ### Basic Usagepackage 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.GetRolePolicyAttachmentsArgs; 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 example = IamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder() .roleName("example-role") .build()); } }
-
getRolePolicyAttachmentsPlain
public static java.util.concurrent.CompletableFuture<GetRolePolicyAttachmentsResult> getRolePolicyAttachmentsPlain(GetRolePolicyAttachmentsPlainArgs args)
Provides details about the managed policies attached to an AWS IAM Role. ## Example Usage ### Basic Usagepackage 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.GetRolePolicyAttachmentsArgs; 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 example = IamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder() .roleName("example-role") .build()); } }
-
getRolePolicyAttachments
public static com.pulumi.core.Output<GetRolePolicyAttachmentsResult> getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about the managed policies attached to an AWS IAM Role. ## Example Usage ### Basic Usagepackage 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.GetRolePolicyAttachmentsArgs; 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 example = IamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder() .roleName("example-role") .build()); } }
-
getRolePolicyAttachments
public static com.pulumi.core.Output<GetRolePolicyAttachmentsResult> getRolePolicyAttachments(GetRolePolicyAttachmentsArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Provides details about the managed policies attached to an AWS IAM Role. ## Example Usage ### Basic Usagepackage 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.GetRolePolicyAttachmentsArgs; 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 example = IamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder() .roleName("example-role") .build()); } }
-
getRolePolicyAttachmentsPlain
public static java.util.concurrent.CompletableFuture<GetRolePolicyAttachmentsResult> getRolePolicyAttachmentsPlain(GetRolePolicyAttachmentsPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Provides details about the managed policies attached to an AWS IAM Role. ## Example Usage ### Basic Usagepackage 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.GetRolePolicyAttachmentsArgs; 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 example = IamFunctions.getRolePolicyAttachments(GetRolePolicyAttachmentsArgs.builder() .roleName("example-role") .build()); } }
-
getRoles
public static com.pulumi.core.Output<GetRolesResult> getRoles()
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRolesPlain
public static java.util.concurrent.CompletableFuture<GetRolesResult> getRolesPlain()
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRoles
public static com.pulumi.core.Output<GetRolesResult> getRoles(GetRolesArgs args)
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRolesPlain
public static java.util.concurrent.CompletableFuture<GetRolesResult> getRolesPlain(GetRolesPlainArgs args)
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRoles
public static com.pulumi.core.Output<GetRolesResult> getRoles(GetRolesArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRoles
public static com.pulumi.core.Output<GetRolesResult> getRoles(GetRolesArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getRolesPlain
public static java.util.concurrent.CompletableFuture<GetRolesResult> getRolesPlain(GetRolesPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the ARNs and Names of IAM Roles. ## Example Usage ### All roles in an account
### 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .build()); } }
### Roles filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex(".*project.*") .build()); } }
### Roles provisioned by AWS SSO Roles in the account filtered by path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/custom-path") .build()); } }
Specific role in the account filtered by name regex and path prefixpackage 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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }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.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 roles = IamFunctions.getRoles(GetRolesArgs.builder() .nameRegex("AWSReservedSSO_permission_set_name_.*") .pathPrefix("/aws-reserved/sso.amazonaws.com/") .build()); } }
-
getSamlProvider
public static com.pulumi.core.Output<GetSamlProviderResult> getSamlProvider(GetSamlProviderArgs args)
This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata document of an existing SAML provider. ## Example Usagepackage 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.GetSamlProviderArgs; 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 example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder() .arn("arn:aws:iam::123456789:saml-provider/myprovider") .build()); } }
-
getSamlProviderPlain
public static java.util.concurrent.CompletableFuture<GetSamlProviderResult> getSamlProviderPlain(GetSamlProviderPlainArgs args)
This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata document of an existing SAML provider. ## Example Usagepackage 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.GetSamlProviderArgs; 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 example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder() .arn("arn:aws:iam::123456789:saml-provider/myprovider") .build()); } }
-
getSamlProvider
public static com.pulumi.core.Output<GetSamlProviderResult> getSamlProvider(GetSamlProviderArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata document of an existing SAML provider. ## Example Usagepackage 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.GetSamlProviderArgs; 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 example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder() .arn("arn:aws:iam::123456789:saml-provider/myprovider") .build()); } }
-
getSamlProvider
public static com.pulumi.core.Output<GetSamlProviderResult> getSamlProvider(GetSamlProviderArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata document of an existing SAML provider. ## Example Usagepackage 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.GetSamlProviderArgs; 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 example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder() .arn("arn:aws:iam::123456789:saml-provider/myprovider") .build()); } }
-
getSamlProviderPlain
public static java.util.concurrent.CompletableFuture<GetSamlProviderResult> getSamlProviderPlain(GetSamlProviderPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM SAML provider. This will allow you to easily retrieve the metadata document of an existing SAML provider. ## Example Usagepackage 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.GetSamlProviderArgs; 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 example = IamFunctions.getSamlProvider(GetSamlProviderArgs.builder() .arn("arn:aws:iam::123456789:saml-provider/myprovider") .build()); } }
-
getServerCertificate
public static com.pulumi.core.Output<GetServerCertificateResult> getServerCertificate()
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificatePlain
public static java.util.concurrent.CompletableFuture<GetServerCertificateResult> getServerCertificatePlain()
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificate
public static com.pulumi.core.Output<GetServerCertificateResult> getServerCertificate(GetServerCertificateArgs args)
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificatePlain
public static java.util.concurrent.CompletableFuture<GetServerCertificateResult> getServerCertificatePlain(GetServerCertificatePlainArgs args)
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificate
public static com.pulumi.core.Output<GetServerCertificateResult> getServerCertificate(GetServerCertificateArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificate
public static com.pulumi.core.Output<GetServerCertificateResult> getServerCertificate(GetServerCertificateArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getServerCertificatePlain
public static java.util.concurrent.CompletableFuture<GetServerCertificateResult> getServerCertificatePlain(GetServerCertificatePlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to lookup information about IAM Server Certificates. ## Example Usagepackage 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.GetServerCertificateArgs; import com.pulumi.aws.elb.LoadBalancer; import com.pulumi.aws.elb.LoadBalancerArgs; import com.pulumi.aws.elb.inputs.LoadBalancerListenerArgs; 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 my-domain = IamFunctions.getServerCertificate(GetServerCertificateArgs.builder() .namePrefix("my-domain.org") .latest(true) .build()); var elb = new LoadBalancer("elb", LoadBalancerArgs.builder() .listeners(LoadBalancerListenerArgs.builder() .instancePort(8000) .instanceProtocol("https") .lbPort(443) .lbProtocol("https") .sslCertificateId(my_domain.arn()) .build()) .name("my-domain-elb") .build()); } }
-
getSessionContext
public static com.pulumi.core.Output<GetSessionContextResult> getSessionContext(GetSessionContextArgs args)
This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuerArn`. For some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role. ## Example Usage ### Basic Example
### Find the Runner's Source Role Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.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.GetSessionContextArgs; 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 example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetSessionContextArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn(current.arn()) .build()); } }
-
getSessionContextPlain
public static java.util.concurrent.CompletableFuture<GetSessionContextResult> getSessionContextPlain(GetSessionContextPlainArgs args)
This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuerArn`. For some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role. ## Example Usage ### Basic Example
### Find the Runner's Source Role Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.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.GetSessionContextArgs; 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 example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetSessionContextArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn(current.arn()) .build()); } }
-
getSessionContext
public static com.pulumi.core.Output<GetSessionContextResult> getSessionContext(GetSessionContextArgs args, com.pulumi.deployment.InvokeOptions options)
This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuerArn`. For some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role. ## Example Usage ### Basic Example
### Find the Runner's Source Role Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.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.GetSessionContextArgs; 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 example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetSessionContextArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn(current.arn()) .build()); } }
-
getSessionContext
public static com.pulumi.core.Output<GetSessionContextResult> getSessionContext(GetSessionContextArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuerArn`. For some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role. ## Example Usage ### Basic Example
### Find the Runner's Source Role Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.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.GetSessionContextArgs; 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 example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetSessionContextArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn(current.arn()) .build()); } }
-
getSessionContextPlain
public static java.util.concurrent.CompletableFuture<GetSessionContextResult> getSessionContextPlain(GetSessionContextPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source provides information on the IAM source role of an STS assumed role. For non-role ARNs, this data source simply passes the ARN through in `issuerArn`. For some AWS resources, multiple types of principals are allowed in the same argument (e.g., IAM users and IAM roles). However, these arguments often do not allow assumed-role (i.e., STS, temporary credential) principals. Given an STS ARN, this data source provides the ARN for the source IAM role. ## Example Usage ### Basic Example
### Find the Runner's Source Role Combined with `aws.getCallerIdentity`, you can get the current user's source IAM role ARN (`issuerArn`) if you're using an assumed role. If you're not using an assumed role, the caller's (e.g., an IAM user's) ARN will simply be passed through. In environments where both IAM users and individuals using assumed roles need to apply the same configurations, this data source enables seamless use.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.GetSessionContextArgs; 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 example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn("arn:aws:sts::123456789012:assumed-role/Audien-Heaven/MatyNoyes") .build()); } }package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.AwsFunctions; import com.pulumi.aws.inputs.GetCallerIdentityArgs; import com.pulumi.aws.iam.IamFunctions; import com.pulumi.aws.iam.inputs.GetSessionContextArgs; 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 current = AwsFunctions.getCallerIdentity(GetCallerIdentityArgs.builder() .build()); final var example = IamFunctions.getSessionContext(GetSessionContextArgs.builder() .arn(current.arn()) .build()); } }
-
getUser
public static com.pulumi.core.Output<GetUserResult> getUser(GetUserArgs args)
This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user properties without having to hard code ARNs or unique IDs as input. ## Example Usagepackage 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.GetUserArgs; 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 example = IamFunctions.getUser(GetUserArgs.builder() .userName("an_example_user_name") .build()); } }
-
getUserPlain
public static java.util.concurrent.CompletableFuture<GetUserResult> getUserPlain(GetUserPlainArgs args)
This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user properties without having to hard code ARNs or unique IDs as input. ## Example Usagepackage 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.GetUserArgs; 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 example = IamFunctions.getUser(GetUserArgs.builder() .userName("an_example_user_name") .build()); } }
-
getUser
public static com.pulumi.core.Output<GetUserResult> getUser(GetUserArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user properties without having to hard code ARNs or unique IDs as input. ## Example Usagepackage 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.GetUserArgs; 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 example = IamFunctions.getUser(GetUserArgs.builder() .userName("an_example_user_name") .build()); } }
-
getUser
public static com.pulumi.core.Output<GetUserResult> getUser(GetUserArgs args, com.pulumi.deployment.InvokeOutputOptions options)
This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user properties without having to hard code ARNs or unique IDs as input. ## Example Usagepackage 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.GetUserArgs; 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 example = IamFunctions.getUser(GetUserArgs.builder() .userName("an_example_user_name") .build()); } }
-
getUserPlain
public static java.util.concurrent.CompletableFuture<GetUserResult> getUserPlain(GetUserPlainArgs args, com.pulumi.deployment.InvokeOptions options)
This data source can be used to fetch information about a specific IAM user. By using this data source, you can reference IAM user properties without having to hard code ARNs or unique IDs as input. ## Example Usagepackage 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.GetUserArgs; 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 example = IamFunctions.getUser(GetUserArgs.builder() .userName("an_example_user_name") .build()); } }
-
getUserSshKey
public static com.pulumi.core.Output<GetUserSshKeyResult> getUserSshKey(GetUserSshKeyArgs args)
Use this data source to get information about a SSH public key associated with the specified IAM user. ## Example Usagepackage 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.GetUserSshKeyArgs; 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 example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder() .encoding("SSH") .sshPublicKeyId("APKARUZ32GUTKIGARLXE") .username("test-user") .build()); } }
-
getUserSshKeyPlain
public static java.util.concurrent.CompletableFuture<GetUserSshKeyResult> getUserSshKeyPlain(GetUserSshKeyPlainArgs args)
Use this data source to get information about a SSH public key associated with the specified IAM user. ## Example Usagepackage 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.GetUserSshKeyArgs; 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 example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder() .encoding("SSH") .sshPublicKeyId("APKARUZ32GUTKIGARLXE") .username("test-user") .build()); } }
-
getUserSshKey
public static com.pulumi.core.Output<GetUserSshKeyResult> getUserSshKey(GetUserSshKeyArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get information about a SSH public key associated with the specified IAM user. ## Example Usagepackage 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.GetUserSshKeyArgs; 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 example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder() .encoding("SSH") .sshPublicKeyId("APKARUZ32GUTKIGARLXE") .username("test-user") .build()); } }
-
getUserSshKey
public static com.pulumi.core.Output<GetUserSshKeyResult> getUserSshKey(GetUserSshKeyArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to get information about a SSH public key associated with the specified IAM user. ## Example Usagepackage 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.GetUserSshKeyArgs; 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 example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder() .encoding("SSH") .sshPublicKeyId("APKARUZ32GUTKIGARLXE") .username("test-user") .build()); } }
-
getUserSshKeyPlain
public static java.util.concurrent.CompletableFuture<GetUserSshKeyResult> getUserSshKeyPlain(GetUserSshKeyPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get information about a SSH public key associated with the specified IAM user. ## Example Usagepackage 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.GetUserSshKeyArgs; 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 example = IamFunctions.getUserSshKey(GetUserSshKeyArgs.builder() .encoding("SSH") .sshPublicKeyId("APKARUZ32GUTKIGARLXE") .username("test-user") .build()); } }
-
getUsers
public static com.pulumi.core.Output<GetUsersResult> getUsers()
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsersPlain
public static java.util.concurrent.CompletableFuture<GetUsersResult> getUsersPlain()
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsers
public static com.pulumi.core.Output<GetUsersResult> getUsers(GetUsersArgs args)
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsersPlain
public static java.util.concurrent.CompletableFuture<GetUsersResult> getUsersPlain(GetUsersPlainArgs args)
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsers
public static com.pulumi.core.Output<GetUsersResult> getUsers(GetUsersArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsers
public static com.pulumi.core.Output<GetUsersResult> getUsers(GetUsersArgs args, com.pulumi.deployment.InvokeOutputOptions options)
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
getUsersPlain
public static java.util.concurrent.CompletableFuture<GetUsersResult> getUsersPlain(GetUsersPlainArgs args, com.pulumi.deployment.InvokeOptions options)
Use this data source to get the ARNs and Names of IAM Users. ## Example Usage ### All users in an account
### Users filtered by name regex Users whose username contains `abc`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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .build()); } }
### Users filtered by path prefixpackage 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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .nameRegex(".*abc.*") .build()); } }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.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 users = IamFunctions.getUsers(GetUsersArgs.builder() .pathPrefix("/custom-path") .build()); } }
-
-