def _get_site_id_by_name(self, site_name): if site_name in self.site_name_id_mapping: return self.site_name_id_mapping.get(site_name) site_api = formation_client.SitesApi(self.formation_api_client) sites = site_api.sites_get() for site in sites: self.site_name_id_mapping[site.name] = site.id if site.name == site_name: return site.id
def _get_site_by_zone_name(self, zone_name): site_api = formation_client.SitesApi(self.formation_api_client) sites = site_api.sites_get() # Walk through each site and get zones # Return when site name matches for site in sites: self.site_name_id_mapping[site.name] = site.id site_zones = self.get_zones(site.name) if zone_name in site_zones: return site.name return None
def get_location_information(self, region): """ get location information for a zone and return """ site = self.region_zone_map[region]['site'] site_id = self._get_site_id_by_name(site) site_api = formation_client.SitesApi(self.formation_api_client) site_info = site_api.sites_site_id_get(site_id) try: return { # 'corridor': site_info.corridor, 'name': site_info.city, 'state': site_info.state, 'country': site_info.country, 'physical_location_id': site_info.clli, } except AttributeError as e: raise MissingAttributeError('Missing {} information in {}'.format( e, site_info.city))