Skip to content

Error: vra_project Cannot Remove Custom Properties #607

@bjf-rga

Description

@bjf-rga

Code of Conduct

This project has a Code of Conduct that all participants are expected to understand and follow:

vRA Version

8.18.1

Terraform Version

1.12.2

vRA Terraform Provider Version

v0.15.0

Affected Resource(s)

Terraform Configuration Files

resource "vra_project" "demo" {
  name = "my-bug-demo"

  custom_properties = {
    prop_1 = "val1"
    prop_2 = "val2"
  }
}

Expected Behavior

When a custom property is removed, it should be removed on apply.

Actual Behavior

The property is not removed the project, resulting in a perpetual difference in all plan operations.

Steps to Reproduce

Screenshots

Terraform will perform the following actions:

  # vra_project.demo will be updated in-place
  ~ resource "vra_project" "demo" {
      ~ custom_properties       = {
          - "prop_2" = "val2" -> null
            # (1 unchanged element hidden)
        }   
        id                      = "2233ae7b-b48a-400f-b4b2-2f9b0a22861b"
        name                    = "my-bug-demo"
        # (8 unchanged attributes hidden)
    }   

Plan: 0 to add, 1 to change, 0 to destroy.

Debug Output

No gist again. Only including the two relevant lines.

2025-11-18T13:34:51.588-0600 [INFO]  provider.terraform-provider-vra_v0.15.0: 2025/11/18 13:34:51 PATCH /iaas/api/projects/2233ae7b-b48a-400f-b4b2-2f9b0a22861b HTTP/1.1: timestamp=2025-11-18T13:34:51.588-0600
2025-11-18T13:34:51.592-0600 [INFO]  provider.terraform-provider-vra_v0.15.0: 2025/11/18 13:34:51 {"administrators":[],"constraints":{"extensibility":[],"network":[],"storage":[]}
,"customProperties":{"prop_1":"val1"},"members":[],"name":"my-bug-demo","operationTimeout":0,"placementPolicy":"DEFAULT","sharedResources":true,"supervisors":[],"viewers":[],"zone
AssignmentConfigurations":[]}: timestamp=2025-11-18T13:34:51.591-0600

Panic Output

n/a

Important Factoids

This is likely a bug in the API and not the provider, as the debug output shows the provider passing an expected payload. Unsure if this would make more sense as a PUT with a full assertion of state.

If a property is added, the Terraform operations work as expected. This only affects removal of properties.

References

Community Note

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions