def _get_zone_id_by_name(self, zone_name): if zone_name in self.zone_name_id_mapping: return self.zone_name_id_mapping.get(zone_name) zone_api = formation_client.ZonesApi(self.formation_api_client) zones = zone_api.zones_get() for zone in zones: if zone.name == zone_name: self.zone_name_id_mapping[zone.name] = zone.id return zone.id
def _get_zone_by_region_name(self, region_name): zone_api = formation_client.ZonesApi(self.formation_api_client) zones = zone_api.zones_get() # Walk through each zone and get regions # Return when region name matches for zone in zones: self.zone_name_id_mapping[zone.name] = zone.id zone_regions = self.get_regions(zone.name) if region_name in zone_regions: return zone.name return None
def get_domain_name(self, region): try: zone = self.region_zone_map[region]['zone'] zone_id = self._get_zone_id_by_name(zone) zone_api = formation_client.ZonesApi(self.formation_api_client) zone_ = zone_api.zones_zone_id_get(zone_id) except formation_client.rest.ApiException as e: raise ApiClientError(e.msg) if not zone_.dns: LOG.warn('Got None while running get domain name') return None return zone_.dns
def get_zones(self, site=None): zone_api = formation_client.ZonesApi(self.formation_api_client) if site is None: zones = zone_api.zones_get() else: site_id = self._get_site_id_by_name(site) zones = zone_api.sites_site_id_zones_get(site_id) zones_list = [] for zone in zones: zone_name = zone.name self.zone_name_id_mapping[zone_name] = zone.id zones_list.append(zone_name) return zones_list
def get_dns_servers(self, region): try: zone = self.region_zone_map[region]['zone'] zone_id = self._get_zone_id_by_name(zone) zone_api = formation_client.ZonesApi(self.formation_api_client) zone_ = zone_api.zones_zone_id_get(zone_id) except formation_client.rest.ApiException as e: raise ApiClientError(e.msg) if not zone_.ipv4_dns: LOG.warn("No dns server") return [] dns_list = [] for dns in zone_.ipv4_dns: dns_list.append(dns.ip) return dns_list