{"id":18512819,"url":"https://github.com/vmware/terraform-provider-vcd","last_synced_at":"2025-05-16T10:08:26.255Z","repository":{"id":37089237,"uuid":"93446091","full_name":"vmware/terraform-provider-vcd","owner":"vmware","description":"Terraform Provider for VMware Cloud Director","archived":false,"fork":false,"pushed_at":"2025-04-16T22:56:31.000Z","size":17936,"stargazers_count":154,"open_issues_count":119,"forks_count":114,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-05-14T11:32:50.264Z","etag":null,"topics":["terraform","terraform-provider","vmware","vmware-cloud-director"],"latest_commit_sha":null,"homepage":"https://registry.terraform.io/providers/vmware/vcd/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vmware.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2017-06-05T20:54:05.000Z","updated_at":"2025-05-05T16:44:09.000Z","dependencies_parsed_at":"2024-01-30T09:46:45.810Z","dependency_job_id":"3c324f57-91c5-4a8e-84a3-a08e8f9de52c","html_url":"https://github.com/vmware/terraform-provider-vcd","commit_stats":null,"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-provider-vcd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-provider-vcd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-provider-vcd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vmware%2Fterraform-provider-vcd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vmware","download_url":"https://codeload.github.com/vmware/terraform-provider-vcd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509477,"owners_count":22082892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["terraform","terraform-provider","vmware","vmware-cloud-director"],"created_at":"2024-11-06T15:35:35.840Z","updated_at":"2025-05-16T10:08:21.246Z","avatar_url":"https://github.com/vmware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"Terraform VMware Cloud Director Provider\n==================\n\nThe official Terraform provider for [VMware Cloud Director](https://www.vmware.com/products/cloud-director.html)\n\n- Documentation of the latest binary release available at https://registry.terraform.io/providers/vmware/vcd/latest/docs\n- This project is using [go-vcloud-director](https://github.com/vmware/go-vcloud-director) Golang SDK for making API calls to vCD\n- Join through [VMware {code}](https://code.vmware.com/) to [![Chat](https://img.shields.io/badge/chat-on%20slack-brightgreen.svg)](https://vmwarecode.slack.com/messages/CBBBXVB16) in #vcd-terraform-dev channel \n\nPart of Terraform\n-----------------\n\n- Website: https://www.terraform.io\n- [![Gitter chat](https://badges.gitter.im/hashicorp-terraform/Lobby.png)](https://gitter.im/hashicorp-terraform/Lobby)\n- Mailing list: [Google Groups](http://groups.google.com/group/terraform-tool)\n- [Hashicorp Discuss](https://discuss.hashicorp.com/c/terraform-core/27) \n\n\u003cimg src=\"https://www.datocms-assets.com/2885/1629941242-logo-terraform-main.svg\" width=\"600px\"\u003e\n\nRequirements\n------------\n\n-\t[Terraform](https://www.terraform.io/downloads.html)\n-\t[Go](https://golang.org/doc/install) 1.19 (to build the provider plugin)\n\nBuilding The Provider (the modules way)\n--------------------------------------\n**Note.** You *only* need to build the provider plugin if you want to *develop* it. Refer to\n[documentation](https://registry.terraform.io/providers/vmware/vcd/latest/docs) for using it. Terraform will\nautomatically download officially released binaries of this provider plugin on the first run of `terraform init`\ncommand.\n\nStarting with version 2.1 provider started using [Go modules](https://github.com/golang/go/wiki/Modules)\nThis means that it is no longer necessary to be in GOPATH.\n[See more](https://github.com/golang/go/wiki/Modules#how-to-use-modules) on how to use modules\nand toggle between modes.\n\n```\n$ cd ~/mydir\n$ git clone https://github.com/vmware/terraform-provider-vcd.git\n$ cd terraform-provider-vcd/\n$ make build\n```\n\nDeveloping the Provider\n---------------------------\n\nStarting with terraform-provider-vcd version 2.1 Go modules are used. This means a few things:\n* The code no longer needs to stay in your `GOPATH`. It can though -\n[see more](https://github.com/golang/go/wiki/Modules#how-to-use-modules) on how to use modules and toggle between modes.\n* When developing `terraform-provider-vcd` one often needs to add extra stuff to `go-vcloud-director`. Go modules\nhave a convenient [replace](https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive)\ndirective which can allow you to redirect import path to your own version of `go-vcloud-director`.\n`go.mod` can be altered:\n * You can replace your import with a forked branch like this:\n ```go\n    module github.com/vmware/terraform-provider-vcd/v2\n    require (\n    \t...\n    \tgithub.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3\n    \t)\n    replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.3 =\u003e github.com/my-git-user/go-vcloud-director/v3 v3.1.0-alpha.3    \n ```\n * You can also replace pointer to a branch with relative directory\n ```go\n     module github.com/vmware/terraform-provider-vcd/v2\n     require (\n     \t...\n     \tgithub.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2\n     \t)\n     replace github.com/vmware/go-vcloud-director/v3 v3.1.0-alpha.2 =\u003e ../go-vcloud-director\n  ```\n\nSee **CODING_GUIDELINES.md** for more advice on how to write code for this project.\n\nUsing the provider\n----------------------\n\n### Installing the built provider\n\nFor 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:\n\n```sh\n$ make install\n```\n\nThis 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).\n\nStarting with terraform 0.13, the path where the plugin is deployed is\n```\n`$HOME/.terraform.d/plugins/registry.terraform.io/vmware/vcd/${VERSION}/${OS}_amd64/terraform-provider-vcd_v${VERSION}`\n```\n\nFor example, on MacOS:\n\n```\n$HOME/.terraform.d/\n├── checkpoint_signature\n└── plugins\n    ├── registry.terraform.io\n    └── vmware\n        └── vcd\n            ├── 2.9.0\n            │   └── darwin_amd64\n            │       └── terraform-provider-vcd_v2.9.0\n            └── 3.0.0\n                └── darwin_amd64\n                    └── terraform-provider-vcd_v3.0.0\n```\n\nOn Linux:\n\n```\n$HOME/.terraform.d/\n├── checkpoint_signature\n└── plugins\n    ├── registry.terraform.io\n    └── vmware\n        └── vcd\n            ├── 2.9.0\n            │   └── linux_amd64\n            │       └── terraform-provider-vcd_v2.9.0\n            └── 3.0.0\n                └── linux_amd64\n                    └── terraform-provider-vcd_v3.0.0\n```\n\n\n### Using the new plugin\n\nOnce you have installed the plugin as mentioned above, you can simply create a new `config.tf` as defined in [the manual](https://www.terraform.io/docs/providers/vcd/index.html) and run \n\n```sh\n$ terraform init\n$ terraform plan\n$ terraform apply\n```\n\nWhen using terraform 0.13+, you also need to have a `terraform` block either in your script or in an adjacent `versions.tf` file,\ncontaining.\n\n```\nterraform {\n  required_providers {\n    vcd = {\n      source = \"vmware/vcd\"\n    }\n  }\n  required_version = \"\u003e= 0.13\"\n}\n```\n\nIn this block, the `vmware` part of the source corresponds to the directory\n`$HOME/.terraform.d/plugins/registry.terraform.io/vmware` created by the command `make install`.\n\nNote that `versions.tf` is generated when you run the `terraform 0.13upgrade` command. If you have run such command,\nyou need to edit the file and make sure the **`source`** path corresponds to the one installed, or remove the file\naltogether if you have already the right block in your script.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fterraform-provider-vcd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvmware%2Fterraform-provider-vcd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvmware%2Fterraform-provider-vcd/lists"}