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  }