|
299 | 299 | import ansible.module_utils.pvesh as pvesh
|
300 | 300 | import re
|
301 | 301 | import json
|
302 |
| -from json import JSONDecodeError, loads as parse_json |
| 302 | +from json import JSONDecodeError, loads as parse_json, dumps as to_json |
303 | 303 |
|
304 | 304 |
|
305 | 305 | class ProxmoxStorage(object):
|
@@ -355,6 +355,8 @@ def __init__(self, module):
|
355 | 355 | "'backup' content type.")
|
356 | 356 | try:
|
357 | 357 | if self.encryption_key not in ["autogen", None]:
|
| 358 | + if isinstance(self.encryption_key, dict): |
| 359 | + self.encryption_key = to_json(self.encryption_key) |
358 | 360 | parse_json(self.encryption_key)
|
359 | 361 | except JSONDecodeError:
|
360 | 362 | self.module.fail_json(msg=("encryption_key needs to be valid "
|
@@ -578,7 +580,7 @@ def main():
|
578 | 580 | "zfspool", "btrfs", "pbs", "cifs"]),
|
579 | 581 | # Remaining PVE API arguments (depending on type) past this point
|
580 | 582 | datastore=dict(default=None, type='str', required=False),
|
581 |
| - encryption_key=dict(default=None, type='str', required=False, no_log=True), |
| 583 | + encryption_key=dict(default=None, type='raw', required=False, no_log=True), |
582 | 584 | fingerprint=dict(default=None, type='str', required=False),
|
583 | 585 | master_pubkey=dict(default=None, type='str', required=False),
|
584 | 586 | password=dict(default=None, type='str', required=False, no_log=True),
|
|
0 commit comments