govmomi: Index | Examples | Files

package object

import ""



Package Files

authorization_manager.go authorization_manager_internal.go cluster_compute_resource.go common.go compute_resource.go custom_fields_manager.go customization_spec_manager.go datacenter.go datastore.go datastore_file.go datastore_file_manager.go datastore_path.go diagnostic_log.go diagnostic_manager.go distributed_virtual_portgroup.go distributed_virtual_switch.go extension_manager.go file_manager.go folder.go history_collector.go host_account_manager.go host_certificate_info.go host_certificate_manager.go host_config_manager.go host_datastore_browser.go host_datastore_system.go host_date_time_system.go host_firewall_system.go host_network_system.go host_service_system.go host_storage_system.go host_system.go host_virtual_nic_manager.go host_vsan_internal_system.go host_vsan_system.go namespace_manager.go network.go network_reference.go opaque_network.go option_manager.go resource_pool.go search_index.go storage_pod.go storage_resource_manager.go task.go types.go virtual_app.go virtual_device_list.go virtual_disk_manager.go virtual_disk_manager_internal.go virtual_machine.go vmware_distributed_virtual_switch.go


const (
    DeviceTypeNone     = "-"
    DeviceTypeCdrom    = "cdrom"
    DeviceTypeDisk     = "disk"
    DeviceTypeEthernet = "ethernet"
    DeviceTypeFloppy   = "floppy"

Type values for use in BootOrder

const (
    PropRuntimePowerState = "summary.runtime.powerState"
    PropConfigTemplate    = "summary.config.template"


var (
    ErrKeyNameNotFound = errors.New("key name not found")
var (
    ErrNotSupported = errors.New("product/version specific feature not supported by target")

type AuthorizationManager Uses

type AuthorizationManager struct {

func NewAuthorizationManager Uses

func NewAuthorizationManager(c *vim25.Client) *AuthorizationManager

func (AuthorizationManager) AddRole Uses

func (m AuthorizationManager) AddRole(ctx context.Context, name string, ids []string) (int32, error)

func (AuthorizationManager) DisableMethods Uses

func (m AuthorizationManager) DisableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []DisabledMethodRequest, source string) error

func (AuthorizationManager) EnableMethods Uses

func (m AuthorizationManager) EnableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []string, source string) error

func (AuthorizationManager) FetchUserPrivilegeOnEntities Uses

func (m AuthorizationManager) FetchUserPrivilegeOnEntities(ctx context.Context, entities []types.ManagedObjectReference, userName string) ([]types.UserPrivilegeResult, error)

func (AuthorizationManager) HasPrivilegeOnEntity Uses

func (m AuthorizationManager) HasPrivilegeOnEntity(ctx context.Context, entity types.ManagedObjectReference, sessionID string, privID []string) ([]bool, error)

func (AuthorizationManager) HasUserPrivilegeOnEntities Uses

func (m AuthorizationManager) HasUserPrivilegeOnEntities(ctx context.Context, entities []types.ManagedObjectReference, userName string, privID []string) ([]types.EntityPrivilege, error)

func (AuthorizationManager) RemoveEntityPermission Uses

func (m AuthorizationManager) RemoveEntityPermission(ctx context.Context, entity types.ManagedObjectReference, user string, isGroup bool) error

func (AuthorizationManager) RemoveRole Uses

func (m AuthorizationManager) RemoveRole(ctx context.Context, id int32, failIfUsed bool) error

func (AuthorizationManager) RetrieveAllPermissions Uses

func (m AuthorizationManager) RetrieveAllPermissions(ctx context.Context) ([]types.Permission, error)

func (AuthorizationManager) RetrieveEntityPermissions Uses

func (m AuthorizationManager) RetrieveEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, inherited bool) ([]types.Permission, error)

func (AuthorizationManager) RetrieveRolePermissions Uses

func (m AuthorizationManager) RetrieveRolePermissions(ctx context.Context, id int32) ([]types.Permission, error)

func (AuthorizationManager) RoleList Uses

func (m AuthorizationManager) RoleList(ctx context.Context) (AuthorizationRoleList, error)

func (AuthorizationManager) SetEntityPermissions Uses

func (m AuthorizationManager) SetEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, permission []types.Permission) error

func (AuthorizationManager) UpdateRole Uses

func (m AuthorizationManager) UpdateRole(ctx context.Context, id int32, name string, ids []string) error

type AuthorizationRoleList Uses

type AuthorizationRoleList []types.AuthorizationRole

func (AuthorizationRoleList) ById Uses

func (l AuthorizationRoleList) ById(id int32) *types.AuthorizationRole

func (AuthorizationRoleList) ByName Uses

func (l AuthorizationRoleList) ByName(name string) *types.AuthorizationRole

type ClusterComputeResource Uses

type ClusterComputeResource struct {

func NewClusterComputeResource Uses

func NewClusterComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ClusterComputeResource

func (ClusterComputeResource) AddHost Uses

func (c ClusterComputeResource) AddHost(ctx context.Context, spec types.HostConnectSpec, asConnected bool, license *string, resourcePool *types.ManagedObjectReference) (*Task, error)

func (ClusterComputeResource) Configuration Uses

func (c ClusterComputeResource) Configuration(ctx context.Context) (*types.ClusterConfigInfoEx, error)

func (ClusterComputeResource) MoveInto Uses

func (c ClusterComputeResource) MoveInto(ctx context.Context, hosts ...*HostSystem) (*Task, error)

func (ClusterComputeResource) PlaceVm Uses

func (c ClusterComputeResource) PlaceVm(ctx context.Context, spec types.PlacementSpec) (*types.PlacementResult, error)

type Common Uses

type Common struct {
    InventoryPath string
    // contains filtered or unexported fields

Common contains the fields and functions common to all objects.

func NewCommon Uses

func NewCommon(c *vim25.Client, r types.ManagedObjectReference) Common

func (Common) Client Uses

func (c Common) Client() *vim25.Client

func (Common) Destroy Uses

func (c Common) Destroy(ctx context.Context) (*Task, error)


model := simulator.VPX()
model.Datastore = 2

simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    // Change to "LocalDS_0" will cause ResourceInUse error,
    // as simulator VMs created by the VPX model use "LocalDS_0".
    ds, err := find.NewFinder(c).Datastore(ctx, "LocalDS_1")
    if err != nil {
        return err

    task, err := ds.Destroy(ctx)
    if err != nil {
        return err

    if err = task.Wait(ctx); err != nil {
        return err

    fmt.Println("destroyed", ds.InventoryPath)
    return nil
}, model)


destroyed /DC0/datastore/LocalDS_1

func (Common) Name Uses

func (c Common) Name() string

Name returns the base name of the InventoryPath field

func (Common) ObjectName Uses

func (c Common) ObjectName(ctx context.Context) (string, error)

ObjectName fetches the mo.ManagedEntity.Name field via the property collector.

func (Common) Properties Uses

func (c Common) Properties(ctx context.Context, r types.ManagedObjectReference, ps []string, dst interface{}) error

Properties is a wrapper for property.DefaultCollector().RetrieveOne()

func (Common) Reference Uses

func (c Common) Reference() types.ManagedObjectReference

func (Common) Rename Uses

func (c Common) Rename(ctx context.Context, name string) (*Task, error)


model := simulator.VPX()

simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    dc, err := find.NewFinder(c).Datacenter(ctx, "DC0")
    if err != nil {
        return err

    task, err := dc.Rename(ctx, "MyDC")
    if err != nil {
        return err

    if err = task.Wait(ctx); err != nil {
        return err

    name, err := dc.ObjectName(ctx)
    if err != nil {
        return err

    return nil
}, model)



func (Common) SetCustomValue Uses

func (c Common) SetCustomValue(ctx context.Context, key string, value string) error

func (*Common) SetInventoryPath Uses

func (c *Common) SetInventoryPath(p string)

func (Common) String Uses

func (c Common) String() string

type ComputeResource Uses

type ComputeResource struct {

func NewComputeResource Uses

func NewComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ComputeResource

func (ComputeResource) Datastores Uses

func (c ComputeResource) Datastores(ctx context.Context) ([]*Datastore, error)

func (ComputeResource) Hosts Uses

func (c ComputeResource) Hosts(ctx context.Context) ([]*HostSystem, error)

func (ComputeResource) Reconfigure Uses

func (c ComputeResource) Reconfigure(ctx context.Context, spec types.BaseComputeResourceConfigSpec, modify bool) (*Task, error)

func (ComputeResource) ResourcePool Uses

func (c ComputeResource) ResourcePool(ctx context.Context) (*ResourcePool, error)

type CustomFieldDefList Uses

type CustomFieldDefList []types.CustomFieldDef

func (CustomFieldDefList) ByKey Uses

func (l CustomFieldDefList) ByKey(key int32) *types.CustomFieldDef

type CustomFieldsManager Uses

type CustomFieldsManager struct {

func GetCustomFieldsManager Uses

func GetCustomFieldsManager(c *vim25.Client) (*CustomFieldsManager, error)

GetCustomFieldsManager wraps NewCustomFieldsManager, returning ErrNotSupported when the client is not connected to a vCenter instance.

func NewCustomFieldsManager Uses

func NewCustomFieldsManager(c *vim25.Client) *CustomFieldsManager

func (CustomFieldsManager) Add Uses

func (m CustomFieldsManager) Add(ctx context.Context, name string, moType string, fieldDefPolicy *types.PrivilegePolicyDef, fieldPolicy *types.PrivilegePolicyDef) (*types.CustomFieldDef, error)

func (CustomFieldsManager) Field Uses

func (m CustomFieldsManager) Field(ctx context.Context) (CustomFieldDefList, error)

func (CustomFieldsManager) FindKey Uses

func (m CustomFieldsManager) FindKey(ctx context.Context, name string) (int32, error)

func (CustomFieldsManager) Remove Uses

func (m CustomFieldsManager) Remove(ctx context.Context, key int32) error

func (CustomFieldsManager) Rename Uses

func (m CustomFieldsManager) Rename(ctx context.Context, key int32, name string) error

func (CustomFieldsManager) Set Uses

func (m CustomFieldsManager) Set(ctx context.Context, entity types.ManagedObjectReference, key int32, value string) error


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    m, err := object.GetCustomFieldsManager(c)
    if err != nil {
        return err

    any := []string{"ManagedEntity"}
    field, err := m.Add(ctx, "backup", any[0], nil, nil) // adds the custom field "backup" to all types
    if err != nil {
        return err

    v, err := view.NewManager(c).CreateContainerView(ctx, c.ServiceContent.RootFolder, any, true)
    if err != nil {

    all, err := v.Find(ctx, any, nil) // gives us the count of all objects in the inventory
    if err != nil {
        return err

    refs, err := v.Find(ctx, []string{"VirtualMachine", "Datastore"}, nil)
    if err != nil {
        return err

    for _, ref := range refs {
        err = m.Set(ctx, ref, field.Key, "true") // sets the custom value "backup=true" on specific types
        if err != nil {
            return err

    // filter used to find objects with "backup=true"
    filter := property.Filter{"customValue": &types.CustomFieldStringValue{
        CustomFieldValue: types.CustomFieldValue{Key: field.Key},
        Value:            "true",

    var objs []mo.ManagedEntity
    err = v.RetrieveWithFilter(ctx, any, []string{"name", "customValue"}, &objs, filter)
    if err != nil {
        return err

    fmt.Printf("backup %d of %d objects", len(objs), len(all))
    return v.Destroy(ctx)


backup 5 of 22 objects

type CustomizationSpecManager Uses

type CustomizationSpecManager struct {

func NewCustomizationSpecManager Uses

func NewCustomizationSpecManager(c *vim25.Client) *CustomizationSpecManager

func (CustomizationSpecManager) CreateCustomizationSpec Uses

func (cs CustomizationSpecManager) CreateCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error

func (CustomizationSpecManager) CustomizationSpecItemToXml Uses

func (cs CustomizationSpecManager) CustomizationSpecItemToXml(ctx context.Context, item types.CustomizationSpecItem) (string, error)

func (CustomizationSpecManager) DeleteCustomizationSpec Uses

func (cs CustomizationSpecManager) DeleteCustomizationSpec(ctx context.Context, name string) error

func (CustomizationSpecManager) DoesCustomizationSpecExist Uses

func (cs CustomizationSpecManager) DoesCustomizationSpecExist(ctx context.Context, name string) (bool, error)

func (CustomizationSpecManager) DuplicateCustomizationSpec Uses

func (cs CustomizationSpecManager) DuplicateCustomizationSpec(ctx context.Context, name string, newName string) error

func (CustomizationSpecManager) GetCustomizationSpec Uses

func (cs CustomizationSpecManager) GetCustomizationSpec(ctx context.Context, name string) (*types.CustomizationSpecItem, error)

func (CustomizationSpecManager) Info Uses

func (cs CustomizationSpecManager) Info(ctx context.Context) ([]types.CustomizationSpecInfo, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    m := object.NewCustomizationSpecManager(c)
    info, err := m.Info(ctx)
    if err != nil {
        return err

    for i := range info {
        item, err := m.GetCustomizationSpec(ctx, info[i].Name)
        if err != nil {
            return err
        fmt.Printf("%s=%T\n", item.Info.Name, item.Spec.Identity)
    return nil



func (CustomizationSpecManager) OverwriteCustomizationSpec Uses

func (cs CustomizationSpecManager) OverwriteCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error

func (CustomizationSpecManager) RenameCustomizationSpec Uses

func (cs CustomizationSpecManager) RenameCustomizationSpec(ctx context.Context, name string, newName string) error

func (CustomizationSpecManager) XmlToCustomizationSpecItem Uses

func (cs CustomizationSpecManager) XmlToCustomizationSpecItem(ctx context.Context, xml string) (*types.CustomizationSpecItem, error)

type Datacenter Uses

type Datacenter struct {

func NewDatacenter Uses

func NewDatacenter(c *vim25.Client, ref types.ManagedObjectReference) *Datacenter

func (Datacenter) Destroy Uses

func (d Datacenter) Destroy(ctx context.Context) (*Task, error)

func (*Datacenter) Folders Uses

func (d *Datacenter) Folders(ctx context.Context) (*DatacenterFolders, error)

func (Datacenter) PowerOnVM Uses

func (d Datacenter) PowerOnVM(ctx context.Context, vm []types.ManagedObjectReference, option ...types.BaseOptionValue) (*Task, error)

PowerOnVM powers on multiple virtual machines with a single vCenter call. If called against ESX, serially powers on the list of VMs and the returned *Task will always be nil.

type DatacenterFolders Uses

type DatacenterFolders struct {
    VmFolder        *Folder
    HostFolder      *Folder
    DatastoreFolder *Folder
    NetworkFolder   *Folder

type Datastore Uses

type Datastore struct {

    DatacenterPath string

func NewDatastore Uses

func NewDatastore(c *vim25.Client, ref types.ManagedObjectReference) *Datastore

func (Datastore) AttachedClusterHosts Uses

func (d Datastore) AttachedClusterHosts(ctx context.Context, cluster *ComputeResource) ([]*HostSystem, error)

AttachedClusterHosts returns hosts that have this Datastore attached, accessible and writable and are members of the given cluster.

func (Datastore) AttachedHosts Uses

func (d Datastore) AttachedHosts(ctx context.Context) ([]*HostSystem, error)

AttachedHosts returns hosts that have this Datastore attached, accessible and writable.

func (Datastore) Browser Uses

func (d Datastore) Browser(ctx context.Context) (*HostDatastoreBrowser, error)

func (Datastore) Download Uses

func (d Datastore) Download(ctx context.Context, path string, param *soap.Download) (io.ReadCloser, int64, error)

Download via soap.Download with an http service ticket

func (Datastore) DownloadFile Uses

func (d Datastore) DownloadFile(ctx context.Context, path string, file string, param *soap.Download) error

DownloadFile via soap.Download with an http service ticket

func (Datastore) HostContext Uses

func (d Datastore) HostContext(ctx context.Context, host *HostSystem) context.Context

HostContext returns a Context where the given host will be used for datastore HTTP access via the ServiceTicket method.

func (Datastore) NewFileManager Uses

func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileManager

NewFileManager creates a new instance of DatastoreFileManager

func (Datastore) NewURL Uses

func (d Datastore) NewURL(path string) *url.URL

NewURL constructs a url.URL with the given file path for datastore access over HTTP.

func (Datastore) Open Uses

func (d Datastore) Open(ctx context.Context, name string) (*DatastoreFile, error)

Open opens the named file relative to the Datastore.

func (Datastore) Path Uses

func (d Datastore) Path(path string) string

func (Datastore) ServiceTicket Uses

func (d Datastore) ServiceTicket(ctx context.Context, path string, method string) (*url.URL, *http.Cookie, error)

ServiceTicket obtains a ticket via AcquireGenericServiceTicket and returns it an http.Cookie with the url.URL that can be used along with the ticket cookie to access the given path. An host is chosen at random unless the the given Context was created with a specific host via the HostContext method.

func (Datastore) Stat Uses

func (d Datastore) Stat(ctx context.Context, file string) (types.BaseFileInfo, error)

func (Datastore) Type Uses

func (d Datastore) Type(ctx context.Context) (types.HostFileSystemVolumeFileSystemType, error)

Type returns the type of file system volume.

func (Datastore) URL Uses

func (d Datastore) URL(ctx context.Context, dc *Datacenter, path string) (*url.URL, error)

URL is deprecated, use NewURL instead.

func (Datastore) Upload Uses

func (d Datastore) Upload(ctx context.Context, f io.Reader, path string, param *soap.Upload) error

Upload via soap.Upload with an http service ticket

func (Datastore) UploadFile Uses

func (d Datastore) UploadFile(ctx context.Context, file string, path string, param *soap.Upload) error

UploadFile via soap.Upload with an http service ticket

type DatastoreFile Uses

type DatastoreFile struct {
    // contains filtered or unexported fields

DatastoreFile implements io.Reader, io.Seeker and io.Closer interfaces for datastore file access.

func (*DatastoreFile) Close Uses

func (f *DatastoreFile) Close() error

Close closes the DatastoreFile.

func (*DatastoreFile) Follow Uses

func (f *DatastoreFile) Follow(interval time.Duration) io.ReadCloser

Follow returns an io.ReadCloser to stream the file contents as data is appended.

func (*DatastoreFile) Read Uses

func (f *DatastoreFile) Read(b []byte) (int, error)

Read reads up to len(b) bytes from the DatastoreFile.

func (*DatastoreFile) Seek Uses

func (f *DatastoreFile) Seek(offset int64, whence int) (int64, error)

Seek sets the offset for the next Read on the DatastoreFile.

func (*DatastoreFile) Stat Uses

func (f *DatastoreFile) Stat() (os.FileInfo, error)

Stat returns the os.FileInfo interface describing file.

func (*DatastoreFile) Tail Uses

func (f *DatastoreFile) Tail(n int) error

Tail seeks to the position of the last N lines of the file.

func (*DatastoreFile) TailFunc Uses

func (f *DatastoreFile) TailFunc(lines int, include func(line int, message string) bool) error

TailFunc will seek backwards in the datastore file until it hits a line that does not satisfy the supplied `include` function.

type DatastoreFileManager Uses

type DatastoreFileManager struct {
    Datacenter         *Datacenter
    Datastore          *Datastore
    FileManager        *FileManager
    VirtualDiskManager *VirtualDiskManager

    Force            bool
    DatacenterTarget *Datacenter

DatastoreFileManager combines FileManager and VirtualDiskManager to manage files on a Datastore

func (*DatastoreFileManager) Copy Uses

func (m *DatastoreFileManager) Copy(ctx context.Context, src string, dst string) error

Copy dispatches to the appropriate FileManager or VirtualDiskManager Copy method based on file name extension

func (*DatastoreFileManager) CopyFile Uses

func (m *DatastoreFileManager) CopyFile(ctx context.Context, src string, dst string) error

CopyFile calls FileManager.CopyDatastoreFile

func (*DatastoreFileManager) Delete Uses

func (m *DatastoreFileManager) Delete(ctx context.Context, name string) error

Delete dispatches to the appropriate Delete method based on file name extension

func (*DatastoreFileManager) DeleteFile Uses

func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) error

DeleteFile calls FileManager.DeleteDatastoreFile

func (*DatastoreFileManager) DeleteVirtualDisk Uses

func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name string) error

DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk Regardless of the Datastore type, DeleteVirtualDisk will fail if 'ddb.deletable=false', so if Force=true this method attempts to set 'ddb.deletable=true' before starting the delete task.

func (*DatastoreFileManager) Move Uses

func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) error

Move dispatches to the appropriate FileManager or VirtualDiskManager Move method based on file name extension

func (*DatastoreFileManager) MoveFile Uses

func (m *DatastoreFileManager) MoveFile(ctx context.Context, src string, dst string) error

MoveFile calls FileManager.MoveDatastoreFile

func (*DatastoreFileManager) Path Uses

func (m *DatastoreFileManager) Path(name string) *DatastorePath

Path converts path name to a DatastorePath

func (*DatastoreFileManager) WithProgress Uses

func (m *DatastoreFileManager) WithProgress(ctx context.Context, s progress.Sinker) context.Context

type DatastoreNamespaceManager Uses

type DatastoreNamespaceManager struct {

func NewDatastoreNamespaceManager Uses

func NewDatastoreNamespaceManager(c *vim25.Client) *DatastoreNamespaceManager

func (DatastoreNamespaceManager) CreateDirectory Uses

func (nm DatastoreNamespaceManager) CreateDirectory(ctx context.Context, ds *Datastore, displayName string, policy string) (string, error)

CreateDirectory creates a top-level directory on the given vsan datastore, using the given user display name hint and opaque storage policy.

func (DatastoreNamespaceManager) DeleteDirectory Uses

func (nm DatastoreNamespaceManager) DeleteDirectory(ctx context.Context, dc *Datacenter, datastorePath string) error

DeleteDirectory deletes the given top-level directory from a vsan datastore.

type DatastoreNoSuchDirectoryError Uses

type DatastoreNoSuchDirectoryError struct {
    // contains filtered or unexported fields

DatastoreNoSuchDirectoryError is returned when a directory could not be found.

func (DatastoreNoSuchDirectoryError) Error Uses

func (e DatastoreNoSuchDirectoryError) Error() string

type DatastoreNoSuchFileError Uses

type DatastoreNoSuchFileError struct {
    // contains filtered or unexported fields

DatastoreNoSuchFileError is returned when a file could not be found.

func (DatastoreNoSuchFileError) Error Uses

func (e DatastoreNoSuchFileError) Error() string

type DatastorePath Uses

type DatastorePath struct {
    Datastore string
    Path      string

DatastorePath contains the components of a datastore path.

func (*DatastorePath) FromString Uses

func (p *DatastorePath) FromString(s string) bool

FromString parses a datastore path. Returns true if the path could be parsed, false otherwise.

func (*DatastorePath) IsVMDK Uses

func (p *DatastorePath) IsVMDK() bool

IsVMDK returns true if Path has a ".vmdk" extension

func (*DatastorePath) String Uses

func (p *DatastorePath) String() string

String formats a datastore path.

type DiagnosticLog Uses

type DiagnosticLog struct {
    Key  string
    Host *HostSystem

    Start int32
    // contains filtered or unexported fields

DiagnosticLog wraps DiagnosticManager.BrowseLog

func (*DiagnosticLog) Copy Uses

func (l *DiagnosticLog) Copy(ctx context.Context, w io.Writer) (int, error)

Copy log starting from l.Start to the given io.Writer Returns on error or when end of log is reached.

func (*DiagnosticLog) Seek Uses

func (l *DiagnosticLog) Seek(ctx context.Context, nlines int32) error

Seek to log position starting at the last nlines of the log

type DiagnosticManager Uses

type DiagnosticManager struct {

func NewDiagnosticManager Uses

func NewDiagnosticManager(c *vim25.Client) *DiagnosticManager

func (DiagnosticManager) BrowseLog Uses

func (m DiagnosticManager) BrowseLog(ctx context.Context, host *HostSystem, key string, start, lines int32) (*types.DiagnosticManagerLogHeader, error)

func (DiagnosticManager) GenerateLogBundles Uses

func (m DiagnosticManager) GenerateLogBundles(ctx context.Context, includeDefault bool, host []*HostSystem) (*Task, error)

func (DiagnosticManager) Log Uses

func (m DiagnosticManager) Log(ctx context.Context, host *HostSystem, key string) *DiagnosticLog

func (DiagnosticManager) QueryDescriptions Uses

func (m DiagnosticManager) QueryDescriptions(ctx context.Context, host *HostSystem) ([]types.DiagnosticManagerLogDescriptor, error)

type DisabledMethodRequest Uses

type DisabledMethodRequest struct {
    Method string `xml:"method"`
    Reason string `xml:"reasonId"`

type DistributedVirtualPortgroup Uses

type DistributedVirtualPortgroup struct {

func NewDistributedVirtualPortgroup Uses

func NewDistributedVirtualPortgroup(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualPortgroup

func (DistributedVirtualPortgroup) EthernetCardBackingInfo Uses

func (p DistributedVirtualPortgroup) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)

EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this DistributedVirtualPortgroup

func (DistributedVirtualPortgroup) GetInventoryPath Uses

func (p DistributedVirtualPortgroup) GetInventoryPath() string

func (DistributedVirtualPortgroup) Reconfigure Uses

func (p DistributedVirtualPortgroup) Reconfigure(ctx context.Context, spec types.DVPortgroupConfigSpec) (*Task, error)

type DistributedVirtualSwitch Uses

type DistributedVirtualSwitch struct {

func NewDistributedVirtualSwitch Uses

func NewDistributedVirtualSwitch(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualSwitch

func (DistributedVirtualSwitch) AddPortgroup Uses

func (s DistributedVirtualSwitch) AddPortgroup(ctx context.Context, spec []types.DVPortgroupConfigSpec) (*Task, error)

func (DistributedVirtualSwitch) EthernetCardBackingInfo Uses

func (s DistributedVirtualSwitch) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)

func (DistributedVirtualSwitch) FetchDVPorts Uses

func (s DistributedVirtualSwitch) FetchDVPorts(ctx context.Context, criteria *types.DistributedVirtualSwitchPortCriteria) ([]types.DistributedVirtualPort, error)

func (DistributedVirtualSwitch) GetInventoryPath Uses

func (s DistributedVirtualSwitch) GetInventoryPath() string

func (DistributedVirtualSwitch) Reconfigure Uses

func (s DistributedVirtualSwitch) Reconfigure(ctx context.Context, spec types.BaseDVSConfigSpec) (*Task, error)

func (DistributedVirtualSwitch) ReconfigureDVPort Uses

func (s DistributedVirtualSwitch) ReconfigureDVPort(ctx context.Context, spec []types.DVPortConfigSpec) (*Task, error)

type ExtensionManager Uses

type ExtensionManager struct {

func GetExtensionManager Uses

func GetExtensionManager(c *vim25.Client) (*ExtensionManager, error)

GetExtensionManager wraps NewExtensionManager, returning ErrNotSupported when the client is not connected to a vCenter instance.

func NewExtensionManager Uses

func NewExtensionManager(c *vim25.Client) *ExtensionManager

func (ExtensionManager) Find Uses

func (m ExtensionManager) Find(ctx context.Context, key string) (*types.Extension, error)

func (ExtensionManager) List Uses

func (m ExtensionManager) List(ctx context.Context) ([]types.Extension, error)

func (ExtensionManager) Register Uses

func (m ExtensionManager) Register(ctx context.Context, extension types.Extension) error

func (ExtensionManager) SetCertificate Uses

func (m ExtensionManager) SetCertificate(ctx context.Context, key string, certificatePem string) error

func (ExtensionManager) Unregister Uses

func (m ExtensionManager) Unregister(ctx context.Context, key string) error

func (ExtensionManager) Update Uses

func (m ExtensionManager) Update(ctx context.Context, extension types.Extension) error

type FileManager Uses

type FileManager struct {

func NewFileManager Uses

func NewFileManager(c *vim25.Client) *FileManager

func (FileManager) CopyDatastoreFile Uses

func (f FileManager) CopyDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error)

func (FileManager) DeleteDatastoreFile Uses

func (f FileManager) DeleteDatastoreFile(ctx context.Context, name string, dc *Datacenter) (*Task, error)

DeleteDatastoreFile deletes the specified file or folder from the datastore.

func (FileManager) MakeDirectory Uses

func (f FileManager) MakeDirectory(ctx context.Context, name string, dc *Datacenter, createParentDirectories bool) error

MakeDirectory creates a folder using the specified name.

func (FileManager) MoveDatastoreFile Uses

func (f FileManager) MoveDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error)

type Folder Uses

type Folder struct {

func NewFolder Uses

func NewFolder(c *vim25.Client, ref types.ManagedObjectReference) *Folder

func NewRootFolder Uses

func NewRootFolder(c *vim25.Client) *Folder

func (Folder) AddStandaloneHost Uses

func (f Folder) AddStandaloneHost(ctx context.Context, spec types.HostConnectSpec, addConnected bool, license *string, compResSpec *types.BaseComputeResourceConfigSpec) (*Task, error)

func (Folder) Children Uses

func (f Folder) Children(ctx context.Context) ([]Reference, error)

func (Folder) CreateCluster Uses

func (f Folder) CreateCluster(ctx context.Context, cluster string, spec types.ClusterConfigSpecEx) (*ClusterComputeResource, error)

func (Folder) CreateDVS Uses

func (f Folder) CreateDVS(ctx context.Context, spec types.DVSCreateSpec) (*Task, error)

func (Folder) CreateDatacenter Uses

func (f Folder) CreateDatacenter(ctx context.Context, datacenter string) (*Datacenter, error)

func (Folder) CreateFolder Uses

func (f Folder) CreateFolder(ctx context.Context, name string) (*Folder, error)

func (Folder) CreateStoragePod Uses

func (f Folder) CreateStoragePod(ctx context.Context, name string) (*StoragePod, error)

func (Folder) CreateVM Uses

func (f Folder) CreateVM(ctx context.Context, config types.VirtualMachineConfigSpec, pool *ResourcePool, host *HostSystem) (*Task, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    finder := find.NewFinder(c)
    dc, err := finder.Datacenter(ctx, "DC0")
    if err != nil {
        return err


    folders, err := dc.Folders(ctx)
    if err != nil {
        return err

    pool, err := finder.ResourcePool(ctx, "DC0_C0/Resources")
    if err != nil {
        return err

    spec := types.VirtualMachineConfigSpec{
        Name:    "example-vm",
        GuestId: string(types.VirtualMachineGuestOsIdentifierOtherGuest),
        Files: &types.VirtualMachineFileInfo{
            VmPathName: "[LocalDS_0]",

    task, err := folders.VmFolder.CreateVM(ctx, spec, pool, nil)
    if err != nil {
        return err

    info, err := task.WaitForResult(ctx)
    if err != nil {
        return err

    vm := object.NewVirtualMachine(c, info.Result.(types.ManagedObjectReference))
    name, err := vm.ObjectName(ctx)
    if err != nil {
        return err


    return nil



func (Folder) MoveInto Uses

func (f Folder) MoveInto(ctx context.Context, list []types.ManagedObjectReference) (*Task, error)

func (Folder) RegisterVM Uses

func (f Folder) RegisterVM(ctx context.Context, path string, name string, asTemplate bool, pool *ResourcePool, host *HostSystem) (*Task, error)

type HistoryCollector Uses

type HistoryCollector struct {

func NewHistoryCollector Uses

func NewHistoryCollector(c *vim25.Client, ref types.ManagedObjectReference) *HistoryCollector

func (HistoryCollector) Destroy Uses

func (h HistoryCollector) Destroy(ctx context.Context) error

func (HistoryCollector) Reset Uses

func (h HistoryCollector) Reset(ctx context.Context) error

func (HistoryCollector) Rewind Uses

func (h HistoryCollector) Rewind(ctx context.Context) error

func (HistoryCollector) SetPageSize Uses

func (h HistoryCollector) SetPageSize(ctx context.Context, maxCount int32) error

type HostAccountManager Uses

type HostAccountManager struct {

func NewHostAccountManager Uses

func NewHostAccountManager(c *vim25.Client, ref types.ManagedObjectReference) *HostAccountManager

func (HostAccountManager) Create Uses

func (m HostAccountManager) Create(ctx context.Context, user *types.HostAccountSpec) error

func (HostAccountManager) Remove Uses

func (m HostAccountManager) Remove(ctx context.Context, userName string) error

func (HostAccountManager) Update Uses

func (m HostAccountManager) Update(ctx context.Context, user *types.HostAccountSpec) error

type HostCertificateInfo Uses

type HostCertificateInfo struct {

    ThumbprintSHA1   string
    ThumbprintSHA256 string

    Err         error
    Certificate *x509.Certificate `json:"-"`
    // contains filtered or unexported fields

HostCertificateInfo provides helpers for types.HostCertificateManagerCertificateInfo

func (*HostCertificateInfo) FromCertificate Uses

func (info *HostCertificateInfo) FromCertificate(cert *x509.Certificate) *HostCertificateInfo

FromCertificate converts x509.Certificate to HostCertificateInfo

func (*HostCertificateInfo) FromURL Uses

func (info *HostCertificateInfo) FromURL(u *url.URL, config *tls.Config) error

FromURL connects to the given URL.Host via tls.Dial with the given tls.Config and populates the HostCertificateInfo via tls.ConnectionState. If the certificate was verified with the given tls.Config, the Err field will be nil. Otherwise, Err will be set to the x509.UnknownAuthorityError or x509.HostnameError. If tls.Dial returns an error of any other type, that error is returned.

func (*HostCertificateInfo) IssuerName Uses

func (info *HostCertificateInfo) IssuerName() *pkix.Name

IssuerName parses Issuer into a pkix.Name

func (*HostCertificateInfo) SubjectName Uses

func (info *HostCertificateInfo) SubjectName() *pkix.Name

SubjectName parses Subject into a pkix.Name

func (*HostCertificateInfo) Write Uses

func (info *HostCertificateInfo) Write(w io.Writer) error

Write outputs info similar to the Chrome Certificate Viewer.

type HostCertificateManager Uses

type HostCertificateManager struct {
    Host *HostSystem

HostCertificateManager provides helper methods around the HostSystem.ConfigManager.CertificateManager

func NewHostCertificateManager Uses

func NewHostCertificateManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostCertificateManager

NewHostCertificateManager creates a new HostCertificateManager helper

func (HostCertificateManager) CertificateInfo Uses

func (m HostCertificateManager) CertificateInfo(ctx context.Context) (*HostCertificateInfo, error)

CertificateInfo wraps the host CertificateManager certificateInfo property with the HostCertificateInfo helper. The ThumbprintSHA1 field is set to HostSystem.Summary.Config.SslThumbprint if the host system is managed by a vCenter.

func (HostCertificateManager) GenerateCertificateSigningRequest Uses

func (m HostCertificateManager) GenerateCertificateSigningRequest(ctx context.Context, useIPAddressAsCommonName bool) (string, error)

GenerateCertificateSigningRequest requests the host system to generate a certificate-signing request (CSR) for itself. The CSR is then typically provided to a Certificate Authority to sign and issue the SSL certificate for the host system. Use InstallServerCertificate to import this certificate.

func (HostCertificateManager) GenerateCertificateSigningRequestByDn Uses

func (m HostCertificateManager) GenerateCertificateSigningRequestByDn(ctx context.Context, distinguishedName string) (string, error)

GenerateCertificateSigningRequestByDn requests the host system to generate a certificate-signing request (CSR) for itself. Alternative version similar to GenerateCertificateSigningRequest but takes a Distinguished Name (DN) as a parameter.

func (HostCertificateManager) InstallServerCertificate Uses

func (m HostCertificateManager) InstallServerCertificate(ctx context.Context, cert string) error

InstallServerCertificate imports the given SSL certificate to the host system.

func (HostCertificateManager) ListCACertificateRevocationLists Uses

func (m HostCertificateManager) ListCACertificateRevocationLists(ctx context.Context) ([]string, error)

ListCACertificateRevocationLists returns the SSL CRLs of Certificate Authorities that are trusted by the host system.

func (HostCertificateManager) ListCACertificates Uses

func (m HostCertificateManager) ListCACertificates(ctx context.Context) ([]string, error)

ListCACertificates returns the SSL certificates of Certificate Authorities that are trusted by the host system.

func (HostCertificateManager) ReplaceCACertificatesAndCRLs Uses

func (m HostCertificateManager) ReplaceCACertificatesAndCRLs(ctx context.Context, caCert []string, caCrl []string) error

ReplaceCACertificatesAndCRLs replaces the trusted CA certificates and CRL used by the host system. These determine whether the server can verify the identity of an external entity.

type HostConfigManager Uses

type HostConfigManager struct {

func NewHostConfigManager Uses

func NewHostConfigManager(c *vim25.Client, ref types.ManagedObjectReference) *HostConfigManager

func (HostConfigManager) AccountManager Uses

func (m HostConfigManager) AccountManager(ctx context.Context) (*HostAccountManager, error)

func (HostConfigManager) CertificateManager Uses

func (m HostConfigManager) CertificateManager(ctx context.Context) (*HostCertificateManager, error)

func (HostConfigManager) DatastoreSystem Uses

func (m HostConfigManager) DatastoreSystem(ctx context.Context) (*HostDatastoreSystem, error)

func (HostConfigManager) DateTimeSystem Uses

func (m HostConfigManager) DateTimeSystem(ctx context.Context) (*HostDateTimeSystem, error)

func (HostConfigManager) FirewallSystem Uses

func (m HostConfigManager) FirewallSystem(ctx context.Context) (*HostFirewallSystem, error)

func (HostConfigManager) NetworkSystem Uses

func (m HostConfigManager) NetworkSystem(ctx context.Context) (*HostNetworkSystem, error)

func (HostConfigManager) OptionManager Uses

func (m HostConfigManager) OptionManager(ctx context.Context) (*OptionManager, error)

func (HostConfigManager) ServiceSystem Uses

func (m HostConfigManager) ServiceSystem(ctx context.Context) (*HostServiceSystem, error)

func (HostConfigManager) StorageSystem Uses

func (m HostConfigManager) StorageSystem(ctx context.Context) (*HostStorageSystem, error)

func (HostConfigManager) VirtualNicManager Uses

func (m HostConfigManager) VirtualNicManager(ctx context.Context) (*HostVirtualNicManager, error)

func (HostConfigManager) VsanInternalSystem Uses

func (m HostConfigManager) VsanInternalSystem(ctx context.Context) (*HostVsanInternalSystem, error)

func (HostConfigManager) VsanSystem Uses

func (m HostConfigManager) VsanSystem(ctx context.Context) (*HostVsanSystem, error)

type HostDatastoreBrowser Uses

type HostDatastoreBrowser struct {

func NewHostDatastoreBrowser Uses

func NewHostDatastoreBrowser(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreBrowser

func (HostDatastoreBrowser) SearchDatastore Uses

func (b HostDatastoreBrowser) SearchDatastore(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error)

func (HostDatastoreBrowser) SearchDatastoreSubFolders Uses

func (b HostDatastoreBrowser) SearchDatastoreSubFolders(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error)

type HostDatastoreSystem Uses

type HostDatastoreSystem struct {

func NewHostDatastoreSystem Uses

func NewHostDatastoreSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreSystem

func (HostDatastoreSystem) CreateLocalDatastore Uses

func (s HostDatastoreSystem) CreateLocalDatastore(ctx context.Context, name string, path string) (*Datastore, error)

func (HostDatastoreSystem) CreateNasDatastore Uses

func (s HostDatastoreSystem) CreateNasDatastore(ctx context.Context, spec types.HostNasVolumeSpec) (*Datastore, error)

func (HostDatastoreSystem) CreateVmfsDatastore Uses

func (s HostDatastoreSystem) CreateVmfsDatastore(ctx context.Context, spec types.VmfsDatastoreCreateSpec) (*Datastore, error)

func (HostDatastoreSystem) QueryAvailableDisksForVmfs Uses

func (s HostDatastoreSystem) QueryAvailableDisksForVmfs(ctx context.Context) ([]types.HostScsiDisk, error)

func (HostDatastoreSystem) QueryVmfsDatastoreCreateOptions Uses

func (s HostDatastoreSystem) QueryVmfsDatastoreCreateOptions(ctx context.Context, devicePath string) ([]types.VmfsDatastoreOption, error)

func (HostDatastoreSystem) Remove Uses

func (s HostDatastoreSystem) Remove(ctx context.Context, ds *Datastore) error

func (HostDatastoreSystem) ResignatureUnresolvedVmfsVolumes Uses

func (s HostDatastoreSystem) ResignatureUnresolvedVmfsVolumes(ctx context.Context, devicePaths []string) (*Task, error)

type HostDateTimeSystem Uses

type HostDateTimeSystem struct {

func NewHostDateTimeSystem Uses

func NewHostDateTimeSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDateTimeSystem

func (HostDateTimeSystem) Query Uses

func (s HostDateTimeSystem) Query(ctx context.Context) (*time.Time, error)

func (HostDateTimeSystem) Update Uses

func (s HostDateTimeSystem) Update(ctx context.Context, date time.Time) error

func (HostDateTimeSystem) UpdateConfig Uses

func (s HostDateTimeSystem) UpdateConfig(ctx context.Context, config types.HostDateTimeConfig) error

type HostFirewallRulesetList Uses

type HostFirewallRulesetList []types.HostFirewallRuleset

HostFirewallRulesetList provides helpers for a slice of types.HostFirewallRuleset

func (HostFirewallRulesetList) ByRule Uses

func (l HostFirewallRulesetList) ByRule(rule types.HostFirewallRule) HostFirewallRulesetList

ByRule returns a HostFirewallRulesetList where Direction, PortType and Protocol are equal and Port is within range

func (HostFirewallRulesetList) Disabled Uses

func (l HostFirewallRulesetList) Disabled() HostFirewallRulesetList

Disabled returns a HostFirewallRulesetList with disabled rules

func (HostFirewallRulesetList) Enabled Uses

func (l HostFirewallRulesetList) Enabled() HostFirewallRulesetList

Enabled returns a HostFirewallRulesetList with enabled rules

func (HostFirewallRulesetList) EnabledByRule Uses

func (l HostFirewallRulesetList) EnabledByRule(rule types.HostFirewallRule, enabled bool) (HostFirewallRulesetList, error)

EnabledByRule returns a HostFirewallRulesetList with Match(rule) applied and filtered via Enabled() if enabled param is true, otherwise filtered via Disabled(). An error is returned if the resulting list is empty.

func (HostFirewallRulesetList) Keys Uses

func (l HostFirewallRulesetList) Keys() []string

Keys returns the HostFirewallRuleset.Key for each ruleset in the list

type HostFirewallSystem Uses

type HostFirewallSystem struct {

func NewHostFirewallSystem Uses

func NewHostFirewallSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostFirewallSystem

func (HostFirewallSystem) DisableRuleset Uses

func (s HostFirewallSystem) DisableRuleset(ctx context.Context, id string) error

func (HostFirewallSystem) EnableRuleset Uses

func (s HostFirewallSystem) EnableRuleset(ctx context.Context, id string) error

func (HostFirewallSystem) Info Uses

func (s HostFirewallSystem) Info(ctx context.Context) (*types.HostFirewallInfo, error)

func (HostFirewallSystem) Refresh Uses

func (s HostFirewallSystem) Refresh(ctx context.Context) error

type HostNetworkSystem Uses

type HostNetworkSystem struct {

func NewHostNetworkSystem Uses

func NewHostNetworkSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostNetworkSystem

func (HostNetworkSystem) AddPortGroup Uses

func (o HostNetworkSystem) AddPortGroup(ctx context.Context, portgrp types.HostPortGroupSpec) error

AddPortGroup wraps methods.AddPortGroup

func (HostNetworkSystem) AddServiceConsoleVirtualNic Uses

func (o HostNetworkSystem) AddServiceConsoleVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error)

AddServiceConsoleVirtualNic wraps methods.AddServiceConsoleVirtualNic

func (HostNetworkSystem) AddVirtualNic Uses

func (o HostNetworkSystem) AddVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error)

AddVirtualNic wraps methods.AddVirtualNic

func (HostNetworkSystem) AddVirtualSwitch Uses

func (o HostNetworkSystem) AddVirtualSwitch(ctx context.Context, vswitchName string, spec *types.HostVirtualSwitchSpec) error

AddVirtualSwitch wraps methods.AddVirtualSwitch

func (HostNetworkSystem) QueryNetworkHint Uses

func (o HostNetworkSystem) QueryNetworkHint(ctx context.Context, device []string) ([]types.PhysicalNicHintInfo, error)

QueryNetworkHint wraps methods.QueryNetworkHint

func (HostNetworkSystem) RefreshNetworkSystem Uses

func (o HostNetworkSystem) RefreshNetworkSystem(ctx context.Context) error

RefreshNetworkSystem wraps methods.RefreshNetworkSystem

func (HostNetworkSystem) RemovePortGroup Uses

func (o HostNetworkSystem) RemovePortGroup(ctx context.Context, pgName string) error

RemovePortGroup wraps methods.RemovePortGroup

func (HostNetworkSystem) RemoveServiceConsoleVirtualNic Uses

func (o HostNetworkSystem) RemoveServiceConsoleVirtualNic(ctx context.Context, device string) error

RemoveServiceConsoleVirtualNic wraps methods.RemoveServiceConsoleVirtualNic

func (HostNetworkSystem) RemoveVirtualNic Uses

func (o HostNetworkSystem) RemoveVirtualNic(ctx context.Context, device string) error

RemoveVirtualNic wraps methods.RemoveVirtualNic

func (HostNetworkSystem) RemoveVirtualSwitch Uses

func (o HostNetworkSystem) RemoveVirtualSwitch(ctx context.Context, vswitchName string) error

RemoveVirtualSwitch wraps methods.RemoveVirtualSwitch

func (HostNetworkSystem) RestartServiceConsoleVirtualNic Uses

func (o HostNetworkSystem) RestartServiceConsoleVirtualNic(ctx context.Context, device string) error

RestartServiceConsoleVirtualNic wraps methods.RestartServiceConsoleVirtualNic

func (HostNetworkSystem) UpdateConsoleIpRouteConfig Uses

func (o HostNetworkSystem) UpdateConsoleIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error

UpdateConsoleIpRouteConfig wraps methods.UpdateConsoleIpRouteConfig

func (HostNetworkSystem) UpdateDnsConfig Uses

func (o HostNetworkSystem) UpdateDnsConfig(ctx context.Context, config types.BaseHostDnsConfig) error

UpdateDnsConfig wraps methods.UpdateDnsConfig

func (HostNetworkSystem) UpdateIpRouteConfig Uses

func (o HostNetworkSystem) UpdateIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error

UpdateIpRouteConfig wraps methods.UpdateIpRouteConfig

func (HostNetworkSystem) UpdateIpRouteTableConfig Uses

func (o HostNetworkSystem) UpdateIpRouteTableConfig(ctx context.Context, config types.HostIpRouteTableConfig) error

UpdateIpRouteTableConfig wraps methods.UpdateIpRouteTableConfig

func (HostNetworkSystem) UpdateNetworkConfig Uses

func (o HostNetworkSystem) UpdateNetworkConfig(ctx context.Context, config types.HostNetworkConfig, changeMode string) (*types.HostNetworkConfigResult, error)

UpdateNetworkConfig wraps methods.UpdateNetworkConfig

func (HostNetworkSystem) UpdatePhysicalNicLinkSpeed Uses

func (o HostNetworkSystem) UpdatePhysicalNicLinkSpeed(ctx context.Context, device string, linkSpeed *types.PhysicalNicLinkInfo) error

UpdatePhysicalNicLinkSpeed wraps methods.UpdatePhysicalNicLinkSpeed

func (HostNetworkSystem) UpdatePortGroup Uses

func (o HostNetworkSystem) UpdatePortGroup(ctx context.Context, pgName string, portgrp types.HostPortGroupSpec) error

UpdatePortGroup wraps methods.UpdatePortGroup

func (HostNetworkSystem) UpdateServiceConsoleVirtualNic Uses

func (o HostNetworkSystem) UpdateServiceConsoleVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error

UpdateServiceConsoleVirtualNic wraps methods.UpdateServiceConsoleVirtualNic

func (HostNetworkSystem) UpdateVirtualNic Uses

func (o HostNetworkSystem) UpdateVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error

UpdateVirtualNic wraps methods.UpdateVirtualNic

func (HostNetworkSystem) UpdateVirtualSwitch Uses

func (o HostNetworkSystem) UpdateVirtualSwitch(ctx context.Context, vswitchName string, spec types.HostVirtualSwitchSpec) error

UpdateVirtualSwitch wraps methods.UpdateVirtualSwitch

type HostServiceSystem Uses

type HostServiceSystem struct {

func NewHostServiceSystem Uses

func NewHostServiceSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostServiceSystem

func (HostServiceSystem) Restart Uses

func (s HostServiceSystem) Restart(ctx context.Context, id string) error

func (HostServiceSystem) Service Uses

func (s HostServiceSystem) Service(ctx context.Context) ([]types.HostService, error)

func (HostServiceSystem) Start Uses

func (s HostServiceSystem) Start(ctx context.Context, id string) error

func (HostServiceSystem) Stop Uses

func (s HostServiceSystem) Stop(ctx context.Context, id string) error

func (HostServiceSystem) UpdatePolicy Uses

func (s HostServiceSystem) UpdatePolicy(ctx context.Context, id string, policy string) error

type HostStorageSystem Uses

type HostStorageSystem struct {

func NewHostStorageSystem Uses

func NewHostStorageSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostStorageSystem

func (HostStorageSystem) AttachScsiLun Uses

func (s HostStorageSystem) AttachScsiLun(ctx context.Context, uuid string) error

func (HostStorageSystem) ComputeDiskPartitionInfo Uses

func (s HostStorageSystem) ComputeDiskPartitionInfo(ctx context.Context, devicePath string, layout types.HostDiskPartitionLayout) (*types.HostDiskPartitionInfo, error)

func (HostStorageSystem) MarkAsLocal Uses

func (s HostStorageSystem) MarkAsLocal(ctx context.Context, uuid string) (*Task, error)

func (HostStorageSystem) MarkAsNonLocal Uses

func (s HostStorageSystem) MarkAsNonLocal(ctx context.Context, uuid string) (*Task, error)

func (HostStorageSystem) MarkAsNonSsd Uses

func (s HostStorageSystem) MarkAsNonSsd(ctx context.Context, uuid string) (*Task, error)

func (HostStorageSystem) MarkAsSsd Uses

func (s HostStorageSystem) MarkAsSsd(ctx context.Context, uuid string) (*Task, error)

func (HostStorageSystem) QueryUnresolvedVmfsVolumes Uses

func (s HostStorageSystem) QueryUnresolvedVmfsVolumes(ctx context.Context) ([]types.HostUnresolvedVmfsVolume, error)

func (HostStorageSystem) Refresh Uses

func (s HostStorageSystem) Refresh(ctx context.Context) error

func (HostStorageSystem) RescanAllHba Uses

func (s HostStorageSystem) RescanAllHba(ctx context.Context) error

func (HostStorageSystem) RescanVmfs Uses

func (s HostStorageSystem) RescanVmfs(ctx context.Context) error

func (HostStorageSystem) RetrieveDiskPartitionInfo Uses

func (s HostStorageSystem) RetrieveDiskPartitionInfo(ctx context.Context, devicePath string) (*types.HostDiskPartitionInfo, error)

func (HostStorageSystem) UnmountVmfsVolume Uses

func (s HostStorageSystem) UnmountVmfsVolume(ctx context.Context, vmfsUuid string) error

func (HostStorageSystem) UpdateDiskPartitionInfo Uses

func (s HostStorageSystem) UpdateDiskPartitionInfo(ctx context.Context, devicePath string, spec types.HostDiskPartitionSpec) error

type HostSystem Uses

type HostSystem struct {

func NewHostSystem Uses

func NewHostSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostSystem

func (HostSystem) ConfigManager Uses

func (h HostSystem) ConfigManager() *HostConfigManager

func (HostSystem) Disconnect Uses

func (h HostSystem) Disconnect(ctx context.Context) (*Task, error)

func (HostSystem) EnterMaintenanceMode Uses

func (h HostSystem) EnterMaintenanceMode(ctx context.Context, timeout int32, evacuate bool, spec *types.HostMaintenanceSpec) (*Task, error)

func (HostSystem) ExitMaintenanceMode Uses

func (h HostSystem) ExitMaintenanceMode(ctx context.Context, timeout int32) (*Task, error)

func (HostSystem) ManagementIPs Uses

func (h HostSystem) ManagementIPs(ctx context.Context) ([]net.IP, error)

func (HostSystem) Reconnect Uses

func (h HostSystem) Reconnect(ctx context.Context, cnxSpec *types.HostConnectSpec, reconnectSpec *types.HostSystemReconnectSpec) (*Task, error)

func (HostSystem) ResourcePool Uses

func (h HostSystem) ResourcePool(ctx context.Context) (*ResourcePool, error)

type HostVirtualNicManager Uses

type HostVirtualNicManager struct {
    Host *HostSystem

func NewHostVirtualNicManager Uses

func NewHostVirtualNicManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostVirtualNicManager

func (HostVirtualNicManager) DeselectVnic Uses

func (m HostVirtualNicManager) DeselectVnic(ctx context.Context, nicType string, device string) error

func (HostVirtualNicManager) Info Uses

func (m HostVirtualNicManager) Info(ctx context.Context) (*types.HostVirtualNicManagerInfo, error)

func (HostVirtualNicManager) SelectVnic Uses

func (m HostVirtualNicManager) SelectVnic(ctx context.Context, nicType string, device string) error

type HostVsanInternalSystem Uses

type HostVsanInternalSystem struct {

func NewHostVsanInternalSystem Uses

func NewHostVsanInternalSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanInternalSystem

func (HostVsanInternalSystem) DeleteVsanObjects Uses

func (m HostVsanInternalSystem) DeleteVsanObjects(ctx context.Context, uuids []string, force *bool) ([]types.HostVsanInternalSystemDeleteVsanObjectsResult, error)

DeleteVsanObjects is internal and intended for troubleshooting/debugging only. WARNING: This API can be slow because we do IOs to all the objects. DOM won't allow access to objects which have lost quorum. Such objects can be deleted with the optional "force" flag. These objects may however re-appear with quorum if the absent components come back (network partition gets resolved, etc.)

func (HostVsanInternalSystem) GetVsanObjExtAttrs Uses

func (m HostVsanInternalSystem) GetVsanObjExtAttrs(ctx context.Context, uuids []string) (map[string]VsanObjExtAttrs, error)

GetVsanObjExtAttrs is internal and intended for troubleshooting/debugging situations in the field. WARNING: This API can be slow because we do IOs (reads) to all the objects.

func (HostVsanInternalSystem) QueryVsanObjectUuidsByFilter Uses

func (m HostVsanInternalSystem) QueryVsanObjectUuidsByFilter(ctx context.Context, uuids []string, limit int32, version int32) ([]string, error)

QueryVsanObjectUuidsByFilter returns vSAN DOM object uuids by filter.

type HostVsanSystem Uses

type HostVsanSystem struct {

func NewHostVsanSystem Uses

func NewHostVsanSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanSystem

func (HostVsanSystem) Update Uses

func (s HostVsanSystem) Update(ctx context.Context, config types.VsanHostConfigInfo) (*Task, error)

type Network Uses

type Network struct {

func NewNetwork Uses

func NewNetwork(c *vim25.Client, ref types.ManagedObjectReference) *Network

func (Network) EthernetCardBackingInfo Uses

func (n Network) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)

EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network

func (Network) GetInventoryPath Uses

func (n Network) GetInventoryPath() string

type NetworkReference Uses

type NetworkReference interface {
    GetInventoryPath() string
    EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)

The NetworkReference interface is implemented by managed objects which can be used as the backing for a VirtualEthernetCard.

type OpaqueNetwork Uses

type OpaqueNetwork struct {

func NewOpaqueNetwork Uses

func NewOpaqueNetwork(c *vim25.Client, ref types.ManagedObjectReference) *OpaqueNetwork

func (OpaqueNetwork) EthernetCardBackingInfo Uses

func (n OpaqueNetwork) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error)

EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network

func (OpaqueNetwork) GetInventoryPath Uses

func (n OpaqueNetwork) GetInventoryPath() string

func (OpaqueNetwork) Summary Uses

func (n OpaqueNetwork) Summary(ctx context.Context) (*types.OpaqueNetworkSummary, error)

Summary returns the mo.OpaqueNetwork.Summary property

type OptionManager Uses

type OptionManager struct {

func NewOptionManager Uses

func NewOptionManager(c *vim25.Client, ref types.ManagedObjectReference) *OptionManager

func (OptionManager) Query Uses

func (m OptionManager) Query(ctx context.Context, name string) ([]types.BaseOptionValue, error)

func (OptionManager) Update Uses

func (m OptionManager) Update(ctx context.Context, value []types.BaseOptionValue) error

type Reference Uses

type Reference interface {
    Reference() types.ManagedObjectReference

func NewReference Uses

func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference

type ResourcePool Uses

type ResourcePool struct {

func NewResourcePool Uses

func NewResourcePool(c *vim25.Client, ref types.ManagedObjectReference) *ResourcePool

func (ResourcePool) Create Uses

func (p ResourcePool) Create(ctx context.Context, name string, spec types.ResourceConfigSpec) (*ResourcePool, error)

func (ResourcePool) CreateVApp Uses

func (p ResourcePool) CreateVApp(ctx context.Context, name string, resSpec types.ResourceConfigSpec, configSpec types.VAppConfigSpec, folder *Folder) (*VirtualApp, error)

func (ResourcePool) Destroy Uses

func (p ResourcePool) Destroy(ctx context.Context) (*Task, error)

func (ResourcePool) DestroyChildren Uses

func (p ResourcePool) DestroyChildren(ctx context.Context) error

func (ResourcePool) ImportVApp Uses

func (p ResourcePool) ImportVApp(ctx context.Context, spec types.BaseImportSpec, folder *Folder, host *HostSystem) (*nfc.Lease, error)

func (ResourcePool) Owner Uses

func (p ResourcePool) Owner(ctx context.Context) (Reference, error)

Owner returns the ResourcePool owner as a ClusterComputeResource or ComputeResource.


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    finder := find.NewFinder(c)

    for _, name := range []string{"DC0_H0_VM0", "DC0_C0_RP0_VM0"} {
        vm, err := finder.VirtualMachine(ctx, name)
        if err != nil {
            return err

        pool, err := vm.ResourcePool(ctx)
        if err != nil {
            return err

        owner, err := pool.Owner(ctx)
        if err != nil {
            return err

        fmt.Printf("%s owner is a %T\n", name, owner)

    return nil


DC0_H0_VM0 owner is a *object.ComputeResource
DC0_C0_RP0_VM0 owner is a *object.ClusterComputeResource

func (ResourcePool) UpdateConfig Uses

func (p ResourcePool) UpdateConfig(ctx context.Context, name string, config *types.ResourceConfigSpec) error

type SearchIndex Uses

type SearchIndex struct {

func NewSearchIndex Uses

func NewSearchIndex(c *vim25.Client) *SearchIndex

func (SearchIndex) FindAllByDnsName Uses

func (s SearchIndex) FindAllByDnsName(ctx context.Context, dc *Datacenter, dnsName string, vmSearch bool) ([]Reference, error)

FindAllByDnsName finds all virtual machines or hosts by DNS name.

func (SearchIndex) FindAllByIp Uses

func (s SearchIndex) FindAllByIp(ctx context.Context, dc *Datacenter, ip string, vmSearch bool) ([]Reference, error)

FindAllByIp finds all virtual machines or hosts by IP address.

func (SearchIndex) FindAllByUuid Uses

func (s SearchIndex) FindAllByUuid(ctx context.Context, dc *Datacenter, uuid string, vmSearch bool, instanceUuid *bool) ([]Reference, error)

FindAllByUuid finds all virtual machines or hosts by UUID.

func (SearchIndex) FindByDatastorePath Uses

func (s SearchIndex) FindByDatastorePath(ctx context.Context, dc *Datacenter, path string) (Reference, error)

FindByDatastorePath finds a virtual machine by its location on a datastore.

func (SearchIndex) FindByDnsName Uses

func (s SearchIndex) FindByDnsName(ctx context.Context, dc *Datacenter, dnsName string, vmSearch bool) (Reference, error)

FindByDnsName finds a virtual machine or host by DNS name.

func (SearchIndex) FindByInventoryPath Uses

func (s SearchIndex) FindByInventoryPath(ctx context.Context, path string) (Reference, error)

FindByInventoryPath finds a managed entity based on its location in the inventory.

func (SearchIndex) FindByIp Uses

func (s SearchIndex) FindByIp(ctx context.Context, dc *Datacenter, ip string, vmSearch bool) (Reference, error)

FindByIp finds a virtual machine or host by IP address.

func (SearchIndex) FindByUuid Uses

func (s SearchIndex) FindByUuid(ctx context.Context, dc *Datacenter, uuid string, vmSearch bool, instanceUuid *bool) (Reference, error)

FindByUuid finds a virtual machine or host by UUID.

func (SearchIndex) FindChild Uses

func (s SearchIndex) FindChild(ctx context.Context, entity Reference, name string) (Reference, error)

FindChild finds a particular child based on a managed entity name.

type StoragePod Uses

type StoragePod struct {

func NewStoragePod Uses

func NewStoragePod(c *vim25.Client, ref types.ManagedObjectReference) *StoragePod

type StorageResourceManager Uses

type StorageResourceManager struct {

func NewStorageResourceManager Uses

func NewStorageResourceManager(c *vim25.Client) *StorageResourceManager

func (StorageResourceManager) ApplyStorageDrsRecommendation Uses

func (sr StorageResourceManager) ApplyStorageDrsRecommendation(ctx context.Context, key []string) (*Task, error)

func (StorageResourceManager) ApplyStorageDrsRecommendationToPod Uses

func (sr StorageResourceManager) ApplyStorageDrsRecommendationToPod(ctx context.Context, pod *StoragePod, key string) (*Task, error)

func (StorageResourceManager) CancelStorageDrsRecommendation Uses

func (sr StorageResourceManager) CancelStorageDrsRecommendation(ctx context.Context, key []string) error

func (StorageResourceManager) ConfigureDatastoreIORM Uses

func (sr StorageResourceManager) ConfigureDatastoreIORM(ctx context.Context, datastore *Datastore, spec types.StorageIORMConfigSpec, key string) (*Task, error)

func (StorageResourceManager) ConfigureStorageDrsForPod Uses

func (sr StorageResourceManager) ConfigureStorageDrsForPod(ctx context.Context, pod *StoragePod, spec types.StorageDrsConfigSpec, modify bool) (*Task, error)

func (StorageResourceManager) QueryDatastorePerformanceSummary Uses

func (sr StorageResourceManager) QueryDatastorePerformanceSummary(ctx context.Context, datastore *Datastore) ([]types.StoragePerformanceSummary, error)

func (StorageResourceManager) QueryIORMConfigOption Uses

func (sr StorageResourceManager) QueryIORMConfigOption(ctx context.Context, host *HostSystem) (*types.StorageIORMConfigOption, error)

func (StorageResourceManager) RecommendDatastores Uses

func (sr StorageResourceManager) RecommendDatastores(ctx context.Context, storageSpec types.StoragePlacementSpec) (*types.StoragePlacementResult, error)

func (StorageResourceManager) RefreshStorageDrsRecommendation Uses

func (sr StorageResourceManager) RefreshStorageDrsRecommendation(ctx context.Context, pod *StoragePod) error

type Task Uses

type Task struct {

Task is a convenience wrapper around task.Task that keeps a reference to the client that was used to create it. This allows users to call the Wait() function with only a context parameter, instead of a context parameter, a soap.RoundTripper, and reference to the root property collector.

func NewTask Uses

func NewTask(c *vim25.Client, ref types.ManagedObjectReference) *Task

func (*Task) Cancel Uses

func (t *Task) Cancel(ctx context.Context) error

func (*Task) SetDescription Uses

func (t *Task) SetDescription(ctx context.Context, description types.LocalizableMessage) error

SetDescription updates task description to describe the current phase of the task.

func (*Task) SetState Uses

func (t *Task) SetState(ctx context.Context, state types.TaskInfoState, result types.AnyType, fault *types.LocalizedMethodFault) error

SetState sets task state and optionally sets results or fault, as appropriate for state.

func (*Task) UpdateProgress Uses

func (t *Task) UpdateProgress(ctx context.Context, percentDone int) error

UpdateProgress Sets percentage done for this task and recalculates overall percentage done. If a percentDone value of less than zero or greater than 100 is specified, a value of zero or 100 respectively is used.

func (*Task) Wait Uses

func (t *Task) Wait(ctx context.Context) error

func (*Task) WaitForResult Uses

func (t *Task) WaitForResult(ctx context.Context, s ...progress.Sinker) (*types.TaskInfo, error)

type VirtualApp Uses

type VirtualApp struct {

func NewVirtualApp Uses

func NewVirtualApp(c *vim25.Client, ref types.ManagedObjectReference) *VirtualApp

func (VirtualApp) Clone Uses

func (p VirtualApp) Clone(ctx context.Context, name string, target types.ManagedObjectReference, spec types.VAppCloneSpec) (*Task, error)

func (VirtualApp) CreateChildVM Uses

func (p VirtualApp) CreateChildVM(ctx context.Context, config types.VirtualMachineConfigSpec, host *HostSystem) (*Task, error)

func (VirtualApp) PowerOff Uses

func (p VirtualApp) PowerOff(ctx context.Context, force bool) (*Task, error)

func (VirtualApp) PowerOn Uses

func (p VirtualApp) PowerOn(ctx context.Context) (*Task, error)

func (VirtualApp) Suspend Uses

func (p VirtualApp) Suspend(ctx context.Context) (*Task, error)

func (VirtualApp) UpdateConfig Uses

func (p VirtualApp) UpdateConfig(ctx context.Context, spec types.VAppConfigSpec) error

type VirtualDeviceList Uses

type VirtualDeviceList []types.BaseVirtualDevice

VirtualDeviceList provides helper methods for working with a list of virtual devices.

func EthernetCardTypes Uses

func EthernetCardTypes() VirtualDeviceList

EthernetCardTypes are used for adding a new ethernet card to a VM.

func SCSIControllerTypes Uses

func SCSIControllerTypes() VirtualDeviceList

SCSIControllerTypes are used for adding a new SCSI controller to a VM.

func (VirtualDeviceList) AssignController Uses

func (l VirtualDeviceList) AssignController(device types.BaseVirtualDevice, c types.BaseVirtualController)

AssignController assigns a device to a controller.

func (VirtualDeviceList) BootOrder Uses

func (l VirtualDeviceList) BootOrder(order []string) []types.BaseVirtualMachineBootOptionsBootableDevice

BootOrder returns a list of devices which can be used to set boot order via VirtualMachine.SetBootOptions. The order can be any of "ethernet", "cdrom", "floppy" or "disk" or by specific device name. A value of "-" will clear the existing boot order on the VC/ESX side.

func (VirtualDeviceList) ChildDisk Uses

func (l VirtualDeviceList) ChildDisk(parent *types.VirtualDisk) *types.VirtualDisk

ChildDisk creates a new VirtualDisk device, linked to the given parent disk, which can be added to a VM.

func (VirtualDeviceList) ConfigSpec Uses

func (l VirtualDeviceList) ConfigSpec(op types.VirtualDeviceConfigSpecOperation) ([]types.BaseVirtualDeviceConfigSpec, error)

ConfigSpec creates a virtual machine configuration spec for the specified operation, for the list of devices in the device list.

func (VirtualDeviceList) Connect Uses

func (l VirtualDeviceList) Connect(device types.BaseVirtualDevice) error

Connect changes the device to connected, returns an error if the device is not connectable.

func (VirtualDeviceList) ConnectSerialPort Uses

func (l VirtualDeviceList) ConnectSerialPort(device *types.VirtualSerialPort, uri string, client bool, proxyuri string) *types.VirtualSerialPort

ConnectSerialPort connects a serial port to a server or client uri.

func (VirtualDeviceList) CreateCdrom Uses

func (l VirtualDeviceList) CreateCdrom(c *types.VirtualIDEController) (*types.VirtualCdrom, error)

CreateCdrom creates a new VirtualCdrom device which can be added to a VM.

func (VirtualDeviceList) CreateDisk Uses

func (l VirtualDeviceList) CreateDisk(c types.BaseVirtualController, ds types.ManagedObjectReference, name string) *types.VirtualDisk

CreateDisk creates a new VirtualDisk device which can be added to a VM.

func (VirtualDeviceList) CreateEthernetCard Uses

func (l VirtualDeviceList) CreateEthernetCard(name string, backing types.BaseVirtualDeviceBackingInfo) (types.BaseVirtualDevice, error)

CreateEthernetCard creates a new VirtualEthernetCard of the given name name and initialized with the given backing.

func (VirtualDeviceList) CreateFloppy Uses

func (l VirtualDeviceList) CreateFloppy() (*types.VirtualFloppy, error)

CreateFloppy creates a new VirtualFloppy device which can be added to a VM.

func (VirtualDeviceList) CreateIDEController Uses

func (l VirtualDeviceList) CreateIDEController() (types.BaseVirtualDevice, error)

CreateIDEController creates a new IDE controller.

func (VirtualDeviceList) CreateNVMEController Uses

func (l VirtualDeviceList) CreateNVMEController() (types.BaseVirtualDevice, error)

CreateNVMEController creates a new NVMWE controller.

func (VirtualDeviceList) CreateSCSIController Uses

func (l VirtualDeviceList) CreateSCSIController(name string) (types.BaseVirtualDevice, error)

CreateSCSIController creates a new SCSI controller of type name if given, otherwise defaults to lsilogic.

func (VirtualDeviceList) CreateSerialPort Uses

func (l VirtualDeviceList) CreateSerialPort() (*types.VirtualSerialPort, error)

CreateSerialPort creates a new VirtualSerialPort device which can be added to a VM.

func (VirtualDeviceList) Disconnect Uses

func (l VirtualDeviceList) Disconnect(device types.BaseVirtualDevice) error

Disconnect changes the device to disconnected, returns an error if the device is not connectable.

func (VirtualDeviceList) DisconnectSerialPort Uses

func (l VirtualDeviceList) DisconnectSerialPort(device *types.VirtualSerialPort) *types.VirtualSerialPort

DisconnectSerialPort disconnects the serial port backing.

func (VirtualDeviceList) EjectImg Uses

func (l VirtualDeviceList) EjectImg(device *types.VirtualFloppy) *types.VirtualFloppy

EjectImg removes the img file based backing and replaces with the default floppy backing.

func (VirtualDeviceList) EjectIso Uses

func (l VirtualDeviceList) EjectIso(device *types.VirtualCdrom) *types.VirtualCdrom

EjectIso removes the iso file based backing and replaces with the default cdrom backing.

func (VirtualDeviceList) Find Uses

func (l VirtualDeviceList) Find(name string) types.BaseVirtualDevice

Find returns the device matching the given name.

func (VirtualDeviceList) FindByKey Uses

func (l VirtualDeviceList) FindByKey(key int32) types.BaseVirtualDevice

FindByKey returns the device matching the given key.

func (VirtualDeviceList) FindCdrom Uses

func (l VirtualDeviceList) FindCdrom(name string) (*types.VirtualCdrom, error)

FindCdrom finds a cdrom device with the given name, defaulting to the first cdrom device if any.

func (VirtualDeviceList) FindDiskController Uses

func (l VirtualDeviceList) FindDiskController(name string) (types.BaseVirtualController, error)

FindDiskController will find an existing ide or scsi disk controller.

func (VirtualDeviceList) FindFloppy Uses

func (l VirtualDeviceList) FindFloppy(name string) (*types.VirtualFloppy, error)

FindFloppy finds a floppy device with the given name, defaulting to the first floppy device if any.

func (VirtualDeviceList) FindIDEController Uses

func (l VirtualDeviceList) FindIDEController(name string) (*types.VirtualIDEController, error)

FindIDEController will find the named IDE controller if given, otherwise will pick an available controller. An error is returned if the named controller is not found or not an IDE controller. Or, if name is not given and no available controller can be found.

func (VirtualDeviceList) FindNVMEController Uses

func (l VirtualDeviceList) FindNVMEController(name string) (*types.VirtualNVMEController, error)

FindNVMEController will find the named NVME controller if given, otherwise will pick an available controller. An error is returned if the named controller is not found or not an NVME controller. Or, if name is not given and no available controller can be found.

func (VirtualDeviceList) FindSCSIController Uses

func (l VirtualDeviceList) FindSCSIController(name string) (*types.VirtualSCSIController, error)

FindSCSIController will find the named SCSI controller if given, otherwise will pick an available controller. An error is returned if the named controller is not found or not an SCSI controller. Or, if name is not given and no available controller can be found.

func (VirtualDeviceList) FindSerialPort Uses

func (l VirtualDeviceList) FindSerialPort(name string) (*types.VirtualSerialPort, error)

FindSerialPort finds a serial port device with the given name, defaulting to the first serial port device if any.

func (VirtualDeviceList) InsertImg Uses

func (l VirtualDeviceList) InsertImg(device *types.VirtualFloppy, img string) *types.VirtualFloppy

InsertImg changes the floppy device backing to use the given img file.

func (VirtualDeviceList) InsertIso Uses

func (l VirtualDeviceList) InsertIso(device *types.VirtualCdrom, iso string) *types.VirtualCdrom

InsertIso changes the cdrom device backing to use the given iso file.

func (VirtualDeviceList) Name Uses

func (l VirtualDeviceList) Name(device types.BaseVirtualDevice) string

Name returns a stable, human-readable name for the given device

func (VirtualDeviceList) NewKey Uses

func (l VirtualDeviceList) NewKey() int32

NewKey returns the key to use for adding a new device to the device list. The device list we're working with here may not be complete (e.g. when we're only adding new devices), so any positive keys could conflict with device keys that are already in use. To avoid this type of conflict, we can use negative keys here, which will be resolved to positive keys by vSphere as the reconfiguration is done.

func (VirtualDeviceList) PickController Uses

func (l VirtualDeviceList) PickController(kind types.BaseVirtualController) types.BaseVirtualController

PickController returns a controller of the given type(s). If no controllers are found or have no available slots, then nil is returned.

func (VirtualDeviceList) PrimaryMacAddress Uses

func (l VirtualDeviceList) PrimaryMacAddress() string

PrimaryMacAddress returns the MacAddress field of the primary VirtualEthernetCard

func (VirtualDeviceList) Select Uses

func (l VirtualDeviceList) Select(f func(device types.BaseVirtualDevice) bool) VirtualDeviceList

Select returns a new list containing all elements of the list for which the given func returns true.

func (VirtualDeviceList) SelectBootOrder Uses

func (l VirtualDeviceList) SelectBootOrder(order []types.BaseVirtualMachineBootOptionsBootableDevice) VirtualDeviceList

SelectBootOrder returns an ordered list of devices matching the given bootable device order

func (VirtualDeviceList) SelectByBackingInfo Uses

func (l VirtualDeviceList) SelectByBackingInfo(backing types.BaseVirtualDeviceBackingInfo) VirtualDeviceList

SelectByBackingInfo returns a new list with devices matching the given backing info. If the value of backing is nil, any device with a backing of the same type will be returned.

func (VirtualDeviceList) SelectByType Uses

func (l VirtualDeviceList) SelectByType(deviceType types.BaseVirtualDevice) VirtualDeviceList

SelectByType returns a new list with devices that are equal to or extend the given type.

func (VirtualDeviceList) Type Uses

func (l VirtualDeviceList) Type(device types.BaseVirtualDevice) string

Type returns a human-readable name for the given device

func (VirtualDeviceList) TypeName Uses

func (l VirtualDeviceList) TypeName(device types.BaseVirtualDevice) string

TypeName returns the vmodl type name of the device

type VirtualDiskInfo Uses

type VirtualDiskInfo struct {
    Name     string `xml:"unit>name"`
    DiskType string `xml:"diskType"`
    Parent   string `xml:"parent,omitempty"`

type VirtualDiskManager Uses

type VirtualDiskManager struct {

func NewVirtualDiskManager Uses

func NewVirtualDiskManager(c *vim25.Client) *VirtualDiskManager

func (VirtualDiskManager) CopyVirtualDisk Uses

func (m VirtualDiskManager) CopyVirtualDisk(
    ctx context.Context,
    sourceName string, sourceDatacenter *Datacenter,
    destName string, destDatacenter *Datacenter,
    destSpec *types.VirtualDiskSpec, force bool) (*Task, error)

CopyVirtualDisk copies a virtual disk, performing conversions as specified in the spec.

func (VirtualDiskManager) CreateChildDisk Uses

func (m VirtualDiskManager) CreateChildDisk(ctx context.Context, parent string, pdc *Datacenter, name string, dc *Datacenter, linked bool) (*Task, error)

func (VirtualDiskManager) CreateVirtualDisk Uses

func (m VirtualDiskManager) CreateVirtualDisk(
    ctx context.Context,
    name string, datacenter *Datacenter,
    spec types.BaseVirtualDiskSpec) (*Task, error)

CreateVirtualDisk creates a new virtual disk.

func (VirtualDiskManager) DeleteVirtualDisk Uses

func (m VirtualDiskManager) DeleteVirtualDisk(ctx context.Context, name string, dc *Datacenter) (*Task, error)

DeleteVirtualDisk deletes a virtual disk.

func (VirtualDiskManager) InflateVirtualDisk Uses

func (m VirtualDiskManager) InflateVirtualDisk(ctx context.Context, name string, dc *Datacenter) (*Task, error)

InflateVirtualDisk inflates a virtual disk.

func (VirtualDiskManager) MoveVirtualDisk Uses

func (m VirtualDiskManager) MoveVirtualDisk(
    ctx context.Context,
    sourceName string, sourceDatacenter *Datacenter,
    destName string, destDatacenter *Datacenter,
    force bool) (*Task, error)

MoveVirtualDisk moves a virtual disk.

func (VirtualDiskManager) QueryVirtualDiskInfo Uses

func (m VirtualDiskManager) QueryVirtualDiskInfo(ctx context.Context, name string, dc *Datacenter, includeParents bool) ([]VirtualDiskInfo, error)

func (VirtualDiskManager) QueryVirtualDiskUuid Uses

func (m VirtualDiskManager) QueryVirtualDiskUuid(ctx context.Context, name string, dc *Datacenter) (string, error)

Queries virtual disk uuid

func (VirtualDiskManager) SetVirtualDiskUuid Uses

func (m VirtualDiskManager) SetVirtualDiskUuid(ctx context.Context, name string, dc *Datacenter, uuid string) error

func (VirtualDiskManager) ShrinkVirtualDisk Uses

func (m VirtualDiskManager) ShrinkVirtualDisk(ctx context.Context, name string, dc *Datacenter, copy *bool) (*Task, error)

ShrinkVirtualDisk shrinks a virtual disk.

type VirtualMachine Uses

type VirtualMachine struct {

func NewVirtualMachine Uses

func NewVirtualMachine(c *vim25.Client, ref types.ManagedObjectReference) *VirtualMachine

func (VirtualMachine) AcquireTicket Uses

func (v VirtualMachine) AcquireTicket(ctx context.Context, kind string) (*types.VirtualMachineTicket, error)

func (VirtualMachine) AddDevice Uses

func (v VirtualMachine) AddDevice(ctx context.Context, device ...types.BaseVirtualDevice) error

AddDevice adds the given devices to the VirtualMachine

func (VirtualMachine) Answer Uses

func (v VirtualMachine) Answer(ctx context.Context, id, answer string) error

Answer answers a pending question.

func (VirtualMachine) AttachDisk Uses

func (v VirtualMachine) AttachDisk(ctx context.Context, id string, datastore *Datastore, controllerKey int32, unitNumber int32) error

AttachDisk attaches the given disk to the VirtualMachine

func (VirtualMachine) BootOptions Uses

func (v VirtualMachine) BootOptions(ctx context.Context) (*types.VirtualMachineBootOptions, error)

BootOptions returns the VirtualMachine's config.bootOptions property.

func (VirtualMachine) Clone Uses

func (v VirtualMachine) Clone(ctx context.Context, folder *Folder, name string, config types.VirtualMachineCloneSpec) (*Task, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    finder := find.NewFinder(c)
    dc, err := finder.Datacenter(ctx, "DC0")
    if err != nil {
        return err


    vm, err := finder.VirtualMachine(ctx, "DC0_H0_VM0")
    if err != nil {
        return err

    folders, err := dc.Folders(ctx)
    if err != nil {
        return err

    spec := types.VirtualMachineCloneSpec{
        PowerOn: false,

    task, err := vm.Clone(ctx, folders.VmFolder, "example-clone", spec)
    if err != nil {
        return err

    info, err := task.WaitForResult(ctx)
    if err != nil {
        return err

    clone := object.NewVirtualMachine(c, info.Result.(types.ManagedObjectReference))
    name, err := clone.ObjectName(ctx)
    if err != nil {
        return err


    return nil



func (VirtualMachine) CreateSnapshot Uses

func (v VirtualMachine) CreateSnapshot(ctx context.Context, name string, description string, memory bool, quiesce bool) (*Task, error)

CreateSnapshot creates a new snapshot of a virtual machine.


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0")
    if err != nil {
        return err

    task, err := vm.CreateSnapshot(ctx, "backup", "Backup", false, false)
    if err != nil {
        return err
    if err = task.Wait(ctx); err != nil {
        return err

    id, err := vm.FindSnapshot(ctx, "backup")
    if err != nil {
        return err

    var snapshot mo.VirtualMachineSnapshot
    err = vm.Properties(ctx, *id, []string{"config.hardware.device"}, &snapshot)
    if err != nil {
        return err

    fmt.Printf("%d devices", len(snapshot.Config.Hardware.Device))

    return nil


13 devices

func (VirtualMachine) Customize Uses

func (v VirtualMachine) Customize(ctx context.Context, spec types.CustomizationSpec) (*Task, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0")
    if err != nil {
        return err
    task, err := vm.PowerOff(ctx)
    if err != nil {
        return err
    if err = task.Wait(ctx); err != nil {
        return err

    spec := types.CustomizationSpec{
        NicSettingMap: []types.CustomizationAdapterMapping{
                Adapter: types.CustomizationIPSettings{
                    Ip: &types.CustomizationFixedIp{
                        IpAddress: "",
                    SubnetMask:    "",
                    Gateway:       []string{""},
                    DnsServerList: []string{""},
                    DnsDomain:     "ad.domain",
        Identity: &types.CustomizationLinuxPrep{
            HostName: &types.CustomizationFixedName{
                Name: "hostname",
            Domain:     "ad.domain",
            TimeZone:   "Etc/UTC",
            HwClockUTC: types.NewBool(true),
        GlobalIPSettings: types.CustomizationGlobalIPSettings{
            DnsSuffixList: []string{"ad.domain"},
            DnsServerList: []string{""},

    task, err = vm.Customize(ctx, spec)
    if err != nil {
        return err
    if err = task.Wait(ctx); err != nil {
        return err

    task, err = vm.PowerOn(ctx)
    if err != nil {
        return err
    if err = task.Wait(ctx); err != nil {
        return err

    ip, err := vm.WaitForIP(ctx)
    if err != nil {
        return err


    return nil


func (VirtualMachine) Destroy Uses

func (v VirtualMachine) Destroy(ctx context.Context) (*Task, error)

func (VirtualMachine) DetachDisk Uses

func (v VirtualMachine) DetachDisk(ctx context.Context, id string) error

DetachDisk detaches the given disk from the VirtualMachine

func (VirtualMachine) Device Uses

func (v VirtualMachine) Device(ctx context.Context) (VirtualDeviceList, error)

Device returns the VirtualMachine's config.hardware.device property.

func (VirtualMachine) EditDevice Uses

func (v VirtualMachine) EditDevice(ctx context.Context, device ...types.BaseVirtualDevice) error

EditDevice edits the given (existing) devices on the VirtualMachine

func (VirtualMachine) Export Uses

func (v VirtualMachine) Export(ctx context.Context) (*nfc.Lease, error)

func (VirtualMachine) FindSnapshot Uses

func (v VirtualMachine) FindSnapshot(ctx context.Context, name string) (*types.ManagedObjectReference, error)

FindSnapshot supports snapshot lookup by name, where name can be: 1) snapshot ManagedObjectReference.Value (unique) 2) snapshot name (may not be unique) 3) snapshot tree path (may not be unique)

func (VirtualMachine) HostSystem Uses

func (v VirtualMachine) HostSystem(ctx context.Context) (*HostSystem, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0")
    if err != nil {
        return err

    host, err := vm.HostSystem(ctx)
    if err != nil {
        return err

    name, err := host.ObjectName(ctx)
    if err != nil {
        return err


    return nil



func (VirtualMachine) InstantClone Uses

func (v VirtualMachine) InstantClone(ctx context.Context, config types.VirtualMachineInstantCloneSpec) (*Task, error)

func (VirtualMachine) IsTemplate Uses

func (v VirtualMachine) IsTemplate(ctx context.Context) (bool, error)

func (VirtualMachine) IsToolsRunning Uses

func (v VirtualMachine) IsToolsRunning(ctx context.Context) (bool, error)

IsToolsRunning returns true if VMware Tools is currently running in the guest OS, and false otherwise.

func (VirtualMachine) MarkAsTemplate Uses

func (v VirtualMachine) MarkAsTemplate(ctx context.Context) error

func (VirtualMachine) MarkAsVirtualMachine Uses

func (v VirtualMachine) MarkAsVirtualMachine(ctx context.Context, pool ResourcePool, host *HostSystem) error

func (VirtualMachine) Migrate Uses

func (v VirtualMachine) Migrate(ctx context.Context, pool *ResourcePool, host *HostSystem, priority types.VirtualMachineMovePriority, state types.VirtualMachinePowerState) (*Task, error)

func (VirtualMachine) MountToolsInstaller Uses

func (v VirtualMachine) MountToolsInstaller(ctx context.Context) error

func (VirtualMachine) PowerOff Uses

func (v VirtualMachine) PowerOff(ctx context.Context) (*Task, error)

func (VirtualMachine) PowerOn Uses

func (v VirtualMachine) PowerOn(ctx context.Context) (*Task, error)

func (VirtualMachine) PowerState Uses

func (v VirtualMachine) PowerState(ctx context.Context) (types.VirtualMachinePowerState, error)

func (VirtualMachine) PutUsbScanCodes Uses

func (v VirtualMachine) PutUsbScanCodes(ctx context.Context, spec types.UsbScanCodeSpec) (int32, error)

func (VirtualMachine) QueryChangedDiskAreas Uses

func (v VirtualMachine) QueryChangedDiskAreas(ctx context.Context, baseSnapshot, curSnapshot *types.ManagedObjectReference, disk *types.VirtualDisk, offset int64) (types.DiskChangeInfo, error)

func (VirtualMachine) QueryConfigTarget Uses

func (v VirtualMachine) QueryConfigTarget(ctx context.Context) (*types.ConfigTarget, error)

QueryEnvironmentBrowser is a helper to get the environmentBrowser property.

func (VirtualMachine) RebootGuest Uses

func (v VirtualMachine) RebootGuest(ctx context.Context) error

func (VirtualMachine) Reconfigure Uses

func (v VirtualMachine) Reconfigure(ctx context.Context, config types.VirtualMachineConfigSpec) (*Task, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    vm, err := find.NewFinder(c).VirtualMachine(ctx, "DC0_H0_VM0")
    if err != nil {
        return err

    spec := types.VirtualMachineConfigSpec{Annotation: "example reconfig"}

    task, err := vm.Reconfigure(ctx, spec)
    if err != nil {
        return err

    err = task.Wait(ctx)
    if err != nil {
        return err

    var obj mo.VirtualMachine
    err = vm.Properties(ctx, vm.Reference(), []string{"config.annotation"}, &obj)
    if err != nil {
        return err


    return nil


example reconfig

func (VirtualMachine) RefreshStorageInfo Uses

func (v VirtualMachine) RefreshStorageInfo(ctx context.Context) error

func (VirtualMachine) Relocate Uses

func (v VirtualMachine) Relocate(ctx context.Context, config types.VirtualMachineRelocateSpec, priority types.VirtualMachineMovePriority) (*Task, error)

func (VirtualMachine) RemoveAllSnapshot Uses

func (v VirtualMachine) RemoveAllSnapshot(ctx context.Context, consolidate *bool) (*Task, error)

RemoveAllSnapshot removes all snapshots of a virtual machine

func (VirtualMachine) RemoveDevice Uses

func (v VirtualMachine) RemoveDevice(ctx context.Context, keepFiles bool, device ...types.BaseVirtualDevice) error

RemoveDevice removes the given devices on the VirtualMachine

func (VirtualMachine) RemoveSnapshot Uses

func (v VirtualMachine) RemoveSnapshot(ctx context.Context, name string, removeChildren bool, consolidate *bool) (*Task, error)

RemoveSnapshot removes a named snapshot

func (VirtualMachine) Reset Uses

func (v VirtualMachine) Reset(ctx context.Context) (*Task, error)

func (VirtualMachine) ResourcePool Uses

func (v VirtualMachine) ResourcePool(ctx context.Context) (*ResourcePool, error)


simulator.Run(func(ctx context.Context, c *vim25.Client) error {
    finder := find.NewFinder(c)
    vm, err := finder.VirtualMachine(ctx, "DC0_C0_RP0_VM0")
    if err != nil {
        return err

    pool, err := vm.ResourcePool(ctx)
    if err != nil {
        return err

    name, err := pool.ObjectName(ctx)
    if err != nil {
        return err


    // The InventoryPath field not populated unless Finder.ResourcePool() or
    // Finder.ResourcePoolList() was used. But we can populate it explicity.
    pool.InventoryPath, err = find.InventoryPath(ctx, c, pool.Reference())
    if err != nil {
        return err


    return nil



func (VirtualMachine) RevertToCurrentSnapshot Uses

func (v VirtualMachine) RevertToCurrentSnapshot(ctx context.Context, suppressPowerOn bool) (*Task, error)

RevertToCurrentSnapshot reverts to the current snapshot

func (VirtualMachine) RevertToSnapshot Uses

func (v VirtualMachine) RevertToSnapshot(ctx context.Context, name string, suppressPowerOn bool) (*Task, error)

RevertToSnapshot reverts to a named snapshot

func (VirtualMachine) SetBootOptions Uses

func (v VirtualMachine) SetBootOptions(ctx context.Context, options *types.VirtualMachineBootOptions) error

SetBootOptions reconfigures the VirtualMachine with the given options.

func (VirtualMachine) ShutdownGuest Uses

func (v VirtualMachine) ShutdownGuest(ctx context.Context) error

func (VirtualMachine) Suspend Uses

func (v VirtualMachine) Suspend(ctx context.Context) (*Task, error)

func (VirtualMachine) UUID Uses

func (v VirtualMachine) UUID(ctx context.Context) string

UUID is a helper to get the UUID of the VirtualMachine managed object. This method returns an empty string if an error occurs when retrieving UUID from the VirtualMachine object.

func (VirtualMachine) UnmountToolsInstaller Uses

func (v VirtualMachine) UnmountToolsInstaller(ctx context.Context) error

func (VirtualMachine) Unregister Uses

func (v VirtualMachine) Unregister(ctx context.Context) error

func (VirtualMachine) UpgradeTools Uses

func (v VirtualMachine) UpgradeTools(ctx context.Context, options string) (*Task, error)

func (VirtualMachine) UpgradeVM Uses

func (v VirtualMachine) UpgradeVM(ctx context.Context, version string) (*Task, error)

func (VirtualMachine) WaitForIP Uses

func (v VirtualMachine) WaitForIP(ctx context.Context, v4 ...bool) (string, error)

WaitForIP waits for the VM guest.ipAddress property to report an IP address. Waits for an IPv4 address if the v4 param is true.

func (VirtualMachine) WaitForNetIP Uses

func (v VirtualMachine) WaitForNetIP(ctx context.Context, v4 bool, device ...string) (map[string][]string, error)

WaitForNetIP waits for the VM property to report an IP address for all VM NICs. Only consider IPv4 addresses if the v4 param is true. By default, wait for all NICs to get an IP address, unless 1 or more device is given. A device can be specified by the MAC address or the device name, e.g. "ethernet-0". Returns a map with MAC address as the key and IP address list as the value.

func (VirtualMachine) WaitForPowerState Uses

func (v VirtualMachine) WaitForPowerState(ctx context.Context, state types.VirtualMachinePowerState) error

Wait for the VirtualMachine to change to the desired power state.

type VmwareDistributedVirtualSwitch Uses

type VmwareDistributedVirtualSwitch struct {

func (VmwareDistributedVirtualSwitch) GetInventoryPath Uses

func (s VmwareDistributedVirtualSwitch) GetInventoryPath() string

type VsanObjExtAttrs Uses

type VsanObjExtAttrs struct {
    Type  string `json:"Object type"`
    Class string `json:"Object class"`
    Size  string `json:"Object size"`
    Path  string `json:"Object path"`
    Name  string `json:"User friendly name"`

func (*VsanObjExtAttrs) DatastorePath Uses

func (a *VsanObjExtAttrs) DatastorePath(dir string) string

Package object imports 39 packages (graph) and is imported by 1389 packages. Updated 2021-01-07. Refresh now. Tools for package owners.