Class TopicPolicy
java.lang.Object
software.amazon.jsii.JsiiObject
software.constructs.Construct
software.amazon.awscdk.Resource
software.amazon.awscdk.services.sns.TopicPolicy
- All Implemented Interfaces:
IResource,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
@Generated(value="jsii-pacmak/1.116.0 (build 0eddcff)",
date="2025-10-29T11:15:49.103Z")
@Stability(Stable)
public class TopicPolicy
extends Resource
The policy for an SNS Topic.
Policies define the operations that are allowed on this resource.
You almost never need to define this construct directly.
All AWS resources that support resource policies have a method called
addToResourcePolicy(), which will automatically create a new resource
policy if one doesn't exist yet, otherwise it will add to the existing
policy.
Prefer to use addToResourcePolicy() instead.
Example:
Topic topic = new Topic(this, "Topic");
PolicyDocument policyDocument = PolicyDocument.Builder.create()
.assignSids(true)
.statements(List.of(
PolicyStatement.Builder.create()
.actions(List.of("sns:Subscribe"))
.principals(List.of(new AnyPrincipal()))
.resources(List.of(topic.getTopicArn()))
.build()))
.build();
TopicPolicy topicPolicy = TopicPolicy.Builder.create(this, "Policy")
.topics(List.of(topic))
.policyDocument(policyDocument)
.build();
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.IResource
IResource.Jsii$Default -
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedTopicPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedTopicPolicy(software.amazon.jsii.JsiiObjectRef objRef) TopicPolicy(software.constructs.Construct scope, String id, TopicPolicyProps props) -
Method Summary
Modifier and TypeMethodDescriptionprotected PolicyStatementcreateSSLPolicyDocument(String topicArn) Adds a statement to enforce encryption of data in transit when publishing to the topic.The IAM policy document for this policy.Methods inherited from class software.amazon.awscdk.Resource
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isOwnedResource, isResourceMethods inherited from class software.constructs.Construct
getNode, isConstruct, toStringMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.constructs.IConstruct
getNodeMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
PROPERTY_INJECTION_ID
Uniquely identifies this class.
-
-
Constructor Details
-
TopicPolicy
protected TopicPolicy(software.amazon.jsii.JsiiObjectRef objRef) -
TopicPolicy
protected TopicPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
TopicPolicy
@Stability(Stable) public TopicPolicy(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull TopicPolicyProps props) - Parameters:
scope- This parameter is required.id- This parameter is required.props- This parameter is required.
-
-
Method Details
-
createSSLPolicyDocument
@Stability(Stable) @NotNull protected PolicyStatement createSSLPolicyDocument(@NotNull String topicArn) Adds a statement to enforce encryption of data in transit when publishing to the topic.For more information, see https://docs.aws.amazon.com/sns/latest/dg/sns-security-best-practices.html#enforce-encryption-data-in-transit.
- Parameters:
topicArn- This parameter is required.
-
getDocument
The IAM policy document for this policy.
-