Terraform Provider for VMware Cloud Director
159
stars
886
commits
Go
primary language
Sep 2, 2026
updated
The official Terraform provider for VMware Cloud Director

Note. You only need to build the provider plugin if you want to develop it. Refer to
documentation for using it. Terraform will
automatically download officially released binaries of this provider plugin on the first run of terraform init
command.
Starting with version 2.1 provider started using Go modules This means that it is no longer necessary to be in GOPATH. See more on how to use modules and toggle between modes.
$ cd ~/mydir
$ git clone https://github.com/vmware/terraform-provider-vcd.git
$ cd terraform-provider-vcd/
$ make build
Starting with terraform-provider-vcd version 2.1 Go modules are used. This means a few things:
GOPATH. It can though -
see more on how to use modules and toggle between modes.terraform-provider-vcd one often needs to add extra stuff to go-vcloud-director. Go modules
have a convenient replace
directive which can allow you to redirect import path to your own version of go-vcloud-director.
go.mod can be altered: module github.com/vmware/terraform-provider-vcd/v2
require (
...
github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3
)
replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3 => github.com/my-git-user/go-vcloud-director/v3 v3.1.0-alpha.3
module github.com/vmware/terraform-provider-vcd/v2
require (
...
github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2
)
replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2 => ../go-vcloud-director
See CODING_GUIDELINES.md for more advice on how to write code for this project.
For a more thorough test using the Terraform client, you may want to transfer the plugin in the Terraform directory. A make command can do this for you:
$ make install
This command will build the plugin and transfer it to $HOME/.terraform.d/plugins, with a name that includes the version (as taken from the ./VERSION file).
Starting with terraform 0.13, the path where the plugin is deployed is
`$HOME/.terraform.d/plugins/registry.terraform.io/vmware/vcd/${VERSION}/${OS}_amd64/terraform-provider-vcd_v${VERSION}`
For example, on MacOS:
$HOME/.terraform.d/
├── checkpoint_signature
└── plugins
├── registry.terraform.io
└── vmware
└── vcd
├── 2.9.0
│ └── darwin_amd64
│ └── terraform-provider-vcd_v2.9.0
└── 3.0.0
└── darwin_amd64
└── terraform-provider-vcd_v3.0.0
On Linux:
$HOME/.terraform.d/
├── checkpoint_signature
└── plugins
├── registry.terraform.io
└── vmware
└── vcd
├── 2.9.0
│ └── linux_amd64
│ └── terraform-provider-vcd_v2.9.0
└── 3.0.0
└── linux_amd64
└── terraform-provider-vcd_v3.0.0
Once you have installed the plugin as mentioned above, you can simply create a new config.tf as defined in the manual and run
$ terraform init
$ terraform plan
$ terraform apply
When using terraform 0.13+, you also need to have a terraform block either in your script or in an adjacent versions.tf file,
containing.
terraform {
required_providers {
vcd = {
source = "vmware/vcd"
}
}
required_version = ">= 0.13"
}
In this block, the vmware part of the source corresponds to the directory
$HOME/.terraform.d/plugins/registry.terraform.io/vmware created by the command make install.
Note that versions.tf is generated when you run the terraform 0.13upgrade command. If you have run such command,
you need to edit the file and make sure the source path corresponds to the one installed, or remove the file
altogether if you have already the right block in your script.
The Terraform Provider for VMware Cloud Director is the work of many contributors and the project team appreciates your help!
If you discover a bug or would like to suggest an enhancement, submit an issue.
If you would like to submit a pull request, please read the contribution guidelines to get started. In case of enhancement or feature contribution, we kindly ask you to open an issue to discuss it beforehand.
Read TROUBLESHOOTING.md to learn how to configure and understand logs, and how to diagnose common errors.
Because this Terraform provider is developed as an open-source project and follows standard GitHub community practices, we encourage customers to submit bug reports and enhancement requests directly in the project's GitHub repository. However, we recognize that some situations may require formal technical support through our Global Support Services (GSS) process. In those cases, please open a case through the Broadcom support portal, referencing the provider, the provider version, and any related GitHub issue(s). When opening your case, please select VMware ESXi as the Product and choose VCF Terraform from the components drop-down menu.
© Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
The Terraform Provider for VMware Cloud Director is available under the Mozilla Public License, version 2.0 license.
(top 30 of 39)
Go
97.9%
Terraform Provider for VMware Cloud Director
159
stars
886
commits
Go
primary language
Sep 2, 2026
updated
The official Terraform provider for VMware Cloud Director

