# AWS-ELB

<a id="aws-elb-api"></a>

## AWS-ELB-API

| AWS API Reference                                                                                                                              | Ignored Param   | Optional Parameters                                                                                                                                                                           | Required Parameters                                      | Unsupported Params   |
|------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------|----------------------|
| [AddTags](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_AddTags.html)                                               | []              | []                                                                                                                                                                                            | ResourceArns<br/>Tags                                    | []                   |
| [CreateListener](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateListener.html)                                 | []              | Certificates                                                                                                                                                                                  | LoadBalancerArn<br/>Protocol<br/>Port<br/>DefaultActions | []                   |
| [CreateLoadBalancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateLoadBalancer.html)                         | []              | Subnets<br/>SubnetMappings<br/>SecurityGroups<br/>Tags<br/>IpAddressType<br/>Scheme<br/>Type                                                                                                  | Name                                                     | []                   |
| [CreateRule](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateRule.html)                                         | []              | []                                                                                                                                                                                            | Actions<br/>Conditions<br/>ListenerArn<br/>Priority      | []                   |
| [CreateTargetGroup](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_CreateTargetGroup.html)                           | []              | HealthCheckPath<br/>HealthCheckPort<br/>HealthCheckProtocol<br/>HealthCheckIntervalSeconds<br/>HealthCheckTimeoutSeconds<br/>HealthyThresholdCount<br/>UnhealthyThresholdCount<br/>TargetType | Name<br/>Protocol<br/>Port<br/>VpcId                     | []                   |
| [DeleteListener](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DeleteListener.html)                                 | []              | []                                                                                                                                                                                            | ListenerArn                                              | []                   |
| [DeleteLoadBalancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DeleteLoadBalancer.html)                         | []              | []                                                                                                                                                                                            | LoadBalancerArn                                          | []                   |
| [DeleteRule](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DeleteRule.html)                                         | []              | []                                                                                                                                                                                            | RuleArn                                                  | []                   |
| [DeleteTargetGroup](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DeleteTargetGroup.html)                           | []              | []                                                                                                                                                                                            | TargetGroupArn                                           | []                   |
| [DeregisterTargets](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DeregisterTargets.html)                           | []              | []                                                                                                                                                                                            | TargetGroupArn<br/>Targets                               | []                   |
| [DescribeListeners](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeListeners.html)                           | []              | ListenerArns<br/>LoadBalancerArn                                                                                                                                                              | []                                                       | []                   |
| [DescribeLoadBalancerAttributes](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancerAttributes.html) | []              | []                                                                                                                                                                                            | LoadBalancerArn                                          | []                   |
| [DescribeLoadBalancers](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html)                   | []              | LoadBalancerArns<br/>Names                                                                                                                                                                    | []                                                       | []                   |
| [DescribeRules](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeRules.html)                                   | []              | RuleArns<br/>ListenerArn                                                                                                                                                                      | []                                                       | []                   |
| [DescribeTags](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTags.html)                                     | []              | []                                                                                                                                                                                            | ResourceArns                                             | []                   |
| [DescribeTargetGroupAttributes](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroupAttributes.html)   | []              | []                                                                                                                                                                                            | TargetGroupArn                                           | []                   |
| [DescribeTargetGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetGroups.html)                     | []              | TargetGroupArns<br/>Names<br/>LoadBalancerArn                                                                                                                                                 | []                                                       | []                   |
| [DescribeTargetHealth](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeTargetHealth.html)                     | []              | Targets                                                                                                                                                                                       | TargetGroupArn                                           | []                   |
| [ModifyListener](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_ModifyListener.html)                                 | []              | Protocol<br/>Port<br/>DefaultActions<br/>Certificates                                                                                                                                         | ListenerArn                                              | []                   |
| [ModifyLoadBalancerAttributes](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_ModifyLoadBalancerAttributes.html)     | []              | []                                                                                                                                                                                            | LoadBalancerArn<br/>Attributes                           | []                   |
| [ModifyRule](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_ModifyRule.html)                                         | []              | Actions<br/>Conditions                                                                                                                                                                        | RuleArn                                                  | []                   |
| [ModifyTargetGroup](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_ModifyTargetGroup.html)                           | []              | HealthCheckPort<br/>HealthCheckIntervalSeconds<br/>HealthCheckPath<br/>HealthCheckProtocol<br/>HealthCheckTimeoutSeconds<br/>HealthyThresholdCount<br/>Matcher<br/>UnhealthyThresholdCount    | TargetGroupArn                                           | []                   |
| [ModifyTargetGroupAttributes](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_ModifyTargetGroupAttributes.html)       | []              | []                                                                                                                                                                                            | TargetGroupArn<br/>Attributes                            | []                   |
| [RegisterTargets](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RegisterTargets.html)                               | []              | []                                                                                                                                                                                            | TargetGroupArn<br/>Targets                               | []                   |
| [RemoveTags](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_RemoveTags.html)                                         | []              | []                                                                                                                                                                                            | ResourceArns<br/>TagKeys                                 | []                   |
| [SetIpAddressType](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_SetIpAddressType.html)                             | []              | []                                                                                                                                                                                            | IpAddressType                                            | []                   |
| [SetRulePriorities](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_SetRulePriorities.html)                           | []              | []                                                                                                                                                                                            | []                                                       | []                   |
| [SetSecurityGroups](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_SetSecurityGroups.html)                           | []              | []                                                                                                                                                                                            | LoadBalancerArn<br/>SecurityGroups                       | []                   |
| [SetSubnets](https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_SetSubnets.html)                                         | []              | SubnetMappings                                                                                                                                                                                | LoadBalancerArn<br/>Subnets                              | []                   |

