ELB v2 (Elastic Load Balancer v2)

Implementation details for API elbv2

Coverage Overview

Elastic Load Balancer v2 (ELB v2) is supported by LocalStack only in the pro version.

AvailabilityTesting*
OperationImplementedEditionInternal Test SuiteExternal Test SuiteTerraform ValidatedAWS ValidatedSnapshot TestedDetails
AddListenerCertificates✔️pro✔️✔️
AddTags✔️pro✔️✔️
CreateListener✔️pro✔️✔️✔️✔️✔️Show Tests
CreateLoadBalancer✔️pro✔️✔️✔️✔️✔️Show Tests
CreateRule✔️pro✔️✔️✔️✔️✔️Show Tests
CreateTargetGroup✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteListener✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteLoadBalancer✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteRule✔️pro✔️✔️✔️✔️✔️Show Tests
DeleteTargetGroup✔️pro✔️✔️✔️✔️✔️Show Tests
DeregisterTargets✔️pro✔️✔️Show Tests
DescribeAccountLimits✔️pro✔️✔️
DescribeListenerCertificates✔️pro✔️✔️
DescribeListeners✔️pro✔️✔️✔️✔️Show Tests
DescribeLoadBalancerAttributes✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeLoadBalancers✔️pro✔️✔️✔️✔️✔️Show Tests
DescribeRules✔️pro✔️✔️✔️Show Tests
DescribeSSLPolicies✔️pro✔️
DescribeTags✔️pro✔️✔️
DescribeTargetGroupAttributes✔️pro✔️✔️
DescribeTargetGroups✔️pro✔️✔️✔️✔️Show Tests
DescribeTargetHealth✔️pro✔️✔️✔️✔️Show Tests
ModifyListener✔️pro✔️✔️
ModifyLoadBalancerAttributes✔️pro✔️✔️✔️✔️✔️Show Tests
ModifyRule✔️pro✔️✔️
ModifyTargetGroup✔️pro✔️✔️
ModifyTargetGroupAttributes✔️pro✔️✔️✔️✔️Show Tests
RegisterTargets✔️pro✔️✔️✔️✔️✔️Show Tests
RemoveListenerCertificates✔️pro✔️✔️
RemoveTags✔️pro✔️✔️
SetIpAddressType✔️pro✔️✔️✔️✔️✔️Show Tests
SetRulePriorities✔️pro
SetSecurityGroups✔️pro✔️✔️
SetSubnets✔️pro✔️✔️

Terminology

  • Internal Test Suite: tested by LocalStack's internal integration test suite
  • External Test Suite: covered by an external integration test suite, that runs against LocalStack
  • Terraform Validated: operation tested with Terraform
  • AWS Validated: the integration test that includes this operation call was validated against AWS
  • Snapshot Tested: the operation is part of a snapshot parity test, which verifies the responses by LocalStack and AWS are the same

Testing Details

This section gives an overview about the internal integration test suite and the specific test cases that recorded the API call.

How to read the test details?

For each operation we put up a list of the related integration test cases.
Those operation calls have been recorded during the exeuction of the outlined test cases. Some calls might be internal, i.e., they are not explicitly called in the test, but are triggered implicitly by the LocalStack framework.

  • Parameters: The tests are ordered by the parameters used, which are highlighted in bold.
  • Test Details: LocalStack Community or LocalStack Pro indicates where the test originates. For each test you see:
    • test name
    • status code returned (which is the expected one for the test case)
    • information about validation:
      • AWS validated the test is validated against AWS, meaning it run successfully against real AWS as well
      • Snapshot Tested this is a snapshot parity test, meaning the responses are validated against AWS


CreateListener

Parameters: DefaultActions, LoadBalancerArn, Port, Protocol
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

CreateLoadBalancer

Parameters: IpAddressType, Name, SecurityGroups, Subnets, Type
  • LocalStack Pro
    • test_alb_modify_attributes LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_modify_attributes HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_alb_set_ip_address_type LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_set_ip_address_type HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: Name, Scheme, SecurityGroups, Subnets
  • LocalStack Pro
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
Parameters: Name, Scheme, SecurityGroups, Subnets, Type
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_elbv2_loadbalancer_resource LocalStack Pro: tests/integration/cloudformation/resources/test_elasticloadbalancingv2.py::test_elbv2_loadbalancer_resource HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: Name, SecurityGroups, Subnets
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

CreateRule

Parameters: Actions, Conditions, ListenerArn, Priority
  • LocalStack Pro
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

CreateTargetGroup

