Interface IamPolicyWriter
- All Superinterfaces:
ToCopyableBuilder<IamPolicyWriter.Builder,
IamPolicyWriter>
- All Known Implementing Classes:
DefaultIamPolicyWriter
@ThreadSafe
public interface IamPolicyWriter
extends ToCopyableBuilder<IamPolicyWriter.Builder,IamPolicyWriter>
The
Create and use a writer that pretty-prints the IAM policy JSON:
IamPolicyReader
converts an IamPolicy
into JSON.
Usage Examples
Create a new IAM identity policy that allows a role to write items to an Amazon DynamoDB table.// IamClient requires a dependency on software.amazon.awssdk:iam
try (IamClient iam = IamClient.builder().region(Region.AWS_GLOBAL).build()) {
IamPolicy policy =
IamPolicy.builder()
.addStatement(IamStatement.builder()
.effect(IamEffect.ALLOW)
.addAction("dynamodb:PutItem")
.addResource("arn:aws:dynamodb:us-east-2:123456789012:table/books")
.build())
.build();
IamPolicyWriter writer = IamPolicyWriter.create();
iam.createPolicy(r -> r.policyName("AllowWriteBookMetadata")
.policyDocument(writer.writeToString(policy)));
}
IamPolicyWriter prettyWriter =
IamPolicyWriter.builder()
.prettyPrint(true)
.build();
IamPolicy policy =
IamPolicy.builder()
.addStatement(IamStatement.builder()
.effect(IamEffect.ALLOW)
.addAction("dynamodb:PutItem")
.addResource("arn:aws:dynamodb:us-east-2:123456789012:table/books")
.build())
.build();
System.out.println("Policy:\n" + policy.toJson(prettyWriter));
- See Also:
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic IamPolicyWriter.Builder
builder()
Create aIamPolicyWriter.Builder
for anIamPolicyWriter
.static IamPolicyWriter
create()
Create a newIamPolicyReader
.byte[]
writeToBytes
(IamPolicy policy) Write a policy to abyte
array.writeToString
(IamPolicy policy) Write a policy to aString
.Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy, toBuilder
-
Method Details
-
create
Create a newIamPolicyReader
.This method is inexpensive, allowing the creation of writers wherever they are needed.
-
builder
Create aIamPolicyWriter.Builder
for anIamPolicyWriter
. -
writeToString
-
writeToBytes
Write a policy to abyte
array.This does not validate that the provided policy is correct or valid.
-