@@ -576,6 +576,27 @@ func TestAccXenorchestraVm_createWithDisklessTemplateAndISO(t *testing.T) {
576576 })
577577}
578578
579+ func TestAccXenorchestraVm_createWithoutDisks (t * testing.T ) {
580+ resourceName := "xenorchestra_vm.bar"
581+ vmName := fmt .Sprintf ("%s - %s" , accTestPrefix , t .Name ())
582+ resource .ParallelTest (t , resource.TestCase {
583+ PreCheck : func () { testAccPreCheck (t ) },
584+ Providers : testAccProviders ,
585+ CheckDestroy : testAccCheckXenorchestraVmDestroy ,
586+ Steps : []resource.TestStep {
587+ {
588+ Config : testAccVmConfigWithoutDisks (vmName ),
589+ Check : resource .ComposeAggregateTestCheckFunc (
590+ testAccVmExists (resourceName ),
591+ resource .TestCheckResourceAttrSet (resourceName , "id" ),
592+ resource .TestCheckResourceAttr (resourceName , "cdrom.#" , "1" ),
593+ internal .TestCheckTypeSetElemAttrPair (resourceName , "cdrom.0.*" , "data.xenorchestra_vdi.iso" , "id" ),
594+ ),
595+ },
596+ },
597+ })
598+ }
599+
579600func TestAccXenorchestraVm_insertAndEjectCd (t * testing.T ) {
580601 resourceName := "xenorchestra_vm.bar"
581602 vmName := fmt .Sprintf ("%s - %s" , accTestPrefix , t .Name ())
@@ -1542,6 +1563,36 @@ resource "xenorchestra_vm" "bar" {
15421563` , testIsoName , accTestPool .Id , accDefaultNetwork .NameLabel , accTestPool .Id , vmName , accDefaultSr .Id )
15431564}
15441565
1566+ func testAccVmConfigWithoutDisks (vmName string ) string {
1567+ return testAccCloudConfigConfig (fmt .Sprintf ("vm-template-%s" , vmName ), "template" ) + testAccNonDefaultTemplateConfig (disklessTestTemplate .NameLabel ) + fmt .Sprintf (`
1568+ data "xenorchestra_vdi" "iso" {
1569+ name_label = "%s"
1570+ pool_id = "%s"
1571+ }
1572+
1573+ data "xenorchestra_network" "network" {
1574+ name_label = "%s"
1575+ pool_id = "%s"
1576+ }
1577+
1578+ resource "xenorchestra_vm" "bar" {
1579+ memory_max = 4295000000
1580+ cpus = 1
1581+ cloud_config = "${xenorchestra_cloud_config.bar.template}"
1582+ name_label = "%s"
1583+ name_description = "description"
1584+ template = "${data.xenorchestra_template.template.id}"
1585+ network {
1586+ network_id = "${data.xenorchestra_network.network.id}"
1587+ }
1588+
1589+ cdrom {
1590+ id = data.xenorchestra_vdi.iso.id
1591+ }
1592+ }
1593+ ` , testIsoName , accTestPool .Id , accDefaultNetwork .NameLabel , accTestPool .Id , vmName , accDefaultSr .Id )
1594+ }
1595+
15451596func testAccVmConfigWithoutISO (vmName string ) string {
15461597 return testAccCloudConfigConfig (fmt .Sprintf ("vm-template-%s" , vmName ), "template" ) + testAccNonDefaultTemplateConfig (disklessTestTemplate .NameLabel ) + fmt .Sprintf (`
15471598
0 commit comments