Show / Hide Table of Contents

Class CfnRuleGroup.RulesSourceProperty

The stateless or stateful rules definitions for use in a single rule group.

Inheritance
object
CfnRuleGroup.RulesSourceProperty
Implements
CfnRuleGroup.IRulesSourceProperty
Inherited Members
object.GetType()
object.MemberwiseClone()
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Amazon.CDK.AWS.NetworkFirewall
Assembly: Amazon.CDK.Lib.dll
Syntax (csharp)
public class CfnRuleGroup.RulesSourceProperty : CfnRuleGroup.IRulesSourceProperty
Syntax (vb)
Public Class CfnRuleGroup.RulesSourceProperty Implements CfnRuleGroup.IRulesSourceProperty
Remarks

Each rule group requires a single RulesSource . You can use an instance of this for either stateless rules or stateful rules.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.AWS.NetworkFirewall;

             var rulesSourceProperty = new RulesSourceProperty {
                 RulesSourceList = new RulesSourceListProperty {
                     GeneratedRulesType = "generatedRulesType",
                     Targets = new [] { "targets" },
                     TargetTypes = new [] { "targetTypes" }
                 },
                 RulesString = "rulesString",
                 StatefulRules = new [] { new StatefulRuleProperty {
                     Action = "action",
                     Header = new HeaderProperty {
                         Destination = "destination",
                         DestinationPort = "destinationPort",
                         Direction = "direction",
                         Protocol = "protocol",
                         Source = "source",
                         SourcePort = "sourcePort"
                     },
                     RuleOptions = new [] { new RuleOptionProperty {
                         Keyword = "keyword",

                         // the properties below are optional
                         Settings = new [] { "settings" }
                     } }
                 } },
                 StatelessRulesAndCustomActions = new StatelessRulesAndCustomActionsProperty {
                     StatelessRules = new [] { new StatelessRuleProperty {
                         Priority = 123,
                         RuleDefinition = new RuleDefinitionProperty {
                             Actions = new [] { "actions" },
                             MatchAttributes = new MatchAttributesProperty {
                                 DestinationPorts = new [] { new PortRangeProperty {
                                     FromPort = 123,
                                     ToPort = 123
                                 } },
                                 Destinations = new [] { new AddressProperty {
                                     AddressDefinition = "addressDefinition"
                                 } },
                                 Protocols = new [] { 123 },
                                 SourcePorts = new [] { new PortRangeProperty {
                                     FromPort = 123,
                                     ToPort = 123
                                 } },
                                 Sources = new [] { new AddressProperty {
                                     AddressDefinition = "addressDefinition"
                                 } },
                                 TcpFlags = new [] { new TCPFlagFieldProperty {
                                     Flags = new [] { "flags" },

                                     // the properties below are optional
                                     Masks = new [] { "masks" }
                                 } }
                             }
                         }
                     } },

                     // the properties below are optional
                     CustomActions = new [] { new CustomActionProperty {
                         ActionDefinition = new ActionDefinitionProperty {
                             PublishMetricAction = new PublishMetricActionProperty {
                                 Dimensions = new [] { new DimensionProperty {
                                     Value = "value"
                                 } }
                             }
                         },
                         ActionName = "actionName"
                     } }
                 }
             };

Synopsis

Constructors

RulesSourceProperty()

The stateless or stateful rules definitions for use in a single rule group.

Properties

RulesSourceList

Stateful inspection criteria for a domain list rule group.

RulesString

Stateful inspection criteria, provided in Suricata compatible rules.

StatefulRules

An array of individual stateful rules inspection criteria to be used together in a stateful rule group.

StatelessRulesAndCustomActions

Stateless inspection criteria to be used in a stateless rule group.

Constructors

RulesSourceProperty()

The stateless or stateful rules definitions for use in a single rule group.

public RulesSourceProperty()
Remarks

