github.com/vmware/govmomi@v0.51.0/simulator/dvs_manager.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package simulator 6 7 import ( 8 "github.com/vmware/govmomi/vim25/methods" 9 "github.com/vmware/govmomi/vim25/mo" 10 "github.com/vmware/govmomi/vim25/soap" 11 "github.com/vmware/govmomi/vim25/types" 12 ) 13 14 type DistributedVirtualSwitchManager struct { 15 mo.DistributedVirtualSwitchManager 16 } 17 18 func (m *DistributedVirtualSwitchManager) DVSManagerLookupDvPortGroup(ctx *Context, req *types.DVSManagerLookupDvPortGroup) soap.HasFault { 19 body := &methods.DVSManagerLookupDvPortGroupBody{} 20 21 for _, obj := range ctx.Map.All("DistributedVirtualSwitch") { 22 dvs := obj.(*DistributedVirtualSwitch) 23 if dvs.Uuid == req.SwitchUuid { 24 for _, ref := range dvs.Portgroup { 25 pg := ctx.Map.Get(ref).(*DistributedVirtualPortgroup) 26 if pg.Key == req.PortgroupKey { 27 body.Res = &types.DVSManagerLookupDvPortGroupResponse{ 28 Returnval: &ref, 29 } 30 return body 31 } 32 } 33 } 34 } 35 36 body.Fault_ = Fault("", new(types.NotFound)) 37 38 return body 39 }