diff --git a/CHANGELOG.md b/CHANGELOG.md index 290bd9d06..aa04977f3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ### unreleased +* Add support for OpaqueNetwork type to Finder + * Add HostConfigManager.AccountManager support for ESX 5.5 ### 0.11.1 (2016-10-27) diff --git a/find/finder.go b/find/finder.go index 175be6538..c25aa04a1 100644 --- a/find/finder.go +++ b/find/finder.go @@ -599,7 +599,7 @@ func (f *Finder) NetworkList(ctx context.Context, path string) ([]object.Network for _, e := range es { ref := e.Object.Reference() switch ref.Type { - case "Network": + case "Network", "OpaqueNetwork": r := object.NewNetwork(f.client, ref) r.InventoryPath = e.Path ns = append(ns, r) diff --git a/govc/vm/info.go b/govc/vm/info.go index 38083fe79..ca075d8f5 100644 --- a/govc/vm/info.go +++ b/govc/vm/info.go @@ -168,6 +168,7 @@ func (r *infoResult) collectReferences(pc *property.Collector, ctx context.Conte var host []mo.HostSystem var network []mo.Network + var opaque []mo.OpaqueNetwork var dvp []mo.DistributedVirtualPortgroup var datastore []mo.Datastore // Table to drive inflating refs to their mo.* counterparts (dest) @@ -193,6 +194,13 @@ func (r *infoResult) collectReferences(pc *property.Collector, ctx context.Conte } }, }, + "OpaqueNetwork": { + &opaque, nil, func() { + for _, e := range opaque { + r.entities[e.Reference()] = e.Name + } + }, + }, "DistributedVirtualPortgroup": { &dvp, nil, func() { for _, e := range dvp { diff --git a/list/lister.go b/list/lister.go index 4ee81a673..ae162b7fc 100644 --- a/list/lister.go +++ b/list/lister.go @@ -79,6 +79,8 @@ func ToElement(r mo.Reference, prefix string) Element { // Network entity folders on an ESXi host can contain only Network objects. case mo.Network: name = m.Name + case mo.OpaqueNetwork: + name = m.Name case mo.DistributedVirtualSwitch: name = m.Name case mo.DistributedVirtualPortgroup: diff --git a/object/types.go b/object/types.go index f61aa362c..aefb611fd 100644 --- a/object/types.go +++ b/object/types.go @@ -47,7 +47,7 @@ func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference { return NewClusterComputeResource(c, e) case "HostSystem": return NewHostSystem(c, e) - case "Network": + case "Network", "OpaqueNetwork": return NewNetwork(c, e) case "ResourcePool": return NewResourcePool(c, e)