Make sure invalid or malformed AMIs raise an exception
Closes: https://github.com/spulec/moto/issues/1408
This commit is contained in:
parent
e75f3ef4d4
commit
c68cd650e7
2 changed files with 24 additions and 0 deletions
|
|
@ -48,6 +48,7 @@ from .exceptions import (
|
|||
InvalidRouteError,
|
||||
InvalidInstanceIdError,
|
||||
InvalidAMIIdError,
|
||||
MalformedAMIIdError,
|
||||
InvalidAMIAttributeItemValueError,
|
||||
InvalidSnapshotIdError,
|
||||
InvalidVolumeIdError,
|
||||
|
|
@ -1122,6 +1123,9 @@ class Ami(TaggedEC2Resource):
|
|||
|
||||
|
||||
class AmiBackend(object):
|
||||
|
||||
AMI_REGEX = re.compile("ami-[a-z0-9]+")
|
||||
|
||||
def __init__(self):
|
||||
self.amis = {}
|
||||
|
||||
|
|
@ -1170,6 +1174,12 @@ class AmiBackend(object):
|
|||
|
||||
if ami_ids:
|
||||
images = [ami for ami in images if ami.id in ami_ids]
|
||||
if len(ami_ids) > len(images):
|
||||
unknown_ids = set(ami_ids) - set(images)
|
||||
for id in unknown_ids:
|
||||
if not self.AMI_REGEX.match(id):
|
||||
raise MalformedAMIIdError(id)
|
||||
raise InvalidAMIIdError(unknown_ids)
|
||||
|
||||
# Generic filters
|
||||
if filters:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue