|
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