code: def get_elb_names(self, region, config):
          
          # This function is ripe to be memoized but when ELBs are added/removed
          # dynamically over time, diamond will have to be restarted to pick
          # up the changes.
          region_dict = config.get('regions', {}).get(region, {})
          if 'elb_names' not in region_dict:
              elb_conn = boto.ec2.elb.connect_to_region(region,
                                                        **self.auth_kwargs)
              full_elb_names = \
                  [elb.name for elb in elb_conn.get_all_load_balancers()]
  
              # Regular expressions for ELBs we DO NOT want to get metrics on.
              matchers = \
                  [re.compile(regex) for regex in config.get('elbs_ignored', [])]
  
              # cycle through elbs get the list of elbs that don't match
              elb_names = []
              for elb_name in full_elb_names:
                  if matchers and any([m.match(elb_name) for m in matchers]):
                      continue
                  elb_names.append(elb_name)
          else:
              elb_names = region_dict['elb_names']
          return elb_names
docs: :param region: name of a region
          :param config: Collector config dict
          :return: list of elb names to query in the given region