Each rule group requires a single RulesSource . You can use an instance of this for either stateless rules or stateful rules.

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.AWS.NetworkFirewall;

             var rulesSourceProperty = new RulesSourceProperty {
                 RulesSourceList = new RulesSourceListProperty {
                     GeneratedRulesType = "generatedRulesType",
                     Targets = new [] { "targets" },
                     TargetTypes = new [] { "targetTypes" }
                 },
                 RulesString = "rulesString",
                 StatefulRules = new [] { new StatefulRuleProperty {
                     Action = "action",
                     Header = new HeaderProperty {
                         Destination = "destination",
                         DestinationPort = "destinationPort",
                         Direction = "direction",
                         Protocol = "protocol",
                         Source = "source",
                         SourcePort = "sourcePort"
                     },
                     RuleOptions = new [] { new RuleOptionProperty {
                         Keyword = "keyword",

                         // the properties below are optional
                         Settings = new [] { "settings" }
                     } }
                 } },
                 StatelessRulesAndCustomActions = new StatelessRulesAndCustomActionsProperty {
                     StatelessRules = new [] { new StatelessRuleProperty {
                         Priority = 123,
                         RuleDefinition = new RuleDefinitionProperty {
                             Actions = new [] { "actions" },
                             MatchAttributes = new MatchAttributesProperty {
                                 DestinationPorts = new [] { new PortRangeProperty {
                                     FromPort = 123,
                                     ToPort = 123
                                 } },
                                 Destinations = new [] { new AddressProperty {
                                     AddressDefinition = "addressDefinition"
                                 } },
                                 Protocols = new [] { 123 },
                                 SourcePorts = new [] { new PortRangeProperty {
                                     FromPort = 123,
                                     ToPort = 123
                                 } },
                                 Sources = new [] { new AddressProperty {
                                     AddressDefinition = "addressDefinition"
                                 } },
                                 TcpFlags = new [] { new TCPFlagFieldProperty {
                                     Flags = new [] { "flags" },

                                     // the properties below are optional
                                     Masks = new [] { "masks" }
                                 } }
                             }
                         }
                     } },

                     // the properties below are optional
                     CustomActions = new [] { new CustomActionProperty {
                         ActionDefinition = new ActionDefinitionProperty {
                             PublishMetricAction = new PublishMetricActionProperty {
                                 Dimensions = new [] { new DimensionProperty {
                                     Value = "value"
                                 } }
                             }
                         },
                         ActionName = "actionName"
                     } }
                 }
             };

Properties

RulesSourceList

Stateful inspection criteria for a domain list rule group.

public object? RulesSourceList { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-rulessourcelist

Type union: either IResolvable or CfnRuleGroup.IRulesSourceListProperty

RulesString

Stateful inspection criteria, provided in Suricata compatible rules.

public string? RulesString { get; set; }
Property Value

string

Remarks

Suricata is an open-source threat detection framework that includes a standard rule-based language for network traffic inspection.

These rules contain the inspection criteria and the action to take for traffic that matches the criteria, so this type of rule group doesn't have a separate action setting.

You can't use the <code>priority</code> keyword if the <code>RuleOrder</code> option in StatefulRuleOptions is set to <code>STRICT_ORDER</code> .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-rulesstring

StatefulRules

An array of individual stateful rules inspection criteria to be used together in a stateful rule group.

public object? StatefulRules { get; set; }
Property Value

object

Remarks

Use this option to specify simple Suricata rules with protocol, source and destination, ports, direction, and rule options. For information about the Suricata Rules format, see Rules Format .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-statefulrules

Type union: either IResolvable or (either IResolvable or CfnRuleGroup.IStatefulRuleProperty)[]

StatelessRulesAndCustomActions

Stateless inspection criteria to be used in a stateless rule group.

public object? StatelessRulesAndCustomActions { get; set; }
Property Value

object

Remarks

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-networkfirewall-rulegroup-rulessource.html#cfn-networkfirewall-rulegroup-rulessource-statelessrulesandcustomactions

Type union: either IResolvable or CfnRuleGroup.IStatelessRulesAndCustomActionsProperty

Implements

CfnRuleGroup.IRulesSourceProperty
Back to top Generated by DocFX