github.com/vmware/govmomi@v0.51.0/eam/simulator/esx_agent_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/eam/internal" 9 "github.com/vmware/govmomi/eam/methods" 10 "github.com/vmware/govmomi/eam/types" 11 "github.com/vmware/govmomi/simulator" 12 "github.com/vmware/govmomi/vim25/soap" 13 vim "github.com/vmware/govmomi/vim25/types" 14 ) 15 16 // EsxAgentManager is the main entry point for a solution to create 17 // agencies in the vSphere ESX Agent Manager server. 18 type EsxAgentManager struct { 19 EamObject 20 } 21 22 func (m *EsxAgentManager) CreateAgency( 23 ctx *simulator.Context, 24 req *types.CreateAgency) soap.HasFault { 25 26 var res methods.CreateAgencyBody 27 28 if agency, err := NewAgency( 29 ctx, 30 req.AgencyConfigInfo, 31 req.InitialGoalState); err != nil { 32 33 res.Fault_ = simulator.Fault("", err) 34 35 } else { 36 res.Res = &types.CreateAgencyResponse{ 37 Returnval: agency.Self, 38 } 39 } 40 41 return &res 42 } 43 44 func (m *EsxAgentManager) QueryAgency( 45 ctx *simulator.Context, 46 req *types.QueryAgency) soap.HasFault { 47 48 objs := ctx.Map.AllReference(internal.Agency) 49 moRefs := make([]vim.ManagedObjectReference, len(objs)) 50 i := 0 51 for _, ref := range objs { 52 moRefs[i] = ref.Reference() 53 i++ 54 } 55 return &methods.QueryAgencyBody{ 56 Res: &types.QueryAgencyResponse{ 57 Returnval: moRefs, 58 }, 59 } 60 } 61 62 func (m *EsxAgentManager) ScanForUnknownAgentVm( 63 ctx *simulator.Context, 64 req *types.ScanForUnknownAgentVm) soap.HasFault { 65 66 return &methods.ScanForUnknownAgentVmBody{ 67 Res: &types.ScanForUnknownAgentVmResponse{}, 68 } 69 }