You've already forked deploy-vm
refine disk size validation and update Proxmox API format for extra disks
This commit is contained in:
+3
-3
@@ -41,11 +41,11 @@
|
||||
- _disk.disk is defined
|
||||
- _disk.disk | length > 0
|
||||
- _disk.size is defined
|
||||
- _disk.size is match('^[0-9]+[KMGT]$')
|
||||
- _disk.size | string is match('^[0-9]+[GT]?$')
|
||||
fail_msg: >-
|
||||
Disque supplémentaire invalide : {{ _disk }}.
|
||||
'disk' (ex: scsi1) et 'size' (ex: 100G) sont obligatoires.
|
||||
La taille doit être absolue (pas de préfixe +).
|
||||
'disk' (ex: scsi1) et 'size' (ex: '100G' ou 100) sont obligatoires.
|
||||
Formats acceptés : entier en GB (ex: 20) ou chaîne avec unité G/T (ex: '20G', '2T').
|
||||
loop: "{{ vm_extra_disks }}"
|
||||
loop_control:
|
||||
loop_var: _disk
|
||||
|
||||
+8
-1
@@ -64,7 +64,14 @@
|
||||
|
||||
- name: "deploy-vm | add extra disk '{{ _disk.disk }}' ({{ _disk.size }})"
|
||||
vars:
|
||||
_opts: "{{ _disk.storage | default(proxmox_storage) }}:0,size={{ _disk.size\
|
||||
# Proxmox API format : storage:SIZE_GB[,options]
|
||||
# SIZE_GB doit être un entier en GB (sans unité).
|
||||
# Formats acceptés : entier brut (20 → 20 GB), chaîne avec unité G ("20G") ou T ("2T").
|
||||
_size_gb: >-
|
||||
{{ (_disk.size | string)[:-1] | int * 1024 if (_disk.size | string)[-1] | upper == 'T'
|
||||
else (_disk.size | string)[:-1] | int if (_disk.size | string)[-1] | upper == 'G'
|
||||
else _disk.size | int }}
|
||||
_opts: "{{ _disk.storage | default(proxmox_storage) }}:{{ _size_gb\
|
||||
}}{{ ',ssd=1' if _disk.ssd | default(false) | bool else ''\
|
||||
}}{{ ',iothread=1' if _disk.iothread | default(false) | bool else ''\
|
||||
}}{{ ',backup=0' if not (_disk.backup | default(true) | bool) else ''\
|
||||
|
||||
Reference in New Issue
Block a user