github.com/vmware/govmomi@v0.51.0/examples/networks/main.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 main 6 7 import ( 8 "context" 9 "fmt" 10 11 "github.com/vmware/govmomi/examples" 12 "github.com/vmware/govmomi/view" 13 "github.com/vmware/govmomi/vim25" 14 "github.com/vmware/govmomi/vim25/mo" 15 ) 16 17 func main() { 18 examples.Run(func(ctx context.Context, c *vim25.Client) error { 19 // Create a view of Network types 20 m := view.NewManager(c) 21 22 v, err := m.CreateContainerView(ctx, c.ServiceContent.RootFolder, []string{"Network"}, true) 23 if err != nil { 24 return err 25 } 26 27 defer v.Destroy(ctx) 28 29 // Reference: https://developer.broadcom.com/xapis/vsphere-web-services-api/latest/vim.Network.html 30 var networks []mo.Network 31 err = v.Retrieve(ctx, []string{"Network"}, nil, &networks) 32 if err != nil { 33 return err 34 } 35 36 for _, net := range networks { 37 fmt.Printf("%s: %s\n", net.Name, net.Reference()) 38 } 39 40 return nil 41 }) 42 }