Class FilterOrPolicy

java.lang.Object
software.amazon.jsii.JsiiObject
software.amazon.awscdk.services.sns.FilterOrPolicy
All Implemented Interfaces:
software.amazon.jsii.JsiiSerializable
Direct Known Subclasses:
Filter, Policy

@Generated(value="jsii-pacmak/1.98.0 (build 00b106d)", date="2024-05-08T21:35:14.143Z") @Stability(Stable) public abstract class FilterOrPolicy extends software.amazon.jsii.JsiiObject
Class for building the FilterPolicy by avoiding union types.

Example:

 import software.amazon.awscdk.services.lambda.*;
 Function fn;
 Topic myTopic = new Topic(this, "MyTopic");
 // Lambda should receive only message matching the following conditions on message body:
 // color: 'red' or 'orange'
 myTopic.addSubscription(LambdaSubscription.Builder.create(fn)
         .filterPolicyWithMessageBody(Map.of(
                 "background", FilterOrPolicy.policy(Map.of(
                         "color", FilterOrPolicy.filter(SubscriptionFilter.stringFilter(StringConditions.builder()
                                 .allowlist(List.of("red", "orange"))
                                 .build()))))))
         .build());
 
  • Nested Class Summary

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

    software.amazon.jsii.JsiiObject.InitializationMode
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
    protected
    FilterOrPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
     
    protected
    FilterOrPolicy(software.amazon.jsii.JsiiObjectRef objRef)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static Filter
    Filter of MessageBody.
    Type switch for disambiguating between subclasses.
    Check if instance is Filter type.
    Check if instance is Policy type.
    static Policy
    policy(Map<String,? extends FilterOrPolicy> policy)
    Policy of MessageBody.

    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, toString, wait, wait, wait

    Methods inherited from interface software.amazon.jsii.JsiiSerializable

    $jsii$toJson
  • Constructor Details

    • FilterOrPolicy

      protected FilterOrPolicy(software.amazon.jsii.JsiiObjectRef objRef)
    • FilterOrPolicy

      protected FilterOrPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
    • FilterOrPolicy

      @Stability(Stable) protected FilterOrPolicy()
  • Method Details

    • filter

      @Stability(Stable) @NotNull public static Filter filter(@NotNull SubscriptionFilter filter)
      Filter of MessageBody.

      Parameters:
      filter - This parameter is required.
    • policy

      @Stability(Stable) @NotNull public static Policy policy(@NotNull Map<String,? extends FilterOrPolicy> policy)
      Policy of MessageBody.

      Parameters:
      policy - This parameter is required.
    • isFilter

      @Stability(Stable) @NotNull public Boolean isFilter()
      Check if instance is Filter type.
    • isPolicy

      @Stability(Stable) @NotNull public Boolean isPolicy()
      Check if instance is Policy type.
    • getType

      @Stability(Stable) @NotNull public abstract FilterOrPolicyType getType()
      Type switch for disambiguating between subclasses.