@@ -468,6 +468,7 @@ func osSchema() *schema.Schema {
468468 "uuid" : {
469469 Type : schema .TypeString ,
470470 Optional : true ,
471+ Computed : true ,
471472 },
472473 "firmware" : {
473474 Type : schema .TypeString ,
@@ -674,7 +675,19 @@ func addOS(tpl *vm.Template, os []interface{}) {
674675 if os [i ] != nil {
675676 osconfig := os [i ].(map [string ]interface {})
676677 tpl .AddOS (vmk .Arch , osconfig ["arch" ].(string ))
678+ tpl .AddOS (vmk .Machine , osconfig ["machine" ].(string ))
679+ tpl .AddOS (vmk .Kernel , osconfig ["kernel" ].(string ))
680+ tpl .AddOS (vmk .KernelDS , osconfig ["kernel_ds" ].(string ))
681+ tpl .AddOS (vmk .Initrd , osconfig ["initrd" ].(string ))
682+ tpl .AddOS (vmk .InitrdDS , osconfig ["initrd_ds" ].(string ))
683+ tpl .AddOS (vmk .Root , osconfig ["root" ].(string ))
684+ tpl .AddOS (vmk .KernelCmd , osconfig ["kernel_cmd" ].(string ))
685+ tpl .AddOS (vmk .Bootloader , osconfig ["bootloader" ].(string ))
677686 tpl .AddOS (vmk .Boot , osconfig ["boot" ].(string ))
687+ tpl .AddOS (vmk .SDDiskBus , osconfig ["sd_disk_bus" ].(string ))
688+ tpl .AddOS (vmk .UUID , osconfig ["uuid" ].(string ))
689+ tpl .AddOS (vmk .Firmware , osconfig ["firmware" ].(string ))
690+ tpl .AddOS (vmk .FirmwareSecure , osconfig ["firmware_secure" ].(bool ))
678691 }
679692 }
680693
@@ -1012,7 +1025,19 @@ func flattenTemplate(d *schema.ResourceData, inheritedVectors map[string]interfa
10121025 // OS
10131026 osMap := make ([]map [string ]interface {}, 0 , 1 )
10141027 arch , _ := vmTemplate .GetOS (vmk .Arch )
1028+ machine , _ := vmTemplate .GetOS (vmk .Machine )
1029+ kernel , _ := vmTemplate .GetOS (vmk .Kernel )
1030+ kernelDS , _ := vmTemplate .GetOS (vmk .KernelDS )
1031+ initrd , _ := vmTemplate .GetOS (vmk .Initrd )
1032+ initrdDS , _ := vmTemplate .GetOS (vmk .InitrdDS )
1033+ root , _ := vmTemplate .GetOS (vmk .Root )
1034+ kernelCmd , _ := vmTemplate .GetOS (vmk .KernelCmd )
1035+ bootloader , _ := vmTemplate .GetOS (vmk .Bootloader )
10151036 boot , _ := vmTemplate .GetOS (vmk .Boot )
1037+ sdDiskBus , _ := vmTemplate .GetOS (vmk .SDDiskBus )
1038+ uuid , _ := vmTemplate .GetOS (vmk .UUID )
1039+ firmware , _ := vmTemplate .GetOS (vmk .Firmware )
1040+ firmwareSecure , firmwareSecureErr := vmTemplate .GetOS (vmk .FirmwareSecure )
10161041 // CPU Model
10171042 cpumodelMap := make ([]map [string ]interface {}, 0 , 1 )
10181043 cpumodel , _ := vmTemplate .GetCPUModel (vmk .Model )
@@ -1069,9 +1094,26 @@ func flattenTemplate(d *schema.ResourceData, inheritedVectors map[string]interfa
10691094
10701095 // Set OS to resource
10711096 if arch != "" {
1097+ firmwareSecureBool := false
1098+ if firmwareSecureErr == nil && firmwareSecure == "true" {
1099+ firmwareSecureBool = true
1100+ }
1101+
10721102 osMap = append (osMap , map [string ]interface {}{
1073- "arch" : arch ,
1074- "boot" : boot ,
1103+ "arch" : arch ,
1104+ "machine" : machine ,
1105+ "kernel" : kernel ,
1106+ "kernel_ds" : kernelDS ,
1107+ "initrd" : initrd ,
1108+ "initrd_ds" : initrdDS ,
1109+ "root" : root ,
1110+ "kernel_cmd" : kernelCmd ,
1111+ "bootloader" : bootloader ,
1112+ "boot" : boot ,
1113+ "sd_disk_bus" : sdDiskBus ,
1114+ "uuid" : uuid ,
1115+ "firmware" : firmware ,
1116+ "firmware_secure" : firmwareSecureBool ,
10751117 })
10761118 _ , inherited := inheritedVectors ["OS" ]
10771119 if ! inherited {
0 commit comments