AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer.

Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see Listener Rules in the Application Load Balancers Guide.

To view your current rules, use DescribeRules. To update a rule, use ModifyRule. To set the priorities of your rules, use SetRulePriorities. To delete a rule, use DeleteRule.


For .NET Core and PCL this operation is only available in asynchronous form. Please refer to CreateRuleAsync.

Namespace: Amazon.ElasticLoadBalancingV2
Assembly: AWSSDK.ElasticLoadBalancingV2.dll
Version: 3.x.y.z


public abstract CreateRuleResponse CreateRule(
         CreateRuleRequest request
Type: Amazon.ElasticLoadBalancingV2.Model.CreateRuleRequest

Container for the necessary parameters to execute the CreateRule service method.

Return Value
The response from the CreateRule service method, as returned by ElasticLoadBalancingV2.


IncompatibleProtocolsException The specified configuration is not valid with this protocol.
InvalidConfigurationRequestException The requested configuration is not valid.
InvalidLoadBalancerActionException The requested action is not valid.
ListenerNotFoundException The specified listener does not exist.
PriorityInUseException The specified priority is in use.
TargetGroupAssociationLimitException You've reached the limit on the number of load balancers per target group.
TargetGroupNotFoundException The specified target group does not exist.
TooManyActionsException You've reached the limit on the number of actions per rule.
TooManyRegistrationsForTargetIdException You've reached the limit on the number of times a target can be registered with a load balancer.
TooManyRulesException You've reached the limit on the number of rules per load balancer.
TooManyTargetGroupsException You've reached the limit on the number of target groups for your AWS account.
TooManyTargetsException You've reached the limit on the number of targets.
UnsupportedProtocolException The specified protocol is not supported.


This example creates a rule that forwards requests to the specified target group if the URL contains the specified pattern (for example, /img/*).

To create a rule

var response = client.CreateRule(new CreateRuleRequest 
    Actions = new List {
        new Action {
            TargetGroupArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
            Type = "forward"
    Conditions = new List {
        new RuleCondition {
            Field = "path-pattern",
            Values = new List {
    ListenerArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2",
    Priority = 10

List rules = response.Rules;


Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

See Also