def create_elb(self, name=None, listeners=None, scheme=None, tags=None, env=None, sg_name=None): subnets = self.get_subnets_for_elb(scheme=scheme, env=env) yaml_tags = Misc.get_yaml_tags_for_sub(sub="elb") lb_name = self.generate_elb_name(stack=name, facing=scheme, env=env) for y in yaml_tags: logger.debug("Checking if tag exists %s" % y, ) if y == "Environment": tags.append({'Key': y, 'Value': env}) continue if y == "Name": tags.append({'Key': y, 'Value': lb_name}) continue t = Misc.get_value_from_array_hash(dictlist=tags, key=y) if t is None: tags.append({'Key': y, 'Value': ""}) sgs = self.get_sgs_for_elb(env=env, name=sg_name) self.elb.create_load_balancer(LoadBalancerName=lb_name, Scheme=scheme, Tags=tags, SecurityGroups=sgs, Subnets=subnets, Listeners=listeners) return lb_name