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.

Each rule consists of a priority, one or more actions, and one or more conditions. 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.

Note:

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

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

Syntax

C#
public abstract CreateRuleResponse CreateRule(
         CreateRuleRequest request
)

Parameters

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.

Exceptions

ExceptionCondition
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.
TooManyTagsException You've reached the limit on the number of tags for this resource.
TooManyTargetGroupsException You've reached the limit on the number of target groups for your Amazon Web Services account.
TooManyTargetsException You've reached the limit on the number of targets.
TooManyUniqueTargetGroupsPerLoadBalancerException You've reached the limit on the number of unique target groups per load balancer across all listeners. If a target group is used by multiple actions for a load balancer, it is counted as only one use.
UnsupportedProtocolException The specified protocol is not supported.

Examples

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 client = new AmazonElasticLoadBalancingV2Client();
var response = client.CreateRule(new CreateRuleRequest 
{
    Actions = new List<Action> {
        new Action {
            TargetGroupArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
            Type = "forward"
        }
    },
    Conditions = new List<RuleCondition> {
        new RuleCondition {
            Field = "path-pattern",
            Values = new List<string> {
                "/img/*"
            }
        }
    },
    ListenerArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:listener/app/my-load-balancer/50dc6c495c0c9188/f2f7dc8efc522ab2",
    Priority = 10
});

List<Rule> rules = response.Rules;

            

Version Information

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

See Also