FilterOrPolicy Class
Class for building the FilterPolicy by avoiding union types.
Example
ts
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
ts
new FilterOrPolicy()
python
FilterOrPolicy()
java
new FilterOrPolicy()
csharp
new FilterOrPolicy()
go
NewFilterOrPolicy()
Properties
typeFilterOrPolicyTypetypeFilterOrPolicyTypetypeFilterOrPolicyTypeTypeFilterOrPolicyTypeTypeFilterOrPolicyType#Type switch for disambiguating between subclasses.
Methods
filter(filter: SubscriptionFilter): Filter@staticmethod def filter(filter: SubscriptionFilter) -> Filterpublic static Filter filter(SubscriptionFilter filter)public static Filter Filter(SubscriptionFilter filter)func Filter(Filter SubscriptionFilter) Filterstatic#Filter of MessageBody.
isFilter(): booleandef is_filter(self, ) -> boolpublic Boolean isFilter()public bool IsFilter()func IsFilter() *bool#Check if instance is `Filter` type.
isPolicy(): booleandef is_policy(self, ) -> boolpublic Boolean isPolicy()public bool IsPolicy()func IsPolicy() *bool#Check if instance is `Policy` type.
policy(policy: { [key: string]: FilterOrPolicy }): Policy@staticmethod def policy(policy: typing.Mapping[str, FilterOrPolicy]) -> Policypublic static Policy policy(Map<String, FilterOrPolicy> policy)public static Policy Policy(IDictionary<string, FilterOrPolicy> policy)func Policy(Policy *map[string]FilterOrPolicy) Policystatic#Policy of MessageBody.