github.com/vmware/govmomi@v0.51.0/license/assignment_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 license 6 7 import ( 8 "context" 9 10 "github.com/vmware/govmomi/object" 11 "github.com/vmware/govmomi/vim25/methods" 12 "github.com/vmware/govmomi/vim25/types" 13 ) 14 15 type AssignmentManager struct { 16 object.Common 17 } 18 19 func (m AssignmentManager) QueryAssigned(ctx context.Context, id string) ([]types.LicenseAssignmentManagerLicenseAssignment, error) { 20 req := types.QueryAssignedLicenses{ 21 This: m.Reference(), 22 EntityId: id, 23 } 24 25 res, err := methods.QueryAssignedLicenses(ctx, m.Client(), &req) 26 if err != nil { 27 return nil, err 28 } 29 30 return res.Returnval, nil 31 } 32 33 func (m AssignmentManager) Remove(ctx context.Context, id string) error { 34 req := types.RemoveAssignedLicense{ 35 This: m.Reference(), 36 EntityId: id, 37 } 38 39 _, err := methods.RemoveAssignedLicense(ctx, m.Client(), &req) 40 41 return err 42 } 43 44 func (m AssignmentManager) Update(ctx context.Context, id string, key string, name string) (*types.LicenseManagerLicenseInfo, error) { 45 req := types.UpdateAssignedLicense{ 46 This: m.Reference(), 47 Entity: id, 48 LicenseKey: key, 49 EntityDisplayName: name, 50 } 51 52 res, err := methods.UpdateAssignedLicense(ctx, m.Client(), &req) 53 if err != nil { 54 return nil, err 55 } 56 57 return &res.Returnval, nil 58 }