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 listener for the specified Application Load Balancer or Network Load Balancer.

You can create up to 10 listeners per load balancer.

To update a listener, use ModifyListener. When you are finished with a listener, you can delete it using DeleteListener. If you are finished with both the listener and the load balancer, you can delete them both using DeleteLoadBalancer.

For more information, see Listeners for Your Application Load Balancers in the Application Load Balancers Guide and Listeners for Your Network Load Balancers in the Network Load Balancers Guide.

Note:

For PCL this operation is only available in asynchronous form. Please refer to CreateListenerAsync.

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

Syntax

C#
public abstract CreateListenerResponse CreateListener(
         CreateListenerRequest request
)
Parameters
request
Type: Amazon.ElasticLoadBalancingV2.Model.CreateListenerRequest

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

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

Exceptions

ExceptionCondition
CertificateNotFoundException The specified certificate does not exist.
DuplicateListenerException A listener with the specified port already exists.
IncompatibleProtocolsException The specified configuration is not valid with this protocol.
InvalidConfigurationRequestException The requested configuration is not valid.
LoadBalancerNotFoundException The specified load balancer does not exist.
SSLPolicyNotFoundException The specified SSL policy does not exist.
TargetGroupAssociationLimitException You've reached the limit on the number of load balancers per target group.
TargetGroupNotFoundException The specified target group does not exist.
TooManyCertificatesException You've reached the limit on the number of certificates per listener.
TooManyListenersException You've reached the limit on the number of listeners per load balancer.
TooManyRegistrationsForTargetIdException You've reached the limit on the number of times a target can be registered with a load balancer.
TooManyTargetsException You've reached the limit on the number of targets.
UnsupportedProtocolException The specified protocol is not supported.

Examples

This example creates an HTTP listener for the specified load balancer that forwards requests to the specified target group.

To create an HTTP listener


var response = client.CreateListener(new CreateListenerRequest 
{
    DefaultActions = new List {
        new Action {
            TargetGroupArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
            Type = "forward"
        }
    },
    LoadBalancerArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
    Port = 80,
    Protocol = "HTTP"
});

List listeners = response.Listeners;

            

This example creates an HTTPS listener for the specified load balancer that forwards requests to the specified target group. Note that you must specify an SSL certificate for an HTTPS listener. You can create and manage certificates using AWS Certificate Manager (ACM). Alternatively, you can create a certificate using SSL/TLS tools, get the certificate signed by a certificate authority (CA), and upload the certificate to AWS Identity and Access Management (IAM).

To create an HTTPS listener


var response = client.CreateListener(new CreateListenerRequest 
{
    Certificates = new List {
        new Certificate { CertificateArn = "arn:aws:iam::123456789012:server-certificate/my-server-cert" }
    },
    DefaultActions = new List {
        new Action {
            TargetGroupArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:targetgroup/my-targets/73e2d6bc24d8a067",
            Type = "forward"
        }
    },
    LoadBalancerArn = "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/app/my-load-balancer/50dc6c495c0c9188",
    Port = 443,
    Protocol = "HTTPS",
    SslPolicy = "ELBSecurityPolicy-2015-05"
});

List listeners = response.Listeners;

            

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