def create_balancer(self, name, port, protocol, algorithm, members, ex_members_availability_zones=None): if ex_members_availability_zones is None: ex_members_availability_zones = ['a'] params = { 'Action': 'CreateLoadBalancer', 'LoadBalancerName': name, 'Listeners.member.1.InstancePort': str(port), 'Listeners.member.1.InstanceProtocol': protocol.upper(), 'Listeners.member.1.LoadBalancerPort': str(port), 'Listeners.member.1.Protocol': protocol.upper(), } for i, z in enumerate(ex_members_availability_zones): zone = ''.join((self.region, z)) params['AvailabilityZones.member.%d' % (i + 1)] = zone data = self.connection.request(ROOT, params=params).object balancer = LoadBalancer( id=name, name=name, state=State.PENDING, ip=findtext(element=data, xpath='DNSName', namespace=NS), port=port, driver=self.connection.driver ) balancer._members = [] return balancer
def _to_balancer(self, el): name = findtext(element=el, xpath='LoadBalancerName', namespace=NS) id = findtext(element=el, xpath='LoadBalancerArn', namespace=NS) dns_name = findtext(el, xpath='DNSName', namespace=NS) balancer = LoadBalancer(id=id, name=name, state=State.UNKNOWN, ip=dns_name, port=None, driver=self.connection.driver) extra = { 'listeners': self._ex_get_balancer_listeners(balancer), 'target_groups': self._ex_get_balancer_target_groups(balancer), 'tags': self._ex_get_balancer_tags(balancer) } balancer.extra = extra if len(extra['listeners']) > 0: balancer.port = extra['listeners'][0]['port'] else: balancer.port = None balancer._members = self._ex_get_balancer_memebers(balancer) return balancer
def create_balancer(self, name, port, protocol, algorithm, members, ex_members_availability_zones=None): if ex_members_availability_zones is None: ex_members_availability_zones = ['a'] params = { 'Action': 'CreateLoadBalancer', 'LoadBalancerName': name, 'Listeners.member.1.InstancePort': str(port), 'Listeners.member.1.InstanceProtocol': protocol.upper(), 'Listeners.member.1.LoadBalancerPort': str(port), 'Listeners.member.1.Protocol': protocol.upper(), } for i, z in enumerate(ex_members_availability_zones): zone = ''.join((self.region, z)) params['AvailabilityZones.member.%d' % (i + 1)] = zone data = self.connection.request(ROOT, params=params).object balancer = LoadBalancer(id=name, name=name, state=State.PENDING, ip=findtext(element=data, xpath='DNSName', namespace=NS), port=port, driver=self.connection.driver) balancer._members = [] return balancer
def create_balancer(self, name, port, protocol, algorithm, members, ex_members_availability_zones=None): if ex_members_availability_zones is None: ex_members_availability_zones = ["a"] params = { "Action": "CreateLoadBalancer", "LoadBalancerName": name, "Listeners.member.1.InstancePort": str(port), "Listeners.member.1.InstanceProtocol": protocol.upper(), "Listeners.member.1.LoadBalancerPort": str(port), "Listeners.member.1.Protocol": protocol.upper(), } for i, z in enumerate(ex_members_availability_zones): zone = "".join((self.region, z)) params["AvailabilityZones.member.%d" % (i + 1)] = zone data = self.connection.request(ROOT, params=params).object balancer = LoadBalancer( id=name, name=name, state=State.PENDING, ip=findtext(element=data, xpath="DNSName", namespace=NS), port=port, driver=self.connection.driver, ) balancer._members = [] return balancer
def _to_balancer(self, el): name = findtext(element=el, xpath='LoadBalancerName', namespace=NS) id = findtext(element=el, xpath='LoadBalancerArn', namespace=NS) dns_name = findtext(el, xpath='DNSName', namespace=NS) balancer = LoadBalancer( id=id, name=name, state=State.UNKNOWN, ip=dns_name, port=None, driver=self.connection.driver ) extra = { 'listeners': self._ex_get_balancer_listeners(balancer), 'target_groups': self._ex_get_balancer_target_groups(balancer), 'tags': self._ex_get_balancer_tags(balancer) } balancer.extra = extra if len(extra['listeners']) > 0: balancer.port = extra['listeners'][0]['port'] else: balancer.port = None balancer._members = self._ex_get_balancer_memebers(balancer) return balancer
def _to_balancer(self, el): name = findtext(element=el, xpath="LoadBalancerName", namespace=NS) dns_name = findtext(el, xpath="DNSName", namespace=NS) port = findtext(el, xpath="LoadBalancerPort", namespace=NS) balancer = LoadBalancer( id=name, name=name, state=State.UNKNOWN, ip=dns_name, port=port, driver=self.connection.driver ) xpath = "Instances/member/InstanceId" members = findall(element=el, xpath=xpath, namespace=NS) balancer._members = [] for m in members: balancer._members.append(Member(m.text, None, None, balancer=balancer)) return balancer
def _to_balancer(self, el): name = findtext(element=el, xpath='LoadBalancerName', namespace=NS) dns_name = findtext(el, xpath='DNSName', namespace=NS) port = findtext(el, xpath='LoadBalancerPort', namespace=NS) balancer = LoadBalancer(id=name, name=name, state=State.UNKNOWN, ip=dns_name, port=port, driver=self.connection.driver) xpath = 'Instances/member/InstanceId' members = findall(element=el, xpath=xpath, namespace=NS) balancer._members = [] for m in members: balancer._members.append( Member(m.text, None, None, balancer=balancer)) return balancer
def create_balancer( self, name, port, protocol, algorithm, members, ex_members_availability_zones=None, ): if ex_members_availability_zones is None: ex_members_availability_zones = ["a"] params = { "Action": "CreateLoadBalancer", "LoadBalancerName": name, "Listeners.member.1.InstancePort": str(port), "Listeners.member.1.InstanceProtocol": protocol.upper(), "Listeners.member.1.LoadBalancerPort": str(port), "Listeners.member.1.Protocol": protocol.upper(), } for i, z in enumerate(ex_members_availability_zones): zone = "".join((self.region, z)) params["AvailabilityZones.member.%d" % (i + 1)] = zone data = self.connection.request(ROOT, params=params).object balancer = LoadBalancer( id=name, name=name, state=State.PENDING, ip=findtext(element=data, xpath="DNSName", namespace=NS), port=port, driver=self.connection.driver, ) balancer._members = [] return balancer