github.com/vmware/govmomi@v0.51.0/object/tenant_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 TenantManager struct { 16 Common 17 } 18 19 func NewTenantManager(c *vim25.Client) *TenantManager { 20 t := TenantManager{ 21 Common: NewCommon(c, *c.ServiceContent.TenantManager), 22 } 23 24 return &t 25 } 26 27 func (t TenantManager) MarkServiceProviderEntities(ctx context.Context, entities []types.ManagedObjectReference) error { 28 req := types.MarkServiceProviderEntities{ 29 This: t.Reference(), 30 Entity: entities, 31 } 32 33 _, err := methods.MarkServiceProviderEntities(ctx, t.Client(), &req) 34 if err != nil { 35 return err 36 } 37 38 return nil 39 } 40 41 func (t TenantManager) UnmarkServiceProviderEntities(ctx context.Context, entities []types.ManagedObjectReference) error { 42 req := types.UnmarkServiceProviderEntities{ 43 This: t.Reference(), 44 Entity: entities, 45 } 46 47 _, err := methods.UnmarkServiceProviderEntities(ctx, t.Client(), &req) 48 if err != nil { 49 return err 50 } 51 52 return nil 53 } 54 55 func (t TenantManager) RetrieveServiceProviderEntities(ctx context.Context) ([]types.ManagedObjectReference, error) { 56 req := types.RetrieveServiceProviderEntities{ 57 This: t.Reference(), 58 } 59 60 res, err := methods.RetrieveServiceProviderEntities(ctx, t.Client(), &req) 61 if err != nil { 62 return nil, err 63 } 64 65 return res.Returnval, nil 66 }