Parameters: HealthCheckEnabled, Name, Port, Protocol, TargetType, VpcId
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: HealthCheckEnabled, Name, TargetType
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested
Parameters: HealthCheckIntervalSeconds, HealthCheckPath, HealthCheckProtocol, HealthCheckTimeoutSeconds, HealthyThresholdCount, Name, Port, Protocol, TargetType, UnhealthyThresholdCount, VpcId
  • LocalStack Pro
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
Parameters: HealthCheckIntervalSeconds, HealthCheckPath, HealthCheckProtocol, HealthCheckTimeoutSeconds, HealthyThresholdCount, Name, Port, Protocol, UnhealthyThresholdCount, VpcId
  • LocalStack Pro
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
Parameters: Name, Port, Protocol, TargetType
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (ValidationError) AWS validated Snapshot Tested
Parameters: Name, Port, Protocol, TargetType, VpcId
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
Parameters: Name, Port, TargetType
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (ValidationError) AWS validated Snapshot Tested
Parameters: Name, Protocol, TargetType
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (ValidationError) AWS validated Snapshot Tested
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (ValidationError) AWS validated Snapshot Tested
Parameters: Name, TargetType, VpcId
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (ValidationError) AWS validated Snapshot Tested

DeleteListener

Parameters: ListenerArn
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 400 (CommonServiceException) AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 400 (CommonServiceException)

DeleteLoadBalancer

Parameters: LoadBalancerArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_elbv2_loadbalancer_resource LocalStack Pro: tests/integration/cloudformation/resources/test_elasticloadbalancingv2.py::test_elbv2_loadbalancer_resource HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_alb_modify_attributes LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_modify_attributes HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_alb_set_ip_address_type LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_set_ip_address_type HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteRule

Parameters: RuleArn
  • LocalStack Pro
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

DeleteTargetGroup

Parameters: TargetGroupArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (CommonServiceException) AWS validated Snapshot Tested
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 400 (CommonServiceException) AWS validated Snapshot Tested

DeregisterTargets

Parameters: TargetGroupArn, Targets
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200

DescribeListeners

Parameters: LoadBalancerArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200

DescribeLoadBalancerAttributes

Parameters: LoadBalancerArn
  • LocalStack Pro
    • test_alb_modify_attributes LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_modify_attributes HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeLoadBalancers

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_elbv2_loadbalancer_resource LocalStack Pro: tests/integration/cloudformation/resources/test_elasticloadbalancingv2.py::test_elbv2_loadbalancer_resource HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
Parameters: LoadBalancerArns
  • LocalStack Pro
    • test_elbv2_loadbalancer_resource LocalStack Pro: tests/integration/cloudformation/resources/test_elasticloadbalancingv2.py::test_elbv2_loadbalancer_resource HTTP Status Code: 200 AWS validated Snapshot Tested

DescribeRules

Parameters: ListenerArn
  • LocalStack Pro
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200

DescribeTargetGroups

Parameters: - (without any parameters)
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200

DescribeTargetHealth

Parameters: TargetGroupArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200

ModifyLoadBalancerAttributes

Parameters: Attributes, LoadBalancerArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_elbv2_loadbalancer_resource LocalStack Pro: tests/integration/cloudformation/resources/test_elasticloadbalancingv2.py::test_elbv2_loadbalancer_resource HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_alb_modify_attributes LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_modify_attributes HTTP Status Code: 200 AWS validated Snapshot Tested

ModifyTargetGroupAttributes

Parameters: Attributes, TargetGroupArn
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated

RegisterTargets

Parameters: TargetGroupArn, Targets
  • LocalStack Pro
    • test_ecs_alb_apigateway_integration LocalStack Pro: tests/integration/cloudformation/resources/test_ecs.py::test_ecs_alb_apigateway_integration HTTP Status Code: 200 AWS validated
    • test_create_service_run_task LocalStack Pro: tests/integration/test_ecs.py::TestTaskExecution::test_create_service_run_task HTTP Status Code: 200
    • test_load_balancing LocalStack Pro: tests/integration/test_elb.py::TestELB::test_load_balancing HTTP Status Code: 200 AWS validated Snapshot Tested

SetIpAddressType

Parameters: IpAddressType, LoadBalancerArn
  • LocalStack Pro
    • test_alb_set_ip_address_type LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_set_ip_address_type HTTP Status Code: 200 AWS validated Snapshot Tested
    • test_alb_set_ip_address_type LocalStack Pro: tests/integration/test_elb.py::TestELB::test_alb_set_ip_address_type HTTP Status Code: 400 (CommonServiceException) AWS validated Snapshot Tested


Last modified March 20, 2023: improve Coverage Docs (#505) (46f2fb0c0)