Note. You only need to build the provider plugin if you want to develop it. Refer to
documentation for using it. Terraform will
automatically download officially released binaries of this provider plugin on the first run of terraform init
command.
Starting with version 2.1 provider started using Go modules This means that it is no longer necessary to be in GOPATH. See more on how to use modules and toggle between modes.
$ cd ~/mydir
$ git clone https://github.com/vmware/terraform-provider-vcd.git
$ cd terraform-provider-vcd/
$ make build
Starting with terraform-provider-vcd version 2.1 Go modules are used. This means a few things:
GOPATH. It can though -
see more on how to use modules and toggle between modes.terraform-provider-vcd one often needs to add extra stuff to go-vcloud-director. Go modules
have a convenient replace
directive which can allow you to redirect import path to your own version of go-vcloud-director.
go.mod can be altered: module github.com/vmware/terraform-provider-vcd/v2
require (
...
github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3
)
replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3 => github.com/my-git-user/go-vcloud-director/v3 v3.1.0-alpha.3
module github.com/vmware/terraform-provider-vcd/v2
require (
...
github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2
)
replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2 => ../go-vcloud-director
See CODING_GUIDELINES.md for more advice on how to write code for this project.
For a more thorough test using the Terraform client, you may want to transfer the plugin in the Terraform directory. A make command can do this for you:
$ make install
This command will build the plugin and transfer it to $HOME/.terraform.d/plugins, with a name that includes the version (as taken from the ./VERSION file).
Starting with terraform 0.13, the path where the plugin is deployed is
`$HOME/.terraform.d/plugins/registry.terraform.io/vmware/vcd/${VERSION}/${OS}_amd64/terraform-provider-vcd_v${VERSION}`
For example, on MacOS:
$HOME/.terraform.d/
├── checkpoint_signature
└── plugins
├── registry.terraform.io
└── vmware
└── vcd
├── 2.9.0
│ └── darwin_amd64
│ └── terraform-provider-vcd_v2.9.0
└── 3.0.0
└── darwin_amd64
└── terraform-provider-vcd_v3.0.0
On Linux:
$HOME/.terraform.d/
├── checkpoint_signature
└── plugins
├── registry.terraform.io
└── vmware
└── vcd
├── 2.9.0
│ └── linux_amd64
│ └── terraform-provider-vcd_v2.9.0
└── 3.0.0
└── linux_amd64
└── terraform-provider-vcd_v3.0.0
Once you have installed the plugin as mentioned above, you can simply create a new config.tf as defined in the manual and run
$ terraform init
$ terraform plan
$ terraform apply
When using terraform 0.13+, you also need to have a terraform block either in your script or in an adjacent versions.tf file,
containing.
terraform {
required_providers {
vcd = {
source = "vmware/vcd"
}
}
required_version = ">= 0.13"
}
In this block, the vmware part of the source corresponds to the directory
$HOME/.terraform.d/plugins/registry.terraform.io/vmware created by the command make install.
Note that versions.tf is generated when you run the terraform 0.13upgrade command. If you have run such command,
you need to edit the file and make sure the source path corresponds to the one installed, or remove the file
altogether if you have already the right block in your script.
The Terraform Provider for VMware Cloud Director is the work of many contributors and the project team appreciates your help!
If you discover a bug or would like to suggest an enhancement, submit an issue.
If you would like to submit a pull request, please read the contribution guidelines to get started. In case of enhancement or feature contribution, we kindly ask you to open an issue to discuss it beforehand.
Read TROUBLESHOOTING.md to learn how to configure and understand logs, and how to diagnose common errors.
Because this Terraform provider is developed as an open-source project and follows standard GitHub community practices, we encourage customers to submit bug reports and enhancement requests directly in the project's GitHub repository. However, we recognize that some situations may require formal technical support through our Global Support Services (GSS) process. In those cases, please open a case through the Broadcom support portal, referencing the provider, the provider version, and any related GitHub issue(s). When opening your case, please select VMware ESXi as the Product and choose VCF Terraform from the components drop-down menu.
© Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.
The Terraform Provider for VMware Cloud Director is available under the Mozilla Public License, version 2.0 license.
(top 30 of 39)
Go
97.9%