Package com.pulumi.aws.iam
Class InstanceProfile
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.iam.InstanceProfile
-
public class InstanceProfile extends com.pulumi.resources.CustomResourceProvides an IAM instance profile. > **NOTE:** When managing instance profiles, remember that the `name` attribute must always be unique. This means that even if you have different `role` or `path` values, duplicating an existing instance profile `name` will lead to an `EntityAlreadyExists` error. ## Example Usage
## Import ### Identity Schema #### Required * `name` (String) Name of the instance profile. #### Optional * `accountId` (String) AWS Account where this resource is managed. Using `pulumi import`, import Instance Profiles using the `name`. For example: ```sh $ pulumi import aws:iam/instanceProfile:InstanceProfile example app-instance-profile-1 ```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.GetPolicyDocumentStatementPrincipalArgs; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.iam.InstanceProfile; import com.pulumi.aws.iam.InstanceProfileArgs; 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 assumeRole = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() .statements(GetPolicyDocumentStatementArgs.builder() .principals(GetPolicyDocumentStatementPrincipalArgs.builder() .type("Service") .identifiers("ec2.amazonaws.com") .build()) .effect("Allow") .actions("sts:AssumeRole") .build()) .build()); var role = new Role("role", RoleArgs.builder() .name("test_role") .path("/") .assumeRolePolicy(assumeRole.json()) .build()); var testProfile = new InstanceProfile("testProfile", InstanceProfileArgs.builder() .name("test_profile") .role(role.name()) .build()); } }
-
-
Constructor Summary
Constructors Constructor Description InstanceProfile(java.lang.String name)InstanceProfile(java.lang.String name, InstanceProfileArgs args)InstanceProfile(java.lang.String name, InstanceProfileArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.lang.String>createDate()static InstanceProfileget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, InstanceProfileState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>name()com.pulumi.core.Output<java.lang.String>namePrefix()com.pulumi.core.Output<java.util.Optional<java.lang.String>>path()com.pulumi.core.Output<java.util.Optional<java.lang.String>>role()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.lang.String>uniqueId()
-
-
-
Constructor Detail
-
InstanceProfile
public InstanceProfile(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
InstanceProfile
public InstanceProfile(java.lang.String name, @Nullable InstanceProfileArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
InstanceProfile
public InstanceProfile(java.lang.String name, @Nullable InstanceProfileArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN assigned by AWS to the instance profile.
-
createDate
public com.pulumi.core.Output<java.lang.String> createDate()
- Returns:
- Creation timestamp of the instance profile.
-
name
public com.pulumi.core.Output<java.lang.String> name()
- Returns:
- Name of the instance profile. If omitted, this provider will assign a random, unique name. Conflicts with `namePrefix`. Can be a string of characters consisting of upper and lowercase alphanumeric characters and these special characters: `_`, `+`, `=`, `,`, `.`, `@`, `-`. Spaces are not allowed. The `name` must be unique, regardless of the `path` or `role`. In other words, if there are different `role` or `path` values but the same `name` as an existing instance profile, it will still cause an `EntityAlreadyExists` error.
-
namePrefix
public com.pulumi.core.Output<java.lang.String> namePrefix()
- Returns:
- Creates a unique name beginning with the specified prefix. Conflicts with `name`.
-
path
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> path()
- Returns:
- Path to the instance profile. For more information about paths, see [IAM Identifiers](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html) in the IAM User Guide. Can be a string of characters consisting of either a forward slash (`/`) by itself or a string that must begin and end with forward slashes. Can include any ASCII character from the ! (!) through the DEL character (), including most punctuation characters, digits, and upper and lowercase letters.
-
role
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> role()
- Returns:
- Name of the role to add to the profile.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Map of resource tags for the IAM Instance Profile. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- A map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
uniqueId
public com.pulumi.core.Output<java.lang.String> uniqueId()
- Returns:
- [Unique ID](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_Identifiers.html#GUIDs) assigned by AWS.
-
get
public static InstanceProfile get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable InstanceProfileState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-