Merge pull request #477 from chrishenry/elb-scheme
Implement Elb Scheme
This commit is contained in:
commit
420b705a24
@ -44,13 +44,14 @@ class FakeBackend(object):
|
||||
|
||||
|
||||
class FakeLoadBalancer(object):
|
||||
def __init__(self, name, zones, ports):
|
||||
def __init__(self, name, zones, ports, scheme='internet-facing',):
|
||||
self.name = name
|
||||
self.health_check = None
|
||||
self.instance_ids = []
|
||||
self.zones = zones
|
||||
self.listeners = []
|
||||
self.backends = []
|
||||
self.scheme = scheme
|
||||
self.attributes = FakeLoadBalancer.get_default_attributes()
|
||||
self.policies = Policies()
|
||||
self.policies.other_policies = []
|
||||
@ -135,8 +136,8 @@ class ELBBackend(BaseBackend):
|
||||
def __init__(self):
|
||||
self.load_balancers = {}
|
||||
|
||||
def create_load_balancer(self, name, zones, ports):
|
||||
new_load_balancer = FakeLoadBalancer(name=name, zones=zones, ports=ports)
|
||||
def create_load_balancer(self, name, zones, ports, scheme='internet-facing'):
|
||||
new_load_balancer = FakeLoadBalancer(name=name, zones=zones, ports=ports, scheme=scheme)
|
||||
self.load_balancers[name] = new_load_balancer
|
||||
return new_load_balancer
|
||||
|
||||
|
@ -21,17 +21,16 @@ class ELBResponse(BaseResponse):
|
||||
return elb_backends[self.region]
|
||||
|
||||
def create_load_balancer(self):
|
||||
"""
|
||||
u'Scheme': [u'internet-facing'],
|
||||
"""
|
||||
load_balancer_name = self._get_param('LoadBalancerName')
|
||||
availability_zones = self._get_multi_param("AvailabilityZones.member")
|
||||
ports = self._get_list_prefix("Listeners.member")
|
||||
scheme = self._get_param('Scheme')
|
||||
|
||||
self.elb_backend.create_load_balancer(
|
||||
name=load_balancer_name,
|
||||
zones=availability_zones,
|
||||
ports=ports,
|
||||
scheme=scheme
|
||||
)
|
||||
template = self.response_template(CREATE_LOAD_BALANCER_TEMPLATE)
|
||||
return template.render()
|
||||
@ -325,7 +324,7 @@ DESCRIBE_LOAD_BALANCERS_TEMPLATE = """<DescribeLoadBalancersResponse xmlns="http
|
||||
</AvailabilityZones>
|
||||
<CanonicalHostedZoneName>tests.us-east-1.elb.amazonaws.com</CanonicalHostedZoneName>
|
||||
<CanonicalHostedZoneNameID>Z3ZONEID</CanonicalHostedZoneNameID>
|
||||
<Scheme>internet-facing</Scheme>
|
||||
<Scheme>{{ load_balancer.scheme }}</Scheme>
|
||||
<DNSName>tests.us-east-1.elb.amazonaws.com</DNSName>
|
||||
<BackendServerDescriptions>
|
||||
{% for backend in load_balancer.backends %}
|
||||
|
@ -25,11 +25,12 @@ def test_create_load_balancer():
|
||||
|
||||
zones = ['us-east-1a', 'us-east-1b']
|
||||
ports = [(80, 8080, 'http'), (443, 8443, 'tcp')]
|
||||
conn.create_load_balancer('my-lb', zones, ports)
|
||||
conn.create_load_balancer('my-lb', zones, ports, scheme='internal')
|
||||
|
||||
balancers = conn.get_all_load_balancers()
|
||||
balancer = balancers[0]
|
||||
balancer.name.should.equal("my-lb")
|
||||
balancer.scheme.should.equal("internal")
|
||||
set(balancer.availability_zones).should.equal(set(['us-east-1a', 'us-east-1b']))
|
||||
listener1 = balancer.listeners[0]
|
||||
listener1.load_balancer_port.should.equal(80)
|
||||
@ -66,6 +67,7 @@ def test_create_load_balancer_with_certificate():
|
||||
balancers = conn.get_all_load_balancers()
|
||||
balancer = balancers[0]
|
||||
balancer.name.should.equal("my-lb")
|
||||
balancer.scheme.should.equal("internet-facing")
|
||||
set(balancer.availability_zones).should.equal(set(['us-east-1a']))
|
||||
listener = balancer.listeners[0]
|
||||
listener.load_balancer_port.should.equal(443)
|
||||
@ -544,7 +546,7 @@ def test_set_policies_of_backend_server():
|
||||
|
||||
# in a real flow, it is necessary first to create a policy,
|
||||
# then to set that policy to the backend
|
||||
lb.create_lb_policy(policy_name, 'ProxyProtocolPolicyType', {'ProxyProtocol': True})
|
||||
lb.create_lb_policy(policy_name, 'ProxyProtocolPolicyType', {'ProxyProtocol': True})
|
||||
lb.set_policies_of_backend_server(instance_port, [policy_name])
|
||||
|
||||
lb = conn.get_all_load_balancers()[0]
|
||||
|
Loading…
x
Reference in New Issue
Block a user