github.com/vmware/govmomi@v0.51.0/simulator/host_vnic_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/simulator/esx" 9 "github.com/vmware/govmomi/vim25/methods" 10 "github.com/vmware/govmomi/vim25/mo" 11 "github.com/vmware/govmomi/vim25/soap" 12 "github.com/vmware/govmomi/vim25/types" 13 ) 14 15 type HostVirtualNicManager struct { 16 mo.HostVirtualNicManager 17 18 Host *mo.HostSystem 19 } 20 21 func NewHostVirtualNicManager(host *mo.HostSystem) *HostVirtualNicManager { 22 return &HostVirtualNicManager{ 23 Host: host, 24 HostVirtualNicManager: mo.HostVirtualNicManager{ 25 Info: types.HostVirtualNicManagerInfo{ 26 NetConfig: esx.VirtualNicManagerNetConfig, 27 }, 28 }, 29 } 30 } 31 32 func (m *HostVirtualNicManager) QueryNetConfig(req *types.QueryNetConfig) soap.HasFault { 33 body := new(methods.QueryNetConfigBody) 34 35 for _, c := range m.Info.NetConfig { 36 if c.NicType == req.NicType { 37 body.Res = &types.QueryNetConfigResponse{ 38 Returnval: &c, 39 } 40 return body 41 } 42 } 43 44 body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: req.NicType}) 45 46 return body 47 }