build(deps): bump github.com/vmware/govmomi from 0.26.1 to 0.27.4
Bumps [github.com/vmware/govmomi](https://github.com/vmware/govmomi) from 0.26.1 to 0.27.4. - [Release notes](https://github.com/vmware/govmomi/releases) - [Changelog](https://github.com/vmware/govmomi/blob/master/CHANGELOG.md) - [Commits](https://github.com/vmware/govmomi/compare/v0.26.1...v0.27.4) --- updated-dependencies: - dependency-name: github.com/vmware/govmomi dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
parent
1ded72b4dc
commit
2ba68442d3
37 changed files with 1535 additions and 237 deletions
53
vendor/github.com/vmware/govmomi/find/finder.go
generated
vendored
53
vendor/github.com/vmware/govmomi/find/finder.go
generated
vendored
|
|
@ -26,6 +26,7 @@ import (
|
|||
"github.com/vmware/govmomi/list"
|
||||
"github.com/vmware/govmomi/object"
|
||||
"github.com/vmware/govmomi/property"
|
||||
"github.com/vmware/govmomi/view"
|
||||
"github.com/vmware/govmomi/vim25"
|
||||
"github.com/vmware/govmomi/vim25/mo"
|
||||
"github.com/vmware/govmomi/vim25/types"
|
||||
|
|
@ -789,9 +790,26 @@ func (f *Finder) NetworkList(ctx context.Context, path string) ([]object.Network
|
|||
return ns, nil
|
||||
}
|
||||
|
||||
// Network finds a NetworkReference using a Name, Inventory Path, ManagedObject ID, Logical Switch UUID or Segment ID.
|
||||
// With standard vSphere networking, Portgroups cannot have the same name within the same network folder.
|
||||
// With NSX, Portgroups can have the same name, even within the same Switch. In this case, using an inventory path
|
||||
// results in a MultipleFoundError. A MOID, switch UUID or segment ID can be used instead, as both are unique.
|
||||
// See also: https://kb.vmware.com/s/article/79872#Duplicate_names
|
||||
// Examples:
|
||||
// - Name: "dvpg-1"
|
||||
// - Inventory Path: "vds-1/dvpg-1"
|
||||
// - ManagedObject ID: "DistributedVirtualPortgroup:dvportgroup-53"
|
||||
// - Logical Switch UUID: "da2a59b8-2450-4cb2-b5cc-79c4c1d2144c"
|
||||
// - Segment ID: "/infra/segments/vnet_ce50e69b-1784-4a14-9206-ffd7f1f146f7"
|
||||
func (f *Finder) Network(ctx context.Context, path string) (object.NetworkReference, error) {
|
||||
networks, err := f.NetworkList(ctx, path)
|
||||
if err != nil {
|
||||
if _, ok := err.(*NotFoundError); ok {
|
||||
net, nerr := f.networkByID(ctx, path)
|
||||
if nerr == nil {
|
||||
return net, nil
|
||||
}
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
@ -802,6 +820,41 @@ func (f *Finder) Network(ctx context.Context, path string) (object.NetworkRefere
|
|||
return networks[0], nil
|
||||
}
|
||||
|
||||
func (f *Finder) networkByID(ctx context.Context, path string) (object.NetworkReference, error) {
|
||||
if ref := object.ReferenceFromString(path); ref != nil {
|
||||
// This is a MOID
|
||||
return object.NewReference(f.client, *ref).(object.NetworkReference), nil
|
||||
}
|
||||
|
||||
kind := []string{"DistributedVirtualPortgroup"}
|
||||
|
||||
m := view.NewManager(f.client)
|
||||
v, err := m.CreateContainerView(ctx, f.client.ServiceContent.RootFolder, kind, true)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer v.Destroy(ctx)
|
||||
|
||||
filter := property.Filter{
|
||||
"config.logicalSwitchUuid": path,
|
||||
"config.segmentId": path,
|
||||
}
|
||||
|
||||
refs, err := v.FindAny(ctx, kind, filter)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(refs) == 0 {
|
||||
return nil, &NotFoundError{"network", path}
|
||||
}
|
||||
if len(refs) > 1 {
|
||||
return nil, &MultipleFoundError{"network", path}
|
||||
}
|
||||
|
||||
return object.NewReference(f.client, refs[0]).(object.NetworkReference), nil
|
||||
}
|
||||
|
||||
func (f *Finder) DefaultNetwork(ctx context.Context) (object.NetworkReference, error) {
|
||||
network, err := f.Network(ctx, "*")
|
||||
if err != nil {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue