github.com/vmware/govmomi@v0.51.0/object/environment_browser.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 object 6 7 import ( 8 "context" 9 10 "github.com/vmware/govmomi/vim25" 11 "github.com/vmware/govmomi/vim25/methods" 12 "github.com/vmware/govmomi/vim25/types" 13 ) 14 15 type EnvironmentBrowser struct { 16 Common 17 } 18 19 func NewEnvironmentBrowser(c *vim25.Client, ref types.ManagedObjectReference) *EnvironmentBrowser { 20 return &EnvironmentBrowser{ 21 Common: NewCommon(c, ref), 22 } 23 } 24 25 func (b EnvironmentBrowser) QueryConfigTarget(ctx context.Context, host *HostSystem) (*types.ConfigTarget, error) { 26 req := types.QueryConfigTarget{ 27 This: b.Reference(), 28 } 29 30 if host != nil { 31 ref := host.Reference() 32 req.Host = &ref 33 } 34 35 res, err := methods.QueryConfigTarget(ctx, b.Client(), &req) 36 if err != nil { 37 return nil, err 38 } 39 40 return res.Returnval, nil 41 } 42 43 func (b EnvironmentBrowser) QueryTargetCapabilities(ctx context.Context, host *HostSystem) (*types.HostCapability, error) { 44 req := types.QueryTargetCapabilities{ 45 This: b.Reference(), 46 } 47 48 if host != nil { 49 ref := host.Reference() 50 req.Host = &ref 51 } 52 53 res, err := methods.QueryTargetCapabilities(ctx, b.Client(), &req) 54 if err != nil { 55 return nil, err 56 } 57 58 return res.Returnval, nil 59 } 60 61 func (b EnvironmentBrowser) QueryConfigOption(ctx context.Context, spec *types.EnvironmentBrowserConfigOptionQuerySpec) (*types.VirtualMachineConfigOption, error) { 62 req := types.QueryConfigOptionEx{ 63 This: b.Reference(), 64 Spec: spec, 65 } 66 67 res, err := methods.QueryConfigOptionEx(ctx, b.Client(), &req) 68 if err != nil { 69 return nil, err 70 } 71 72 return res.Returnval, nil 73 } 74 75 func (b EnvironmentBrowser) QueryConfigOptionDescriptor(ctx context.Context) ([]types.VirtualMachineConfigOptionDescriptor, error) { 76 req := types.QueryConfigOptionDescriptor{ 77 This: b.Reference(), 78 } 79 80 res, err := methods.QueryConfigOptionDescriptor(ctx, b.Client(), &req) 81 if err != nil { 82 return nil, err 83 } 84 85 return res.Returnval, nil 86 }