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:
Affected Version: v0.9.8
Resource: morpheus_vsphere_instance
Error Message: {"errors":{"networkDomain.name":"Please enter a name"},"success":false}
Logs Snippet:
2024-04-01T15:24:24.015-0600 [INFO] provider.terraform-provider-morpheus_v0.9.8: 2024/04/01 15:24:24 API FAILURE: Response HTTP: 400 Bad Request Success: false Size: 71B Body: {"errors":{"networkDomain.name":"Please enter a name"},"success":false} - API returned HTTP 400: timestamp=2024-04-01T15:24:24.014-0600
2024-04-01T15:24:24.015-0600 [ERROR] provider.terraform-provider-morpheus_v0.9.8: Response contains error diagnostic: @caller=github.com/hashicorp/terraform-plugin-go@v0.20.0/tfprotov5/internal/diag/diagnostics.go:62 diagnostic_severity=ERROR tf_provider_addr=provider @module=sdk.proto diagnostic_detail= diagnostic_summary="API returned HTTP 400" tf_proto_version=5.4 tf_req_id=80a5f6f7-153b-b2bf-d49e-bb96c6ffc447 tf_resource_type=morpheus_vsphere_instance tf_rpc=ApplyResourceChange timestamp=2024-04-01T15:24:24.015-0600
2024-04-01T15:24:24.024-0600 [ERROR] vertex "morpheus_vsphere_instance.tf_example" error: API returned HTTP 400
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.
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 thenetworkDomain.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" } }