Show / Hide Table of Contents

Class FilterOrPolicy

Class for building the FilterPolicy by avoiding union types.

Inheritance
object
FilterOrPolicy
Filter
Policy
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 Filter type.

IsPolicy()

Check if instance is Policy type.

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

FilterOrPolicyType

Remarks

ExampleMetadata: infused

Methods

Filter(SubscriptionFilter)

Filter of MessageBody.

public static Filter Filter(SubscriptionFilter filter)
Parameters
filter SubscriptionFilter
Returns

Filter

Remarks

ExampleMetadata: infused

IsFilter()

Check if instance is Filter type.

public virtual bool IsFilter()
Returns

bool

Remarks

ExampleMetadata: infused

IsPolicy()

Check if instance is Policy type.

public virtual bool IsPolicy()
Returns

bool

Remarks

ExampleMetadata: infused

Policy(IDictionary<string, FilterOrPolicy>)

Policy of MessageBody.

public static Policy Policy(IDictionary<string, FilterOrPolicy> policy)
Parameters
policy IDictionary<string, FilterOrPolicy>
Returns

Policy

Remarks

ExampleMetadata: infused

Back to top Generated by DocFX