Class FilterOrPolicy
Class for building the FilterPolicy by avoiding union types.
Namespace: Amazon.CDK.AWS.SNS
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public abstract class FilterOrPolicy : DeputyBase
Syntax (vb)
Public MustInherit Class FilterOrPolicy Inherits DeputyBase
Remarks
ExampleMetadata: infused
Examples
using Amazon.CDK.AWS.Lambda;
Function fn;
var myTopic = new Topic(this, "MyTopic");
// 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 LambdaSubscription(fn, new LambdaSubscriptionProps {
FilterPolicyWithMessageBody = new Dictionary<string, FilterOrPolicy> {
{ "background", FilterOrPolicy.Policy(new Dictionary<string, FilterOrPolicy> {
{ "color", FilterOrPolicy.Filter(SubscriptionFilter.StringFilter(new StringConditions {
Allowlist = new [] { "red", "orange" }
})) }
}) },
{ "store", FilterOrPolicy.Filter(SubscriptionFilter.NotExistsFilter()) }
}
}));
Synopsis
Constructors
| FilterOrPolicy() | Class for building the FilterPolicy by avoiding union types. |
Properties
| Type | Type switch for disambiguating between subclasses. |
Methods
| Filter(SubscriptionFilter) | Filter of MessageBody. |
| IsFilter() | Check if instance is |
| IsPolicy() | Check if instance is |
| Policy(IDictionary<string, FilterOrPolicy>) | Policy of MessageBody. |
Constructors
FilterOrPolicy()
Class for building the FilterPolicy by avoiding union types.
protected FilterOrPolicy()
Remarks
ExampleMetadata: infused
Examples
using Amazon.CDK.AWS.Lambda;
Function fn;
var myTopic = new Topic(this, "MyTopic");
// 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 LambdaSubscription(fn, new LambdaSubscriptionProps {
FilterPolicyWithMessageBody = new Dictionary<string, FilterOrPolicy> {
{ "background", FilterOrPolicy.Policy(new Dictionary<string, FilterOrPolicy> {
{ "color", FilterOrPolicy.Filter(SubscriptionFilter.StringFilter(new StringConditions {
Allowlist = new [] { "red", "orange" }
})) }
}) },
{ "store", FilterOrPolicy.Filter(SubscriptionFilter.NotExistsFilter()) }
}
}));
Properties
Type
Type switch for disambiguating between subclasses.
public abstract FilterOrPolicyType Type { get; }
Property Value
Remarks
ExampleMetadata: infused
Methods
Filter(SubscriptionFilter)
Filter of MessageBody.
public static Filter Filter(SubscriptionFilter filter)
Parameters
- filter SubscriptionFilter
Returns
Remarks
ExampleMetadata: infused
IsFilter()
Check if instance is Filter type.
public virtual bool IsFilter()
Returns
Remarks
ExampleMetadata: infused
IsPolicy()
Check if instance is Policy type.
public virtual bool IsPolicy()
Returns
Remarks
ExampleMetadata: infused
Policy(IDictionary<string, FilterOrPolicy>)
Policy of MessageBody.
public static Policy Policy(IDictionary<string, FilterOrPolicy> policy)
Parameters
- policy IDictionary<string, FilterOrPolicy>
Returns
Remarks
ExampleMetadata: infused