gomorpheus / terraform-provider-morpheus

Terraform Morpheus provider
MIT License
17 stars 23 forks source link

v0.9.8: morpheus_vsphere_instance Requires Optional networkDomain.name #215

Closed dev-mihai closed 6 months ago

dev-mihai commented 6 months ago

Encountering an issue with the Morpheus Terraform provider, specifically with version 0.9.8, when using the morpheus_vsphere_instance resource. The provisioning process, which previously worked smoothly with version 0.9.6, fails with version 0.9.8. The issue seems to be related to the requirement of the networkDomain.name field, which is not explicitly mentioned in the documentation.

Details:

provider "morpheus" { url = "https://morpheus.xxxxx.com" access_token = "xxxxxxx" }

data "morpheus_group" "morpheus_lab" { name = "All" }

data "morpheus_cloud" "morpheus_vsphere" { name = "VMware vCenter" }

data "morpheus_resource_pool" "vsphere_resource_pool" { id = 199 cloud_id = data.morpheus_cloud.morpheus_vsphere.id }

data "morpheus_instance_type" "ubuntu" { name = "Ubuntu" }

data "morpheus_instance_layout" "ubuntu" { name = "VMware VM" version = "22.04" }

data "morpheus_network" "vmnetwork" { name = "VM Network" }

data "morpheus_plan" "vmware" { name = "1 CPU, 4GB Memory" }

Define vSphere Instance Resource

resource "morpheus_vsphere_instance" "tf_example" { name = "morpheus-app-$${sequence + 1000}" description = "Terraform instance example" cloud_id = data.morpheus_cloud.morpheus_vsphere.id group_id = data.morpheus_group.morpheus_lab.id instance_type_id = data.morpheus_instance_type.ubuntu.id instance_layout_id = data.morpheus_instance_layout.ubuntu.id plan_id = data.morpheus_plan.vmware.id environment = "Dev" resource_pool_id = data.morpheus_resource_pool.vsphere_resource_pool.id labels = ["demo", "terraform"] skip_agent_install = true interfaces { network_id = data.morpheus_network.vmnetwork.id } tags = { name = "TerraformTest" } }



The [documentation](https://registry.terraform.io/providers/gomorpheus/morpheus/latest/docs/resources/vsphere_instance#domain_id) specifies that the domain is optional.

**Workaround**
- Providing a domain ID enables successful deployment.
martezr commented 6 months ago

This issue has been fixed in the latest release of the Terraform provider (v0.9.9)