describe_regions: handle region-names parameter

This commit is contained in:
Gordon Irving 2017-12-28 17:16:49 +00:00
parent e85bbe2ebc
commit 5fed6988da
2 changed files with 11 additions and 3 deletions

View File

@ -1261,8 +1261,15 @@ class RegionsAndZonesBackend(object):
(region, [Zone(region + c, region) for c in 'abc'])
for region in [r.name for r in regions])
def describe_regions(self):
return self.regions
def describe_regions(self, region_names=[]):
if len(region_names) == 0:
return self.regions
ret = []
for name in region_names:
for region in self.regions:
if region.name == name:
ret.append(region)
return ret
def describe_availability_zones(self):
return self.zones[self.region_name]

View File

@ -10,7 +10,8 @@ class AvailabilityZonesAndRegions(BaseResponse):
return template.render(zones=zones)
def describe_regions(self):
regions = self.ec2_backend.describe_regions()
region_names = self._get_multi_param('RegionName')
regions = self.ec2_backend.describe_regions(region_names)
template = self.response_template(DESCRIBE_REGIONS_RESPONSE)
return template.render(regions=regions)