@aws-sdk/client-elastic-load-balancing-v2-browser
Description
Elastic Load Balancing
A load balancer distributes incoming traffic across targets, such as your EC2 instances. This enables you to increase the availability of your application. The load balancer also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets. You configure your load balancer to accept incoming traffic by specifying one or more listeners, which are configured with a protocol and port number for connections from clients to the load balancer. You configure a target group with a protocol and port number for connections from the load balancer to the targets, and with health check settings to be used when checking the health status of the targets.
Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, Network Load Balancers, and Classic Load Balancers.
An Application Load Balancer makes routing and load balancing decisions at the application layer (HTTP/HTTPS). A Network Load Balancer makes routing and load balancing decisions at the transport layer (TCP/TLS). Both Application Load Balancers and Network Load Balancers can route requests to one or more ports on each EC2 instance or container instance in your virtual private cloud (VPC).
A Classic Load Balancer makes routing and load balancing decisions either at the transport layer (TCP/SSL) or the application layer (HTTP/HTTPS), and supports either EC2-Classic or a VPC. For more information, see the Elastic Load Balancing User Guide.
This reference covers the 2015-12-01 API, which supports Application Load Balancers and Network Load Balancers. The 2012-06-01 API supports Classic Load Balancers.
To get started, complete the following tasks:
-
Create a load balancer using CreateLoadBalancer.
-
Create a target group using CreateTargetGroup.
-
Register targets for the target group using RegisterTargets.
-
Create one or more listeners for your load balancer using CreateListener.
To delete a load balancer and its related resources, complete the following tasks:
-
Delete the load balancer using DeleteLoadBalancer.
-
Delete the target group using DeleteTargetGroup.
All Elastic Load Balancing operations are idempotent, which means that they complete at most one time. If you repeat an operation, it succeeds.
Installing
To install the this package using NPM, simply type the following into a terminal window:
npm install @aws-sdk/client-elastic-load-balancing-v2-browser
Getting Started
Import
The AWS SDK is modulized by clients and commands in CommonJS modules. To send a request, you only need to import the client(ElasticLoadBalancingv2Client
) and the commands you need, for example AddListenerCertificatesCommand
:
//JavaScript
const {
ElasticLoadBalancingv2Client
} = require("@aws-sdk/client-elastic-load-balancing-v2-browser/ElasticLoadBalancingv2Client");
const {
AddListenerCertificatesCommand
} = require("@aws-sdk/client-elastic-load-balancing-v2-browser/commands/AddListenerCertificatesCommand");
//TypeScript
import { ElasticLoadBalancingv2Client } from "@aws-sdk/client-elastic-load-balancing-v2-browser/ElasticLoadBalancingv2Client";
import { AddListenerCertificatesCommand } from "@aws-sdk/client-elastic-load-balancing-v2-browser/commands/AddListenerCertificatesCommand";
Usage
To send a request, you:
- Initiate client with configuration (e.g. credentials, region). For more information you can refer to the API reference.
- Initiate command with input parameters.
- Call
send
operation on client with command object as input. - If you are using a custom http handler, you may call
destroy()
to close open connections.
const elasticLoadBalancingv2 = new ElasticLoadBalancingv2Client({region: 'region'});
//clients can be shared by different commands
const params = {
ListenerArn: /**a string value*/,
Certificates: [ /**a list of structure*/ ],
};
const addListenerCertificatesCommand = new AddListenerCertificatesCommand(params);
elasticLoadBalancingv2.send(addListenerCertificatesCommand).then(data => {
// do something
}).catch(error => {
// error handling
})
In addition to using promises, there are 2 other ways to send a request:
// async/await
try {
const data = await elasticLoadBalancingv2.send(
addListenerCertificatesCommand
);
// do something
} catch (error) {
// error handling
}
// callback
elasticLoadBalancingv2.send(addListenerCertificatesCommand, (err, data) => {
//do something
});
The SDK can also send requests using the simplified callback style from version 2 of the SDK.
import * as AWS from "@aws-sdk/@aws-sdk/client-elastic-load-balancing-v2-browser/ElasticLoadBalancingv2";
const elasticLoadBalancingv2 = new AWS.ElasticLoadBalancingv2({
region: "region"
});
elasticLoadBalancingv2.addListenerCertificates(params, (err, data) => {
//do something
});
Troubleshooting
When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).
try {
const data = await elasticLoadBalancingv2.send(
addListenerCertificatesCommand
);
// do something
} catch (error) {
const metadata = error.$metadata;
console.log(
`requestId: ${metadata.requestId}
cfId: ${metadata.cfId}
extendedRequestId: ${metadata.extendedRequestId}`
);
/*
The keys within exceptions are also parsed. You can access them by specifying exception names:
if(error.name === 'SomeServiceException') {
const value = error.specialKeyInException;
}
*/
}
Getting Help
Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests and have limited bandwidth to address them.
- Ask a question on StackOverflow and tag it with
aws-sdk-js
- Come join the AWS JavaScript community on gitter
- If it turns out that you may have found a bug, please open an issue
Contributing
This client code is generated automatically. Any modifications will be overwritten the next time the `@aws-sdk/@aws-sdk/client-elastic-load-balancing-v2-browser' package is updated. To contribute to SDK you can checkout our code generator package.
License
This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.