mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Fix parameters check for ec2_vol
Split the error check into two error checks and delay the checks so that listing existing volumes works more nicely. The error check should check that: * One and only one of volume_size id or name is set This fix adds the 'only one' part of that check and provides more useful error messages.
This commit is contained in:
parent
3b8a35d65e
commit
551adfa26e
1 changed files with 9 additions and 3 deletions
|
@ -325,9 +325,6 @@ def main():
|
||||||
if id and name:
|
if id and name:
|
||||||
module.fail_json(msg="Both id and name cannot be specified")
|
module.fail_json(msg="Both id and name cannot be specified")
|
||||||
|
|
||||||
if not (id or name or volume_size):
|
|
||||||
module.fail_json(msg="Cannot specify volume_size and either one of name or id")
|
|
||||||
|
|
||||||
# Here we need to get the zone info for the instance. This covers situation where
|
# Here we need to get the zone info for the instance. This covers situation where
|
||||||
# instance is specified but zone isn't.
|
# instance is specified but zone isn't.
|
||||||
# Useful for playbooks chaining instance launch with volume create + attach and where the
|
# Useful for playbooks chaining instance launch with volume create + attach and where the
|
||||||
|
@ -345,6 +342,15 @@ def main():
|
||||||
device=device_name,
|
device=device_name,
|
||||||
changed=False)
|
changed=False)
|
||||||
|
|
||||||
|
# Delaying the checks until after the instance check allows us to get volume ids for existing volumes
|
||||||
|
# without needing to pass an unused volume_size
|
||||||
|
if not volume_size and not (id or name):
|
||||||
|
module.fail_json(msg="You must specify an existing volume with id or name or a volume_size")
|
||||||
|
|
||||||
|
if volume_size and (id or name):
|
||||||
|
module.fail_json(msg="Cannot specify volume_size and either one of name or id")
|
||||||
|
|
||||||
|
|
||||||
if state == 'absent':
|
if state == 'absent':
|
||||||
delete_volume(module, ec2)
|
delete_volume(module, ec2)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue