From 5fed6988da49516d8214722a477c760876c2f5ee Mon Sep 17 00:00:00 2001 From: Gordon Irving Date: Thu, 28 Dec 2017 17:16:49 +0000 Subject: [PATCH] describe_regions: handle region-names parameter --- moto/ec2/models.py | 11 +++++++++-- moto/ec2/responses/availability_zones_and_regions.py | 3 ++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/moto/ec2/models.py b/moto/ec2/models.py index 932f535a1..b9759099b 100755 --- a/moto/ec2/models.py +++ b/moto/ec2/models.py @@ -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] diff --git a/moto/ec2/responses/availability_zones_and_regions.py b/moto/ec2/responses/availability_zones_and_regions.py index 3d0a5ab05..a6e35a89c 100644 --- a/moto/ec2/responses/availability_zones_and_regions.py +++ b/moto/ec2/responses/availability_zones_and_regions.py @@ -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)