aws-cdk-lib.aws_sns.FilterOrPolicy

class FilterOrPolicy

LanguageType name
.NETAmazon.CDK.AWS.SNS.FilterOrPolicy
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awssns#FilterOrPolicy
Javasoftware.amazon.awscdk.services.sns.FilterOrPolicy
Pythonaws_cdk.aws_sns.FilterOrPolicy
TypeScript (source)aws-cdk-lib » aws_sns » FilterOrPolicy

Implemented by Filter, Policy

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'
myTopic.addSubscription(new subscriptions.LambdaSubscription(fn, {
  filterPolicyWithMessageBody: {
    background: sns.FilterOrPolicy.policy({
      color: sns.FilterOrPolicy.filter(sns.SubscriptionFilter.stringFilter({
        allowlist: ['red', 'orange'],
      })),
    }),
  },
}));

Initializer

new FilterOrPolicy()

Properties

NameTypeDescription
typeFilterOrPolicyTypeType switch for disambiguating between subclasses.

type

Type: FilterOrPolicyType

Type switch for disambiguating between subclasses.

Methods

NameDescription
isFilter()Check if instance is Filter type.
isPolicy()Check if instance is Policy type.
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

Filter of MessageBody.


static policy(policy)

public static policy(policy: { [string]: FilterOrPolicy }): Policy

Parameters

  • policy { [string]: FilterOrPolicy }

Returns

  • Policy

Policy of MessageBody.