| Modifier and Type | Method and Description |
|---|---|
Role.Builder |
assumedBy(IPrincipal assumedBy)
The IAM principal (i.e.
|
Role |
build() |
static Role.Builder |
create(software.constructs.Construct scope,
String id) |
Role.Builder |
description(String description)
A description of the role.
|
Role.Builder |
externalIds(List<String> externalIds)
List of IDs that the role assumer needs to provide one of when assuming this role.
|
Role.Builder |
inlinePolicies(Map<String,? extends PolicyDocument> inlinePolicies)
A list of named policies to inline into this role.
|
Role.Builder |
managedPolicies(List<? extends IManagedPolicy> managedPolicies)
A list of managed policies associated with this role.
|
Role.Builder |
maxSessionDuration(Duration maxSessionDuration)
The maximum session duration that you want to set for the specified role.
|
Role.Builder |
path(String path)
The path associated with this role.
|
Role.Builder |
permissionsBoundary(IManagedPolicy permissionsBoundary)
AWS supports permissions boundaries for IAM entities (users or roles).
|
Role.Builder |
roleName(String roleName)
A name for the IAM role.
|
@Stability(value=Stable) public static Role.Builder create(software.constructs.Construct scope, String id)
scope - This parameter is required.id - This parameter is required.Role.Builder.@Stability(value=Stable) public Role.Builder assumedBy(IPrincipal assumedBy)
You can later modify the assume role policy document by accessing it via
the assumeRolePolicy property.
assumedBy - The IAM principal (i.e. `new ServicePrincipal('sns.amazonaws.com')`) which can assume this role. This parameter is required.this@Stability(value=Stable) public Role.Builder description(String description)
It can be up to 1000 characters long.
Default: - No description.
description - A description of the role. This parameter is required.this@Stability(value=Stable) public Role.Builder externalIds(List<String> externalIds)
If the configured and provided external IDs do not match, the AssumeRole operation will fail.
Default: No external ID required
externalIds - List of IDs that the role assumer needs to provide one of when assuming this role. This parameter is required.this@Stability(value=Stable) public Role.Builder inlinePolicies(Map<String,? extends PolicyDocument> inlinePolicies)
These policies will be
created with the role, whereas those added by addToPolicy are added
using a separate CloudFormation resource (allowing a way around circular
dependencies that could otherwise be introduced).
Default: - No policy is inlined in the Role resource.
inlinePolicies - A list of named policies to inline into this role. This parameter is required.this@Stability(value=Stable) public Role.Builder managedPolicies(List<? extends IManagedPolicy> managedPolicies)
You can add managed policies later using
addManagedPolicy(ManagedPolicy.fromAwsManagedPolicyName(policyName)).
Default: - No managed policies.
managedPolicies - A list of managed policies associated with this role. This parameter is required.this@Stability(value=Stable) public Role.Builder maxSessionDuration(Duration maxSessionDuration)
This setting can have a value from 1 hour (3600sec) to 12 (43200sec) hours.
Anyone who assumes the role from the AWS CLI or API can use the DurationSeconds API parameter or the duration-seconds CLI parameter to request a longer session. The MaxSessionDuration setting determines the maximum duration that can be requested using the DurationSeconds parameter.
If users don't specify a value for the DurationSeconds parameter, their security credentials are valid for one hour by default. This applies when you use the AssumeRole* API operations or the assume-role* CLI operations but does not apply when you use those operations to create a console URL.
Default: Duration.hours(1)
maxSessionDuration - The maximum session duration that you want to set for the specified role. This parameter is required.this@Stability(value=Stable) public Role.Builder path(String path)
For information about IAM paths, see Friendly Names and Paths in IAM User Guide.
Default: /
path - The path associated with this role. This parameter is required.this@Stability(value=Stable) public Role.Builder permissionsBoundary(IManagedPolicy permissionsBoundary)
A permissions boundary is an advanced feature for using a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity. An entity's permissions boundary allows it to perform only the actions that are allowed by both its identity-based policies and its permissions boundaries.
Default: - No permissions boundary.
permissionsBoundary - AWS supports permissions boundaries for IAM entities (users or roles). This parameter is required.this@Stability(value=Stable) public Role.Builder roleName(String roleName)
For valid values, see the RoleName parameter for the CreateRole action in the IAM API Reference.
IMPORTANT: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
If you specify a name, you must specify the CAPABILITY_NAMED_IAM value to acknowledge your template's capabilities. For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.
Default: - AWS CloudFormation generates a unique physical ID and uses that ID for the role name.
roleName - A name for the IAM role. This parameter is required.thisCopyright © 2022. All rights reserved.