AwsIamUserArgs

interface AwsIamUserArgs extends Omit<AwsIamUserResourceArgs, 'name'> { accessKeys?: Record<string, AwsIamUserAccessKeyArgs>; forceDestroy?: Input<boolean | undefined>; managedPolicies?: Record<string, AwsIamPolicyReference>; managedPolicyArns?: Record<string, Input<string>>; name: string; path?: Input<string | undefined>; permissionsBoundary?: Input<string | undefined>; tags?: Input<{ [key: string]: Input<string> } | undefined>; }

User inputs for AwsIam that allow referencing managed policies by object.

Remarks

Managed access keys expose only non-secret metadata through userAccessKeys outputs. The component does not configure provider PGP encryption for access-key creation because no shared PGP key is available for all consumers.

Example

CODE
const user = new AwsIam({
  user: {
    name: 'automationUser',
    accessKeys: {
      '2026': { status: 'Active' },
      '2027': { status: 'Inactive' },
    },
  },
});

export const accessKey2026Id = user.userAccessKeys?.['2026']?.id;

Hierarchy

  • Omit<AwsIamUserResourceArgs, "name">
  • AwsIamUserArgs

Properties

accessKeys: Record<string, AwsIamUserAccessKeyArgs>

Inherited from accessKeys

Optional IAM access keys keyed by stable, consumer-defined identities. AWS allows up to two active or inactive access keys per user.

forceDestroy: Input<boolean | undefined>

Inherited from forceDestroy

When destroying this user, destroy even if it has non-provider-managed IAM access keys, login profile or MFA devices. Without forceDestroy a user with non-provider-managed access keys and login profile will fail to be destroyed.

managedPolicies: Record<string, AwsIamPolicyReference>

Optional policy references for user attachment.

Remarks

You may pass AwsIam policy components, IAM policy objects created by this package, or direct ARN/name inputs.

managedPolicyArns: Record<string, Input<string>>

Optional managed policy references (ARNs or AWS managed policy names) to attach to the user.

name: string

Plain-string user name used as the logical identity source for the AwsIam user capability.

path: Input<string | undefined>

Inherited from path

Path in which to create the user.

permissionsBoundary: Input<string | undefined>

Inherited from permissionsBoundary

The ARN of the policy that is used to set the permissions boundary for the user.

tags: Input<{ [key: string]: Input<string> } | undefined>

Inherited from tags

Key-value mapping of tags for the IAM user. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.