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.89.0 (build 2f74b3e)", date="2023-11-02T10:21:24.102Z") @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");
 TopicPolicy topicPolicy = TopicPolicy.Builder.create(this, "TopicPolicy")
         .topics(List.of(topic))
         .build();
 topicPolicy.document.addStatements(PolicyStatement.Builder.create()
         .actions(List.of("sns:Subscribe"))
         .principals(List.of(new AnyPrincipal()))
         .resources(List.of(topic.getTopicArn()))
         .build());
 
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
    A fluent builder for TopicPolicy.

    Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject

    software.amazon.jsii.JsiiObject.InitializationMode

    Nested classes/interfaces inherited from interface software.constructs.IConstruct

    software.constructs.IConstruct.Jsii$Default

    Nested classes/interfaces inherited from interface software.amazon.awscdk.IResource

    IResource.Jsii$Default
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    TopicPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    TopicPolicy(software.amazon.jsii.JsiiObjectRef objRef)
     
     
    TopicPolicy(software.constructs.Construct scope, String id, TopicPolicyProps props)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    The IAM policy document for this policy.

    Methods inherited from class software.constructs.Construct

    getNode, isConstruct, toString

    Methods inherited from class software.amazon.jsii.JsiiObject

    jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface software.constructs.IConstruct

    getNode

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • 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

    • getDocument

      @Stability(Stable) @NotNull public PolicyDocument getDocument()
      The IAM policy document for this policy.