mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
proxmox_kvm: added support for tmpstate
adds hash of options for a TPM state disk, which is required for Windows 11 installations
This commit is contained in:
parent
f833982d6f
commit
92fa5fe894
1 changed files with 22 additions and 0 deletions
|
@ -482,6 +482,21 @@ options:
|
||||||
- Timeout for operations.
|
- Timeout for operations.
|
||||||
type: int
|
type: int
|
||||||
default: 30
|
default: 30
|
||||||
|
tmpstate:
|
||||||
|
description:
|
||||||
|
- A hash/dictionary of options for the Trusted Platform Module disk.
|
||||||
|
- A TPM state disk is required for Windows 11 installations.
|
||||||
|
suboptions:
|
||||||
|
storage:
|
||||||
|
description:
|
||||||
|
- C(storage) is the storage identifier where to create the disk.
|
||||||
|
type: str
|
||||||
|
version:
|
||||||
|
description:
|
||||||
|
- The TPM version to use.
|
||||||
|
type: str
|
||||||
|
choices: ['1.2', '2.0']
|
||||||
|
version_added: 6.5.1
|
||||||
update:
|
update:
|
||||||
description:
|
description:
|
||||||
- If C(true), the VM will be updated with new value.
|
- If C(true), the VM will be updated with new value.
|
||||||
|
@ -951,6 +966,8 @@ class ProxmoxKvmAnsible(ProxmoxAnsible):
|
||||||
del kwargs['ide']
|
del kwargs['ide']
|
||||||
if 'efidisk0' in kwargs:
|
if 'efidisk0' in kwargs:
|
||||||
del kwargs['efidisk0']
|
del kwargs['efidisk0']
|
||||||
|
if 'tpmstate' in kwargs:
|
||||||
|
del kwargs['tpmstate']
|
||||||
if 'net' in kwargs:
|
if 'net' in kwargs:
|
||||||
del kwargs['net']
|
del kwargs['net']
|
||||||
if 'force' in kwargs:
|
if 'force' in kwargs:
|
||||||
|
@ -978,6 +995,10 @@ class ProxmoxKvmAnsible(ProxmoxAnsible):
|
||||||
if 'storage' != k])
|
if 'storage' != k])
|
||||||
kwargs['efidisk0'] = efidisk0_str
|
kwargs['efidisk0'] = efidisk0_str
|
||||||
|
|
||||||
|
# Flatten tpmstate option to a string so that it's a string which is what Proxmoxer and the API expect
|
||||||
|
if 'tpmstate' in kwargs:
|
||||||
|
kwargs['tmpstate'] = '{}:1,version=v{}'.format(kwargs['tmpstate'].pop('storage'), kwargs['tmpstate'].pop('version'))
|
||||||
|
|
||||||
# Convert all dict in kwargs to elements.
|
# Convert all dict in kwargs to elements.
|
||||||
# For hostpci[n], ide[n], net[n], numa[n], parallel[n], sata[n], scsi[n], serial[n], virtio[n], ipconfig[n]
|
# For hostpci[n], ide[n], net[n], numa[n], parallel[n], sata[n], scsi[n], serial[n], virtio[n], ipconfig[n]
|
||||||
for k in list(kwargs.keys()):
|
for k in list(kwargs.keys()):
|
||||||
|
@ -1163,6 +1184,7 @@ def main():
|
||||||
tdf=dict(type='bool'),
|
tdf=dict(type='bool'),
|
||||||
template=dict(type='bool'),
|
template=dict(type='bool'),
|
||||||
timeout=dict(type='int', default=30),
|
timeout=dict(type='int', default=30),
|
||||||
|
tpmstate=dict(type='dict'),
|
||||||
update=dict(type='bool', default=False),
|
update=dict(type='bool', default=False),
|
||||||
vcpus=dict(type='int'),
|
vcpus=dict(type='int'),
|
||||||
vga=dict(choices=['std', 'cirrus', 'vmware', 'qxl', 'serial0', 'serial1', 'serial2', 'serial3', 'qxl2', 'qxl3', 'qxl4']),
|
vga=dict(choices=['std', 'cirrus', 'vmware', 'qxl', 'serial0', 'serial1', 'serial2', 'serial3', 'qxl2', 'qxl3', 'qxl4']),
|
||||||
|
|
Loading…
Reference in a new issue