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  }