@@ -66,6 +66,51 @@ func TestAccVirtualMachine(t *testing.T) {
6666 }),
6767 ),
6868 },
69+ {
70+ Config : testAccVirtualMachineTemplateConfigOs ,
71+ Check : resource .ComposeTestCheckFunc (
72+ testAccSetDSdummy (),
73+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "name" , "test-virtual_machine" ),
74+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "permissions" , "642" ),
75+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "memory" , "128" ),
76+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "cpu" , "0.1" ),
77+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "context.%" , "3" ),
78+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "context.NETWORK" , "YES" ),
79+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "context.TESTVAR" , "TEST" ),
80+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "graphics.#" , "1" ),
81+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "graphics.0.keymap" , "en-us" ),
82+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "graphics.0.listen" , "0.0.0.0" ),
83+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "graphics.0.type" , "VNC" ),
84+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.#" , "1" ),
85+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.0.arch" , "x86_64" ),
86+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.0.boot" , "" ),
87+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.0.machine" , "q35" ),
88+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.0.firmware" , "" ),
89+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "os.0.firmware_secure" , "false" ),
90+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "disk.#" , "0" ),
91+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "tags.%" , "2" ),
92+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "tags.env" , "prod" ),
93+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "tags.customer" , "test" ),
94+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "description" , "VM created for provider acceptance tests" ),
95+ resource .TestCheckResourceAttr ("opennebula_virtual_machine.testos" , "timeout" , "5" ),
96+ resource .TestCheckResourceAttrSet ("opennebula_virtual_machine.testos" , "uid" ),
97+ resource .TestCheckResourceAttrSet ("opennebula_virtual_machine.testos" , "gid" ),
98+ resource .TestCheckResourceAttrSet ("opennebula_virtual_machine.testos" , "uname" ),
99+ resource .TestCheckResourceAttrSet ("opennebula_virtual_machine.testos" , "gname" ),
100+ testAccCheckVirtualMachinePermissions (& shared.Permissions {
101+ OwnerU : 1 ,
102+ OwnerM : 1 ,
103+ GroupU : 1 ,
104+ OtherM : 1 ,
105+ }),
106+ resource .TestCheckTypeSetElemNestedAttrs ("opennebula_virtual_machine.testos" , "template_section.*" , map [string ]string {
107+ "name" : "test_vec_key" ,
108+ "elements.%" : "2" ,
109+ "elements.testkey1" : "testvalue1" ,
110+ "elements.testkey2" : "testvalue2" ,
111+ }),
112+ ),
113+ },
69114 {
70115 Config : testAccVirtualMachineConfigUpdate ,
71116 Check : resource .ComposeTestCheckFunc (
@@ -635,7 +680,7 @@ resource "opennebula_virtual_machine" "test" {
635680 os {
636681 arch = "x86_64"
637682 boot = ""
638- }
683+ }
639684
640685 tags = {
641686 env = "prod"
@@ -656,6 +701,52 @@ resource "opennebula_virtual_machine" "test" {
656701}
657702`
658703
704+ var testAccVirtualMachineTemplateConfigOs = `
705+ resource "opennebula_virtual_machine" "testos" {
706+ name = "test-virtual_machine"
707+ group = "oneadmin"
708+ permissions = "642"
709+ memory = 128
710+ cpu = 0.1
711+ description = "VM created for provider acceptance tests"
712+
713+ context = {
714+ TESTVAR = "TEST"
715+ NETWORK = "YES"
716+ SET_HOSTNAME = "$NAME"
717+ }
718+
719+ graphics {
720+ type = "VNC"
721+ listen = "0.0.0.0"
722+ keymap = "en-us"
723+ }
724+
725+ os {
726+ arch = "x86_64"
727+ boot = ""
728+ machine = "q35"
729+ firmware = ""
730+ firmware_secure = false
731+ }
732+
733+ tags = {
734+ env = "prod"
735+ customer = "test"
736+ }
737+
738+ template_section {
739+ name = "test_vec_key"
740+ elements = {
741+ testkey1 = "testvalue1"
742+ testkey2 = "testvalue2"
743+ }
744+ }
745+
746+ timeout = 5
747+ }
748+ `
749+
659750var testAccVirtualMachineTemplateConfigCPUModel = `
660751resource "opennebula_virtual_machine" "test" {
661752 name = "test-virtual_machine-renamed"
0 commit comments