## ELBv2 API Version Support

Zadara Cloud Services supports ELBv2, the 2015-12-01 API for Application Load Balancers
and Network Load Balancers. It does not support the 2012-06-01 API for
Classic Load Balancers.

## AWS CLI elbv2 Examples

Zadara Cloud Services supports the AWS **elbv2** API/CLI. It does not support the **elb** API/CLI.

Here are some examples:

List the load balancers in your system. Note that the `LoadBalancerArn` is a Zadara Cloud Services UUID.

```console
aws> elbv2 describe-load-balancers

-------------------------------------------------------------------------------------------------------------------------------------

|                                                       DescribeLoadBalancers                                                       |

+-----------------------------------------------------------------------------------------------------------------------------------+

||                                                          LoadBalancers                                                          ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

||      CreatedTime     |    DNSName    |            LoadBalancerArn             | LoadBalancerName  |  Scheme   | Type  |  VpcId  ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

||  2018-10-01T11:05:32Z|  192.168.41.6 |  96ee2383-4a73-4494-bdf1-e879714c772b  |  dougtest         |  internal |  None |  None   ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

|||                                                       AvailabilityZones                                                       |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                           SubnetId                                                            |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||  subnet-6715c727b6f64ab9be2c5c3094e36473                                                                                      |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                        SecurityGroups                                                         |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||  sg-76423026d14f40a48921c3368d85a0b5                                                                                          |||

|||  sg-fb329fe5ba2e40618bcba4aeb84adb0f                                                                                          |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                             State                                                             |||

||+-------------------------------------------------------+-----------------------------------------------------------------------+||

|||  Code                                                 |  active                                                               |||

||+-------------------------------------------------------+-----------------------------------------------------------------------+||



aws> elbv2 describe-load-balancers --load-balancer-arns 96ee2383-4a73-4494-bdf1-e879714c772b

-------------------------------------------------------------------------------------------------------------------------------------

|                                                       DescribeLoadBalancers                                                       |

+-----------------------------------------------------------------------------------------------------------------------------------+

||                                                          LoadBalancers                                                          ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

||      CreatedTime     |    DNSName    |            LoadBalancerArn             | LoadBalancerName  |  Scheme   | Type  |  VpcId  ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

||  2018-10-01T11:05:32Z|  192.168.41.6 |  96ee2383-4a73-4494-bdf1-e879714c772b  |  dougtest         |  internal |  None |  None   ||

|+----------------------+---------------+----------------------------------------+-------------------+-----------+-------+---------+|

|||                                                       AvailabilityZones                                                       |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                           SubnetId                                                            |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||  subnet-6715c727b6f64ab9be2c5c3094e36473                                                                                      |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                        SecurityGroups                                                         |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||  sg-76423026d14f40a48921c3368d85a0b5                                                                                          |||

|||  sg-fb329fe5ba2e40618bcba4aeb84adb0f                                                                                          |||

||+-------------------------------------------------------------------------------------------------------------------------------+||

|||                                                             State                                                             |||

||+-------------------------------------------------------+-----------------------------------------------------------------------+||

|||  Code                                                 |  active                                                               |||

||+-------------------------------------------------------+-----------------------------------------------------------------------+||
```

