{"id":20478914,"url":"https://github.com/r3labs/vcloud-go-sdk","last_synced_at":"2026-05-27T20:31:53.340Z","repository":{"id":57518907,"uuid":"108404361","full_name":"r3labs/vcloud-go-sdk","owner":"r3labs","description":"A go sdk for vcloud director","archived":false,"fork":false,"pushed_at":"2018-03-22T02:05:16.000Z","size":82,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-08-15T12:51:50.328Z","etag":null,"topics":["golang","sdk","vcloud"],"latest_commit_sha":null,"homepage":null,"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/r3labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-26T11:48:49.000Z","updated_at":"2020-03-20T08:42:25.000Z","dependencies_parsed_at":"2022-09-26T18:00:44.693Z","dependency_job_id":null,"html_url":"https://github.com/r3labs/vcloud-go-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/r3labs/vcloud-go-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3labs%2Fvcloud-go-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3labs%2Fvcloud-go-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3labs%2Fvcloud-go-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3labs%2Fvcloud-go-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r3labs","download_url":"https://codeload.github.com/r3labs/vcloud-go-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r3labs%2Fvcloud-go-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33583394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["golang","sdk","vcloud"],"created_at":"2024-11-15T15:39:49.351Z","updated_at":"2026-05-27T20:31:53.325Z","avatar_url":"https://github.com/r3labs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vcloud-go-sdk\nA fully featured go sdk for vcloud director\n\n\n## Quick start\n\nTo install:\n\n```sh\n$ go get github.com/r3labs/vcloud-go-sdk\n```\n\n\n## Basic Usage\n\n#### Authentication\n\nTo create a new client:\n\n```go\nimport (\n    \"github.com/r3labs/vcloud-go-sdk/models\"\n    \"github.com/r3labs/vcloud-go-sdk/config\"\n    \"github.com/r3labs/vcloud-go-sdk/client\"\n)\n\nfunc main() {\n    cfg := config.New(\"https://vcloud/\", \"27.0\").WithCredentials(\"username\", \"password\")\n    vcloud := client.New(cfg)\n\n    err := vcloud.Authenticate()\n}\n```\n\n#### Organisations\n\nTo list all organisations:\n\n```go\norgs, err := vcloud.Orgs.List()\n```\n\nTo get an organisation by name:\n\n```go\norgs, err := vcloud.Orgs.List()\nif err != nil {\n\treturn nil, err\n}\n\norgID := orgs.ByName(\"my-org\")[0].ID()\n\norg, err :=  vcloud.Orgs.Get(orgID)\n```\n\n#### vDCs\n\nTo list all vdc's:\n\n```go\norgs, err := vcloud.Orgs.List()\nif err != nil {\n\treturn nil, err\n}\n\norgID := orgs.ByName(\"my-org\")[0].ID()\n\norg, err :=  vcloud.Orgs.Get(orgID)\n\nvdcLinks := o.Links.ByType(models.TypesVdc)\n```\n\n\nTo get a vdc by name:\n```go\nvdcLink := o.Links.ByType(models.TypesVdc).ByName(\"my-vdc\")\n\nvdc, err := vcloud.Vdcs.Get(vdcLink[0].ID())\n```\n\n#### Instances\n\nTo list all instances in a vdc:\n\n\n```go\n...\n\nvdc, err := vcloud.Vdcs.Get(vdcLink[0].ID())\n\nvapps := vdc.VAppRefs()\n```\n\nTo create a new vApp from a vApp template:\n\n```go\n...\n\nvdc, err := vcloud.Vdcs.Get(vdcLink[0].ID())\n\n// retrieve network reference\nnwref := vdc.NetworkRefs().Get(\"my-network\")\n\n// retrieve vapp template reference from catalog\ncatref := org.CatalogRefs().Get(\"my-vapp-catalog\")\n\ncatalog, err := vcloud.Catalogs.Get(catref.ID())\n\ntemplateref := catalog.Items().ByName(\"my-vapp-template\")\n\ntemplate, err := vcloud.Catalogs.GetItem(templateref.GetID())\n\n\n// create vapp request\nparams := \u0026models.InstantiateVAppParams{\n\t\tName:        \"my-new-vapp\",\n\t\tDescription: \"vapp from a template\",\n\t\tAcceptEULAs: true,\n\t\tDeploy:      false,\n\t\tPowerOn:     false,\n}\n\nparams.SetNetwork(nwref.Name, \"bridged\", nwref.Href)\nparams.SetSource(\"my-vapp-template\", template.Entity.Href)\n\n// create vapp and wait for task to complete\nvapp, err := vcloud.VApps.Create(vdc.GetID(), params)\n\nfor _, task := range vapp.GetTasks() {\n    err = vcloud.Tasks.Wait(\u0026task)\n}\n```\n\nTo start/stop a vm:\n\n```go\nvm := vapp.Children.Vms[0]\n\ntask, err = vcloud.Vms.PowerOff(vm.GetID())\ntask, err = vcloud.Vms.PowerOn(vm.GetID())\n\nerr = vcloud.Tasks.Wait(task)\n```\n\n#### Networks\n\nTo list all vdc networks:\n\n```go\nnetworkRefs := vdc.NetworkRefs()\n```\n\nTo get a network by name:\n\n```go\nnetworkRef := vdc.NetworkRefs().Get(\"my-network\")\n\nnetwork, err := vcloud.Networks.Get(networkRef.ID())\n```\n\n#### Edge Gateways\n\nTo list all edge gateways:\n\n```go\ngatewayRecords, err := vcloud.Queries.RecordsFilter(models.QueryEdgeGateway, \"vdc==\"+vdc.Href, \"1\")\n```\n\nTo get a edge gateway by name:\n\n```go\ngatewayRecords, err := vcloud.Queries.RecordsFilter(models.QueryEdgeGateway, \"vdc==\"+vdc.Href, \"1\")\n\nid := gatewayRecords.EdgeGatewayRecords[0].ID()\n\ngateway, err := vcloud.Gateways.Get(id)\n```\n\n\n\n\n\n## Contributing\n\nPlease read through our\n[contributing guidelines](CONTRIBUTING.md).\nIncluded are directions for opening issues, coding standards, and notes on\ndevelopment.\n\nMoreover, if your pull request contains patches or features, you must include\nrelevant unit tests.\n\n\n## Copyright and License\n\nCode and documentation copyright since 2017 ernest.io authors.\n\nCode released under\n[the Mozilla Public License Version 2.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3labs%2Fvcloud-go-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr3labs%2Fvcloud-go-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr3labs%2Fvcloud-go-sdk/lists"}