class FilterOrPolicy
| Language | Type name | 
|---|---|
|  .NET | Amazon.CDK.AWS.SNS.FilterOrPolicy | 
|  Go | github.com/aws/aws-cdk-go/awscdk/v2/awssns#FilterOrPolicy | 
|  Java | software.amazon.awscdk.services.sns.FilterOrPolicy | 
|  Python | aws_cdk.aws_sns.FilterOrPolicy | 
|  TypeScript (source) | aws-cdk-lib»aws_sns»FilterOrPolicy | 
Class for building the FilterPolicy by avoiding union types.
Example
import * as lambda from 'aws-cdk-lib/aws-lambda';
const myTopic = new sns.Topic(this, 'MyTopic');
declare const fn: lambda.Function;
// Lambda should receive only message matching the following conditions on message body:
// color: 'red' or 'orange'
// store: property must not be present
myTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {
  filterPolicyWithMessageBody: {
    background: sns.FilterOrPolicy.policy({
      color: sns.FilterOrPolicy.filter(sns.SubscriptionFilter.stringFilter({
        allowlist: ['red', 'orange'],
      })),
    }),
    store: sns.FilterOrPolicy.filter(sns.SubscriptionFilter.notExistsFilter()),
  },
}));
Initializer
new FilterOrPolicy()
Properties
| Name | Type | Description | 
|---|---|---|
| type | Filter | Type switch for disambiguating between subclasses. | 
type
Type:
Filter
Type switch for disambiguating between subclasses.
Methods
| Name | Description | 
|---|---|
| is | Check if instance is Filtertype. | 
| is | Check if instance is Policytype. | 
| static filter(filter) | Filter of MessageBody. | 
| static policy(policy) | Policy of MessageBody. | 
isFilter() 
public isFilter(): boolean
Returns
- boolean
Check if instance is Filter type.
isPolicy() 
public isPolicy(): boolean
Returns
- boolean
Check if instance is Policy type.
static filter(filter)
public static filter(filter: SubscriptionFilter): Filter
Parameters
- filter SubscriptionFilter 
Returns
Filter of MessageBody.
static policy(policy)
public static policy(policy: { [string]: FilterOrPolicy }): Policy
Parameters
- policy { [string]:FilterOr Policy }
Returns
Policy of MessageBody.