**Delete one of the load balancers** you just listed, passing in the load balancer’s LoadBalancerArn:

```console
aws> elbv2 delete-load-balancer --load-balancer-arn 96ee2383-4a73-4494-bdf1-e879714c772b
```

## Boto 3 for ELB

### Example-Work with a Load Balancer and Target Group

This example shows you how you can use a load balancer to manage the instances in a target group.

```python
import boto3
import botocore
import sys
import random

def main():

# Replace following parameters with your IP and credentials
CLUSTER_IP = '<API endpoint IP>'
AWS_ACCESS = '<AWS Access Key ID>'
AWS_SECRET = '<AWS Secret Access Key>'

# Example parameters
VPC_CIDR = '172.20.0.0/16'
SUBNET_CIDR = '172.20.10.0/24'
PORT_INTERNAL = 9090
PORT_EXTERNAL = 80
TARGETS_COUNT = 2
IMAGE_ID = '<Targets Image ID>'
INSTANCE_TYPE = '<Targets Instance Type>'

"""
This script shows and example of Boto3 ELB v2 integration with Symphony.
The scenario:
     1. Create VPC
     2. Create Internet-Gateway
     3. Attach Internet-Gateway
     4. Create Subnet
     5. Create Route-Table
     6. Create Route
     7. Associate Route-Table to Subnet
     8. Create Targets Security-Group
     9. Run target instances
     10. List load-balancers
     11. Create Load-Balancer Security-Groups
     12. Create load-balancer
     13. Create target-group
     14. Register instances to target-group
     15. Create Listener

This example was tested on versions:
- botocore 1.7.35
- boto3 1.4.7
"""

# The following will be used to differentiate entity names in this example
run_index = '%03x' % random.randrange(2**12)

print ("Disabling warning for Insecure connection")
botocore.vendored.requests.packages.urllib3.disable_warnings(
    botocore.vendored.requests.packages.urllib3.exceptions.InsecureRequestWarning)

# creating a EC2 client connection to Symphony AWS Compatible region
ec2_client = boto3.client(service_name="ec2", region_name="symphony",
                          endpoint_url="https://%s/api/v2/ec2/" % CLUSTER_IP,
                          verify=False,
                          aws_access_key_id = AWS_ACCESS,
                          aws_secret_access_key=AWS_SECRET)

# creating a ELB client connection to Symphony AWS Compatible region
elb_client = boto3.client(service_name="elbv2", region_name="symphony",
                          endpoint_url="https://%s/api/v2/aws/elb" % CLUSTER_IP,
                          verify=False,
                          aws_access_key_id = AWS_ACCESS,
                          aws_secret_access_key=AWS_SECRET)

# Create VPC
create_vpc_response = ec2_client.create_vpc(CidrBlock=VPC_CIDR)

# check create vpc returned successfully
if create_vpc_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    vpcId = create_vpc_response['Vpc']['VpcId']
    print("Created VPC with ID %s" % vpcId)
else:
    print("Create VPC failed")

#Create Internet Gateway
create_igw_response = ec2_client.create_internet_gateway()

# check create internet-gateway returned successfully
if create_igw_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    igwId = create_igw_response['InternetGateway']['InternetGatewayId']
    print("Created InternetGateway with ID %s" % igwId)
else:
    print("Create InternetGateway failed")

#Attach Internet Gateway to VPC
attach_igw_response = ec2_client.attach_internet_gateway(InternetGatewayId=igwId,
                                                         VpcId=vpcId)

# check attach internet-gateway returned successfully
if attach_igw_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Attached InternetGateway with ID %s to VPC %s" % (igwId, vpcId))
else:
    print("Create InternetGateway failed")

#Create Subnet
create_subnet_response = ec2_client.create_subnet(CidrBlock=SUBNET_CIDR, VpcId=vpcId)

# check create subnet returned successfully
if create_subnet_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    subnetId = create_subnet_response['Subnet']['SubnetId']
    print("Created Subnet with ID %s" % subnetId)
else:
    print("Create Subnet failed")

#Create route table in the VPC
create_rtb_response = ec2_client.create_route_table(VpcId=vpcId)

# check create route-tables returned successfully
if create_rtb_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    rtbId = create_rtb_response['RouteTable']['RouteTableId']
    print("Created Route Table ID %s in VPC %s" % (rtbId, vpcId))
else:
    print("Create route-tables failed")

#Add routing rule to route table
create_route_response = ec2_client.create_route(DestinationCidrBlock='0.0.0.0/0',
                                                GatewayId=igwId,
                                                RouteTableId=rtbId)

# check create route returned successfully
if create_route_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Created routing rule VPC with ID %s" % vpcId)
else:
    print("Create routing rule failed")

#Associate route table to subnet
associate_rtb_response = ec2_client.associate_route_table(RouteTableId=rtbId,
                                                          SubnetId=subnetId)

# check create route returned successfully
if associate_rtb_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Associated route table %s to subnet %s" % (rtbId, subnetId))
else:
    print("Associated route table failed")

#Create Security-Group
create_sg_response = ec2_client.create_security_group(GroupName='my_ELB_SG_%s' % run_index,
                                                      Description='Allow traffic for ELB',
                                                      VpcId=vpcId)

# check create security-group returned successfully
if create_sg_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    sgId = create_sg_response['GroupId']
    print("Created security-group with ID %s" % sgId)
else:
    print("Create security-group failed")

#Allow Security-Group Rules - ICMP and TCP
allow_ingress_response = ec2_client.authorize_security_group_ingress(GroupId=sgId,
                                                                     IpPermissions=[
                                                                         {"IpProtocol": "icmp", "IpRanges": [{"CidrIp": "0.0.0.0/0"}]},
                                                                         {"IpProtocol": "tcp", "FromPort": PORT_INTERNAL, "ToPort": PORT_INTERNAL, "IpRanges": [{"CidrIp": "0.0.0.0/0"}]}
                                                                     ])

# check allow ingress traffic returned successfully
if allow_ingress_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Allow security group ingress for ICMP and TCP")
else:
    print("Allow security group ingress failed")

#Run instances
print ("Starting to run target instances")
run_instances_response = ec2_client.run_instances(ImageId=IMAGE_ID, InstanceType=INSTANCE_TYPE,
                                                  MaxCount=TARGETS_COUNT, MinCount=TARGETS_COUNT,
                                                  SecurityGroupIds=[sgId], SubnetId=subnetId)

# check run instances returned successfully
if run_instances_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    targetIds = [instance['InstanceId'] for instance in run_instances_response['Instances']]
    print ("Created instances: " + ' '.join(p for p in targetIds))
else:
    print("Create instances failed")

def my_list_lbs():
    # list lbs
    lbs_list_response = elb_client.describe_load_balancers()

    # check lbs list returned successfully
    if lbs_list_response['ResponseMetadata']['HTTPStatusCode'] == 200:
        print ("LBs list: " + ' '.join(p for p in [lb['LoadBalancerName']
                                       for lb in lbs_list_response['LoadBalancers']]))
    else:
        print ("List lbs failed")

my_list_lbs()

# Create Security-group for Load Balancer
create_lb_sg_response = ec2_client.create_security_group(GroupName='internet-load-balancer_%s' % run_index,
                                                         Description='Security Group for Internet-facing LB',
                                                         VpcId=vpcId)

# check create security-group returned successfully
if create_lb_sg_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    lbSgId = create_lb_sg_response['GroupId']
    print("Created LB security-group with ID %s" % lbSgId)
else:
    print("Create LB security-group failed")

# Allow Security-Group Ingress Rules
# TCP - external port from all sources
# ICMP - all
allow_ingress_response = ec2_client.authorize_security_group_ingress(GroupId=lbSgId,
                                                                     IpPermissions=[
                                                                         {"IpProtocol": "icmp", "IpRanges": [{"CidrIp": "0.0.0.0/0"}]},
                                                                         {"IpProtocol": "tcp", "FromPort": PORT_EXTERNAL,
                                                                          "ToPort": PORT_EXTERNAL, "IpRanges": [{"CidrIp": "0.0.0.0/0"}]}
                                                                     ])

# check allow ingress traffic returned successfully
if allow_ingress_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Allow security group ingress for ICMP and TCP")
else:
    print("Allow security group ingress failed")

# Allow Security-Group Egress Rules
# TCP - internal port to targets group
allow_egress_response = ec2_client.authorize_security_group_egress(GroupId=lbSgId,
                                                                   IpPermissions=[
                                                                       {"IpProtocol": "tcp",
                                                                        "FromPort": PORT_INTERNAL,
                                                                        "ToPort": PORT_INTERNAL,
                                                                        "UserIdGroupPairs": [{'GroupId': sgId}]}
                                                                   ])

# check allow egress traffic returned successfully
if allow_egress_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print("Allow security group egress for ICMP and TCP")
else:
    print("Allow security group egress failed")

# create load-balancer
create_lb_response = elb_client.create_load_balancer(Name='my_lb_%s' % run_index,
                                                     Subnets=[subnetId],
                                                     SecurityGroups=[lbSgId],
                                                     Scheme='internet-facing')

# check create lb returned successfully
if create_lb_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    lbId = create_lb_response['LoadBalancers'][0]['LoadBalancerArn']
    print "Successfully created load balancer %s" % lbId
else:
    print ("Create load balancer failed")

my_list_lbs()

# create target-group
create_tg_response = elb_client.create_target_group(Name='my_lb_tg_%s' % run_index,
                                                    Protocol='TCP',
                                                    Port=PORT_INTERNAL,
                                                    VpcId=vpcId)

# check create target-group returned successfully
if create_tg_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    tgId = create_tg_response['TargetGroups'][0]['TargetGroupArn']
    print "Successfully created target group %s" % tgId
else:
    print ("Create target group failed")

# Register targets
targets_list = [dict(Id=target_id, Port=PORT_INTERNAL) for target_id in targetIds]
reg_targets_response = elb_client.register_targets(TargetGroupArn=tgId, Targets=targets_list)

# check register group returned successfully
if reg_targets_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print "Successfully registered targets"
else:
    print ("Register targets failed")

# create Listener
create_listener_response = elb_client.create_listener(LoadBalancerArn=lbId,
                                                      Protocol='TCP', Port=PORT_EXTERNAL,
                                                      DefaultActions=[{'Type': 'forward',
                                                                       'TargetGroupArn': tgId}])

# check create listener returned successfully
if create_listener_response['ResponseMetadata']['HTTPStatusCode'] == 200:
    print "Successfully created listener %s" % tgId
else:
    print ("Create listener failed")

_name__ == '__main__':
sys.exit(main())
```

### Boto 3 Quick Ref for ELB

```python
import boto3
client = boto3.client('elbv2')
```

| Commonly used methods                                                                                                                                |
|------------------------------------------------------------------------------------------------------------------------------------------------------|
| [create_load_balancer](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.create_load_balancer)       |
| [delete_load_balancer](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.delete_load_balancer)       |
| [describe_load_balancers](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.describe_load_balancers) |
| [create_listener](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.create_listener)                 |
| [delete_listener](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.delete_listener)                 |
| [describe_listeners](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.describe_listeners)           |
| [create_target_group](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.create_target_group)         |
| [delete_target_group](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.delete_target_group)         |
| [describe_target_groups](http://boto3.readthedocs.io/en/latest/reference/services/elbv2.html#ElasticLoadBalancingv2.Client.describe_target_groups)   |
