Class Policy.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<Policy>
- Enclosing class:
- Policy
Policy
.-
Method Summary
Modifier and TypeMethodDescriptionbuild()
static Policy.Builder
document
(PolicyDocument document) Initial PolicyDocument to use for this Policy.Force creation of anAWS::IAM::Policy
.Groups to attach this policy to.policyName
(String policyName) The name of the policy.Roles to attach this policy to.statements
(List<? extends PolicyStatement> statements) Initial set of permissions to add to this policy document.Users to attach this policy to.
-
Method Details
-
create
@Stability(Stable) public static Policy.Builder create(software.constructs.Construct scope, String id) - Parameters:
scope
- This parameter is required.id
- This parameter is required.- Returns:
- a new instance of
Policy.Builder
.
-
document
Initial PolicyDocument to use for this Policy.If omited, any
PolicyStatement
provided in thestatements
property will be applied against the empty defaultPolicyDocument
.Default: - An empty policy.
- Parameters:
document
- Initial PolicyDocument to use for this Policy. This parameter is required.- Returns:
this
-
force
Force creation of anAWS::IAM::Policy
.Unless set to
true
, thisPolicy
construct will not materialize to anAWS::IAM::Policy
CloudFormation resource in case it would have no effect (for example, if it remains unattached to an IAM identity or if it has no statements). This is generally desired behavior, since it prevents creating invalid--and hence undeployable--CloudFormation templates.In cases where you know the policy must be created and it is actually an error if no statements have been added to it, you can set this to
true
.Default: false
- Parameters:
force
- Force creation of anAWS::IAM::Policy
. This parameter is required.- Returns:
this
-
groups
Groups to attach this policy to.You can also use
attachToGroup(group)
to attach this policy to a group.Default: - No groups.
- Parameters:
groups
- Groups to attach this policy to. This parameter is required.- Returns:
this
-
policyName
The name of the policy.If you specify multiple policies for an entity, specify unique names. For example, if you specify a list of policies for an IAM role, each policy must have a unique name.
Default: - Uses the logical ID of the policy resource, which is ensured to be unique within the stack.
- Parameters:
policyName
- The name of the policy. This parameter is required.- Returns:
this
-
roles
Roles to attach this policy to.You can also use
attachToRole(role)
to attach this policy to a role.Default: - No roles.
- Parameters:
roles
- Roles to attach this policy to. This parameter is required.- Returns:
this
-
statements
Initial set of permissions to add to this policy document.You can also use
addStatements(...statement)
to add permissions later.Default: - No statements.
- Parameters:
statements
- Initial set of permissions to add to this policy document. This parameter is required.- Returns:
this
-
users
Users to attach this policy to.You can also use
attachToUser(user)
to attach this policy to a user.Default: - No users.
- Parameters:
users
- Users to attach this policy to. This parameter is required.- Returns:
this
-
build
-