6fe2703665
* Remove `make updatedeps` from Travis build. We'll follow up with more specific plans around dependency updating in subsequent PRs. * Update all `make` targets to set `GO15VENDOREXPERIMENT=1` and to filter out `/vendor/` from `./...` where appropriate. * Temporarily remove `vet` from the `make test` target until we can figure out how to get it to not vet `vendor/`. (Initial experimentation failed to yield the proper incantation.) Everything is pinned to current master, with the exception of: * Azure/azure-sdk-for-go which is pinned before the breaking change today * aws/aws-sdk-go which is pinned to the most recent tag The documentation still needs to be updated, which we can do in a follow up PR. The goal here is to unblock release. |
||
---|---|---|
.. | ||
script | ||
testutil | ||
types/v56 | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
api.go | ||
api_test.go | ||
api_vca.go | ||
api_vca_test.go | ||
api_vcd.go | ||
api_vcd_test.go | ||
catalog.go | ||
catalog_test.go | ||
catalogitem.go | ||
catalogitem_test.go | ||
edgegateway.go | ||
edgegateway_test.go | ||
org.go | ||
org_test.go | ||
orgvdcnetwork.go | ||
orgvdcnetwork_test.go | ||
task.go | ||
task_test.go | ||
vapp.go | ||
vapp_test.go | ||
vapptemplate.go | ||
vapptemplate_test.go | ||
vdc.go | ||
vdc_test.go |
README.md
vmware-govcd
This package was originally forked from github.com/vmware/govcloudair before pulling in rickard-von-essen's great changes to allow using a vCloud Director API. On top of this I have added features as needed for a terraform provider for vCloud Director
Example
package main
import (
"fmt"
"net/url"
"os"
"github.com/hmrc/vmware-govcd"
)
type Config struct {
User string
Password string
Org string
Href string
VDC string
}
func (c *Config) Client() (*govcd.VCDClient, error) {
u, err := url.ParseRequestURI(c.Href)
if err != nil {
return nil, fmt.Errorf("Unable to pass url: %s", err)
}
vcdclient := govcd.NewVCDClient(*u)
org, vcd, err := vcdclient.Authenticate(c.User, c.Password, c.Org, c.VDC)
if err != nil {
return nil, fmt.Errorf("Unable to authenticate: %s", err)
}
vcdclient.Org = org
vcdclient.OrgVdc = vcd
return vcdclient, nil
}
func main() {
config := Config{
User: "Username",
Password: "password",
Org: "vcd org",
Href: "vcd api url",
VDC: "vcd virtual datacenter name",
}
client, err := config.Client() // We now have a client
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Printf("Org URL: %s\n", client.OrgHREF.String())
}