github.com/vmware/govmomi@v0.51.0/object/host_account_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 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 HostAccountManager struct { 16 Common 17 } 18 19 func NewHostAccountManager(c *vim25.Client, ref types.ManagedObjectReference) *HostAccountManager { 20 return &HostAccountManager{ 21 Common: NewCommon(c, ref), 22 } 23 } 24 25 func (m HostAccountManager) Create(ctx context.Context, user *types.HostAccountSpec) error { 26 req := types.CreateUser{ 27 This: m.Reference(), 28 User: user, 29 } 30 31 _, err := methods.CreateUser(ctx, m.Client(), &req) 32 return err 33 } 34 35 func (m HostAccountManager) Update(ctx context.Context, user *types.HostAccountSpec) error { 36 req := types.UpdateUser{ 37 This: m.Reference(), 38 User: user, 39 } 40 41 _, err := methods.UpdateUser(ctx, m.Client(), &req) 42 return err 43 } 44 45 func (m HostAccountManager) Remove(ctx context.Context, userName string) error { 46 req := types.RemoveUser{ 47 This: m.Reference(), 48 UserName: userName, 49 } 50 51 _, err := methods.RemoveUser(ctx, m.Client(), &req) 52 return err 53 }