types

package
v0.33.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2023 License: Apache-2.0 Imports: 7 Imported by: 3,822

Documentation

Index

Constants

View Source
const (
	// The name of the entity where the alarm is triggered.
	ActionParameterTargetName = ActionParameter("targetName")
	// The name of the triggering alarm.
	ActionParameterAlarmName = ActionParameter("alarmName")
	// The status prior to the alarm being triggered.
	ActionParameterOldStatus = ActionParameter("oldStatus")
	// The status after the alarm is triggered.
	ActionParameterNewStatus = ActionParameter("newStatus")
	// A summary of information involved in triggering the alarm.
	ActionParameterTriggeringSummary = ActionParameter("triggeringSummary")
	// A summary of declarations made during the triggering of the alarm.
	ActionParameterDeclaringSummary = ActionParameter("declaringSummary")
	// The event description.
	ActionParameterEventDescription = ActionParameter("eventDescription")
	// The object of the entity where the alarm is associated.
	ActionParameterTarget = ActionParameter("target")
	// The object of the triggering alarm.
	ActionParameterAlarm = ActionParameter("alarm")
)
View Source
const (
	// Migration action type
	ActionTypeMigrationV1 = ActionType("MigrationV1")
	// Virtual machine power action type
	ActionTypeVmPowerV1 = ActionType("VmPowerV1")
	// Host power action type
	ActionTypeHostPowerV1 = ActionType("HostPowerV1")
	// Host entering maintenance mode action type
	ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1")
	// Storage migration action type
	ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1")
	// Initial placement action for a virtual machine or a virtual disk
	ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1")
	// Initial placement action for a virtual machine and its virtual disks
	ActionTypePlacementV1 = ActionType("PlacementV1")
	// Host changing infrastructure update ha mode action type.
	ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1")
)
View Source
const (
	AffinityTypeMemory = AffinityType("memory")
	AffinityTypeCpu    = AffinityType("cpu")
)
View Source
const (
	// There is not enough storage space on the host to install the agent.
	AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice")
	// Failed to initialize the upgrade directory on the host.
	AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed")
	// The agent was installed but is not running.
	AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning")
	// The agent was installed but did not respond to requests.
	AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable")
	// The agent install took too long.
	AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout")
	// The signature verification for the installer failed.
	AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed")
	// Failed to upload the agent installer.
	AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed")
	// The agent upload took too long.
	AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout")
	// The agent installer failed for an unknown reason.
	AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError")
)
View Source
const (
	// Alarms on all entity types.
	AlarmFilterSpecAlarmTypeByEntityEntityTypeAll = AlarmFilterSpecAlarmTypeByEntity("entityTypeAll")
	// Host alarms
	AlarmFilterSpecAlarmTypeByEntityEntityTypeHost = AlarmFilterSpecAlarmTypeByEntity("entityTypeHost")
	// VM alarms
	AlarmFilterSpecAlarmTypeByEntityEntityTypeVm = AlarmFilterSpecAlarmTypeByEntity("entityTypeVm")
)
View Source
const (
	// All alarm types.
	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeAll")
	// Event based alarms
	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeEvent")
	// Metric or state alarms
	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeMetric")
)
View Source
const (
	// Answer File validation was successful.
	AnswerFileValidationInfoStatusSuccess = AnswerFileValidationInfoStatus("success")
	// Answer File validation failed.
	AnswerFileValidationInfoStatusFailed = AnswerFileValidationInfoStatus("failed")
	// Answer File validation failed to generate default.
	AnswerFileValidationInfoStatusFailed_defaults = AnswerFileValidationInfoStatus("failed_defaults")
)
View Source
const (
	// Remediation succeeded.
	ApplyHostProfileConfigurationResultStatusSuccess = ApplyHostProfileConfigurationResultStatus("success")
	// Remediation failed.
	ApplyHostProfileConfigurationResultStatusFailed = ApplyHostProfileConfigurationResultStatus("failed")
	// Remediation succeeded but reboot after remediation failed.
	//
	// May treat this as a warning.
	ApplyHostProfileConfigurationResultStatusReboot_failed = ApplyHostProfileConfigurationResultStatus("reboot_failed")
	// Stateless reboot for remediation failed.
	ApplyHostProfileConfigurationResultStatusStateless_reboot_failed = ApplyHostProfileConfigurationResultStatus("stateless_reboot_failed")
	// Remediation and reboot succeeded but check compliance after reboot
	// failed.
	//
	// May treat this as a warning.
	ApplyHostProfileConfigurationResultStatusCheck_compliance_failed = ApplyHostProfileConfigurationResultStatus("check_compliance_failed")
	// The required state is not satisfied so host profiel apply cannot
	// be done.
	ApplyHostProfileConfigurationResultStatusState_not_satisfied = ApplyHostProfileConfigurationResultStatus("state_not_satisfied")
	// Exit maintenance mode failed.
	ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed = ApplyHostProfileConfigurationResultStatus("exit_maintenancemode_failed")
	// The remediation was canceled.
	ApplyHostProfileConfigurationResultStatusCanceled = ApplyHostProfileConfigurationResultStatus("canceled")
)
View Source
const (
	// indicates an addition to the array.
	ArrayUpdateOperationAdd = ArrayUpdateOperation("add")
	// indicates the removal of an element in the
	// array.
	//
	// In this case the key field must contain the key of the element
	// to be removed.
	ArrayUpdateOperationRemove = ArrayUpdateOperation("remove")
	// indicates changes to an element in the array.
	ArrayUpdateOperationEdit = ArrayUpdateOperation("edit")
)
View Source
const (
	// No action is taken for this virtual machine.
	//
	// This virtual machine is
	// not a part of the auto-start sequence. This can be used for both auto-start
	// and auto-start settings.
	AutoStartActionNone = AutoStartAction("none")
	// The default system action is taken for this virtual machine when it is next in
	// the auto-start order.
	//
	// This can be used for both auto-start and auto-start
	// settings.
	AutoStartActionSystemDefault = AutoStartAction("systemDefault")
	// This virtual machine is powered on when it is next in the auto-start order.
	AutoStartActionPowerOn = AutoStartAction("powerOn")
	// This virtual machine is powered off when it is next in the auto-stop order.
	//
	// This is the default stopAction.
	AutoStartActionPowerOff = AutoStartAction("powerOff")
	// The guest operating system for a virtual machine is shut down when that
	// virtual machine in next in the auto-stop order.
	AutoStartActionGuestShutdown = AutoStartAction("guestShutdown")
	// This virtual machine is suspended when it is next in the auto-stop order.
	AutoStartActionSuspend = AutoStartAction("suspend")
)
View Source
const (
	// The system waits until receiving a heartbeat before powering on the next
	// machine in the order.
	AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes")
	// The system does not wait to receive a heartbeat before powering on the next
	// machine in the order.
	//
	// This is the default setting.
	AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no")
	// The system uses the default value to determine whether or not to wait to
	// receive a heartbeat before powering on the next machine in the order.
	AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault")
)
View Source
const (
	// Space required for thin-provisioned virtual disk is allocated
	// and zeroed on demand as the space is used.
	BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin")
	// An eager zeroed thick virtual disk has all space allocated and
	// wiped clean of any previous contents on the physical media at
	// creation time.
	//
	// Such virtual disk may take longer time
	// during creation compared to other provisioning formats.
	BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick")
	// A thick virtual disk has all space allocated at creation time.
	//
	// This space may contain stale data on the physical media.
	BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick")
)
View Source
const (
	BatchResultResultSuccess = BatchResultResult("success")
	BatchResultResultFail    = BatchResultResult("fail")
)
View Source
const (
	// Move out of the resouce pool
	CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool")
	// Move out of the cluster
	CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster")
)
View Source
const (
	// suspend
	CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend")
	// power off
	CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff")
	// guest shutdown
	CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown")
	// guest suspend
	CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend")
)
View Source
const (
	// Network does not support reservation
	CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported")
	// Source and destination networks do not have same security policies
	CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies")
	// Source and destination DVS do not have same version or vendor
	CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor")
	// VMotion to unsupported destination network type
	CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType")
	// The network is under maintenance
	CannotUseNetworkReasonNetworkUnderMaintenance = CannotUseNetworkReason("NetworkUnderMaintenance")
	// Source and destination networks do not have same ENS(Enhanced Network Stack) mode
	CannotUseNetworkReasonMismatchedEnsMode = CannotUseNetworkReason("MismatchedEnsMode")
)
View Source
const (
	// Tests that examine only the configuration
	// of the virtual machine and its current host; the destination
	// resource pool and host or cluster are irrelevant.
	CheckTestTypeSourceTests = CheckTestType("sourceTests")
	// Tests that examine both the virtual
	// machine and the destination host or cluster; the destination
	// resource pool is irrelevant.
	//
	// This set excludes tests that fall
	// into the datastoreTests group.
	CheckTestTypeHostTests = CheckTestType("hostTests")
	// Tests that check that the destination resource
	// pool can support the virtual machine if it is powered on.
	//
	// The
	// destination host or cluster is relevant because it will affect the
	// amount of overhead memory required to run the virtual machine.
	CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests")
	// Tests that check that the
	// destination host or cluster can see the datastores where the virtual
	// machine's virtual disks are going to be located.
	//
	// The destination
	// resource pool is irrelevant.
	CheckTestTypeDatastoreTests = CheckTestType("datastoreTests")
	// Tests that check that the
	// destination host or cluster can see the networks that the virtual
	// machine's virtual nic devices are going to be connected.
	CheckTestTypeNetworkTests = CheckTestType("networkTests")
)
View Source
const (
	// Indicates cluster is getting configured or will be configured.
	ClusterComputeResourceHCIWorkflowStateIn_progress = ClusterComputeResourceHCIWorkflowState("in_progress")
	// Indicates cluster configuration is complete.
	ClusterComputeResourceHCIWorkflowStateDone = ClusterComputeResourceHCIWorkflowState("done")
	// Indicates the workflow was abandoned on the cluster before the
	// configuration could complete.
	ClusterComputeResourceHCIWorkflowStateInvalid = ClusterComputeResourceHCIWorkflowState("invalid")
)
View Source
const (
	// Indicates vCS health status is normal.
	ClusterComputeResourceVcsHealthStatusHealthy = ClusterComputeResourceVcsHealthStatus("healthy")
	// Indicates only vCS is unhealthy.
	ClusterComputeResourceVcsHealthStatusDegraded = ClusterComputeResourceVcsHealthStatus("degraded")
	// Indicates vCS is unhealthy and other cluster services are impacted.
	ClusterComputeResourceVcsHealthStatusNonhealthy = ClusterComputeResourceVcsHealthStatus("nonhealthy")
)
View Source
const (
	// Put each host into the crypto safe state automatically when needed.
	ClusterCryptoConfigInfoCryptoModeOnDemand = ClusterCryptoConfigInfoCryptoMode("onDemand")
	// Put each host into the crypto safe state immediately.
	ClusterCryptoConfigInfoCryptoModeForceEnable = ClusterCryptoConfigInfoCryptoMode("forceEnable")
)
View Source
const (
	// HA has never been enabled on the the host.
	ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized")
	// HA agents have been installed but are not running on the the host.
	ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized")
	// HA configuration is in progress.
	ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring")
	// HA configuration is being removed.
	ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring")
	// HA agent is running on this host.
	ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running")
	// There is an error condition.
	//
	// This can represent a configuration
	// error or a host agent runtime error.
	ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error")
	// The HA agent has been shut down.
	ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown")
	// The host is not reachable.
	//
	// This can represent a host failure
	// or an isolated host.
	ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed")
)
View Source
const (
	// vCenter Server chooses heartbeat datastores from the set specified
	// by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
	//
	// More specifically,
	// datastores not included in the set will not be chosen. Note that if
	// `ClusterDasConfigInfo.heartbeatDatastore` is empty, datastore heartbeating will
	// be disabled for HA.
	ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs")
	// vCenter Server chooses heartbeat datastores from all the feasible ones,
	// i.e., the datastores that are accessible to more than one host in
	// the cluster.
	//
	// The choice will be made without giving preference to those
	// specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs")
	// vCenter Server chooses heartbeat datastores from all the feasible ones
	// while giving preference to those specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
	//
	// More specifically, the datastores not included in `ClusterDasConfigInfo.heartbeatDatastore` will be
	// chosen if and only if the specified ones are not sufficient.
	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference")
)
View Source
const (
	// HA service is disabled.
	ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled")
	// HA service is enabled.
	ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled")
)
View Source
const (
	// Virtual machine health monitoring is disabled.
	//
	// In this state,
	// HA response to guest and application heartbeat failures are disabled.
	ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled")
	// HA response to guest heartbeat failure is enabled.
	//
	// To retrieve the guest heartbeat status, use the
	// `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
	// property.
	ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly")
	// HA response to both guest and application heartbeat failure is enabled.
	//     - To retrieve the guest heartbeat status, use the
	//       `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
	//       property.
	//     - To retrieve the application heartbeat status, use the
	//       `GuestInfo*.*GuestInfo.appHeartbeatStatus`
	//       property.
	ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring")
)
View Source
const (
	// The Fault Domain Manager for the host has not yet been
	// initialized.
	//
	// Hence the host is not part of a vSphere HA
	// fault domain. This state is reported by vCenter Server or
	// by the host itself.
	ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized")
	// The Fault Domain Manager on the host has been initialized and
	// the host is either waiting to join the existing master or
	// is participating in an election for a new master.
	//
	// This state
	// is reported by vCenter Server or by the host itself.
	ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election")
	// The Fault Domain Manager on the host has been elected a
	// master.
	//
	// This state is reported by the the host itself.
	ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master")
	// The normal operating state for a slave host.
	//
	// In this state,
	// the host is exchanging heartbeats with a master over
	// the management network, and is thus connected to it. If
	// there is a management network partition, the slave will be
	// in this state only if it is in the same partition as the master.
	// This state is reported by the master of a slave host.
	ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster")
	// A slave host is alive and has management network connectivity, but
	// the management network has been partitioned.
	//
	// This state is reported
	// by masters that are in a partition other than the one containing the
	// slave host; the master in the slave's partition will report the slave state
	// as `connectedToMaster`.
	ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster")
	// A host is alive but is isolated from the management network.
	//
	// See `ClusterDasVmSettingsIsolationResponse_enum` for the criteria
	// used to determine whether a host is isolated.
	ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated")
	// The slave host appears to be down.
	//
	// This state is reported by the
	// master of a slave host.
	ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown")
	// An error occurred when initilizating the Fault Domain Manager
	// on a host due to a problem with installing the
	// agent or configuring it.
	//
	// This condition can often be cleared by
	// reconfiguring HA for the host. This state is reported by vCenter
	// Server.
	ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError")
	// An error occurred when unconfiguring the Fault Domain Manager
	// running on a host.
	//
	// In order to clear this condition the host might
	// need to be reconnected to the cluster and reconfigured first.
	// This state is reported by vCenter
	// Server.
	ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError")
	// The Fault Domain Manager (FDM) on the host cannot be reached.
	//
	// This
	// state is reported in two unlikely situations.
	//     - First, it is reported by
	//       a master if the host responds to ICMP pings sent by the master over the
	//       management network but the FDM on the host cannot be reached by the master.
	//       This situation will occur if the FDM is unable to run or exit the
	//       uninitialized state.
	//     - Second, it is reported by vCenter Server if it cannot connect to a
	//       master nor the FDM for the host. This situation would occur if all hosts
	//       in the cluster failed but vCenter Server is still running. It may also
	//       occur if all FDMs are unable to run or exit the uninitialized state.
	ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable")
	// Config/Reconfig/upgrade operation has failed in first attempt and
	// a retry of these operations is scheduled.
	//
	// If any of the retry attempts succeed, the state is set to initialized.
	// If all retry attempts fail, the state is set to initializationError.
	// This state is reported by vCenter.
	ClusterDasFdmAvailabilityStateRetry = ClusterDasFdmAvailabilityState("retry")
)
View Source
const (
	// Do not power off the virtual machine in the event of a host network
	// isolation.
	ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none")
	// Power off the virtual machine in the event of a host network
	// isolation.
	ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff")
	// Shut down the virtual machine guest operating system in the event of
	// a host network isolation.
	//
	// If the guest operating system fails to
	// shutdown within five minutes, HA will initiate a forced power off.
	//
	// When you use the shutdown isolation response, failover can take
	// longer (compared to the
	// `powerOff`
	// response) because the virtual machine cannot fail over until it is
	// shutdown.
	ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown")
	// Use the default isolation response defined for the cluster
	// that contains this virtual machine.
	ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse")
)
View Source
const (
	// vSphere HA is disabled for this virtual machine.
	ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled")
	// Virtual machines with this priority have the lowest chance of
	// powering on after a failure if there is insufficient capacity on
	// hosts to meet all virtual machine needs.
	ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest")
	// Virtual machines with this priority have a lower chance of powering
	// on after a failure if there is insufficient capacity on hosts to meet
	// all virtual machine needs.
	ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low")
	// Virtual machines with this priority have an intermediate chance of
	// powering on after a failure if there is insufficient capacity on
	// hosts to meet all virtual machine needs.
	ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium")
	// Virtual machines with this priority have a higher chance of powering
	// on after a failure if there is insufficient capacity on hosts to meet
	// all virtual machine needs.
	ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high")
	// Virtual machines with this priority have the highest chance of
	// powering on after a failure if there is insufficient capacity on
	// hosts to meet all virtual machine needs.
	ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest")
	// Virtual machines with this priority use the default restart
	// priority defined for the cluster that contains this virtual machine.
	ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority")
)
View Source
const (
	ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine  = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine")
	ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine   = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine")
	ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance")
)
View Source
const (
	// With this behavior configured, the proposed DRS recommendations
	// require manual approval before they are executed.
	ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual")
	// With this behavior configured, the proposed DRS recommendations are
	// executed immediately.
	ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated")
)
View Source
const (
	// With this behavior configured, a degraded host will be recommended
	// to be placed in Quarantine Mode.
	ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode")
	// With this behavior configured, a degraded host will be recommended
	// to be placed in Maintenance Mode.
	ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode")
)
View Source
const (
	// Override the DRS automation level.
	//
	// Value type: `DrsBehavior_enum`
	// Default value: current behavior
	ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel")
	// Reserve resources for the powering-on VMs throughout the
	// power-on session.
	//
	// When this option is set to true, the server
	// will return at most one recommended host per manual VM, and
	// the VM's reservations are held on the recommended host until
	// the VM is actually powered on (either by applying the
	// recommendation or by a power-on request on the VM), or until
	// the recommendation is cancelled, or until the recommendation
	// expires. The expiration time is currently set to 10
	// minutes. This option does not have an effect on automatic VMs
	// since their recommendations are executed immediately. This
	// option is effective on DRS clusters only.
	// Value type: boolean
	// Default value: false
	ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources")
)
View Source
const (
	// Distributed Resource Scheduling
	ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS")
	// High Availability
	ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA")
	// Distributed Power Management
	ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM")
	// Fault tolerance
	ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT")
)
View Source
const (
	// System VMs are fully managed by the system.
	ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED = ClusterSystemVMsConfigInfoDeploymentMode("SYSTEM_MANAGED")
	// System VMs are absent on the managed entity.
	ClusterSystemVMsConfigInfoDeploymentModeABSENT = ClusterSystemVMsConfigInfoDeploymentMode("ABSENT")
)
View Source
const (
	// VM Component Protection service will not monitor or react to
	// the component failure.
	//
	// This setting does not affect other vSphere
	// HA services such as Host Monitoring or VM Health Monitoring.
	ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled")
	// VM Component Protection service will monitor component failures but
	// will not restart an affected VM.
	//
	// Rather it will notify users about
	// the component failures. This setting does not affect other vSphere HA
	// services such as Host Monitoring or VM Health Monitoring.
	ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning")
	// VM Component Protection service protects VMs conservatively.
	//
	// With this
	// setting, when the service can't determine that capacity is available to
	// restart a VM, it will favor keeping the VM running.
	ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative")
	// VM Component Protection service protects VMs aggressively.
	//
	// With this setting,
	// the service will terminate an affected VM even if it can't determine that
	// capacity exists to restart the VM.
	ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive")
	// VM will use the cluster default setting.
	//
	// This option is only meaningful for
	// per-VM settings.
	ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault")
)
View Source
const (
	// VM Component Protection service will not react after APD condition is cleared.
	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none")
	// VM Component Protection service will reset the VM after APD condition is cleared.
	//
	// Note this only applies if the subject VM is still powered on.
	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset")
	// VM will use the cluster default setting.
	//
	// This option is only meaningful for
	// per-VM settings.
	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault")
)
View Source
const (
	// No ready condition specified.
	//
	// In case of vSphere HA, higher restart priority VMs are still
	// placed before lower priority VMs.
	ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none")
	// VM is powered on.
	ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn")
	// VM guest operating system is up and responding normally (VM tools
	// heartbeat status is green).
	ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen")
	// An application running inside the VM is responding normally.
	//
	// To enable Application Monitoring, you must first obtain the
	// appropriate SDK (or be using an application that supports VMware
	// Application Monitoring) and use it to set up customized heartbeats
	// for the applications you want to monitor.
	// See `ClusterDasConfigInfo.vmMonitoring`.
	ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen")
	// VM will use the cluster default setting.
	//
	// This option is only
	// meaningful for per-VM settings.
	ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault")
)
View Source
const (
	// Entity is in Compliance
	ComplianceResultStatusCompliant = ComplianceResultStatus("compliant")
	// Entity is out of Compliance
	ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant")
	// Compliance status of the entity is not known
	ComplianceResultStatusUnknown = ComplianceResultStatus("unknown")
	// Compliance check on this host is running.
	ComplianceResultStatusRunning = ComplianceResultStatus("running")
)
View Source
const (
	// The host is licensed
	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed")
	// The host is not licensed
	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed")
	// The host license information is unknown, this could happen if the
	// host is not in a available state
	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown")
)
View Source
const (
	// Indicates the addition of an element to the configuration.
	ConfigSpecOperationAdd = ConfigSpecOperation("add")
	// Indicates the change of an element in the configuration.
	ConfigSpecOperationEdit = ConfigSpecOperation("edit")
	// Indicates the removal of an element in the configuration.
	ConfigSpecOperationRemove = ConfigSpecOperation("remove")
)
View Source
const (
	CryptoManagerHostKeyManagementTypeUnknown  = CryptoManagerHostKeyManagementType("unknown")
	CryptoManagerHostKeyManagementTypeInternal = CryptoManagerHostKeyManagementType("internal")
	CryptoManagerHostKeyManagementTypeExternal = CryptoManagerHostKeyManagementType("external")
)
View Source
const (
	// Key not found in VC cache and does not specify a provider
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInCache")
	// Key provider is invalid
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterInvalid")
	// Can not reach the key provider
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterUnreachable")
	// Key not found in KMS
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInKMS")
	// Key not active or enabled
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateNotActiveOrEnabled")
	// Key is managed by Trust Authority
	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByTrustAuthority")
)
View Source
const (
	// The user defined script is disabled during customization
	CustomizationFailedReasonCodeUserDefinedScriptDisabled = CustomizationFailedReasonCode("userDefinedScriptDisabled")
	// The guest customization is disabled by VMware Tools
	CustomizationFailedReasonCodeCustomizationDisabled = CustomizationFailedReasonCode("customizationDisabled")
	// The cloud-init version is too old to support cloud-init raw data
	CustomizationFailedReasonCodeRawDataIsNotSupported = CustomizationFailedReasonCode("rawDataIsNotSupported")
	// The cloud-init meta data is not valid format
	CustomizationFailedReasonCodeWrongMetadataFormat = CustomizationFailedReasonCode("wrongMetadataFormat")
)
View Source
const (
	// Indicates that client access licenses have been purchased for the server,
	// allowing a certain number of concurrent connections to the VirtualCenter
	// server.
	CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer")
	// Indicates that a client access license has been purchased for each computer
	// that accesses the VirtualCenter server.
	CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat")
)
View Source
const (
	// DHCP server decides whether or not to use NetBIOS.
	CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp")
	// Always use NetBIOS.
	CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS")
	// Never use NetBIOS.
	CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS")
)
View Source
const (
	// Reboot the machine after running sysprep.
	//
	// This will cause values
	// specified in the sysprep.xml to be applied immediately.
	CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot")
	// Take no action.
	//
	// Leave the guest os running after running sysprep. This
	// option can be used to look at values for debugging purposes after
	// running sysprep.
	CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot")
	// Shutdown the machine after running sysprep.
	//
	// This puts the vm in a
	// sealed state.
	CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown")
)
View Source
const (
	// The switch for which this port is defined does not support VMDirectPath Gen 2.
	//
	// See
	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`.
	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs")
	// None of the physical NICs used as uplinks for this port support
	// VMDirectPath Gen 2.
	//
	// See also `PhysicalNic.vmDirectPathGen2Supported`.
	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics")
	// At least some of the physical NICs used as uplinks for this port
	// support VMDirectPath Gen 2, but all available network-passthrough
	// resources are in use by other ports.
	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable")
	// VMDirectPath Gen 2 has been explicitly disabled for this port.
	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort")
)
View Source
const (
	// The host for which this port is defined does not support VMDirectPath Gen 2.
	//
	// See `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost")
	// Configuration or state of the port's connectee prevents
	// VMDirectPath Gen 2.
	//
	// See
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
	// and/or
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`
	// in the appropriate element of the RuntimeInfo.device array of the
	// virtual machine connected to this port.
	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee")
)
View Source
const (
	DVSMacLimitPolicyTypeAllow = DVSMacLimitPolicyType("allow")
	DVSMacLimitPolicyTypeDrop  = DVSMacLimitPolicyType("drop")
)
View Source
const (
	// There is a problem with the host network configuration.
	DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration")
	// There is a problem with the host configuration.
	DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration")
	// The privileges were insuffient for the operation.
	DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges")
	// There was no running primary agent available to contact.
	//
	// Check that your other hosts don't have HA errors
	DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable")
	// The HA configuration failed for other reasons.
	DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other")
	// No datastores defined for this host
	DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured")
	// Failure to create config vvol
	DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed")
	// Host in vSAN cluster does not support vSAN.
	DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost")
	// There is a problem with the cluster network configuration.
	DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration")
	// Setting desired imageSpec in Personality Manager failed
	DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed = DasConfigFaultDasConfigFaultReason("SetDesiredImageSpecFailed")
	// The ApplyHA call to Personality Manager failed
	DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed = DasConfigFaultDasConfigFaultReason("ApplyHAVibsOnClusterFailed")
)
View Source
const (
	// vSphere HA is disabled for this virtual machine.
	DasVmPriorityDisabled = DasVmPriority("disabled")
	// Virtual machines with this priority have a lower chance of powering on after a
	// failure if there is insufficient capacity on hosts to meet all virtual machine
	// needs.
	DasVmPriorityLow = DasVmPriority("low")
	// Virtual machines with this priority have an intermediate chance of powering
	// on after a failure if there is insufficient capacity on hosts to meet all
	// virtual machine needs.
	DasVmPriorityMedium = DasVmPriority("medium")
	// Virtual machines with this priority have a higher chance of powering on after a
	// failure if there is insufficient capacity on hosts to meet all virtual machine
	// needs.
	DasVmPriorityHigh = DasVmPriority("high")
)
View Source
const (
	// Is accessible
	DatastoreAccessibleTrue = DatastoreAccessible("True")
	// Is not accessible
	DatastoreAccessibleFalse = DatastoreAccessible("False")
)
View Source
const (
	// Default state.
	DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal")
	// Started entering maintenance mode, but not finished.
	//
	// This could happen when waiting for user input or for
	// long-running vmotions to complete.
	DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance")
	// Successfully entered maintenance mode.
	DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance")
)
View Source
const (
	DayOfWeekSunday    = DayOfWeek("sunday")
	DayOfWeekMonday    = DayOfWeek("monday")
	DayOfWeekTuesday   = DayOfWeek("tuesday")
	DayOfWeekWednesday = DayOfWeek("wednesday")
	DayOfWeekThursday  = DayOfWeek("thursday")
	DayOfWeekFriday    = DayOfWeek("friday")
	DayOfWeekSaturday  = DayOfWeek("saturday")
)
View Source
const (
	// The host does not support this virtual device at all.
	DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host")
	// The device is supported by the host in general, but not for
	// the specific guest OS the virtual machine is using.
	DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest")
)
View Source
const (
	DeviceProtocolNVMe = DeviceProtocol("NVMe")
	DeviceProtocolSCSI = DeviceProtocol("SCSI")
)
View Source
const (
	// VirtualCenter service
	DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd")
	// VirtualCenter agent
	DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa")
	// Host agent
	DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd")
	// Host server agent
	DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd")
	// Installation
	DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install")
	// Virtual infrastructure client
	DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient")
	// System Record Log
	DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog")
)
View Source
const (
	DiagnosticPartitionStorageTypeDirectAttached  = DiagnosticPartitionStorageType("directAttached")
	DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached")
)
View Source
const (
	DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost")
	DiagnosticPartitionTypeMultiHost  = DiagnosticPartitionType("multiHost")
)
View Source
const (
	// The portgroup is created by vCenter.
	DistributedVirtualPortgroupBackingTypeStandard = DistributedVirtualPortgroupBackingType("standard")
	// The portgroup is created by NSX manager.
	//
	// For NSX backing type, We only support ephemeral portgroup type.
	// If `DistributedVirtualPortgroupPortgroupType_enum` is
	// ephemeral, A `DistributedVirtualPort` will be
	// dynamicly created by NSX when the virtual machine is reconfigured
	// to connect to the portgroup.
	DistributedVirtualPortgroupBackingTypeNsx = DistributedVirtualPortgroupBackingType("nsx")
)
View Source
const (
	// This tag will be expanded to the name of the switch.
	DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName")
	// This tag will be expanded to the name of the portgroup.
	DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName")
	// This tag will be expanded to the current index of the port.
	DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex")
)
View Source
const (
	// A free `DistributedVirtualPort` will be selected and assigned to
	// a `VirtualMachine` when the virtual machine is reconfigured to
	// connect to the portgroup.
	DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding")
	//
	//
	// Deprecated as of vSphere API 5.0.
	//
	// A free `DistributedVirtualPort` will be selected and
	// assigned to a `VirtualMachine` when the virtual machine is
	// powered on.
	DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding")
	// A `DistributedVirtualPort` will be created and assigned to a
	// `VirtualMachine` when the virtual machine is powered on, and will
	// be deleted when the virtual machine is powered off.
	//
	// An ephemeral portgroup has
	// no limit on the number of ports that can be a part of this portgroup.
	// In cases where the vCenter Server is unavailable the host can
	// create conflict ports in this portgroup to be used by a virtual machine
	// at power on.
	DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral")
)
View Source
const (
	// Management Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management")
	// Fault Tolerance (FT) Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance")
	// vMotion Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion")
	// Virtual Machine Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine")
	// iSCSI Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI")
	// NFS Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs")
	// vSphere Replication (VR) Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr")
	// vSphere Storage Area Network Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan")
	// vSphere Data Protection - Backup Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp")
	// vSphere Backup NFC Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc = DistributedVirtualSwitchHostInfrastructureTrafficClass("backupNfc")
	// vSphere NVMETCP Traffic
	DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp = DistributedVirtualSwitchHostInfrastructureTrafficClass("nvmetcp")
)
View Source
const (
	// The host proxy switch is up and running.
	DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up")
	// The host proxy switch is waiting to be initialized.
	DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending")
	// The proxy switch configuration is not the same as the
	// distributed virtual switch configuration in the vCenter Server.
	DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync")
	// The host requires attention.
	DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning")
	// The host is disconnected or it is not responding.
	DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected")
	// The host proxy is down.
	DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down")
)
View Source
const (
	DistributedVirtualSwitchHostMemberHostUplinkStateStateActive  = DistributedVirtualSwitchHostMemberHostUplinkStateState("active")
	DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby = DistributedVirtualSwitchHostMemberHostUplinkStateState("standby")
)
View Source
const (
	// VLAN based networking
	DistributedVirtualSwitchHostMemberTransportZoneTypeVlan = DistributedVirtualSwitchHostMemberTransportZoneType("vlan")
	// VXLAN based networking
	DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay = DistributedVirtualSwitchHostMemberTransportZoneType("overlay")
)
View Source
const (
	// Network Resource Control API version 2
	DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2")
	// Network Resource Control API version 3
	DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3")
)
View Source
const (
	// Routing based on IP hash
	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip")
	// Route based on source MAC hash
	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac")
	// Route based on the source of the port ID
	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid")
	// Use explicit failover order
	DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit")
	// Routing based by dynamically balancing traffic through the NICs
	// in a team.
	//
	// This is the recommended teaming policy when the
	// network I/O control feature is enabled for the vNetwork
	// Distributed Switch.
	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased")
)
View Source
const (
	// The port connects to a Physical NIC.
	DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic")
	// The port connects to a Virtual NIC in a Virtual Machine.
	DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic")
	// The port connects to a console Virtual NIC on a host.
	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic")
	// The port connects to a VMkernel Virtual NIC on a host.
	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic")
	// The port connects to a Virtual NIC in a System CRX VM.
	DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("systemCrxVnic")
)
View Source
const (
	// Push the switch's host component of the specified product info to the
	// host members of the switch at a fixed location known by the host.
	DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall")
	// Change the switch implementation to use the specified one.
	//
	// If the
	// property values in the specified product info are different from
	// those of the corresponding properties in the switch's product info,
	// a host component preinstall and switch upgrade will be performed.
	DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade")
	// Set the product information for an available switch upgrade that
	// would be done by the switch implementation.
	//
	// This operation will post
	// a config issue on the switch to signal the availability of an upgrade.
	// This operation is applicable only in the case when switch policy
	// `DVSPolicy.autoUpgradeAllowed`
	// is set to false.
	DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade")
	// If productSpec is set to be same as that in the
	// `DvsUpgradeAvailableEvent` configIssue, the switch
	// implementation will proceed with the upgrade.
	//
	// To reject or stop the
	// upgrade, leave the productSpec unset. If productSpec is set but does not
	// match that in `DvsUpgradeAvailableEvent` configIssue,
	// a fault will be raised.
	// This operation is applicable only in the case when switch policy
	// `DVSPolicy.autoUpgradeAllowed`
	// is set to false.
	DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade")
	// Update the bundle URL and ID information.
	//
	// If other properties in
	// the specified product info differ from the
	// corresponding properties of the switch's product info, a fault will
	// be thrown. Updating the bundle ID will result in installing the new host
	// component identified by the bundle ID.
	DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo")
)
View Source
const (
	// Specifies that VirtualCenter should generate recommendations
	// for host power operations, but should not execute the
	// recommendations automatically.
	DpmBehaviorManual = DpmBehavior("manual")
	// Specifies that VirtualCenter should generate recommendations
	// for host power operations, and should execute the
	// recommendations automatically.
	DpmBehaviorAutomated = DpmBehavior("automated")
)
View Source
const (
	// Specifies that VirtualCenter should generate recommendations for
	// virtual machine migration and for placement with a host,
	// but should not implement the recommendations automatically.
	DrsBehaviorManual = DrsBehavior("manual")
	// Specifies that VirtualCenter should generate recommendations for
	// virtual machine migration and for placement with a host,
	// but should automatically implement only the placement at power on.
	DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated")
	// Specifies that VirtualCenter should automate both the migration
	// of virtual machines and their placement with a host at power on.
	DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated")
)
View Source
const (
	DrsInjectorWorkloadCorrelationStateCorrelated   = DrsInjectorWorkloadCorrelationState("Correlated")
	DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated")
)
View Source
const (
	// Balance average CPU utilization.
	DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg")
	// Balance average memory utilization.
	DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg")
	// Fulfill affinity rule.
	DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin")
	// Fulfill anti-affinity rule.
	DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin")
	// Host entering maintenance mode.
	DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint")
)
View Source
const (
	// The dvs port is in unset state
	DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset")
	// The dvs port is in blocked state
	DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked")
	// The dvs port is in unblocked state
	DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked")
	// The dvs port is in unknown state
	DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown")
)
View Source
const (
	// Allows all the packets when the Filter fails to configure.
	DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen")
	// Denies all the packets when the Filter fails to configure.
	DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed")
)
View Source
const (
	// This specifies that the network rule has to be applied only for
	// incoming packets.
	DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets")
	// This specifies that the network rule has to be applied only for
	// outgoing packets.
	DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets")
	// This specifies that the network rule has to be applied only for
	// both incoming and outgoing packets.
	DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both")
)
View Source
const (
	// Create the entity with new identifiers.
	//
	// Specify the
	// `EntityBackupConfig*.*EntityBackupConfig.name` and
	// `EntityBackupConfig*.*EntityBackupConfig.container`
	// properties.
	//
	// The Server ignores any value for the
	// `EntityBackupConfig*.*EntityBackupConfig.key`
	// property.
	EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier")
	// Recreate the entities with the original identifiers of the entity from which backup was created.
	//
	// The Server throws an exception if an entity with the same identifier already exists.
	// This option will also add the host members to the `DistributedVirtualSwitch` and will
	// try to get the virtual machine networking back with the same `DistributedVirtualPortgroup`.
	// Specify a `Folder` as the
	// `EntityBackupConfig*.*EntityBackupConfig.container`
	// for `EntityBackupConfig*.*EntityBackupConfig.entityType`
	// "distributedVirtualSwitch".
	//
	// The Server ignores any values for the
	// `EntityBackupConfig*.*EntityBackupConfig.key` and
	// `EntityBackupConfig*.*EntityBackupConfig.name`
	// properties.
	EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier")
	// Apply the configuration specified in the
	// `EntityBackupConfig*.*EntityBackupConfig.configBlob`
	// property to the entity specified in the
	// `EntityBackupConfig*.*EntityBackupConfig.entityType` and
	// `EntityBackupConfig*.*EntityBackupConfig.key`
	// properties.
	//
	// If you specify
	// `EntityBackupConfig*.*EntityBackupConfig.name`,
	// the Server uses the specified name to rename the entity.
	//
	// The Server ignores any value for the
	// `EntityBackupConfig*.*EntityBackupConfig.container`
	// property.
	EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified")
)
View Source
const (
	// Indicates the exported entity is a `DistributedVirtualSwitch`.
	EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch")
	// Indicates the exported entity is a `DistributedVirtualPortgroup`.
	EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup")
)
View Source
const (
	// attribute equals specified value
	EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals")
	// attribute does not equal specified value
	EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo")
	// attribute starts with specified value
	EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith")
	// attribute does not start with specified value
	EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith")
	// attribute ends with specified value
	EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith")
	// attribute does not end with specified value
	EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith")
)
View Source
const (
	// Returns informational events.
	EventCategoryInfo = EventCategory("info")
	// Returns warning events.
	EventCategoryWarning = EventCategory("warning")
	// Returns error events.
	EventCategoryError = EventCategory("error")
	// Returns events pertaining to users.
	EventCategoryUser = EventCategory("user")
)
View Source
const (
	// Something that must be corrected
	EventEventSeverityError = EventEventSeverity("error")
	// Should be corrected, but the system can continue operating normally
	EventEventSeverityWarning = EventEventSeverity("warning")
	// An informational message
	EventEventSeverityInfo = EventEventSeverity("info")
	// A user-related message
	EventEventSeverityUser = EventEventSeverity("user")
)
View Source
const (
	// Returns events that pertain only to the specified managed entity,
	// and not its children.
	EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self")
	// Returns events pertaining to child entities only.
	//
	// Excludes
	// events pertaining to the specified managed entity itself.
	EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children")
	// Returns events pertaining either to the specified managed entity
	// or to its child entities.
	EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all")
)
View Source
const (
	FibreChannelPortTypeFabric       = FibreChannelPortType("fabric")
	FibreChannelPortTypeLoop         = FibreChannelPortType("loop")
	FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint")
	FibreChannelPortTypeUnknown      = FibreChannelPortType("unknown")
)
View Source
const (
	// Storage device supports hardware acceleration.
	//
	// The ESX host will use the feature to offload certain
	// storage-related operations to the device.
	FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported")
	// Storage device does not support hardware acceleration.
	//
	// The ESX host will handle all storage-related operations.
	FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported")
	// Initial support status value.
	FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown")
)
View Source
const (
	// Add host in maintenance mode.
	FolderDesiredHostStateMaintenance = FolderDesiredHostState("maintenance")
	// Add host in non-maintenance mode.
	FolderDesiredHostStateNon_maintenance = FolderDesiredHostState("non_maintenance")
)
View Source
const (
	// The host was specified by the user
	FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user")
	// The host was selected by Virtual Center
	FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc")
	// The host was selected by DRS
	FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs")
)
View Source
const (
	// Regular files, and on Posix filesystems, unix domain sockets
	// and devices.
	GuestFileTypeFile = GuestFileType("file")
	// directory
	GuestFileTypeDirectory = GuestFileType("directory")
	// symbolic link
	GuestFileTypeSymlink = GuestFileType("symlink")
)
View Source
const (
	// The application state wasn't set from the guest by the application agent.
	//
	// This is the default.
	GuestInfoAppStateTypeNone = GuestInfoAppStateType("none")
	// The guest's application agent declared its state as normal and doesn't
	// require any action
	GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk")
	// Guest's application agent asks for immediate reset
	GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset")
)
View Source
const (
	// No guest customizationSpec has been applied for the VM
	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_IDLE")
	// The guest customizationSpec has been applied for the VM,
	// but the customization process has not yet started inside the guest OS
	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_PENDING")
	// The customization process is currently running inside the guest OS
	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_RUNNING")
	// The customization process has completed successfully inside the
	// guest OS
	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_SUCCEEDED")
	// The customizatio process has failed inside the guest OS
	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_FAILED")
)
View Source
const (
	// BIOS firmware
	GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios")
	// Extensible Firmware Interface
	GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi")
)
View Source
const (
	// This operating system is not supported,
	// but may be supported in the future.
	GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental")
	// This operating system is not fully supported,
	// but may have been supported in the past.
	GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy")
	// No longer supported.
	GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated")
	// Fully supported.
	GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported")
	// This operating system is not supported.
	GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported")
	// Support for this operating system will be terminated in the future.
	//
	// Please migrate to using a different operating system.
	GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated")
	// This operating system may not be supported yet,
	// please check VMware compatibility guide.
	GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview")
)
View Source
const (
	// Access the key from the native view of the
	// Registry (32-bit on 32-bit versions of Windows,
	// 64-bit on 64-bit versions of Windows).
	GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative")
	// Access the key from the 32-bit view of the Registry.
	GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32")
	// Access the key from the 64-bit view of the Registry.
	GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64")
)
View Source
const (
	HealthUpdateInfoComponentTypeMemory  = HealthUpdateInfoComponentType("Memory")
	HealthUpdateInfoComponentTypePower   = HealthUpdateInfoComponentType("Power")
	HealthUpdateInfoComponentTypeFan     = HealthUpdateInfoComponentType("Fan")
	HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network")
	HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage")
)
View Source
const (
	// Indicates that the user has no explicitly defined permissions or roles.
	//
	// This is used when we want to remove all permissions for some user.
	//
	// Note that this is not the same as `accessNoAccess`.
	HostAccessModeAccessNone = HostAccessMode("accessNone")
	// Describes a propagating Admin role on the root inventory object
	// (root folder) on the host, and no other non-Admin role on any other
	// object.
	//
	// The same permissions are needed to login to local or remote
	// shell (ESXiShell or SSH).
	HostAccessModeAccessAdmin = HostAccessMode("accessAdmin")
	// Describes a propagating NoAccess role on the root inventory object
	// (root folder) on the host, and no other roles.
	//
	// Even if the user has another (redundant) NoAccess role on some other
	// inventory object, then the access mode for this user will be
	// classified as `accessOther`.
	//
	// This mode may be used to restrict a specific user account without
	// restricting the access mode for the group to which the user belongs.
	HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess")
	// Describes a propagating ReadOnly role on the root inventory object
	// (root folder) on the host, and no other roles.
	//
	// Even if the user has another (redundant) ReadOnly role on some other
	// inventory object, then the access mode for this user will be
	// `accessOther`.
	HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly")
	// Describes a combination of one or more roles/permissions which are
	// none of the above.
	HostAccessModeAccessOther = HostAccessMode("accessOther")
)
View Source
const (
	// The Active Directory integration provider does not support
	// domain trust checks.
	HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown")
	// No problems with the domain membership.
	HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok")
	// The host thinks it's part of a domain,
	// but no domain controllers could be reached to confirm.
	HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers")
	// The client side of the trust relationship is broken.
	HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken")
	// The server side of the trust relationship is broken
	// (or bad machine password).
	HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken")
	// Unexpected domain controller responded.
	HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust")
	// There's some problem with the domain membership.
	HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem")
)
View Source
const (
	HostBIOSInfoFirmwareTypeBIOS = HostBIOSInfoFirmwareType("BIOS")
	HostBIOSInfoFirmwareTypeUEFI = HostBIOSInfoFirmwareType("UEFI")
)
View Source
const (
	// No VMotion license
	HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed")
	// VMotion nic is not configured on the host
	HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic")
	// FT logging nic is not configured on the host
	HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic")
	// Host does not have proper FT license
	HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed")
	// Host does not have HA agent running properly
	HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue")
	// VMware product installed on the host does not support
	// fault tolerance
	HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct")
	// Host CPU does not support hardware virtualization
	HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported")
	// Host CPU does not support hardware MMU virtualization
	HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported")
	// Host CPU is compatible for replay-based FT, but hardware
	// virtualization has been disabled in the BIOS.
	HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled")
)
View Source
const (
	// only the unmap priority is supported
	HostCapabilityUnmapMethodSupportedPriority = HostCapabilityUnmapMethodSupported("priority")
	// the unmap bandwidth can be set as a fixed value
	HostCapabilityUnmapMethodSupportedFixed = HostCapabilityUnmapMethodSupported("fixed")
	// the unmap bandwidth can be set as a range, where the actual
	// bandwidth will be dynamically throttled by the backened
	HostCapabilityUnmapMethodSupportedDynamic = HostCapabilityUnmapMethodSupported("dynamic")
)
View Source
const (
	// The host software does not support VMDirectPath Gen 2.
	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct")
	// The host hardware does not support VMDirectPath Gen 2.
	//
	// Note that
	// this is a general capability for the host and is independent of
	// support by a given physical NIC.
	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware")
	// The host is configured to disable VMDirectPath Gen 2.
	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled")
)
View Source
const (
	// The certificate status is unknown.
	HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown")
	// The certificate has expired.
	HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired")
	// The certificate is expiring shortly.
	//
	// (soft threshold - 1)
	HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring")
	// The certificate is expiring shortly.
	//
	// (soft threshold - 2)
	HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly")
	// The certificate expiration is imminent.
	//
	// (hard threshold)
	HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent")
	// The certificate is good.
	HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good")
)
View Source
const (
	// Machine certificate of the Host
	HostCertificateManagerCertificateKindMachine = HostCertificateManagerCertificateKind("Machine")
	// VASA Client certificate used for communication with VASA Provider
	HostCertificateManagerCertificateKindVASAClient = HostCertificateManagerCertificateKind("VASAClient")
)
View Source
const (
	// Indicates that the structure represents the
	// set of operations to apply on the managed object.
	HostConfigChangeModeModify = HostConfigChangeMode("modify")
	// Indicates that the structure represents the
	// desired state of the managed object.
	HostConfigChangeModeReplace = HostConfigChangeMode("replace")
)
View Source
const (
	// Indicates the addition of an entity to the configuration.
	HostConfigChangeOperationAdd = HostConfigChangeOperation("add")
	// Indicates the removal of an entity from the configuration.
	HostConfigChangeOperationRemove = HostConfigChangeOperation("remove")
	// Indicates changes on the entity.
	//
	// The entity must exist or a
	// `NotFound` error will be thrown.
	HostConfigChangeOperationEdit = HostConfigChangeOperation("edit")
	// Indicates that an entity will be ignored: it won't be added when it
	// doesn't exist, or removed/changed when it exists.
	HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore")
)
View Source
const (
	HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown")
	HostCpuPackageVendorIntel   = HostCpuPackageVendor("intel")
	HostCpuPackageVendorAmd     = HostCpuPackageVendor("amd")
	// `**Since:**` vSphere API Release 6.7.1
	HostCpuPackageVendorHygon = HostCpuPackageVendor("hygon")
)
View Source
const (
	HostCpuPowerManagementInfoPolicyTypeOff           = HostCpuPowerManagementInfoPolicyType("off")
	HostCpuPowerManagementInfoPolicyTypeStaticPolicy  = HostCpuPowerManagementInfoPolicyType("staticPolicy")
	HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy")
)
View Source
const (
	// The host is not safe for receiving sensitive material.
	HostCryptoStateIncapable = HostCryptoState("incapable")
	// The host is prepared for receiving sensitive material
	// but does not have a host key set yet.
	HostCryptoStatePrepared = HostCryptoState("prepared")
	// The host is crypto safe and has a host key set.
	HostCryptoStateSafe = HostCryptoState("safe")
	// The host is explicitly crypto disabled and pending reboot to be
	// applied.
	//
	// When host is in this state, creating encrypted virtual
	// machines is not allowed, but still need a reboot to totally clean
	// up and enter incapable state.
	HostCryptoStatePendingIncapable = HostCryptoState("pendingIncapable")
)
View Source
const (
	// traditional package processing mode.
	HostDVSConfigSpecSwitchModeNormal = HostDVSConfigSpecSwitchMode("normal")
	// ENS mode which skips packet parsing and flow table lookup.
	HostDVSConfigSpecSwitchModeMux = HostDVSConfigSpecSwitchMode("mux")
)
View Source
const (
	// Error while configuring/unconfiguring HA
	HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed")
	// Timeout while communicating with HA agent
	HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout")
	// HA communication initialization failed
	HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed")
	// Health check script failed
	HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed")
	// HA agent has an error
	HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed")
	// HA agent was shutdown
	HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown")
	// HA isolation address unpingable
	HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable")
	// Other reason
	HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other")
)
View Source
const (
	// Network Time Protocol (NTP).
	HostDateTimeInfoProtocolNtp = HostDateTimeInfoProtocol("ntp")
	// Precision Time Protocol (PTP).
	HostDateTimeInfoProtocolPtp = HostDateTimeInfoProtocol("ptp")
)
View Source
const (
	HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1")
	//
	//
	// Deprecated as of vSphere API 6.7.
	//
	// MD5.
	HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5")
	// `**Since:**` vSphere API Release 6.7
	HostDigestInfoDigestMethodTypeSHA256 = HostDigestInfoDigestMethodType("SHA256")
	// `**Since:**` vSphere API Release 6.7
	HostDigestInfoDigestMethodTypeSHA384 = HostDigestInfoDigestMethodType("SHA384")
	// `**Since:**` vSphere API Release 6.7
	HostDigestInfoDigestMethodTypeSHA512 = HostDigestInfoDigestMethodType("SHA512")
	// `**Since:**` vSphere API Release 6.7
	HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256")
)
View Source
const (
	// Both header and data digest verification are disabled.
	HostDigestVerificationSettingDigestDisabled = HostDigestVerificationSetting("digestDisabled")
	// Only header digest verification is enabled.
	HostDigestVerificationSettingHeaderOnly = HostDigestVerificationSetting("headerOnly")
	// Only data digest verification is enabled.
	HostDigestVerificationSettingDataOnly = HostDigestVerificationSetting("dataOnly")
	// Both header and data digest verification are enabled.
	HostDigestVerificationSettingHeaderAndData = HostDigestVerificationSetting("headerAndData")
)
View Source
const (
	// Failed to verify SSL thumbprint
	HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed")
	// License expired for the host
	HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired")
	// Agent is being upgraded
	HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade")
	// User requested disconnect
	HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest")
	// License not available after host upgrade
	HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses")
	// Agent is out of date
	HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate")
	// Failed to decrypt password
	HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure")
	// Unknown reason
	HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown")
	// The vRAM capacity of vCenter will be exceeded
	HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded")
)
View Source
const (
	HostDiskPartitionInfoPartitionFormatGpt     = HostDiskPartitionInfoPartitionFormat("gpt")
	HostDiskPartitionInfoPartitionFormatMbr     = HostDiskPartitionInfoPartitionFormat("mbr")
	HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown")
)
View Source
const (
	HostDiskPartitionInfoTypeNone          = HostDiskPartitionInfoType("none")
	HostDiskPartitionInfoTypeVmfs          = HostDiskPartitionInfoType("vmfs")
	HostDiskPartitionInfoTypeLinuxNative   = HostDiskPartitionInfoType("linuxNative")
	HostDiskPartitionInfoTypeLinuxSwap     = HostDiskPartitionInfoType("linuxSwap")
	HostDiskPartitionInfoTypeExtended      = HostDiskPartitionInfoType("extended")
	HostDiskPartitionInfoTypeNtfs          = HostDiskPartitionInfoType("ntfs")
	HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic")
	// `**Since:**` vSphere API Release 5.5
	HostDiskPartitionInfoTypeVffs = HostDiskPartitionInfoType("vffs")
)
View Source
const (
	// VMware File System (ESX Server only).
	//
	// If this is set,
	// the type of the file system volume is VMFS.
	HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS")
	// Network file system v3 linux & esx servers only.
	//
	// If this is
	// set, the type of the file system volume is NFS v3.
	HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS")
	// Network file system v4.1 linux & esx servers only.
	//
	// If this is
	// set, the type of the file system volume is NFS v4.1 or later.
	HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41")
	// Common Internet File System.
	//
	// If this is set, the type of the
	// file system volume is Common Internet File System.
	HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS")
	// VSAN File System (ESX Server only).
	HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan")
	// vFlash File System (ESX Server only).
	//
	// If this is set, the type of the file system volume is VFFS.
	HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS")
	// vvol File System (ESX Server only).
	HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL")
	// Persistent Memory File System (ESX Server only).
	HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM")
	// VSAN direct file system.
	HostFileSystemVolumeFileSystemTypeVsanD = HostFileSystemVolumeFileSystemType("vsanD")
	// Used if the file system is not one of the specified file systems.
	//
	// Used mostly for reporting purposes. The other types are described
	// by the otherType property.
	HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER")
)
View Source
const (
	HostFirewallRuleDirectionInbound  = HostFirewallRuleDirection("inbound")
	HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound")
)
View Source
const (
	HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src")
	HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst")
)
View Source
const (
	HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp")
	HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp")
)
View Source
const (
	HostFirewallSystemRuleSetIdFaultTolerance = HostFirewallSystemRuleSetId("faultTolerance")
	HostFirewallSystemRuleSetIdFdm            = HostFirewallSystemRuleSetId("fdm")
	HostFirewallSystemRuleSetIdUpdateManager  = HostFirewallSystemRuleSetId("updateManager")
	HostFirewallSystemRuleSetIdVpxHeartbeats  = HostFirewallSystemRuleSetId("vpxHeartbeats")
)
View Source
const (
	HostFruFruTypeUndefined = HostFruFruType("undefined")
	HostFruFruTypeBoard     = HostFruFruType("board")
	HostFruFruTypeProduct   = HostFruFruType("product")
)
View Source
const (
	// Shared graphics (ex.
	//
	// virtual shared graphics acceleration).
	HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared")
	// Shared direct graphics (ex.
	//
	// vendor vGPU shared passthrough).
	HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect")
)
View Source
const (
	// Performance policy: assign VM to GPU with fewest VMs.
	HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance")
	// Consolidation policy: group like VMs on GPU until fully loaded.
	HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation")
)
View Source
const (
	// Basic graphics when no host driver is available.
	HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic")
	// Shared graphics (ex.
	//
	// virtual shared graphics acceleration).
	HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared")
	// Direct graphics (ex.
	//
	// passthrough).
	HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct")
	// Shared direct graphics (ex.
	//
	// vGPU shared passthrough).
	HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect")
)
View Source
const (
	// The implementation cannot report on the current status of the
	// physical element
	HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown")
	// The physical element is functioning as expected
	HostHardwareElementStatusGreen = HostHardwareElementStatus("Green")
	// All functionality is available but some might be degraded.
	HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow")
	// The physical element is failing.
	//
	// It is possible that some or all
	// functionalities of this physical element is degraded or not working.
	HostHardwareElementStatusRed = HostHardwareElementStatus("Red")
)
View Source
const (
	// "VMware-certified"
	HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified")
	// "VMware-accepted"
	HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted")
	// "Partner-supported"
	HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner")
	// "Community-supported"
	HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community")
)
View Source
const (
	// The product does not support fault tolerance.
	HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product")
	// The product supports fault tolerance but the host CPU does not.
	HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor")
)
View Source
const (
	// The product does not support record/replay.
	HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product")
	// The product supports record/replay but the host CPU does not.
	HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor")
)
View Source
const (
	HostInternetScsiHbaChapAuthenticationTypeChapProhibited  = HostInternetScsiHbaChapAuthenticationType("chapProhibited")
	HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged")
	HostInternetScsiHbaChapAuthenticationTypeChapPreferred   = HostInternetScsiHbaChapAuthenticationType("chapPreferred")
	HostInternetScsiHbaChapAuthenticationTypeChapRequired    = HostInternetScsiHbaChapAuthenticationType("chapRequired")
)
View Source
const (
	HostInternetScsiHbaDigestTypeDigestProhibited  = HostInternetScsiHbaDigestType("digestProhibited")
	HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged")
	HostInternetScsiHbaDigestTypeDigestPreferred   = HostInternetScsiHbaDigestType("digestPreferred")
	HostInternetScsiHbaDigestTypeDigestRequired    = HostInternetScsiHbaDigestType("digestRequired")
)
View Source
const (
	// DHCP
	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP")
	// Auto configured.
	//
	// Auto configured Link local address and Router Advertisement addresses
	// would be of this type.
	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured")
	// Static address.
	//
	// Typically user specified addresses will be static addresses.
	// User can specify link local address. Only Static addresses can be added or removed.
	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static")
	// Other or unknown type.
	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other")
)
View Source
const (
	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd    = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add")
	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove")
)
View Source
const (
	HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported")
	HostInternetScsiHbaNetworkBindingSupportTypeOptional     = HostInternetScsiHbaNetworkBindingSupportType("optional")
	HostInternetScsiHbaNetworkBindingSupportTypeRequired     = HostInternetScsiHbaNetworkBindingSupportType("required")
)
View Source
const (
	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod     = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod")
	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod")
	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod        = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod")
	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod       = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod")
	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod    = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod")
)
View Source
const (
	// Any other type of address configuration other than the below
	// mentioned ones will fall under this category.
	//
	// For e.g., automatic
	// address configuration for the link local address falls under
	// this type.
	HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other")
	// The address is configured manually.
	HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual")
	// The address is configured through dhcp.
	HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp")
	// The address is obtained through stateless autoconfiguration.
	HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer")
	// The address is chosen by the system at random
	// e.g., an IPv4 address within 169.254/16, or an RFC
	// 3041 privacy address.
	HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random")
)
View Source
const (
	// Indicates that this is a valid address.
	HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred")
	// Indicates that this is a valid but deprecated address
	// that should no longer be used as a source address.
	HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated")
	// Indicates that this isn't a valid.
	HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid")
	// Indicates that the address is not accessible because
	// interface is not operational.
	HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible")
	// Indicates that the status cannot be determined.
	HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown")
	// Indicates that the uniqueness of the
	// address on the link is presently being verified.
	HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative")
	// Indicates the address has been determined to be non-unique
	// on the link, this address will not be reachable.
	HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate")
)
View Source
const (
	// Number of CPU packages on this host.
	HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages")
	// Number of licensable CPU cores/compute-units on this host.
	HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores")
	// Total size of memory installed on this host, measured in kilobytes.
	HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize")
	// Total size of memory configured for VMs on this host, measured in kilobytes.
	HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms")
	// Number of VMs already running on this host.
	HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted")
	// Number of VMs that are currently powering-on, immigrating, etc.
	HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting")
)
View Source
const (
	// Indicates that lockdown mode is disabled.
	HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled")
	// Indicates that lockdown mode is enabled with service DCUI
	// (Direct Console User Interface) running.
	HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal")
	// Indicates that lockdown mode is enabled with service DCUI stopped.
	//
	// If the host is in "strict" lockdown mode then no one will be able
	// to exit lockdown mode through DCUI in emergency situations,
	// i.e. when the connection to vCenter server is permanently lost.
	HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict")
)
View Source
const (
	HostLowLevelProvisioningManagerFileTypeFile        = HostLowLevelProvisioningManagerFileType("File")
	HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk")
	HostLowLevelProvisioningManagerFileTypeDirectory   = HostLowLevelProvisioningManagerFileType("Directory")
)
View Source
const (
	// Specifies the reload of the current config of the virtual machine.
	HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig")
	// Specifies the reload of the snapshot config of the virtual machine.
	//
	// If the virtual machine has multiple snapshots, all of the snapshot's
	// config will be reloaded.
	HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig")
)
View Source
const (
	// Flag indicating that the tier is the primary memory tier visible from the
	// host.
	HostMemoryTierFlagsMemoryTier = HostMemoryTierFlags("memoryTier")
	// Flag indicating that the tier is used as non-volatile storage, e.g.
	//
	// PMem in
	// App Direct mode.
	HostMemoryTierFlagsPersistentTier = HostMemoryTierFlags("persistentTier")
	// Flag indicating that the tier is a cache for main memory.
	HostMemoryTierFlagsCachingTier = HostMemoryTierFlags("cachingTier")
)
View Source
const (
	// Dynamic random-access memory.
	HostMemoryTierTypeDRAM = HostMemoryTierType("DRAM")
	// Persistent memory.
	HostMemoryTierTypePMem = HostMemoryTierType("PMem")
)
View Source
const (
	// The traditional memory configuration without any tiers.
	HostMemoryTieringTypeNoTiering = HostMemoryTieringType("noTiering")
	// The memory configuration where a tier is hardware-controlled and invisible to
	// applications, e.g.
	//
	// Intel's Memory Mode.
	HostMemoryTieringTypeHardwareTiering = HostMemoryTieringType("hardwareTiering")
)
View Source
const (
	// AllPathsDown\_Start value is reported when all paths down state is detected
	HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start")
	// After a wait for a system default time (which is user modifiable)
	// to ascertain the state is indeed an APD, AllPathsDown\_Timeout property
	// is reported.
	//
	// The host advanced option used to set timeout period
	// is "/Misc/APDTimeout"
	// After the datastore property is set to AllPathsDown\_Timeout, all data i/o
	// to the datastore will be fast-failed (failed immediately).
	HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout")
	// A PDL condition is reported as PermanentDeviceLoss.
	HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss")
)
View Source
const (
	// Failed to get port or connect.
	//
	// Or MOUNT/FSINFO RPC failed.
	HostMountInfoMountFailedReasonCONNECT_FAILURE = HostMountInfoMountFailedReason("CONNECT_FAILURE")
	// Server doesn't support MOUNT\_PROGRAM/MOUNT\_PROGRAM\_VERSION.
	HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED = HostMountInfoMountFailedReason("MOUNT_NOT_SUPPORTED")
	// Server doesn't support NFS\_PROGRAM/NFS\_PROGRAM\_VERSION.
	HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED = HostMountInfoMountFailedReason("NFS_NOT_SUPPORTED")
	// No permission to mount the remote volume or it doesn't exist.
	HostMountInfoMountFailedReasonMOUNT_DENIED = HostMountInfoMountFailedReason("MOUNT_DENIED")
	// Remote path not a directory.
	HostMountInfoMountFailedReasonMOUNT_NOT_DIR = HostMountInfoMountFailedReason("MOUNT_NOT_DIR")
	// Maximum NFS volumes have been mounted.
	HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("VOLUME_LIMIT_EXCEEDED")
	// Maximum connections for NFS has been reached.
	HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("CONN_LIMIT_EXCEEDED")
	// Volume already mounted or a different mount exists with same label.
	HostMountInfoMountFailedReasonMOUNT_EXISTS = HostMountInfoMountFailedReason("MOUNT_EXISTS")
	// Any other reason which is not present in above list.
	HostMountInfoMountFailedReasonOTHERS = HostMountInfoMountFailedReason("OTHERS")
)
View Source
const (
	// The host system has read/write access to the file system.
	HostMountModeReadWrite = HostMountMode("readWrite")
	// The host system has read-only access to the file system.
	HostMountModeReadOnly = HostMountMode("readOnly")
)
View Source
const (
	// Authentication based on traditional UNIX identifiers (UID and GID).
	//
	// Server trusts the IDs sent by the client for each request and uses them
	// to perform access control. Current implementation only supports
	// AUTH\_SYS with root user.
	HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS")
	// Ensures RPC header authentication using Kerberos session keys.
	//
	// When
	// this option is enabled, the client uses the information specified in
	// `HostNasVolumeUserInfo` to establish shared keys with the server using
	// Kerberos. These shared keys are used to generate and verify message
	// authentication codes for RPC header of NFS requests and responses,
	// respectively. This method does not secure NFS file data.
	HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5")
	// Extends SEC\_KRB5 to generate and verify message authentication codes
	// for the payload of NFS requests and responses respectively.
	//
	// This
	// ensures the integrity of the NFS file data.
	HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I")
)
View Source
const (
	// New Reno Algorithm.
	//
	// See http://tools.ietf.org/html/rfc3782 for detail.
	HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno")
	// Cubic Algorithm.
	//
	// See http://tools.ietf.org/id/draft-rhee-tcp-cubic-00.txt for detail.
	HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic")
)
View Source
const (
	// The default stack used by applications
	HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack")
	// Stack key used for vMotion applications
	HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion")
	// Stack key used for vSphere provisioning NFC traffic
	HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning")
	// Stack key used for port mirroring
	HostNetStackInstanceSystemStackKeyMirror = HostNetStackInstanceSystemStackKey("mirror")
	// Stack key used for ops applications
	HostNetStackInstanceSystemStackKeyOps = HostNetStackInstanceSystemStackKey("ops")
)
View Source
const (
	// The implementation cannot report on the current health state of the
	// physical element
	HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown")
	// The sensor is operating under normal conditions
	HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green")
	// The sensor is operating under conditions that are non-critical.
	HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow")
	// The sensor is operating under critical or fatal conditions.
	//
	// This may
	// directly affect the functioning of both the sensor and related
	// components.
	HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red")
)
View Source
const (
	// Fan sensor
	HostNumericSensorTypeFan = HostNumericSensorType("fan")
	// Power sensor
	HostNumericSensorTypePower = HostNumericSensorType("power")
	// Temperature sensor
	HostNumericSensorTypeTemperature = HostNumericSensorType("temperature")
	// Voltage Sensor
	HostNumericSensorTypeVoltage = HostNumericSensorType("voltage")
	// Other sensor.
	HostNumericSensorTypeOther = HostNumericSensorType("other")
	// Processor sensor.
	HostNumericSensorTypeProcessor = HostNumericSensorType("processor")
	// Memory sensor.
	HostNumericSensorTypeMemory = HostNumericSensorType("memory")
	// disk/storage sensor.
	HostNumericSensorTypeStorage = HostNumericSensorType("storage")
	// system board sensor.
	HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard")
	// Battery sensor.
	HostNumericSensorTypeBattery = HostNumericSensorType("battery")
	// BIOS/firmware related sensor.
	HostNumericSensorTypeBios = HostNumericSensorType("bios")
	// cable related sensor.
	HostNumericSensorTypeCable = HostNumericSensorType("cable")
	// Watchdog related sensor.
	HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog")
)
View Source
const (
	// A Discovery service, composed of Discovery controllers.
	HostNvmeDiscoveryLogSubsystemTypeDiscovery = HostNvmeDiscoveryLogSubsystemType("discovery")
	// An NVM subsystem whose controllers may have attached namespaces.
	HostNvmeDiscoveryLogSubsystemTypeNvm = HostNvmeDiscoveryLogSubsystemType("nvm")
)
View Source
const (
	// A fabric secure channel is required.
	HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelRequired")
	// A fabric secure channel is not required.
	HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelNotRequired")
	// Requirements are not specified
	HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified = HostNvmeDiscoveryLogTransportRequirements("requirementsNotSpecified")
)
View Source
const (
	// IPv4 address, format specified in IETF RFC 791.
	HostNvmeTransportParametersNvmeAddressFamilyIpv4 = HostNvmeTransportParametersNvmeAddressFamily("ipv4")
	// IPv6 address, format specified in IETF RFC 2373.
	HostNvmeTransportParametersNvmeAddressFamilyIpv6 = HostNvmeTransportParametersNvmeAddressFamily("ipv6")
	// InfiniBand address family.
	HostNvmeTransportParametersNvmeAddressFamilyInfiniBand = HostNvmeTransportParametersNvmeAddressFamily("infiniBand")
	// Fibre Channel address family.
	HostNvmeTransportParametersNvmeAddressFamilyFc = HostNvmeTransportParametersNvmeAddressFamily("fc")
	// Intra-host transport.
	HostNvmeTransportParametersNvmeAddressFamilyLoopback = HostNvmeTransportParametersNvmeAddressFamily("loopback")
	// Unrecognized address family.
	HostNvmeTransportParametersNvmeAddressFamilyUnknown = HostNvmeTransportParametersNvmeAddressFamily("unknown")
)
View Source
const (
	// PCI Express transport type
	HostNvmeTransportTypePcie = HostNvmeTransportType("pcie")
	// Fibre Channel transport type
	HostNvmeTransportTypeFibreChannel = HostNvmeTransportType("fibreChannel")
	// Remote Direct Memory Access transport type
	HostNvmeTransportTypeRdma = HostNvmeTransportType("rdma")
	// Transmission Control Protocol transport type
	HostNvmeTransportTypeTcp = HostNvmeTransportType("tcp")
	// Intra-host transport.
	HostNvmeTransportTypeLoopback = HostNvmeTransportType("loopback")
	// The transport type is not among the currently supported ones.
	HostNvmeTransportTypeUnsupported = HostNvmeTransportType("unsupported")
)
View Source
const (
	// The opaque switch is up and running.
	HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up")
	// The opaque switch requires attention.
	HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning")
	// The opaque switch is down.
	HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down")
	// The opaque switch is under upgrade.
	HostOpaqueSwitchOpaqueSwitchStateMaintenance = HostOpaqueSwitchOpaqueSwitchState("maintenance")
)
View Source
const (
	// The server has been restarted since the update installation.
	HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted")
	// Indicates if the newly installed image is active on the server
	HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive")
)
View Source
const (
	// The update is successfully validated.
	HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated")
	// The integrity can not be verified since a public key to
	// verify the update cannot be found.
	HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound")
	// A public key to verify the update has been revoked.
	HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked")
	// A public key to verify the update is expired.
	HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired")
	// A digital signature of the update does not match.
	HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch")
	// Not enough signed signatures on the update.
	HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures")
	// The integrity validation failed.
	HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError")
)
View Source
const (
	// The update is made obsolete by other patches installed on the host.
	HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted")
	// The update depends on another update that is neither installed
	// nor in the scanned list of updates.
	HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch")
	// The update depends on certain libraries or RPMs that are not
	// available.
	HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib")
	// The update depends on an update that is not installed but is
	// in the scanned list of updates.
	HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch")
	// The update conflicts with certain updates that are already
	// installed on the host.
	HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch")
	// The update conflicts with RPMs or libraries installed on the
	// host.
	HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib")
)
View Source
const (
	// Power On Operation
	HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn")
	// Power Off Operation.
	//
	// Power off operation puts the host in
	// a state that can be woken up remotely.
	HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff")
)
View Source
const (
	// Answer file is valid.
	HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid")
	// Answer file is not valid.
	//
	// The file is either missing or incomplete.
	//     - To produce an answer file, pass host-specific data (user input) to the
	//       `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
	//       method.
	//     - To produce a complete answer file, call the
	//       `HostProfile*.*HostProfile.ExecuteHostProfile`
	//       method and fill in any missing parameters in the returned
	//       `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`
	//       list. After you execute the profile successfully, you can pass the complete required
	//       input list to the apply method.
	HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid")
	// Answer file status is not known.
	HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown")
)
View Source
const (
	HostProfileManagerCompositionResultResultElementStatusSuccess = HostProfileManagerCompositionResultResultElementStatus("success")
	HostProfileManagerCompositionResultResultElementStatusError   = HostProfileManagerCompositionResultResultElementStatus("error")
)
View Source
const (
	HostProfileManagerCompositionValidationResultResultElementStatusSuccess = HostProfileManagerCompositionValidationResultResultElementStatus("success")
	HostProfileManagerCompositionValidationResultResultElementStatusError   = HostProfileManagerCompositionValidationResultResultElementStatus("error")
)
View Source
const (
	// The ESXi host must be in maintenance mode before the task list can be
	// applied.
	HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired")
	// The ESXi host must be rebooted after the task list is applied in order
	// for the new settings in the `HostConfigSpec` to take
	// effect on the host.
	HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired")
)
View Source
const (
	// Update host profile from host.
	HostProfileValidationFailureInfoUpdateTypeHostBased = HostProfileValidationFailureInfoUpdateType("HostBased")
	// Import host profile.
	HostProfileValidationFailureInfoUpdateTypeImport = HostProfileValidationFailureInfoUpdateType("Import")
	// Edit host profile.
	HostProfileValidationFailureInfoUpdateTypeEdit = HostProfileValidationFailureInfoUpdateType("Edit")
	// Compose setting from host profile.
	HostProfileValidationFailureInfoUpdateTypeCompose = HostProfileValidationFailureInfoUpdateType("Compose")
)
View Source
const (
	HostProfileValidationStateReady   = HostProfileValidationState("Ready")
	HostProfileValidationStateRunning = HostProfileValidationState("Running")
	HostProfileValidationStateFailed  = HostProfileValidationState("Failed")
)
View Source
const (
	HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block")
	HostProtocolEndpointPETypeNas   = HostProtocolEndpointPEType("nas")
)
View Source
const (
	HostProtocolEndpointProtocolEndpointTypeScsi  = HostProtocolEndpointProtocolEndpointType("scsi")
	HostProtocolEndpointProtocolEndpointTypeNfs   = HostProtocolEndpointProtocolEndpointType("nfs")
	HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x")
)
View Source
const (
	// No device.
	HostPtpConfigDeviceTypeNone = HostPtpConfigDeviceType("none")
	// Virtual network adapter.
	HostPtpConfigDeviceTypeVirtualNic = HostPtpConfigDeviceType("virtualNic")
	// A network PCI device capable of PTP hardware timestamping,
	// enabled for passthru.
	//
	// See `HostPciPassthruSystem`
	// for information on PCI devices enabled for passthru available
	// on the host.
	HostPtpConfigDeviceTypePciPassthruNic = HostPtpConfigDeviceType("pciPassthruNic")
)
View Source
const (
	// The NVMe Qualified Name (NQN) of this host.
	HostQualifiedNameTypeNvmeQualifiedName = HostQualifiedNameType("nvmeQualifiedName")
	// The NVMe Qualified Name (NQN) of this host used by Vvol.
	HostQualifiedNameTypeVvolNvmeQualifiedName = HostQualifiedNameType("vvolNvmeQualifiedName")
)
View Source
const (
	// Connection state unknown.
	//
	// Indicates that the driver returned
	// unexpected or no connection state information.
	HostRdmaDeviceConnectionStateUnknown = HostRdmaDeviceConnectionState("unknown")
	// Device down.
	//
	// Indicates that both the logical link and
	// underlying physical link are down. Packets
	// are discarded.
	HostRdmaDeviceConnectionStateDown = HostRdmaDeviceConnectionState("down")
	// Device initializing.
	//
	// Indicates that the physical link is up, but
	// the logical link is still initializing.
	// Only subnet management and flow control link
	// packets can be received and transmitted.
	HostRdmaDeviceConnectionStateInit = HostRdmaDeviceConnectionState("init")
	// Device armed.
	//
	// Indicates that the physical link is up, but
	// the logical link is not yet fully configured.
	// Packets can be received, but non-SMPs
	// (subnet management packets) to be sent are discarded.
	HostRdmaDeviceConnectionStateArmed = HostRdmaDeviceConnectionState("armed")
	// Device active.
	//
	// Indicates that both the physical and logical
	// link are up. Packets can be transmitted and received.
	HostRdmaDeviceConnectionStateActive = HostRdmaDeviceConnectionState("active")
	// Device in active defer state.
	//
	// Indicates that the logical link was active, but the
	// physical link has suffered a failure. If it recovers
	// within a timeout, the connection state will return to active,
	// otherwise it will move to down.
	HostRdmaDeviceConnectionStateActiveDefer = HostRdmaDeviceConnectionState("activeDefer")
)
View Source
const (
	HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct")
	HostReplayUnsupportedReasonIncompatibleCpu     = HostReplayUnsupportedReason("incompatibleCpu")
	HostReplayUnsupportedReasonHvDisabled          = HostReplayUnsupportedReason("hvDisabled")
	HostReplayUnsupportedReasonCpuidLimitSet       = HostReplayUnsupportedReason("cpuidLimitSet")
	HostReplayUnsupportedReasonOldBIOS             = HostReplayUnsupportedReason("oldBIOS")
	HostReplayUnsupportedReasonUnknown             = HostReplayUnsupportedReason("unknown")
)
View Source
const (
	// The instance is deleted or not running
	HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive")
	// The instance is running
	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active")
	// The instance is in the progress of asynchronous deletion
	HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating")
	// Reserved state for future proofing asynchronous creation
	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating")
)
View Source
const (
	// Encryption is not protected.
	HostRuntimeInfoStateEncryptionInfoProtectionModeNone = HostRuntimeInfoStateEncryptionInfoProtectionMode("none")
	// Encryption is TPM protected.
	HostRuntimeInfoStateEncryptionInfoProtectionModeTpm = HostRuntimeInfoStateEncryptionInfoProtectionMode("tpm")
)
View Source
const (
	// The host is ready for NVDS to VDS migration.
	HostRuntimeInfoStatelessNvdsMigrationStateReady = HostRuntimeInfoStatelessNvdsMigrationState("ready")
	// The host does not need NVDS to VDS migration
	HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded = HostRuntimeInfoStatelessNvdsMigrationState("notNeeded")
	// The host is disconnected from VC.
	HostRuntimeInfoStatelessNvdsMigrationStateUnknown = HostRuntimeInfoStatelessNvdsMigrationState("unknown")
)
View Source
const (
	// Service should be started when the host starts up.
	HostServicePolicyOn = HostServicePolicy("on")
	// Service should run if and only if it has open firewall ports.
	HostServicePolicyAutomatic = HostServicePolicy("automatic")
	// Service should not be started when the host starts up.
	HostServicePolicyOff = HostServicePolicy("off")
)
View Source
const (
	HostSevInfoSevStateUninitialized = HostSevInfoSevState("uninitialized")
	HostSevInfoSevStateInitialized   = HostSevInfoSevState("initialized")
	HostSevInfoSevStateWorking       = HostSevInfoSevState("working")
)
View Source
const (
	// Flexible Launch Enclave (FLC) is not available on the host.
	//
	// The
	// "launch enclave MSRs" are initialized with Intel's public key hash.
	HostSgxInfoFlcModesOff = HostSgxInfoFlcModes("off")
	// FLC is available and the "launch Enclave MSRs" are locked and
	// initialized with the provided public key hash.
	HostSgxInfoFlcModesLocked = HostSgxInfoFlcModes("locked")
	// FLC is available and the "launch enclave MSRs" are writeable and
	// initialized with Intel's public key hash.
	HostSgxInfoFlcModesUnlocked = HostSgxInfoFlcModes("unlocked")
)
View Source
const (
	// SGX is not present in the CPU.
	HostSgxInfoSgxStatesNotPresent = HostSgxInfoSgxStates("notPresent")
	// SGX is disabled in the BIOS.
	HostSgxInfoSgxStatesDisabledBIOS = HostSgxInfoSgxStates("disabledBIOS")
	// SGX is disabled because CPU erratum CFW101 is present.
	HostSgxInfoSgxStatesDisabledCFW101 = HostSgxInfoSgxStates("disabledCFW101")
	// SGX is disabled due to a mismatch in the SGX capabilities
	// exposed by different CPUs.
	HostSgxInfoSgxStatesDisabledCPUMismatch = HostSgxInfoSgxStates("disabledCPUMismatch")
	// SGX is disabled because the CPU does not support FLC.
	HostSgxInfoSgxStatesDisabledNoFLC = HostSgxInfoSgxStates("disabledNoFLC")
	// SGX is disabled because the host uses NUMA, which is not
	// supported with SGX.
	HostSgxInfoSgxStatesDisabledNUMAUnsup = HostSgxInfoSgxStates("disabledNUMAUnsup")
	// SGX is disabled because the host exceeds the maximum supported
	// number of EPC regions.
	HostSgxInfoSgxStatesDisabledMaxEPCRegs = HostSgxInfoSgxStates("disabledMaxEPCRegs")
	// SGX is enabled.
	HostSgxInfoSgxStatesEnabled = HostSgxInfoSgxStates("enabled")
)
View Source
const (
	// SGX is not available or the host is unisocket.
	HostSgxRegistrationInfoRegistrationStatusNotApplicable = HostSgxRegistrationInfoRegistrationStatus("notApplicable")
	// SGX registration is incomplete.
	HostSgxRegistrationInfoRegistrationStatusIncomplete = HostSgxRegistrationInfoRegistrationStatus("incomplete")
	// SGX registration is complete.
	HostSgxRegistrationInfoRegistrationStatusComplete = HostSgxRegistrationInfoRegistrationStatus("complete")
)
View Source
const (
	// Indicates that an Initial Platform Establishment
	// or TCB recovery registration is pending.
	HostSgxRegistrationInfoRegistrationTypeManifest = HostSgxRegistrationInfoRegistrationType("manifest")
	// Indicates that new CPU package was added.
	HostSgxRegistrationInfoRegistrationTypeAddPackage = HostSgxRegistrationInfoRegistrationType("addPackage")
)
View Source
const (
	// Implements test notifications and allows agent configuration
	HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE")
	// Implements only test notification capability only
	HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS")
	// Allows for agent configuration only
	HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION")
)
View Source
const (
	// The host is entering standby mode.
	HostStandbyModeEntering = HostStandbyMode("entering")
	// The host is exiting standby mode.
	HostStandbyModeExiting = HostStandbyMode("exiting")
	// The host is in standby mode.
	HostStandbyModeIn = HostStandbyMode("in")
	// The host is not in standy mode, and it is not
	// in the process of entering/exiting standby mode.
	HostStandbyModeNone = HostStandbyMode("none")
)
View Source
const (
	// The Small Computer System Interface (SCSI) protocol.
	HostStorageProtocolScsi = HostStorageProtocol("scsi")
	// The Non-Volatile Memory Express (NVME) protocol.
	HostStorageProtocolNvme = HostStorageProtocol("nvme")
)
View Source
const (
	// Connected to the server.
	//
	// For ESX Server, this is always the setting.
	HostSystemConnectionStateConnected = HostSystemConnectionState("connected")
	// VirtualCenter is not receiving heartbeats from the server.
	//
	// The state
	// automatically changes to connected once heartbeats are received
	// again. This state is typically used to trigger an alarm on the host.
	HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding")
	// The user has explicitly taken the host down.
	//
	// VirtualCenter does not expect to
	// receive heartbeats from the host. The next time a heartbeat is received, the
	// host is moved to the connected state again and an event is logged.
	HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected")
)
View Source
const (
	// The Asset tag of the system
	HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag")
	// The Service tag of the system
	HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag")
	// OEM specific string
	HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString")
	// The Enclosure Serial Number tag of the system
	HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag = HostSystemIdentificationInfoIdentifier("EnclosureSerialNumberTag")
	// The Serial Number tag of the system
	HostSystemIdentificationInfoIdentifierSerialNumberTag = HostSystemIdentificationInfoIdentifier("SerialNumberTag")
)
View Source
const (
	// The host is powered on.
	//
	// A host that is entering standby mode
	// `entering` is also in this state.
	HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn")
	// The host was specifically powered off by the user through
	// VirtualCenter.
	//
	// This state is not a cetain state, because
	// after VirtualCenter issues the command to power off the host,
	// the host might crash, or kill all the processes but fail to
	// power off.
	HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff")
	// The host was specifically put in standby mode, either
	// explicitly by the user, or automatically by DPM.
	//
	// This state
	// is not a cetain state, because after VirtualCenter issues the
	// command to put the host in standby state, the host might
	// crash, or kill all the processes but fail to power off. A host
	// that is exiting standby mode `exiting`
	// is also in this state.
	HostSystemPowerStateStandBy = HostSystemPowerState("standBy")
	// If the host is disconnected, or notResponding, we cannot
	// possibly have knowledge of its power state.
	//
	// Hence, the host
	// is marked as unknown.
	HostSystemPowerStateUnknown = HostSystemPowerState("unknown")
)
View Source
const (
	// Before precheck remediation and remediation.
	HostSystemRemediationStateStateRemediationReady = HostSystemRemediationStateState("remediationReady")
	// Preecheck remediation is running.
	HostSystemRemediationStateStatePrecheckRemediationRunning = HostSystemRemediationStateState("precheckRemediationRunning")
	// Preecheck remediation succeeded.
	HostSystemRemediationStateStatePrecheckRemediationComplete = HostSystemRemediationStateState("precheckRemediationComplete")
	// Preecheck remediation failed.
	HostSystemRemediationStateStatePrecheckRemediationFailed = HostSystemRemediationStateState("precheckRemediationFailed")
	// Remediation is running.
	HostSystemRemediationStateStateRemediationRunning = HostSystemRemediationStateState("remediationRunning")
	// Remediation failed.
	HostSystemRemediationStateStateRemediationFailed = HostSystemRemediationStateState("remediationFailed")
)
View Source
const (
	// TPM attestation failed.
	HostTpmAttestationInfoAcceptanceStatusNotAccepted = HostTpmAttestationInfoAcceptanceStatus("notAccepted")
	// TPM attestation succeeded.
	HostTpmAttestationInfoAcceptanceStatusAccepted = HostTpmAttestationInfoAcceptanceStatus("accepted")
)
View Source
const (
	// Attestation succeeded.
	HostTrustAuthorityAttestationInfoAttestationStatusAttested = HostTrustAuthorityAttestationInfoAttestationStatus("attested")
	// Attestation failed.
	HostTrustAuthorityAttestationInfoAttestationStatusNotAttested = HostTrustAuthorityAttestationInfoAttestationStatus("notAttested")
	// Attestation status is unknown.
	HostTrustAuthorityAttestationInfoAttestationStatusUnknown = HostTrustAuthorityAttestationInfoAttestationStatus("unknown")
)
View Source
const (
	// The VMFS detected 'diskid' does not match with
	// LVM detected 'diskId'
	HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch")
	// VMFS 'uuid' does not match
	HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict")
)
View Source
const (
	// Resignature the Unresolved VMFS volume.
	//
	// In the event the volume to be resignatured contains multiple
	// extents but only a single copy of each extent exists, only the
	// head extent needs to be specified.
	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature")
	// Keep the original Uuid of the VMFS volume and mount it
	//
	// In the event the volume to be force mounted contains multiple
	// extents but only a single copy of each extent exists, only the
	// head extent needs to be specified.
	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount")
)
View Source
const (
	// The VirtualNic is used for VMotion.
	HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion")
	// The VirtualNic is used for Fault Tolerance logging.
	HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging")
	// The VirtualNic is used for vSphere Replication LWD traffic
	// (i.e From the primary host to the VR server).
	HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication")
	// The VirtualNic is used for vSphere Replication NFC traffic (i.e.
	//
	// From
	// the VR server to the secondary host).
	HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC")
	// The VirtualNic is used for management network traffic .
	//
	// This nicType is available only when the system does not
	// support service console adapters.
	//
	// See also `HostNetCapabilities.usesServiceConsoleNic`.
	HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management")
	// The VirtualNic is used for Virtual SAN data traffic.
	//
	// To enable or disable a VirtualNic for VSAN networking,
	// use `HostVsanSystem.UpdateVsan_Task`.
	//
	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
	HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan")
	// The VirtualNic is used for vSphere provisioning NFC traffic
	// (i.e.
	//
	// the NFC traffic between ESX hosts as a part of a VC initiated
	// provisioning operations like cold-migrations, clones, snapshot and
	// cold data in hot migration).
	HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning")
	// The VirtualNic is used for Virtual SAN witness traffic.
	//
	// Witness traffic vmknic is required for Virtual SAN stretched cluster,
	// to help on communication between Virtual SAN data node and witness
	// node.
	// To enable or disable a VirtualNic for Virtual SAN networking,
	// use `HostVsanSystem.UpdateVsan_Task`.
	//
	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`.
	HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness")
	// The VirtualNic is used for vSphere backup NFC traffic
	// (i.e.
	//
	// the NFC traffic between backup appliance and ESX hosts).
	HostVirtualNicManagerNicTypeVSphereBackupNFC = HostVirtualNicManagerNicType("vSphereBackupNFC")
	// The VirtualNic is used for Precision Time Protocol (PTP).
	HostVirtualNicManagerNicTypePtp = HostVirtualNicManagerNicType("ptp")
	// The VirtualNic is used for NVMe over TCP traffic.
	HostVirtualNicManagerNicTypeNvmeTcp = HostVirtualNicManagerNicType("nvmeTcp")
	// The VirtualNic is used for NVMe over RDMA traffic.
	HostVirtualNicManagerNicTypeNvmeRdma = HostVirtualNicManagerNicType("nvmeRdma")
)
View Source
const (
	// Grant access to specified services in addition to existing services.
	HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant")
	// Replace existing services with specified services.
	HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace")
	// Revoke the specified services.
	HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke")
)
View Source
const (
	// Unmap bandwidth is a fixed value.
	HostVmfsVolumeUnmapBandwidthPolicyFixed = HostVmfsVolumeUnmapBandwidthPolicy("fixed")
	// Unmaps bandwidth is a dynamic value with lower and upper limits
	HostVmfsVolumeUnmapBandwidthPolicyDynamic = HostVmfsVolumeUnmapBandwidthPolicy("dynamic")
)
View Source
const (
	// Unmap is disabled.
	HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none")
	// Unmaps are processed at low rate.
	HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low")
)
View Source
const (
	HttpNfcLeaseManifestEntryChecksumTypeSha1   = HttpNfcLeaseManifestEntryChecksumType("sha1")
	HttpNfcLeaseManifestEntryChecksumTypeSha256 = HttpNfcLeaseManifestEntryChecksumType("sha256")
)
View Source
const (
	// Client pushes or downloads individual files from/to
	// each host/url provided by this lease in `HttpNfcLease.info`
	HttpNfcLeaseModePushOrGet = HttpNfcLeaseMode("pushOrGet")
	// Mode where hosts itself pull files from source URLs.
	//
	// See `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`
	HttpNfcLeaseModePull = HttpNfcLeaseMode("pull")
)
View Source
const (
	// When the lease is being initialized.
	HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing")
	// When the lease is ready and disks may be transferred.
	HttpNfcLeaseStateReady = HttpNfcLeaseState("ready")
	// When the import/export session is completed, and the lease
	// is no longer held.
	HttpNfcLeaseStateDone = HttpNfcLeaseState("done")
	// When an error has occurred.
	HttpNfcLeaseStateError = HttpNfcLeaseState("error")
)
View Source
const (
	// Host does not support the RPO configured for VM replication.
	IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo")
	// Host does not support network compression configured for VM
	// replication.
	IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression")
)
View Source
const (
	InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic")
	InternetScsiSnsDiscoveryMethodIsnsDhcp   = InternetScsiSnsDiscoveryMethod("isnsDhcp")
	InternetScsiSnsDiscoveryMethodIsnsSlp    = InternetScsiSnsDiscoveryMethod("isnsSlp")
)
View Source
const (
	// Policies for admission control
	InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl")
	// User-specified heartbeat datastores
	InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs")
	// VM override
	InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig")
)
View Source
const (
	// The associated host and profile version are incompatible.
	InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion")
	// There is no reference host associated with the profile.
	InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost")
)
View Source
const (
	// Install an IO Filter.
	IoFilterOperationInstall = IoFilterOperation("install")
	// Uninstall an IO Filter.
	IoFilterOperationUninstall = IoFilterOperation("uninstall")
	// Upgrade an IO Filter.
	IoFilterOperationUpgrade = IoFilterOperation("upgrade")
)
View Source
const (
	// Cache.
	IoFilterTypeCache = IoFilterType("cache")
	// Replication.
	IoFilterTypeReplication = IoFilterType("replication")
	// Encryption.
	IoFilterTypeEncryption = IoFilterType("encryption")
	// Compression.
	IoFilterTypeCompression = IoFilterType("compression")
	// Inspection.
	IoFilterTypeInspection = IoFilterType("inspection")
	// Datastore I/O Control.
	IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl")
	// Data Provider.
	IoFilterTypeDataProvider = IoFilterType("dataProvider")
	// Lightweight Data Capture.
	IoFilterTypeDataCapture = IoFilterType("dataCapture")
)
View Source
const (
	// There are no paths on this Virtual NIC
	IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed")
	// All paths on this Virtual NIC are standby paths from SCSI stack
	// perspective.
	IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active")
	// One or more paths on the Virtual NIC are active paths to
	// storage.
	//
	// Unbinding this Virtual NIC will cause storage path
	// transitions.
	IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy")
	// One or more paths on the Virtual NIC is the last active
	// path to a particular storage device.
	IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive")
)
View Source
const (
	KmipClusterInfoKmsManagementTypeUnknown        = KmipClusterInfoKmsManagementType("unknown")
	KmipClusterInfoKmsManagementTypeVCenter        = KmipClusterInfoKmsManagementType("vCenter")
	KmipClusterInfoKmsManagementTypeTrustAuthority = KmipClusterInfoKmsManagementType("trustAuthority")
	// `**Since:**` vSphere API Release 7.0.2.0
	KmipClusterInfoKmsManagementTypeNativeProvider = KmipClusterInfoKmsManagementType("nativeProvider")
)
View Source
const (
	// The relative latency-sensitivity low value.
	LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low")
	// The relative latency-sensitivity normal value.
	//
	// This is the default latency-sensitivity value.
	LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal")
	// The relative latency-sensitivity medium value.
	LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium")
	// The relative latency-sensitivity high value.
	LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high")
	//
	//
	// Deprecated as of vSphere API Ver 6.0. Value will be ignored and
	// treated as "normal" latency sensitivity.
	//
	// The custom absolute latency-sensitivity specified in
	// `LatencySensitivity.sensitivity` property is used to
	// define the latency-sensitivity.
	//
	// When this value is set to `LatencySensitivity.level` the
	// `LatencySensitivity.sensitivity` property should be
	// set also.
	LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom")
)
View Source
const (
	// The license and the entity to which it is to be assigned are not compatible.
	LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch")
	// The license downgrade is disallowed because some features are in use.
	LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed")
	// The inventory has hosts which are not manageable by vCenter unless in evaluation.
	LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter")
	// The inventory has hosts that need the license server to be configured unless vCenter is in evaluation
	LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer")
)
View Source
const (
	// The feature does not have a source restriction.
	LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted")
	// The feature's license can only be served.
	LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served")
	// The feature's license can only come from a file.
	LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file")
)
View Source
const (
	// The current edition license has implicitly enabled this additional feature.
	LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled")
	// The current edition license does not allow this additional feature.
	LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled")
	// The current edition license allows this additional feature.
	//
	// The
	// `LicenseManager.EnableFeature` and `LicenseManager.DisableFeature` methods can be used to enable or disable
	// this feature.
	LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional")
)
View Source
const (
	// One license is acquired per host.
	LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host")
	// One license is acquired per CPU core.
	LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore")
	// One license is acquired per CPU package.
	LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage")
	// One license is acquired per server.
	LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server")
	// One license is acquired per virtual machine.
	LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm")
)
View Source
const (
	// The edition license for the ESX Server, Standard edition.
	//
	// This is a per
	// CPU package license.
	LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull")
	// The edition license for the ESX server, VMTN edition.
	//
	// This is a per CPU package
	// license.
	LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn")
	// The edition license for the ESX server, Starter edition.
	//
	// This is a per CPU
	// package license.
	LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress")
	// Enable use of SAN.
	//
	// This is a per CPU package license.
	LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san")
	// Enable use of iSCSI.
	//
	// This is a per CPU package license.
	LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi")
	// Enable use of NAS.
	//
	// This is a per CPU package license.
	LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas")
	// Enable up to 4-way VSMP feature.
	//
	// This is a per CPU package license.
	LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp")
	// Enable ESX Server consolidated backup feature.
	//
	// This is a per CPU package
	// license.
	LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup")
	// The edition license for a VirtualCenter server, full edition.
	//
	// This license
	// is independent of the number of CPU packages for the VirtualCenter host.
	LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc")
	// The edition license for a VirtualCenter server, starter edition.
	//
	// This license
	// limits the number of hosts (esxHost or serverHost) that can be managed by the
	// VirtualCenter product.
	LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress")
	// Enable VirtualCenter ESX Server host management functionality.
	//
	// This is a per
	// ESX server CPU package license.
	LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost")
	// Enable VirtualCenter GSX Server host management functionality.
	//
	// This is a per
	// GSX server CPU package license.
	LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost")
	// Enable VirtualCenter VMware server host management functionality.
	//
	// This is a per
	// VMware server CPU package license.
	LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost")
	// Enable VirtualCenter DRS Power Management Functionality.
	//
	// This is a per CPU package
	LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower")
	// Enable VMotion.
	//
	// This is a per ESX server CPU package license.
	LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion")
	// Enable VirtualCenter Distributed Resource Scheduler.
	//
	// This is a per ESX server
	// CPU package license.
	LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs")
	// Enable VirtualCenter HA.
	//
	// This is a per ESX server CPU package license.
	LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das")
)
View Source
const (
	// Setting or resetting configuration in progress.
	LicenseManagerStateInitializing = LicenseManagerState("initializing")
	// Running within operating parameters.
	LicenseManagerStateNormal = LicenseManagerState("normal")
	// License source unavailable, using license cache.
	LicenseManagerStateMarginal = LicenseManagerState("marginal")
	// Initialization has failed or grace period expired.
	LicenseManagerStateFault = LicenseManagerState("fault")
)
View Source
const (
	// This license is currently unused by the system, or the feature does not
	// apply.
	//
	// For example, a DRS license appears as NotUsed if the host is not
	// part of a DRS-enabled cluster.
	LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed")
	// This indicates that the license has expired or the system attempted to acquire
	// the license but was not successful in reserving it.
	LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense")
	// The LicenseManager failed to acquire a license but the implementation
	// policy allows us to use the licensed feature anyway.
	//
	// This is possible, for
	// example, when a license server becomes unavailable after a license had been
	// successfully reserved from it.
	LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse")
	// The required number of licenses have been acquired from the license source.
	LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed")
)
View Source
const (
	// Don't listen for incoming discovery packets and don't sent discover
	// packets for the switch either.
	LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none")
	// Listen for incoming discovery packets but don't sent discovery packet
	// for the switch.
	LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen")
	// Sent discovery packets for the switch, but don't listen for incoming
	// discovery packets.
	LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise")
	// Sent discovery packets for the switch and listen for incoming
	// discovery packets.
	LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both")
)
View Source
const (
	// Cisco Discovery Protocol
	LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp")
	// Link Layer Discovery Protocol
	LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp")
)
View Source
const (
	// The status is unknown.
	ManagedEntityStatusGray = ManagedEntityStatus("gray")
	// The entity is OK.
	ManagedEntityStatusGreen = ManagedEntityStatus("green")
	// The entity might have a problem.
	ManagedEntityStatusYellow = ManagedEntityStatus("yellow")
	// The entity definitely has a problem.
	ManagedEntityStatusRed = ManagedEntityStatus("red")
)
View Source
const (
	// Test if the target metric item is above the given red or yellow values.
	MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove")
	// Test if the target metric item is below the given red or yellow values.
	MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow")
)
View Source
const (
	MultipathStateStandby  = MultipathState("standby")
	MultipathStateActive   = MultipathState("active")
	MultipathStateDisabled = MultipathState("disabled")
	MultipathStateDead     = MultipathState("dead")
	MultipathStateUnknown  = MultipathState("unknown")
)
View Source
const (
	// Mode of NetBIOS is unknown.
	NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown")
	// NetBIOS is enabled.
	NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled")
	// NetBIOS is disabled.
	NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled")
	// DHCP server decides whether or not to use NetBIOS.
	NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP")
)
View Source
const (
	// Any other type of address configuration other than the below
	// mentioned ones will fall under this category.
	//
	// For e.g., automatic
	// address configuration for the link local address falls under
	// this type.
	NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other")
	// The address is configured manually.
	//
	// The term 'static' is a synonym.
	NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual")
	// The address is configured through dhcp.
	NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp")
	// The address is obtained through stateless autoconfiguration (autoconf).
	//
	// See RFC 4862, IPv6 Stateless Address Autoconfiguration.
	NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer")
	// The address is chosen by the system at random
	// e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.
	NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random")
)
View Source
const (
	// Indicates that this is a valid address.
	NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred")
	// Indicates that this is a valid but deprecated address
	// that should no longer be used as a source address.
	NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated")
	// Indicates that this isn't a valid.
	NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid")
	// Indicates that the address is not accessible because
	// interface is not operational.
	NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible")
	// Indicates that the status cannot be determined.
	NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown")
	// Indicates that the uniqueness of the
	// address on the link is presently being verified.
	NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative")
	// Indicates the address has been determined to be non-unique
	// on the link, this address will not be reachable.
	NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate")
)
View Source
const (
	// This implementation is reporting something other than
	// what states are listed below.
	NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other")
	// The IP Stack has marked this entry as not useable.
	NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid")
	// This entry has been learned using ARP or NDP.
	NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic")
	// This entry was set manually.
	NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual")
)
View Source
const (
	NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved")
	NetIpStackInfoPreferenceLow      = NetIpStackInfoPreference("low")
	NetIpStackInfoPreferenceMedium   = NetIpStackInfoPreference("medium")
	NetIpStackInfoPreferenceHigh     = NetIpStackInfoPreference("high")
)
View Source
const (
	// vmxnet3 virtual Ethernet adapter
	NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3")
	// paravirtualized SCSI controller
	NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController")
)
View Source
const (
	//
	//
	// Deprecated as of vSphere API 6.0.
	//
	// The virtual machine needs to support record/replay functionality.
	NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay")
	// The virtual machine is enabled for fault tolerance.
	NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance")
)
View Source
const (
	// Interleave set is invalid
	NvdimmInterleaveSetStateInvalid = NvdimmInterleaveSetState("invalid")
	// Interleave set is valid and active
	NvdimmInterleaveSetStateActive = NvdimmInterleaveSetState("active")
)
View Source
const (
	// Namespace health is normal
	NvdimmNamespaceDetailsHealthStatusNormal = NvdimmNamespaceDetailsHealthStatus("normal")
	// Namespace health is missing
	NvdimmNamespaceDetailsHealthStatusMissing = NvdimmNamespaceDetailsHealthStatus("missing")
	// Namespace health label is missing
	NvdimmNamespaceDetailsHealthStatusLabelMissing = NvdimmNamespaceDetailsHealthStatus("labelMissing")
	// Namespace health interleave broken
	NvdimmNamespaceDetailsHealthStatusInterleaveBroken = NvdimmNamespaceDetailsHealthStatus("interleaveBroken")
	// Namespace health label is inconsistent
	NvdimmNamespaceDetailsHealthStatusLabelInconsistent = NvdimmNamespaceDetailsHealthStatus("labelInconsistent")
)
View Source
const (
	// Namespace is invalid
	NvdimmNamespaceDetailsStateInvalid = NvdimmNamespaceDetailsState("invalid")
	// Namespace is valid but not in use
	NvdimmNamespaceDetailsStateNotInUse = NvdimmNamespaceDetailsState("notInUse")
	// Namespace is valid and is in use
	NvdimmNamespaceDetailsStateInUse = NvdimmNamespaceDetailsState("inUse")
)
View Source
const (
	// Namespace health is normal
	NvdimmNamespaceHealthStatusNormal = NvdimmNamespaceHealthStatus("normal")
	// Namespace health is missing
	NvdimmNamespaceHealthStatusMissing = NvdimmNamespaceHealthStatus("missing")
	// Namespace health label is missing
	NvdimmNamespaceHealthStatusLabelMissing = NvdimmNamespaceHealthStatus("labelMissing")
	// Namespace health interleave broken
	NvdimmNamespaceHealthStatusInterleaveBroken = NvdimmNamespaceHealthStatus("interleaveBroken")
	// Namespace health label is inconsistent
	NvdimmNamespaceHealthStatusLabelInconsistent = NvdimmNamespaceHealthStatus("labelInconsistent")
	// Namespace health BTT is corrupt
	NvdimmNamespaceHealthStatusBttCorrupt = NvdimmNamespaceHealthStatus("bttCorrupt")
	// Namespace health encountered bad block
	NvdimmNamespaceHealthStatusBadBlockSize = NvdimmNamespaceHealthStatus("badBlockSize")
)
View Source
const (
	// Namespace is invalid
	NvdimmNamespaceStateInvalid = NvdimmNamespaceState("invalid")
	// Namespace is valid but not in use
	NvdimmNamespaceStateNotInUse = NvdimmNamespaceState("notInUse")
	// Namespace is valid and is in use
	NvdimmNamespaceStateInUse = NvdimmNamespaceState("inUse")
)
View Source
const (
	// Block mode namespace
	NvdimmNamespaceTypeBlockNamespace = NvdimmNamespaceType("blockNamespace")
	// Persistent mode namespace
	NvdimmNamespaceTypePersistentNamespace = NvdimmNamespaceType("persistentNamespace")
)
View Source
const (
	// NVDIMM state is normal
	NvdimmNvdimmHealthInfoStateNormal = NvdimmNvdimmHealthInfoState("normal")
	// Error in NVDIMM state.
	//
	// Potential data loss.
	NvdimmNvdimmHealthInfoStateError = NvdimmNvdimmHealthInfoState("error")
)
View Source
const (
	// Identifies the region to be volatile
	NvdimmRangeTypeVolatileRange = NvdimmRangeType("volatileRange")
	// Identifies the region to be persistent
	NvdimmRangeTypePersistentRange = NvdimmRangeType("persistentRange")
	// NVDIMM control region
	NvdimmRangeTypeControlRange = NvdimmRangeType("controlRange")
	// NVDIMM block data window region
	NvdimmRangeTypeBlockRange = NvdimmRangeType("blockRange")
	// NVDIMM volatile virtual disk region
	NvdimmRangeTypeVolatileVirtualDiskRange = NvdimmRangeType("volatileVirtualDiskRange")
	// NVDIMM volatile virtual CD region
	NvdimmRangeTypeVolatileVirtualCDRange = NvdimmRangeType("volatileVirtualCDRange")
	// NVDIMM persistent virtual disk region
	NvdimmRangeTypePersistentVirtualDiskRange = NvdimmRangeType("persistentVirtualDiskRange")
	// NVDIMM persistent virtual CD region
	NvdimmRangeTypePersistentVirtualCDRange = NvdimmRangeType("persistentVirtualCDRange")
)
View Source
const (
	// A property of the managed object changed its value.
	ObjectUpdateKindModify = ObjectUpdateKind("modify")
	// A managed object became visible to a filter for the first time.
	//
	// For instance, this can happen if a virtual machine is added to a
	// folder.
	ObjectUpdateKindEnter = ObjectUpdateKind("enter")
	// A managed object left the set of objects visible to a filter.
	//
	// For
	// instance, this can happen when a virtual machine is destroyed.
	ObjectUpdateKindLeave = ObjectUpdateKind("leave")
)
View Source
const (
	OvfConsumerOstNodeTypeEnvelope                = OvfConsumerOstNodeType("envelope")
	OvfConsumerOstNodeTypeVirtualSystem           = OvfConsumerOstNodeType("virtualSystem")
	OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection")
)
View Source
const (
	// A sparse (allocate on demand) monolithic disk.
	//
	// Disks in this format can
	// be used with other VMware products.
	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse")
	// A preallocated monolithic disk.
	//
	// Disks in this format can be used with
	// other VMware products.
	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat")
	// A sparse (allocate on demand) disk with 2GB maximum extent size.
	//
	// Disks in this format can be used with other VMware products. The 2GB
	// extent size makes these disks easier to burn to dvd or use on
	// filesystems that don't support large files.
	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse")
	// A preallocated disk with 2GB maximum extent size.
	//
	// Disks in this format
	// can be used with other VMware products. The 2GB extent size
	// makes these disks easier to burn to dvd or use on filesystems that
	// don't support large files.
	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat")
	// Space required for thin-provisioned virtual disk is allocated and
	// zeroed on demand as the space is used.
	OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin")
	// A thick disk has all space allocated at creation time
	// and the space is zeroed on demand as the space is used.
	OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick")
	// A sparse (allocate on demand) format with additional space
	// optimizations.
	OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse")
	// An eager zeroed thick disk has all space allocated and wiped clean
	// of any previous contents on the physical media at creation time.
	//
	// Such disks may take longer time during creation compared to other
	// disk formats.
	OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick")
	// Depending on the host type, Sparse is mapped to either
	// MonolithicSparse or Thin.
	OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse")
	// Depending on the host type, Flat is mapped to either
	// MonolithicFlat or Thick.
	OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat")
)
View Source
const (
	// Counters returned in an array of data objects.
	PerfFormatNormal = PerfFormat("normal")
	// Counters returned in comma-separate value (CSV) format.
	PerfFormatCsv = PerfFormat("csv")
)
View Source
const (
	// Represents an actual value, level, or state of the counter.
	//
	// For
	// example, the “uptime” counter (`*system*` group)
	// represents the actual number of seconds since startup. The
	// “capacity” counter represents the actual configured size
	// of the specified datastore. In other words, number of samples,
	// samplingPeriod, and intervals have no bearing on an
	// “absolute” counter“s value.
	PerfStatsTypeAbsolute = PerfStatsType("absolute")
	// Represents an amount of change for the counter during the `PerfInterval.samplingPeriod` as compared to the previous
	// `interval`.
	//
	// The first sampling interval
	PerfStatsTypeDelta = PerfStatsType("delta")
	// Represents a value that has been normalized over the `PerfInterval.samplingPeriod`, enabling values for the same
	// counter type to be compared, regardless of interval.
	//
	// For example,
	// the number of reads per second.
	PerfStatsTypeRate = PerfStatsType("rate")
)
View Source
const (
	// The actual value collected or the average of all values collected
	// during the summary period.
	PerfSummaryTypeAverage = PerfSummaryType("average")
	// The maximum value of the performance counter value over the
	// summarization period.
	PerfSummaryTypeMaximum = PerfSummaryType("maximum")
	// The minimum value of the performance counter value over the
	// summarization period.
	PerfSummaryTypeMinimum = PerfSummaryType("minimum")
	// The most recent value of the performance counter over the
	// summarization period.
	PerfSummaryTypeLatest = PerfSummaryType("latest")
	// The sum of all the values of the performance counter over the
	// summarization period.
	PerfSummaryTypeSummation = PerfSummaryType("summation")
	// The counter is never rolled up.
	PerfSummaryTypeNone = PerfSummaryType("none")
)
View Source
const (
	// Percentage values in units of 1/100th of a percent.
	//
	// For example 100
	// represents 1%.
	PerformanceManagerUnitPercent = PerformanceManagerUnit("percent")
	// Kilobytes.
	PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes")
	// Megabytes.
	PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes")
	// Megahertz.
	PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz")
	// A quantity of items, for example, the number of CPUs.
	PerformanceManagerUnitNumber = PerformanceManagerUnit("number")
	// The time in microseconds.
	PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond")
	// The time in milliseconds.
	PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond")
	// The time in seconds.
	PerformanceManagerUnitSecond = PerformanceManagerUnit("second")
	// Kilobytes per second.
	PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond")
	// Megabytes per second.
	PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond")
	// Watts
	PerformanceManagerUnitWatt = PerformanceManagerUnit("watt")
	// Joules
	PerformanceManagerUnitJoule = PerformanceManagerUnit("joule")
	// Terabytes.
	PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes")
	// Temperature in celsius.
	PerformanceManagerUnitCelsius = PerformanceManagerUnit("celsius")
	// The time in nanoseconds.
	PerformanceManagerUnitNanosecond = PerformanceManagerUnit("nanosecond")
)
View Source
const (
	// Indicates that the user has opted out the Physical NIC from resource pool
	// based scheduling.
	PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut")
	// Indicates that the NIC device does is not capable of resource pool
	// based scheduling.
	PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported")
)
View Source
const (
	// clusters are the scope
	PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster")
	// individual hosts are the scope
	PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host")
	// datastore cluster is teh scope
	PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod")
	// individual datastores are the scope
	PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore")
)
View Source
const (
	// Affinity
	PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity")
	// Anti-Affinity
	PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity")
	// Best-effort affinity
	PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity")
	// Best-effort anti-affinity
	PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity")
)
View Source
const (
	// Create a new VM
	PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create")
	// Reconfigure a VM
	PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure")
	// Relocate a VM
	PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate")
	// Clone a VM
	PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone")
)
View Source
const (
	// A virtual machine is connected to this port group.
	PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine")
	// A system management entity (service console)
	// is connected to this port group.
	PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement")
	// The VMkernel is connected to this port group.
	PortGroupConnecteeTypeHost = PortGroupConnecteeType("host")
	// This port group serves an entity of unspecified kind.
	PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown")
)
View Source
const (
	// Profile execution was successful.
	//
	// You can use the output configuration data
	// to apply the profile to a host.
	ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success")
	// Additional data is required to complete the operation.
	//
	// The data requirements are defined in the list of policy options for the profile
	// (`ApplyProfile*.*ApplyProfile.policy`\[\]).
	ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput")
	// Profile execution generated an error.
	//
	// See `ProfileExecuteResult*.*ProfileExecuteResult.error`.
	ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error")
)
View Source
const (
	ProfileNumericComparatorLessThan         = ProfileNumericComparator("lessThan")
	ProfileNumericComparatorLessThanEqual    = ProfileNumericComparator("lessThanEqual")
	ProfileNumericComparatorEqual            = ProfileNumericComparator("equal")
	ProfileNumericComparatorNotEqual         = ProfileNumericComparator("notEqual")
	ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual")
	ProfileNumericComparatorGreaterThan      = ProfileNumericComparator("greaterThan")
)
View Source
const (
	// The relation to a subprofile or a parameter.
	ProfileParameterMetadataRelationTypeDynamic_relation = ProfileParameterMetadataRelationType("dynamic_relation")
	// The values from sources other than the parameter/profile or the static
	// value list are allowed.
	ProfileParameterMetadataRelationTypeExtensible_relation = ProfileParameterMetadataRelationType("extensible_relation")
	// The value list contains localization keys instead of values.
	ProfileParameterMetadataRelationTypeLocalizable_relation = ProfileParameterMetadataRelationType("localizable_relation")
	// The relation is defined by static valid value list.
	ProfileParameterMetadataRelationTypeStatic_relation = ProfileParameterMetadataRelationType("static_relation")
	// The relation is defined for validation purpose.
	ProfileParameterMetadataRelationTypeValidation_relation = ProfileParameterMetadataRelationType("validation_relation")
)
View Source
const (
	PropertyChangeOpAdd            = PropertyChangeOp("add")
	PropertyChangeOpRemove         = PropertyChangeOp("remove")
	PropertyChangeOpAssign         = PropertyChangeOp("assign")
	PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove")
)
View Source
const (
	// The cluster does not contain any non-quarantined host satisfying the
	// VM/host affinity rules for the VM.
	QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost")
	// The current DRS migration priority setting disallows generating a
	// recommendation to prevent VMs on quarantined hosts.
	//
	// Thus, the
	// violation will not be corrected.
	QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed")
	// DRS has determined that evacuation of VMs from quarantined hosts
	// impacts respecting cluster constraints or performance goals so they
	// are not evacuated.
	QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact")
)
View Source
const (
	// HBR supports application quescing for this
	// `VirtualMachine`.
	QuiesceModeApplication = QuiesceMode("application")
	// HBR supports filesystem quescing for this
	// `VirtualMachine`.
	QuiesceModeFilesystem = QuiesceMode("filesystem")
	// HBR does not support quescing for this
	// `VirtualMachine`.
	QuiesceModeNone = QuiesceMode("none")
)
View Source
const (
	// Balance average CPU utilization.
	RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg")
	// Balance average memory utilization.
	RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg")
	// Fulfill affinity rule.
	RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin")
	// Fulfill anti-affinity rule.
	RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin")
	// Host entering maintenance mode.
	RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint")
	// Host entering standby mode.
	RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby")
	// balance CPU reservations
	RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu")
	// balance memory reservations
	RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem")
	// Power on virtual machine
	RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm")
	// Power off host for power savings
	RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving")
	// Power on host to increase cluster capacity
	RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity")
	// Sanity-check resource pool hierarchy
	RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource")
	// Maintain unreserved capacity
	RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity")
	// Fix hard VM/host affinity rule violation
	RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity")
	// Fix soft VM/host affinity rule violation
	RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity")
	// Balance datastore space usage.
	RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage")
	// Balance datastore I/O workload.
	RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad")
	// Balance datastore IOPS reservation
	RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation")
	// Datastore entering maintenance mode.
	RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint")
	// Fix virtual disk affinity rule violation.
	RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin")
	// Fix virtual disk anti-affinity rule violation.
	RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin")
	// Fix the issue that a datastore run out of space.
	RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage")
	// Satisfy storage initial placement requests.
	RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement")
	// IO load balancing was disabled internally.
	RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal")
	// Satisfy unified vmotion placement requests.
	RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement")
	// Fix network bandwidth reservation violation
	RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation")
	// Host is partially degraded.
	RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation")
	// Host is not degraded.
	RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation")
	// Fix maxVms constraint violation
	RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint")
	// Fix ft maxVMs and maxVcpus constraint violations
	RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints")
	// Fix VM/host affinity policy violation
	RecommendationReasonCodeVmHostAffinityPolicy = RecommendationReasonCode("vmHostAffinityPolicy")
	// Fix VM/host anti-affinity policy violation
	RecommendationReasonCodeVmHostAntiAffinityPolicy = RecommendationReasonCode("vmHostAntiAffinityPolicy")
	// Fix VM-VM anti-affinity policy violations
	RecommendationReasonCodeVmAntiAffinityPolicy = RecommendationReasonCode("vmAntiAffinityPolicy")
	// `**Since:**` vSphere API Release 7.0.2.0
	RecommendationReasonCodeBalanceVsanUsage = RecommendationReasonCode("balanceVsanUsage")
	// Optimize assignable hardware resource orchestration
	RecommendationReasonCodeAhPlacementOptimization = RecommendationReasonCode("ahPlacementOptimization")
)
View Source
const (
	// Could not look up device by key
	ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound")
	// Replication not supported for disk type or backend
	ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported")
	// Invalid key value
	ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey")
	// Invalid disk replication ID string
	ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId")
	// Another disk in the VM has the same replication ID
	ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId")
	// Invalid path (string) for the persistent file
	ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath")
	// Attempting to re-configure the disk's replication ID
	ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed")
)
View Source
const (
	// Incompatible VM hardware version
	ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion")
	// Invalid VM Replication ID string
	ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId")
	// Invalid generation number in VM's configuration
	ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber")
	// Invalid RPO value (out of bounds)
	ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue")
	// Invalid destination IP address
	ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress")
	// Invalid destination port
	ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort")
	// Malformed extra options list
	ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions")
	// Mis-matching generation number (stale)
	ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber")
	// Attempting to re-configure the VM replication ID
	ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed")
	// Could not retrieve the VM configuration
	ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration")
	// Attempting to re-enable replication for the VM
	ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled")
	// The existing replication configuration of the VM is broken
	// (applicable to re-configuration only).
	ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration")
	// Attempting to re-configure or disable replication for a VM
	// for which replication has not been enabled.
	ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled")
	// Failed to commit the new replication properties for the VM.
	ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed")
	// VM is encrypted
	ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm")
	// Remote certificate thumbprint is invalid
	ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint")
	// VM hardware contains devices incompatible with replication
	ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice")
)
View Source
const (
	// `VirtualMachine` is not configured for replication
	ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured")
	// `VirtualMachine` is powered off (and is not undergoing
	// offline replication)
	ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff")
	// `VirtualMachine` is suspended (and is not undergoing
	// offline replication)
	ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended")
	// `VirtualMachine` is powered on
	ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn")
	// `VirtualMachine` is in the process of creating an
	// an offline instance.
	ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating")
	// `VirtualMachine` is in an invalid state
	ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState")
	// The specified instanceId does not match the `VirtualMachine`
	// instanceId
	ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId")
	// `VirtualMachine` is in the process of creating an
	// offline instance and we are trying to disable it.
	//
	// The first step is to close the offline disk. If closing disks
	// is not successful, throw this fault.
	ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError")
	// `VirtualMachine` is trying to create a group already
	// owned by another VM.
	ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist")
)
View Source
const (
	// Initial synchronization with the remote site
	ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync")
	// Delta updates to generate a consistent instance
	ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta")
)
View Source
const (
	// The `VirtualMachine` has no current replication state.
	//
	// This is a virtual machine that is configured for replication, but is
	// powered off and not undergoing offline replication.
	ReplicationVmStateNone = ReplicationVmState("none")
	// The `VirtualMachine` replication is paused.
	ReplicationVmStatePaused = ReplicationVmState("paused")
	// One or more of the `VirtualMachine` disks is in the
	// process of an initial synchronization with the remote site.
	ReplicationVmStateSyncing = ReplicationVmState("syncing")
	// The `VirtualMachine` is being replicated but is not
	// currently in the process of having a consistent instance created.
	ReplicationVmStateIdle = ReplicationVmState("idle")
	// The `VirtualMachine` is in the process of having
	// a consistent instance created.
	ReplicationVmStateActive = ReplicationVmState("active")
	// The `VirtualMachine` is unable to replicate due to
	// errors.
	//
	// XXX Currently unused.
	ReplicationVmStateError = ReplicationVmState("error")
)
View Source
const (
	// Do not scale shares
	ResourceConfigSpecScaleSharesBehaviorDisabled = ResourceConfigSpecScaleSharesBehavior("disabled")
	// Scale both CPU and memory shares
	ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares = ResourceConfigSpecScaleSharesBehavior("scaleCpuAndMemoryShares")
)
View Source
const (
	// No scheduled upgrades.
	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never")
	// Run scheduled upgrades only on normal guest OS shutdown.
	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff")
	// Always run scheduled upgrades.
	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always")
)
View Source
const (
	// No scheduled upgrade ever happened.
	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none")
	// Upgrade is scheduled, but was not run yet.
	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending")
	// Upgrade succeeded.
	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success")
	// Upgrade failed.
	//
	// For more information about the failure
	//
	// See also `ScheduledHardwareUpgradeInfo.fault`.
	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed")
)
View Source
const (
	// 512 native sector size drive.
	ScsiDiskTypeNative512 = ScsiDiskType("native512")
	// 4K sector size drive in 512 emulation mode.
	ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512")
	// 4K native sector size drive.
	ScsiDiskTypeNative4k = ScsiDiskType("native4k")
	// Software emulated 4k.
	ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k")
	// Unknown type.
	ScsiDiskTypeUnknown = ScsiDiskType("unknown")
)
View Source
const (
	// The Descriptor has an identifier that is useful for identification
	// and correlation across hosts.
	ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality")
	// The Descriptor has an identifier that may be used for identification
	// and correlation across hosts.
	ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality")
	// The Descriptor has an identifier that should not be used for
	// identification and correlation across hosts.
	ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality")
	// The Descriptor has an identifier that may or may not be useful for
	// identification and correlation across hosts.
	ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality")
)
View Source
const (
	// The LUN state is unknown.
	ScsiLunStateUnknownState = ScsiLunState("unknownState")
	// The LUN is on and available.
	ScsiLunStateOk = ScsiLunState("ok")
	// The LUN is dead and/or not reachable.
	ScsiLunStateError = ScsiLunState("error")
	// The LUN is off.
	ScsiLunStateOff = ScsiLunState("off")
	// The LUN is inactive.
	ScsiLunStateQuiesced = ScsiLunState("quiesced")
	// One or more paths to the LUN are down, but I/O
	// is still possible.
	//
	// Further path failures may
	// result in lost connectivity.
	ScsiLunStateDegraded = ScsiLunState("degraded")
	// No more paths are available to the LUN.
	ScsiLunStateLostCommunication = ScsiLunState("lostCommunication")
	// All Paths have been down for the timeout condition
	// determined by a user-configurable host advanced option.
	ScsiLunStateTimeout = ScsiLunState("timeout")
)
View Source
const (
	ScsiLunTypeDisk                   = ScsiLunType("disk")
	ScsiLunTypeTape                   = ScsiLunType("tape")
	ScsiLunTypePrinter                = ScsiLunType("printer")
	ScsiLunTypeProcessor              = ScsiLunType("processor")
	ScsiLunTypeWorm                   = ScsiLunType("worm")
	ScsiLunTypeCdrom                  = ScsiLunType("cdrom")
	ScsiLunTypeScanner                = ScsiLunType("scanner")
	ScsiLunTypeOpticalDevice          = ScsiLunType("opticalDevice")
	ScsiLunTypeMediaChanger           = ScsiLunType("mediaChanger")
	ScsiLunTypeCommunications         = ScsiLunType("communications")
	ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController")
	ScsiLunTypeEnclosure              = ScsiLunType("enclosure")
	ScsiLunTypeUnknown                = ScsiLunType("unknown")
)
View Source
const (
	// Storage device supports hardware acceleration.
	//
	// The ESX host will use the feature to offload certain
	// storage-related operations to the device.
	ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported")
	// Storage device does not support hardware acceleration.
	//
	// The ESX host will handle all storage-related operations.
	ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported")
	// Initial support status value.
	ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown")
)
View Source
const (
	// Ticket used for HttpNfc access to a file or disk on a datastore
	SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket = SessionManagerGenericServiceTicketTicketType("HttpNfcServiceTicket")
	// Ticket used for service request on a host
	SessionManagerGenericServiceTicketTicketTypeHostServiceTicket = SessionManagerGenericServiceTicketTicketType("HostServiceTicket")
	// Ticket used for service request on a VC
	SessionManagerGenericServiceTicketTicketTypeVcServiceTicket = SessionManagerGenericServiceTicketTicketType("VcServiceTicket")
)
View Source
const (
	SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions")
	SessionManagerHttpServiceRequestSpecMethodHttpGet     = SessionManagerHttpServiceRequestSpecMethod("httpGet")
	SessionManagerHttpServiceRequestSpecMethodHttpHead    = SessionManagerHttpServiceRequestSpecMethod("httpHead")
	SessionManagerHttpServiceRequestSpecMethodHttpPost    = SessionManagerHttpServiceRequestSpecMethod("httpPost")
	SessionManagerHttpServiceRequestSpecMethodHttpPut     = SessionManagerHttpServiceRequestSpecMethod("httpPut")
	SessionManagerHttpServiceRequestSpecMethodHttpDelete  = SessionManagerHttpServiceRequestSpecMethod("httpDelete")
	SessionManagerHttpServiceRequestSpecMethodHttpTrace   = SessionManagerHttpServiceRequestSpecMethod("httpTrace")
	SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect")
)
View Source
const (
	// For CPU: Shares = 500 \* number of virtual CPUs
	// For Memory: Shares = 5 \* virtual machine memory size in megabytes
	// For Disk: Shares = 500
	// For Network: Shares = 0.25 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
	SharesLevelLow = SharesLevel("low")
	// For CPU: Shares = 1000 \* number of virtual CPUs
	// For Memory: Shares = 10 \* virtual machine memory size in megabytes
	// For Disk: Shares = 1000
	// For Network: Shares = 0.5 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
	SharesLevelNormal = SharesLevel("normal")
	// For CPU: Shares = 2000 \* number of virtual CPUs
	// For Memory: Shares = 20 \* virtual machine memory size in megabytes
	// For Disk: Shares = 2000
	// For Network: Shares = `DVSFeatureCapability.networkResourcePoolHighShareValue`
	SharesLevelHigh = SharesLevel("high")
	// If you specify <code>custom</code> for the `SharesInfo.level` property, when there is resource contention the Server uses the `SharesInfo.shares` value to determine resource allocation.
	SharesLevelCustom = SharesLevel("custom")
)
View Source
const (
	// Comma separated values
	SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV")
	// Hex encoded binary data
	SimpleCommandEncodingHEX    = SimpleCommandEncoding("HEX")
	SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING")
)
View Source
const (
	// Use DHCP to find the SLP DAs.
	SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp")
	// Use broadcasting to find SLP DAs.
	//
	// Only DAs on the current subnet will be found.
	SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast")
	// Use the well known multicast address to find DAs.
	SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast")
	// User specified address for a DA.
	SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual")
)
View Source
const (
	SoftwarePackageConstraintEquals           = SoftwarePackageConstraint("equals")
	SoftwarePackageConstraintLessThan         = SoftwarePackageConstraint("lessThan")
	SoftwarePackageConstraintLessThanEqual    = SoftwarePackageConstraint("lessThanEqual")
	SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual")
	SoftwarePackageConstraintGreaterThan      = SoftwarePackageConstraint("greaterThan")
)
View Source
const (
	// This package is installed into bootbank in storage.
	SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank")
	// This package is installed into tools partition in storage.
	SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools")
	// This package contains install related data without
	// content to install.
	SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta")
)
View Source
const (
	// Test if the target state matches the given red or yellow states.
	StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual")
	// Test if the target state does not match the given red or yellow states.
	StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal")
)
View Source
const (
	// Specifies that VirtualCenter should generate recommendations for
	// virtual disk migration and for placement with a datastore,
	// but should not execute the recommendations automatically.
	StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual")
	// Specifies that VirtualCenter should generate recommendations
	// for virtual disk migration and for placement with a
	// datastore.
	//
	// The recommendations for virtual disk migrations
	// will be executed automatically, but the placement
	// recommendations will be done manually.
	StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated")
)
View Source
const (
	// Default mode: threshold as a percentage of datastore capacity
	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization")
	// Threshold as an absolute value of free space in GBs
	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace")
)
View Source
const (
	// Storagage IO Control will choose appropriate congestion threshold value
	// for that datastore to operate at given percentage of peak throughput.
	//
	// This is the default setting
	StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic")
	// Use user specified Storage IO Control congestion threshold value
	StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual")
)
View Source
const (
	// Create a VM.
	StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create")
	// Reconfigure a VM.
	StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure")
	// Relocate a VM.
	StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate")
	// Clone a VM.
	StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone")
)
View Source
const (
	// Returns tasks that pertain only to the specified managed entity,
	// and not its children.
	TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self")
	// Returns tasks pertaining to child entities only.
	//
	// Excludes
	// tasks pertaining to the specified managed entity itself.
	TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children")
	// Returns tasks pertaining either to the specified managed entity
	// or to its child entities.
	TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all")
)
View Source
const (
	// The time stamp when the task was created and queued.
	TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime")
	// The time stamp when the task started.
	TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime")
	// The time stamp when the task finished.
	TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime")
)
View Source
const (
	// When there are too many tasks for threads to handle.
	TaskInfoStateQueued = TaskInfoState("queued")
	// When the busy thread is freed from its current task by
	// finishing the task, it picks a queued task to run.
	//
	// Then the queued tasks are marked as running.
	TaskInfoStateRunning = TaskInfoState("running")
	// When a running task has completed.
	TaskInfoStateSuccess = TaskInfoState("success")
	// When a running task has encountered an error.
	TaskInfoStateError = TaskInfoState("error")
)
View Source
const (
	// A general failure has occurred during assigning license to the 3rd party module
	ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed")
	// The 3rd party module we are trying to license is not installed.
	ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled")
)
View Source
const (
	// No auto-upgrades for tools will be performed for this
	// virtual machine.
	//
	// Users must manually invoke the UpgradeTools
	// operation to update the tools.
	UpgradePolicyManual = UpgradePolicy("manual")
	// When the virtual machine is power-cycled, the system checks
	// for a newer version of tools when the VM comes back up.
	//
	// If it
	// is available, a tools upgrade is automatically performed on the
	// virtual machine and it is rebooted if necessary.
	UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle")
)
View Source
const (
	// No action is taken for this virtual machine.
	//
	// This virtual machine is
	// not a part of the auto-start sequence. This can be used for both auto-start
	// and auto-start settings.
	VAppAutoStartActionNone = VAppAutoStartAction("none")
	// This virtual machine is powered on when it is next in the auto-start order.
	VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn")
	// This virtual machine is powered off when it is next in the auto-stop order.
	//
	// This is the default stopAction.
	VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff")
	// The guest operating system for a virtual machine is shut down when that
	// virtual machine in next in the auto-stop order.
	VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown")
	// This virtual machine is suspended when it is next in the auto-stop order.
	VAppAutoStartActionSuspend = VAppAutoStartAction("suspend")
)
View Source
const (
	// Each disk in the cloned virtual machines will have the same
	// type of disk as the source vApp.
	VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource")
	// Each disk in the cloned virtual machines is allocated in full
	// size now and committed on demand.
	//
	// This is only supported on
	// VMFS-3 and newer datastores. Other types of datastores may
	// create thick disks.
	VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin")
	// Each disk in the cloned virtual machines are allocated and
	// committed in full size immediately.
	VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick")
)
View Source
const (
	// The vApp supports DHCP to acquire IP configuration.
	VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp")
	// The vApp supports setting the IP configuration through the
	// properties provided in the OVF environment.
	VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv")
)
View Source
const (
	// Specifies that DHCP must be used to allocate IP addresses to the vApp
	VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy")
	// Specifies that IP allocation is done through the range managed by the
	// vSphere platform.
	//
	// The IP addresses are allocated when needed, typically at
	// power-on, and deallocated during power-off. There is no guarantee that a
	// vApp will get the same IP address when restarted.
	VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy")
	// Specifies that IP addresses are configured manually when the vApp is deployed
	// and will be kept until reconfigured or the vApp destroyed.
	//
	// This will ensure
	// that a vApp gets a consistent IP for its life-time.
	VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy")
	// Specifies that IP allocation is done through the range managed by the VI
	// platform.
	//
	// The IP addresses are allocated at first power-on, and remain
	// allocated at power-off. This will ensure that a vApp gets a consistent
	// IP for its life-time.
	VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy")
)
View Source
const (
	// The vApp supports IPv4 protocol.
	VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4")
	// The vApp supports IPv6 protocol.
	VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6")
)
View Source
const (
	VFlashModuleNotSupportedReasonCacheModeNotSupported            = VFlashModuleNotSupportedReason("CacheModeNotSupported")
	VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported")
	VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported       = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported")
	VFlashModuleNotSupportedReasonCacheReservationNotSupported     = VFlashModuleNotSupportedReason("CacheReservationNotSupported")
	VFlashModuleNotSupportedReasonDiskSizeNotSupported             = VFlashModuleNotSupportedReason("DiskSizeNotSupported")
)
View Source
const (
	// The host's CPU features are compatible with the
	// the virtual machine's requirements.
	VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu")
	// The software platform on the host supports VMotion
	// and is compatible with the virtual machine.
	VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software")
)
View Source
const (
	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
	// `VmwareUplinkPortTeamingPolicy.policy`
	// in the vSphere Distributed Switch, and the external physical switch
	// has the matching EtherChannel configuration.
	VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch")
	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
	// `VmwareUplinkPortTeamingPolicy.policy`
	// in the vSphere Distributed Switch, and the external physical switch
	// does not have EtherChannel configuration.
	VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch")
	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
	// `VmwareUplinkPortTeamingPolicy.policy`
	// in the vSphere Distributed Switch, but the external physical switch
	// does not have the matching EtherChannel configuration.
	VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch")
	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
	// `VmwareUplinkPortTeamingPolicy.policy`
	// in the vSphere Distributed Switch, but the external physical switch
	// has EtherChannel configuration.
	VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch")
)
View Source
const (
	// Encapsulate original packets with GRE protocol
	VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre")
	// Encapsulate original packets with ERSPAN Type2 protocol
	VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2")
	// Encapsulate original packets with ERSPAN Type3 protocol
	VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3")
)
View Source
const (
	//
	//
	// Deprecated as of vSphere API 5.1.
	//
	// In mixedDestMirror session, Distributed Ports can be used as source entities,
	// and both Distributed Ports and Uplink Ports Name can be used as destination entities.
	VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror")
	// In dvPortMirror session, Distributed Ports can be used as both source
	// and destination entities.
	VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror")
	// In remoteMirrorSource session, Distributed Ports can be used as source entities,
	// and uplink ports name can be used as destination entities.
	VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource")
	// In remoteMirrorDest session, vlan Ids can be used as source entities,
	// and Distributed Ports can be used as destination entities.
	VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest")
	// In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities,
	// and Ip address can be used as destination entities.
	VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource")
)
View Source
const (
	//
	//
	// Deprecated as of vSphere API 7.0u1.
	//
	// One Link Aggregation Control Protocol group in the switch
	VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag")
	// Multiple Link Aggregation Control Protocol in the switch.
	VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag")
)
View Source
const (
	// Source MAC address
	VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac")
	// Destination MAC address
	VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac")
	// Source and destination MAC address
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac")
	// Destination IP and VLAN
	VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan")
	// Source IP and VLAN
	VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan")
	// Source and destination IP and VLAN
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan")
	// Destination TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort")
	// Source TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort")
	// Source and destination TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort")
	// Destination IP and TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort")
	// Source IP and TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort")
	// Source and destination IP and TCP/UDP port number
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort")
	// Destination IP, TCP/UDP port number and VLAN
	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan")
	// Source IP, TCP/UDP port number and VLAN
	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan")
	// Source and destination IP,
	// source and destination TCP/UDP port number and VLAN.
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan")
	// Destination IP
	VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp")
	// Source IP
	VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp")
	// Source and Destination IP
	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp")
	// VLAN only
	VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan")
	// Source Virtual Port Id
	VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId")
)
View Source
const (
	// Legacy filtering mode
	VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering")
	// IGMP/MLD snooping mode
	VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping")
)
View Source
const (
	// Link Aggregation Control Protocol always sends frames along the configured uplinks
	VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active")
	// Link Aggregation Control Protocol acts as "speak when spoken to".
	VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive")
)
View Source
const (
	// Set long timeout for vmnics in one LACP LAG.
	//
	// Device send fast LACPDUs
	VMwareUplinkLacpTimeoutModeFast = VMwareUplinkLacpTimeoutMode("fast")
	// Set short timeout for vmnics in one LACP LAG.
	//
	// Device send slow LACPDUs
	VMwareUplinkLacpTimeoutModeSlow = VMwareUplinkLacpTimeoutMode("slow")
)
View Source
const (
	// Tests that examine only the configuration
	// of the virtual machine and its current host; the destination
	// resource pool and host or cluster are irrelevant.
	ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests")
	// Tests that examine both the virtual
	// machine and the destination host or cluster; the destination
	// resource pool is irrelevant.
	//
	// This set excludes tests that fall
	// into the diskAccessibilityTests group.
	ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests")
	// Tests that check that the
	// destination host or cluster can see the datastores where the virtual
	// machine's virtual disks are currently located.
	//
	// The destination
	// resource pool is irrelevant. If you are planning to relocate the
	// virtual disks, do not use these tests; instead examine the relevant
	// datastore objects for your planned disk locations to see if they
	// are accessible to the destination host.
	ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests")
	// Tests that check that the destination resource
	// pool can support the virtual machine if it is powered on.
	//
	// The
	// destination host or cluster is relevant because it will affect the
	// amount of overhead memory required to run the virtual machine.
	ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests")
)
View Source
const (
	// VCHA Cluster is enabled.
	//
	// State replication between the Active and
	// Passive node is enabled and automatic failover is allowed.
	VchaClusterModeEnabled = VchaClusterMode("enabled")
	// VCHA Cluster is disabled.
	//
	// State replication between the Active and
	// Passive node is disabled and automatic failover is not allowed.
	VchaClusterModeDisabled = VchaClusterMode("disabled")
	// VCHA Cluster is in maintenance mode.
	//
	// State replication between the
	// Active and Passive node is enabled but automatic failover
	// is not allowed.
	VchaClusterModeMaintenance = VchaClusterMode("maintenance")
)
View Source
const (
	// All three nodes in a VCHA Cluster are healthy and connected.
	//
	// State
	// replication between Active and Passive node is working and both
	// nodes are in sync.
	VchaClusterStateHealthy = VchaClusterState("healthy")
	// A VCHA Cluster is said to be in a degraded state for
	// either or all of the following reasons:
	// \- There is a node loss.
	//
	// \- State replication between the Active and Passive node fails.
	VchaClusterStateDegraded = VchaClusterState("degraded")
	// All three nodes are isolated from each other.
	VchaClusterStateIsolated = VchaClusterState("isolated")
)
View Source
const (
	// Node is having a role of Active.
	//
	// In this role, node runs a vCenter
	// Server that serves client requests.
	VchaNodeRoleActive = VchaNodeRole("active")
	// Node is having a role of Passive.
	//
	// In this role node, runs as a standby
	// for the Active vCenter Server and receives state updates. This node
	// takes over the role of Active vCenter Server upon failover.
	VchaNodeRolePassive = VchaNodeRole("passive")
	// Node is having a role of Witness.
	//
	// In this role, node acts as a quorom
	// node for avoiding the classic split-brain problem.
	VchaNodeRoleWitness = VchaNodeRole("witness")
)
View Source
const (
	// Node is up and has joined the VCHA Cluster.
	VchaNodeStateUp = VchaNodeState("up")
	// Node is down and has left the VCHA Cluster.
	VchaNodeStateDown = VchaNodeState("down")
)
View Source
const (
	// VCHA cluster is configured.
	VchaStateConfigured = VchaState("configured")
	// VCHA cluster is not configured.
	VchaStateNotConfigured = VchaState("notConfigured")
	// VCHA cluster is in an invalid/dirty state.
	VchaStateInvalid = VchaState("invalid")
	// VC appliance has been prepared for VCHA cluster configuration.
	VchaStatePrepared = VchaState("prepared")
)
View Source
const (
	// The vApp is currently powered on .
	VirtualAppVAppStateStarted = VirtualAppVAppState("started")
	// The vApp is currently powered off or suspended.
	VirtualAppVAppStateStopped = VirtualAppVAppState("stopped")
	// The vApp is in the process of starting.
	VirtualAppVAppStateStarting = VirtualAppVAppState("starting")
	// The vApp is in the process of stopping.
	VirtualAppVAppStateStopping = VirtualAppVAppState("stopping")
)
View Source
const (
	VirtualDeviceConfigSpecChangeModeFail = VirtualDeviceConfigSpecChangeMode("fail")
	VirtualDeviceConfigSpecChangeModeSkip = VirtualDeviceConfigSpecChangeMode("skip")
)
View Source
const (
	// Specifies the creation of the device backing; for example,
	// the creation of a virtual disk or floppy image file.
	VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create")
	// Specifies the destruction of a device backing.
	VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy")
	// Specifies the deletion of the existing backing for a virtual device
	// and the creation of a new backing.
	VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace")
)
View Source
const (
	// Specifies the addition of a virtual device to the configuration.
	VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add")
	// Specifies the removal of a virtual device.
	VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove")
	// Specifies changes to the virtual device specification.
	VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit")
)
View Source
const (
	// Attempt to connect the virtual device when the virtual machine
	// restores from a migration.
	//
	// This property has no effect if it
	// is set on a device that is already connected.
	VirtualDeviceConnectInfoMigrateConnectOpConnect = VirtualDeviceConnectInfoMigrateConnectOp("connect")
	// Attempt to disconnect the virtual device when the virtual machine
	// restores from a migration.
	//
	// This property has no effect if it
	// is set on a device that is already disconnected.
	VirtualDeviceConnectInfoMigrateConnectOpDisconnect = VirtualDeviceConnectInfoMigrateConnectOp("disconnect")
	// Unset the property, which resets the device to its default state.
	//
	// Under most circumstances, a device will return to the same
	// connection state before the migration was initiated.
	VirtualDeviceConnectInfoMigrateConnectOpUnset = VirtualDeviceConnectInfoMigrateConnectOp("unset")
)
View Source
const (
	// The device is working correctly.
	VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok")
	// The device has reported a recoverable error.
	//
	// For example,
	// attempting to connect to floppy device that is being used by
	// another virtual machine or some other program would result in
	// this status.
	VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError")
	// The device cannot be used.
	//
	// For example, attempting to connect to
	// a floppy device that does not exist would result in this status.
	VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError")
	// The device status is unknown, or it has not been requested to
	// connect when the VM is powered on.
	VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried")
)
View Source
const (
	// CD ISO Image backings
	VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso")
	// Floppy File Backings
	VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp")
	// virtual disks
	VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk")
	// legacy virtual disks
	VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk")
	// pre 3.0 virtual disks using Raw Disk Maps
	VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm")
)
View Source
const (
	// Indicates that the virtual machine can listen for a connection
	// on the specified `VirtualDeviceURIBackingInfo.serviceURI`.
	VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server")
	// Indicates that the virtual machine can initiate a connection
	// with a system on the network using the specified
	// `VirtualDeviceURIBackingInfo.serviceURI`.
	VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client")
)
View Source
const (
	// Use IDE emulation for the virtual disk
	VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide")
	// Use BusLogic emulation for the virtual disk
	VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic")
	// Use LSILogic emulation for the virtual disk
	VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic")
)
View Source
const (
	// A disk device backed by a virtual compatibility mode raw disk mapping can
	// use disk modes.
	//
	// See also `VirtualDiskMode_enum`.
	VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode")
	// A disk device backed by a physical compatibility mode raw disk mapping cannot
	// use disk modes, and commands are passed straight through to the LUN
	// indicated by the raw disk mapping.
	VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode")
)
View Source
const (
	// redo-log based format
	VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat")
	// native snapshot format
	VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat")
	// Flex-SE redo-log based format
	VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat")
)
View Source
const (
	// vmfsSparse based redo-log format
	VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant")
	// vsanSparse based redo-log format
	VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant")
)
View Source
const (
	// Changes are immediately and permanently written to the virtual disk.
	VirtualDiskModePersistent = VirtualDiskMode("persistent")
	// Changes to virtual disk are made to a redo log and discarded at power off.
	VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent")
	// Changes are made to a redo log, but you are given the option to commit or undo.
	VirtualDiskModeUndoable = VirtualDiskMode("undoable")
	// Same as persistent, but not affected by snapshots.
	VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent")
	// Same as nonpersistent, but not affected by snapshots.
	VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent")
	// Changes are appended to the redo log; you revoke changes by removing the undo log.
	VirtualDiskModeAppend = VirtualDiskMode("append")
)
View Source
const (
	// Virtual disks in the list are grouped together and placed on
	// the same data store.
	VirtualDiskRuleSpecRuleTypeAffinity = VirtualDiskRuleSpecRuleType("affinity")
	// Virtual disks in the list are placed on different data stores.
	VirtualDiskRuleSpecRuleTypeAntiAffinity = VirtualDiskRuleSpecRuleType("antiAffinity")
	// SDRS will be disabled for the disks in the list.
	VirtualDiskRuleSpecRuleTypeDisabled = VirtualDiskRuleSpecRuleType("disabled")
)
View Source
const (
	// The virtual disk is not shared.
	VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone")
	// The virtual disk is shared between multiple virtual machines.
	VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter")
)
View Source
const (
	// A preallocated disk has all space allocated at creation time
	// and the space is zeroed on demand as the space is used.
	VirtualDiskTypePreallocated = VirtualDiskType("preallocated")
	// Space required for thin-provisioned virtual disk is allocated and
	// zeroed on demand as the space is used.
	VirtualDiskTypeThin = VirtualDiskType("thin")
	// A sparse (allocate on demand) format with additional space
	// optimizations.
	VirtualDiskTypeSeSparse = VirtualDiskType("seSparse")
	// Virtual compatibility mode raw disk mapping.
	//
	// An rdm virtual disk
	// grants access to the entire raw disk and the virtual disk can
	// participate in snapshots.
	VirtualDiskTypeRdm = VirtualDiskType("rdm")
	// Physical compatibility mode (pass-through) raw disk mapping.
	//
	// An rdmp
	// virtual disk passes SCSI commands directly to the hardware, but the
	// virtual disk cannot participate in snapshots.
	VirtualDiskTypeRdmp = VirtualDiskType("rdmp")
	// Raw device.
	VirtualDiskTypeRaw = VirtualDiskType("raw")
	// A redo log disk.
	//
	// This format is only applicable as a destination format
	// in a clone operation, and not usable for disk creation.
	VirtualDiskTypeDelta = VirtualDiskType("delta")
	// A sparse disk with 2GB maximum extent size.
	//
	// Disks in this format
	// can be used with other VMware products. The 2GB extent size
	// makes these disks easier to burn to dvd or use on filesystems that
	// don't support large files. This format is only applicable as a
	// destination format in a clone operation, and not usable for disk
	// creation.
	VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb")
	// A thick disk with 2GB maximum extent size.
	//
	// Disks in this format
	// can be used with other VMware products. The 2GB extent size
	// makes these disks easier to burn to dvd or use on filesystems that
	// don't support large files. This format is only applicable as a
	// destination format in a clone operation, and not usable for disk
	// creation.
	VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb")
	// An eager zeroed thick disk has all space allocated and wiped clean
	// of any previous contents on the physical media at creation time.
	//
	// Such disks may take longer time during creation compared to other
	// disk formats.
	VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick")
	// A sparse monolithic disk.
	//
	// Disks in this format can be used with other
	// VMware products. This format is only applicable as a destination
	// format in a clone operation, and not usable for disk creation.
	VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic")
	// A preallocated monolithic disk.
	//
	// Disks in this format can be used with
	// other VMware products. This format is only applicable as a destination
	// format in a clone operation, and not usable for disk creation.
	VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic")
	//
	//
	// Deprecated as of vSphere API 4.x, use `eagerZeroedThick` instead
	// for clustering application, and `preallocated` for other applications.
	//
	// A thick disk has all space allocated at creation time.
	//
	// This
	// space may contain stale data on the physical media. Thick disks
	// are primarily used for virtual machine clustering, but they are
	// generally insecure and should not be used. Due to better performance
	// and security properties, the use of the 'preallocated' format is
	// preferred over this format.
	VirtualDiskTypeThick = VirtualDiskType("thick")
)
View Source
const (
	// With strong consistency, it ensures that
	// a crash will leave the cache data consistent.
	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong")
	// Cache data consistency is not guaranteed after a crash.
	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak")
)
View Source
const (
	// In write-through cache mode, writes to the cache cause writes
	// to the underlying storage.
	//
	// The cache acts as a facade to the underlying
	// storage.
	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru")
	// In write-back mode, writes to the cache do not go to the underlying storage
	// right away.
	//
	// Cache holds data temporarily till it can be permanently saved or
	// otherwise modified.
	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back")
)
View Source
const (
	VirtualEthernetCardLegacyNetworkDeviceNameBridged  = VirtualEthernetCardLegacyNetworkDeviceName("bridged")
	VirtualEthernetCardLegacyNetworkDeviceNameNat      = VirtualEthernetCardLegacyNetworkDeviceName("nat")
	VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly")
)
View Source
const (
	// A statistically assigned MAC address.
	VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual")
	// An automatically generated MAC address.
	VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated")
	// A MAC address assigned by VirtualCenter.
	VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned")
)
View Source
const (
	// Single i440BX host bridge.
	VirtualHardwareMotherboardLayoutI440bxHostBridge = VirtualHardwareMotherboardLayout("i440bxHostBridge")
	// Multiple ACPI host bridges.
	VirtualHardwareMotherboardLayoutAcpiHostBridges = VirtualHardwareMotherboardLayout("acpiHostBridges")
)
View Source
const (
	// Heartbeat status is disabled
	VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray")
	// Heartbeat status is OK
	VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen")
	// Heartbeating has stopped
	VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed")
)
View Source
const (
	// PXE (or Apple NetBoot) over IPv4.
	//
	// The default.
	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4")
	// PXE over IPv6.
	//
	// Only meaningful for EFI virtual machines.
	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6")
)
View Source
const (
	// The virtual TPM is copied.
	//
	// The virtual machine clone will have access
	// to the original virtual machine's TPM secrets.
	VirtualMachineCloneSpecTpmProvisionPolicyCopy = VirtualMachineCloneSpecTpmProvisionPolicy("copy")
	// The virtual TPM is replaced with a new one.
	//
	// The virtual machine clone
	// will not have access to the original virtual machine's TPM secrets.
	VirtualMachineCloneSpecTpmProvisionPolicyReplace = VirtualMachineCloneSpecTpmProvisionPolicy("replace")
)
View Source
const (
	// This set of WWNs is generated by VC server.
	VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc")
	// This set of WWNs is generated by Host Agent.
	VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host")
	// This set of WWNs is provided by the client.
	VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external")
)
View Source
const (
	// Honor the virtual machine swapfile placement policy of the compute
	// resource that contains this virtual machine.
	VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit")
	// Store the swapfile in the same directory as the virtual machine.
	VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory")
	// Store the swapfile in the datastore specified by the
	// `localSwapDatastore`
	// property of the virtual machine's host, if that property is set and
	// indicates a datastore with sufficient free space.
	//
	// Otherwise store the
	// swapfile in the same directory as the virtual machine.
	//
	// Note: This setting may degrade VMotion performance.
	VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal")
)
View Source
const (
	// Do not use encrypted Fault Tolerance, even if available.
	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionDisabled")
	// Use encrypted Fault Tolerance if source and destination hosts
	// support it, fall back to unencrypted Fault Tolerance otherwise.
	//
	// This is the default option.
	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionOpportunistic")
	// Allow only encrypted Fault Tolerance.
	//
	// If either the source or
	// destination host does not support encrypted Fault Tolerance,
	// do not allow the Fault Tolerance to occur.
	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionRequired")
)
View Source
const (
	// Do not use encrypted vMotion, even if available.
	VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled")
	// Use encrypted vMotion if source and destination hosts support it,
	// fall back to unencrypted vMotion otherwise.
	//
	// This is the default option.
	VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic")
	// Allow only encrypted vMotion.
	//
	// If the source or destination host does
	// not support vMotion encryption, do not allow the vMotion to occur.
	VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required")
)
View Source
const (
	// Generate a new set of WWNs and assign it to the virtual machine.
	VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate")
	// Take a client-specified set of WWNs (specified in "wwn" property) and
	// assign them to the virtual machine.
	//
	// If the new WWN quntity are more
	// than existing then we will append them to the existing list of WWNs.
	VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set")
	// Remove the currently assigned WWNs from the virtual machine.
	VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove")
	// Generate a new set of WWNs and append them to the existing list
	VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend")
)
View Source
const (
	// The server has access to the virtual machine.
	VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected")
	// The server is currently disconnected from the virtual machine, since its
	// host is disconnected.
	//
	// See general comment for this enumerated type for more
	// details.
	VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected")
	// The virtual machine is no longer registered on the host it is associated
	// with.
	//
	// For example, a virtual machine that is unregistered or deleted
	// directly on a host managed by VirtualCenter shows up in this state.
	VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned")
	// One or more of the virtual machine configuration files are inaccessible.
	//
	// For
	// example, this can be due to transient disk failures. In this case, no
	// configuration can be returned for a virtual machine.
	VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible")
	// The virtual machine configuration format is invalid.
	//
	// Thus, it is accessible
	// on disk, but corrupted in a way that does not allow the server to read the
	// content. In this case, no configuration can be returned for a virtual
	// machine.
	VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid")
)
View Source
const (
	// The virtual machine is in unlocked state.
	VirtualMachineCryptoStateUnlocked = VirtualMachineCryptoState("unlocked")
	// The virtual machine is in locked state for the configuration key missing
	// on the ESX host where the VM is registered.
	VirtualMachineCryptoStateLocked = VirtualMachineCryptoState("locked")
)
View Source
const (
	// The virtual machine's host does not support VMDirectPath Gen 2.
	//
	// See also `HostCapability.vmDirectPathGen2Supported`.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost")
	// The configuration or state of the attached network prevents
	// VMDirectPath Gen 2.
	//
	// Refer to
	// `vmDirectPathGen2InactiveReasonNetwork`
	// and/or
	// `vmDirectPathGen2InactiveReasonExtended`
	// in the RuntimeInfo of the DistributedVirtualPort connected to this
	// device.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork")
)
View Source
const (
	// The virtual machine's guest OS does not support
	// VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest")
	// The virtual machine's guest network driver does not support
	// VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver")
	// The device type does not support VMDirectPath Gen 2.
	//
	// See also `VirtualEthernetCardOption.vmDirectPathGen2Supported`.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType")
	// The virtual machine's network adapter is disabled or
	// disconnected, and thus is not participating in VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter")
	// The virtual machine's network adapter has features enabled
	// which preclude it participating in VMDirectPath Gen 2 such
	// as INT-x or PXE booting.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures")
	// The device backing is not a DistributedVirtualPortBacking.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType")
	// The virtual machine does not have full memory reservation
	// required to activate VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation")
	//
	//
	// Deprecated as of vSphere API 6.0.
	//
	// The virtual machine is configured for Fault Tolerance or
	// Record &amp; Replay, which prevents VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured")
	// Some networking feature has placed a conflicting IOChain on
	// the network adapter, which prevents VMDirectPath Gen 2.
	//
	// Examples
	// include DVFilter.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured")
	// The virtual machine monitor is exercising functionality which
	// which prevents VMDirectPath Gen 2.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks")
	// VMDirectPath Gen 2 is temporarily suspended while the virtual
	// machine executes an operation such as suspend.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress")
	// VMDirectPath Gen 2 is unavailable due to an unforeseen runtime error
	// in the virtualization platform (typically resource constraints.)
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError")
	// VMDirectPath Gen 2 is unavailable due to host run out of intr
	// vector in host.
	//
	// Guest can configure the vNIC to use less rx/tx
	// queues or use MSI instead of MSIX.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector")
	// VMDirectPath Gen 2 is unavailable due to Incompatibe feature
	// VMCI is active in the current VM.
	//
	// Kill the relevant VMCI
	// application(s) and restart the VM will allow the vNIC(s) to enter
	// passthrough mode.
	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive")
)
View Source
const (
	// This state indicates that the virtual machine has not been
	// configured for fault tolerance.
	VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured")
	// For a virtual machine that is the primary in a fault tolerant group,
	// this state indicates that the virtual machine has at least one
	// registered secondary, but no secondary is enabled.
	//
	// For a virtual machine that is the secondary in a fault tolerant
	// group, this state indicates that the secondary is disabled.
	VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled")
	// For a virtual machine that is the primary in a fault tolerant group,
	// this state indicates that the virtual machine is not currently
	// powered on, but has at least one enabled secondary
	// For a virtual machine that is the secondary in a fault tolerant
	// group, this state indicates that the secondary is enabled, but is
	// not currently powered on.
	VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled")
	// For a virtual machine that is the primary in a fault tolerant group,
	// this state indicates that the virtual machine is powered on and
	// has at least one enabled secondary, but no secondary is currently
	// active.
	//
	// This state is not valid for a virtual machine that is a secondary
	// in a fault tolerant group.
	VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary")
	// For a virtual machine that is the primary in a fault tolerant group,
	// this state indicates that the virtual machine is powered on and has
	// at least one secondary that is synchronizing its state with the
	// primary.
	//
	// For a virtual machine that is the secondary in a fault tolerant
	// group, this state indicates that the secondary is powered on and is
	// synchronizing its state with the primary virtual machine.
	VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting")
	// This state indicates that the virtual machine is running with fault
	// tolerance protection.
	VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running")
)
View Source
const (
	// FT not set
	VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset")
	// Record/replay
	VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay")
	// Checkpointing
	VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing")
)
View Source
const (
	// Config (vmx) file.
	VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config")
	// Extended config (vmxf) file.
	VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig")
	// Disk descriptor (vmdk) file.
	VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor")
	// Disk extent (-flat/-delta/-s/-rdm/-rdmp.vmdk) file.
	VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent")
	// Disk digest descriptor file.
	VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor")
	// Disk digest extent file.
	VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent")
	// Host based replicated disk persistent state (psf) file.
	VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState")
	// Log (log) file.
	VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log")
	// Virtual machine statistics (stat) file.
	VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat")
	// Namespace data file.
	VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData")
	// DataSets disk mode store (dsd) file.
	VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore = VirtualMachineFileLayoutExFileType("dataSetsDiskModeStore")
	// DataSets vm mode store (dsv) file.
	VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore = VirtualMachineFileLayoutExFileType("dataSetsVmModeStore")
	// Non-volatile RAM (nvram) file.
	VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram")
	// Snapshot data (vmsn) file.
	VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData")
	// Snapshot memory (vmem) file.
	VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory")
	// Snapshot metadata (vmsd) file.
	VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList")
	// Snapshot manifest metadata (-aux.xml) file.
	//
	// This file is still being created but is no longer necessary since
	// the manifest metadata is now available in the snapshot metadata
	// (vmsd) file in vSphere 5.0. This type will be deprecated when
	// vSphere 4.1 is no longer supported.
	VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList")
	// Suspend (vmss) file.
	VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend")
	// Suspend (vmem) file.
	VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory")
	// Swap (vswp) file.
	VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap")
	// File generated by VMware ESX kernel for a running virtual
	// machine.
	VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap")
	// Core (core) file.
	VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core")
	// Screenshot file.
	VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot")
	// Fault Tolerance metadata file.
	VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata")
	// Guest image customization file.
	VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization")
)
View Source
const (
	// Run vmx in default mode, matching the build type of vmkernel.
	VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release")
	// Run vmx in debug mode.
	VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug")
	// Run vmx in stats mode.
	VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats")
)
View Source
const (
	// Determine automatically whether to use hardware virtualization (HV) support.
	VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto")
	// Use hardware virtualization (HV) support if the physical hardware supports it.
	VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn")
	// Do not use hardware virtualization (HV) support.
	VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff")
)
View Source
const (
	// Determine automatically whether to use nested page table hardware support.
	VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic")
	// Use nested paging hardware support if the physical hardware supports it.
	VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on")
	// Do not use nested page table hardware support.
	VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off")
)
View Source
const (
	// The virtual machine is not a child.
	VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none")
	// The virtual machine is a persistent child.
	VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent")
	// The virtual machine is a non-persistent child.
	VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent")
)
View Source
const (
	// Windows operating system
	VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest")
	// Linux operating system
	VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest")
	// Novell Netware
	VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest")
	// Solaris operating system
	VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest")
	// Mac OS operating system
	VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily")
	// Other operating systems
	VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily")
)
View Source
const (
	// MS-DOS.
	VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest")
	// Windows 3.1
	VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest")
	// Windows 95
	VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest")
	// Windows 98
	VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest")
	// Windows Millennium Edition
	VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest")
	// Windows NT 4
	VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest")
	// Windows 2000 Professional
	VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest")
	// Windows 2000 Server
	VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest")
	// Windows 2000 Advanced Server
	VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest")
	// Windows XP Home Edition
	VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest")
	// Windows XP Professional
	VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest")
	// Windows XP Professional Edition (64 bit)
	VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest")
	// Windows Server 2003, Web Edition
	VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest")
	// Windows Server 2003, Standard Edition
	VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest")
	// Windows Server 2003, Enterprise Edition
	VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest")
	// Windows Server 2003, Datacenter Edition
	VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest")
	// Windows Small Business Server 2003
	VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest")
	// Windows Server 2003, Standard Edition (64 bit)
	VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest")
	// Windows Server 2003, Enterprise Edition (64 bit)
	VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest")
	// Windows Longhorn
	VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest")
	// Windows Longhorn (64 bit)
	VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest")
	// Windows Server 2003, Datacenter Edition (64 bit)
	VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest")
	// Windows Vista
	VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest")
	// Windows Vista (64 bit)
	VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest")
	// Windows 7
	VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest")
	// Windows 7 (64 bit)
	VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest")
	// Windows Server 2008 R2 (64 bit)
	VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest")
	// Windows 8
	VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest")
	// Windows 8 (64 bit)
	VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest")
	// Windows 8 Server (64 bit)
	VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest")
	// Windows 10
	VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest")
	// Windows 10 (64 bit)
	VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest")
	// Windows 10 Server (64 bit)
	VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest")
	// Windows 11
	VirtualMachineGuestOsIdentifierWindows11_64Guest = VirtualMachineGuestOsIdentifier("windows11_64Guest")
	// Windows 12
	VirtualMachineGuestOsIdentifierWindows12_64Guest = VirtualMachineGuestOsIdentifier("windows12_64Guest")
	// Windows Hyper-V
	VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest")
	// Windows Server 2019
	VirtualMachineGuestOsIdentifierWindows2019srv_64Guest = VirtualMachineGuestOsIdentifier("windows2019srv_64Guest")
	// Windows Server 2022
	VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2019srvNext_64Guest")
	// Windows Server 2025
	VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2022srvNext_64Guest")
	// FreeBSD
	VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest")
	// FreeBSD x64
	VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest")
	// FreeBSD 11
	VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest")
	// FreeBSD 11 x64
	VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest")
	// FreeBSD 12
	VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest")
	// FreeBSD 12 x64
	VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest")
	// FreeBSD 13
	VirtualMachineGuestOsIdentifierFreebsd13Guest = VirtualMachineGuestOsIdentifier("freebsd13Guest")
	// FreeBSD 13 x64
	VirtualMachineGuestOsIdentifierFreebsd13_64Guest = VirtualMachineGuestOsIdentifier("freebsd13_64Guest")
	// FreeBSD 14
	VirtualMachineGuestOsIdentifierFreebsd14Guest = VirtualMachineGuestOsIdentifier("freebsd14Guest")
	// FreeBSD 14 x64
	VirtualMachineGuestOsIdentifierFreebsd14_64Guest = VirtualMachineGuestOsIdentifier("freebsd14_64Guest")
	// Red Hat Linux 2.1
	VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest")
	// Red Hat Enterprise Linux 2
	VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest")
	// Red Hat Enterprise Linux 3
	VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest")
	// Red Hat Enterprise Linux 3 (64 bit)
	VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest")
	// Red Hat Enterprise Linux 4
	VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest")
	// Red Hat Enterprise Linux 4 (64 bit)
	VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest")
	// Red Hat Enterprise Linux 5
	VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest")
	// Red Hat Enterprise Linux 5 (64 bit)
	VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest")
	// Red Hat Enterprise Linux 6
	VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest")
	// Red Hat Enterprise Linux 6 (64 bit)
	VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest")
	// Red Hat Enterprise Linux 7
	VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest")
	// Red Hat Enterprise Linux 7 (64 bit)
	VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest")
	// Red Hat Enterprise Linux 8 (64 bit)
	VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_64Guest")
	// Red Hat Enterprise Linux 9 (64 bit)
	VirtualMachineGuestOsIdentifierRhel9_64Guest = VirtualMachineGuestOsIdentifier("rhel9_64Guest")
	// CentOS 4/5
	VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest")
	// CentOS 4/5 (64-bit)
	VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest")
	// CentOS 6
	VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest")
	// CentOS 6 (64-bit)
	VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest")
	// CentOS 7
	VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest")
	// CentOS 7 (64-bit)
	VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest")
	// CentOS 8 (64-bit)
	VirtualMachineGuestOsIdentifierCentos8_64Guest = VirtualMachineGuestOsIdentifier("centos8_64Guest")
	// CentOS 9 (64-bit)
	VirtualMachineGuestOsIdentifierCentos9_64Guest = VirtualMachineGuestOsIdentifier("centos9_64Guest")
	// Oracle Linux 4/5
	VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest")
	// Oracle Linux 4/5 (64-bit)
	VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest")
	// Oracle 6
	VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest")
	// Oracle 6 (64-bit)
	VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest")
	// Oracle 7
	VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest")
	// Oracle 7 (64-bit)
	VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest")
	// Oracle 8 (64-bit)
	VirtualMachineGuestOsIdentifierOracleLinux8_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux8_64Guest")
	// Oracle 9 (64-bit)
	VirtualMachineGuestOsIdentifierOracleLinux9_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux9_64Guest")
	// Suse Linux
	VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest")
	// Suse Linux (64 bit)
	VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest")
	// Suse Linux Enterprise Server 9
	VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest")
	// Suse Linux Enterprise Server 9 (64 bit)
	VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest")
	// Suse linux Enterprise Server 10
	VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest")
	// Suse Linux Enterprise Server 10 (64 bit)
	VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest")
	// Suse linux Enterprise Server 11
	VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest")
	// Suse Linux Enterprise Server 11 (64 bit)
	VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest")
	// Suse linux Enterprise Server 12
	VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest")
	// Suse Linux Enterprise Server 12 (64 bit)
	VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest")
	// Suse Linux Enterprise Server 15 (64 bit)
	VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest")
	// Suse Linux Enterprise Server 16 (64 bit)
	VirtualMachineGuestOsIdentifierSles16_64Guest = VirtualMachineGuestOsIdentifier("sles16_64Guest")
	// Novell Linux Desktop 9
	VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest")
	// Open Enterprise Server
	VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest")
	// Sun Java Desktop System
	VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest")
	// Mandrake Linux
	VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest")
	// Mandriva Linux
	VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest")
	// Mandriva Linux (64 bit)
	VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest")
	// Turbolinux
	VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest")
	// Turbolinux (64 bit)
	VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest")
	// Ubuntu Linux
	VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest")
	// Ubuntu Linux (64 bit)
	VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest")
	// Debian GNU/Linux 4
	VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest")
	// Debian GNU/Linux 4 (64 bit)
	VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest")
	// Debian GNU/Linux 5
	VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest")
	// Debian GNU/Linux 5 (64 bit)
	VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest")
	// Debian GNU/Linux 6
	VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest")
	// Debian GNU/Linux 6 (64 bit)
	VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest")
	// Debian GNU/Linux 7
	VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest")
	// Debian GNU/Linux 7 (64 bit)
	VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest")
	// Debian GNU/Linux 8
	VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest")
	// Debian GNU/Linux 8 (64 bit)
	VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest")
	// Debian GNU/Linux 9
	VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest")
	// Debian GNU/Linux 9 (64 bit)
	VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest")
	// Debian GNU/Linux 10
	VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest")
	// Debian GNU/Linux 10 (64 bit)
	VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest")
	// Debian GNU/Linux 11
	VirtualMachineGuestOsIdentifierDebian11Guest = VirtualMachineGuestOsIdentifier("debian11Guest")
	// Debian GNU/Linux 11 (64 bit)
	VirtualMachineGuestOsIdentifierDebian11_64Guest = VirtualMachineGuestOsIdentifier("debian11_64Guest")
	// Debian GNU/Linux 12
	VirtualMachineGuestOsIdentifierDebian12Guest = VirtualMachineGuestOsIdentifier("debian12Guest")
	// Debian GNU/Linux 12 (64 bit)
	VirtualMachineGuestOsIdentifierDebian12_64Guest = VirtualMachineGuestOsIdentifier("debian12_64Guest")
	// Asianux Server 3
	VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest")
	// Asianux Server 3 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest")
	// Asianux Server 4
	VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest")
	// Asianux Server 4 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest")
	// Asianux Server 5 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest")
	// Asianux Server 7 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest")
	// Asianux Server 8 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest")
	// Asianux Server 9 (64 bit)
	VirtualMachineGuestOsIdentifierAsianux9_64Guest = VirtualMachineGuestOsIdentifier("asianux9_64Guest")
	// OpenSUSE Linux
	VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest")
	// OpenSUSE Linux (64 bit)
	VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest")
	// Fedora Linux
	VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest")
	// Fedora Linux (64 bit)
	VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest")
	// CoreOS Linux (64 bit)
	VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest")
	// VMware Photon (64 bit)
	VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest")
	// Linux 2.4x Kernel
	VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest")
	// Linux 2.6x Kernel
	VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest")
	// Linux 2.2x Kernel
	VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest")
	// Linux 3.x Kernel
	VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest")
	// Linux 4.x Kernel
	VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest")
	// Linux 5.x Kernel
	VirtualMachineGuestOsIdentifierOther5xLinuxGuest = VirtualMachineGuestOsIdentifier("other5xLinuxGuest")
	// Linux 6.x Kernel
	VirtualMachineGuestOsIdentifierOther6xLinuxGuest = VirtualMachineGuestOsIdentifier("other6xLinuxGuest")
	// Other Linux
	VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest")
	// Linux 2.4.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest")
	// Linux 2.6.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest")
	// Linux 3.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest")
	// Linux 4.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest")
	// Linux 5.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther5xLinux64Guest = VirtualMachineGuestOsIdentifier("other5xLinux64Guest")
	// Linux 6.x Kernel (64 bit)
	VirtualMachineGuestOsIdentifierOther6xLinux64Guest = VirtualMachineGuestOsIdentifier("other6xLinux64Guest")
	// Linux (64 bit)
	VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest")
	// Solaris 6
	VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest")
	// Solaris 7
	VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest")
	// Solaris 8
	VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest")
	// Solaris 9
	VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest")
	// Solaris 10 (32 bit)
	VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest")
	// Solaris 10 (64 bit)
	VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest")
	// Solaris 11 (64 bit)
	VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest")
	// OS/2
	VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest")
	// eComStation 1.x
	VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest")
	// eComStation 2.0
	VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest")
	// Novell NetWare 4
	VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest")
	// Novell NetWare 5.1
	VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest")
	// Novell NetWare 6.x
	VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest")
	// SCO OpenServer 5
	VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest")
	// SCO OpenServer 6
	VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest")
	// SCO UnixWare 7
	VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest")
	// Mac OS 10.5
	VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest")
	// Mac OS 10.5 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest")
	// Mac OS 10.6
	VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest")
	// Mac OS 10.6 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest")
	// Mac OS 10.7
	VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest")
	// Mac OS 10.7 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest")
	// Mac OS 10.8 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest")
	// Mac OS 10.9 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest")
	// Mac OS 10.10 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest")
	// Mac OS 10.11 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest")
	// Mac OS 10.12 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest")
	// macOS 10.13 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin17_64Guest = VirtualMachineGuestOsIdentifier("darwin17_64Guest")
	// macOS 10.14 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin18_64Guest = VirtualMachineGuestOsIdentifier("darwin18_64Guest")
	// macOS 10.15 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin19_64Guest = VirtualMachineGuestOsIdentifier("darwin19_64Guest")
	// macOS 11 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin20_64Guest = VirtualMachineGuestOsIdentifier("darwin20_64Guest")
	// macOS 12 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin21_64Guest = VirtualMachineGuestOsIdentifier("darwin21_64Guest")
	// macOS 13 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin22_64Guest = VirtualMachineGuestOsIdentifier("darwin22_64Guest")
	// macOS 14 (64 bit)
	VirtualMachineGuestOsIdentifierDarwin23_64Guest = VirtualMachineGuestOsIdentifier("darwin23_64Guest")
	// VMware ESX 4
	VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest")
	// VMware ESX 5
	VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest")
	// VMware ESX 6
	VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest")
	// VMware ESXi 6.5 AND ESXi 6.7.
	VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest")
	// VMware ESX 7
	VirtualMachineGuestOsIdentifierVmkernel7Guest = VirtualMachineGuestOsIdentifier("vmkernel7Guest")
	// VMware ESX 8
	VirtualMachineGuestOsIdentifierVmkernel8Guest = VirtualMachineGuestOsIdentifier("vmkernel8Guest")
	// Amazon Linux 2 (64 bit)
	VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux2_64Guest")
	// Amazon Linux 3 (64 bit)
	VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux3_64Guest")
	// CRX Pod 1
	VirtualMachineGuestOsIdentifierCrxPod1Guest = VirtualMachineGuestOsIdentifier("crxPod1Guest")
	// Rocky Linux (64-bit)
	VirtualMachineGuestOsIdentifierRockylinux_64Guest = VirtualMachineGuestOsIdentifier("rockylinux_64Guest")
	// AlmaLinux (64-bit)
	VirtualMachineGuestOsIdentifierAlmalinux_64Guest = VirtualMachineGuestOsIdentifier("almalinux_64Guest")
	// Other Operating System
	VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest")
	// Other Operating System (64 bit)
	VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64")
)
View Source
const (
	VirtualMachineGuestStateRunning      = VirtualMachineGuestState("running")
	VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown")
	VirtualMachineGuestStateResetting    = VirtualMachineGuestState("resetting")
	VirtualMachineGuestStateStandby      = VirtualMachineGuestState("standby")
	VirtualMachineGuestStateNotRunning   = VirtualMachineGuestState("notRunning")
	VirtualMachineGuestStateUnknown      = VirtualMachineGuestState("unknown")
)
View Source
const (
	// VCPUs may freely share cores at any time with any other
	// VCPUs (default for all virtual machines on a hyperthreaded
	// system).
	VirtualMachineHtSharingAny = VirtualMachineHtSharing("any")
	// VCPUs should not share cores with each other or with VCPUs
	// from other virtual machines.
	//
	// That is, each VCPU from this
	// virtual machine should always get a whole core to itself,
	// with the other logical CPU on that core being placed into
	// the "halted" state.
	VirtualMachineHtSharingNone = VirtualMachineHtSharing("none")
	// Similar to "none", in that VCPUs from this virtual machine
	// will not be allowed to share cores with VCPUs from other
	// virtual machines.
	//
	// However, other VCPUs from the same virtual
	// machine will be allowed to share cores together. This
	// configuration option is only permitted for SMP virtual
	// machines. If applied to a uniprocessor virtual machine, it
	// will be converted to the "none" sharing option.
	VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal")
)
View Source
const (
	// Fit all virtual machine memory into reserved host memory.
	VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone")
	// Allow some virtual machine memory to be swapped.
	VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome")
	// Allow most virtual machine memory to be swapped.
	VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost")
)
View Source
const (
	// Create or update the Metadata for the specified VM
	VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update")
	// Remove the Metadata for the specified VM
	VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove")
)
View Source
const (
	// The task of moving this virtual machine is low priority.
	VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority")
	// The task of moving this virtual machine is high priority.
	VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority")
	// The task of moving this virtual machine is the default priority.
	VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority")
)
View Source
const (
	// Initializing FT
	VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing")
	// Divergence
	VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence")
	// Lose connection to secondary
	VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection")
	// Partial hardware failure
	VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure")
	// Terminated by user
	VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction")
	// Checkpoint error
	VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError")
	// All other reasons
	VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other")
)
View Source
const (
	// Just power off the virtual machine.
	VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff")
	// Revert to the snapshot.
	VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert")
	// Prompt the user for instructions at power-off time.
	VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt")
	// Take a new snapshot.
	VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take")
)
View Source
const (
	VirtualMachinePowerOpTypeSoft   = VirtualMachinePowerOpType("soft")
	VirtualMachinePowerOpTypeHard   = VirtualMachinePowerOpType("hard")
	VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset")
)
View Source
const (
	// The virtual machine is currently powered off.
	VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff")
	// The virtual machine is currently powered on.
	VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn")
	// The virtual machine is currently suspended.
	VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended")
)
View Source
const (
	// The virtual machine is recording.
	VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording")
	// The virtual machine is replaying.
	VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying")
	// The virtual machine is currently not participating
	// in record or replay.
	VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive")
)
View Source
const (
	// All of the virtual disk's backings should be moved to the new datastore.
	//
	// If a disk backing is not the child-most backing of this virtual machine,
	// and there exists a read-only disk backing with the same content ID
	// on the target datastore, then this disk backing may not be copied. Instead
	// it is acceptable to attach to the read-only disk backing at the target
	// datastore. A read-only disk backing is defined as a virtual disk
	// backing which no virtual machine is currently writing to.
	//
	// See also `VirtualDiskSparseVer1BackingInfo.contentId`, `VirtualDiskSparseVer2BackingInfo.contentId`, `VirtualDiskFlatVer1BackingInfo.contentId`, `VirtualDiskFlatVer2BackingInfo.contentId`, `VirtualDiskRawDiskMappingVer1BackingInfo.contentId`.
	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing")
	// All of the virtual disk's backings should be moved to the new datastore.
	//
	// It is not acceptable to attach to a disk backing with the same content ID
	// on the destination datastore. During a *clone operation* any delta disk backings will be consolidated.
	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing")
	// Move only the child-most disk backing.
	//
	// Any parent disk backings should
	// be left in their current locations.
	//
	// This option only differs from `moveAllDiskBackingsAndAllowSharing` and
	// `moveAllDiskBackingsAndDisallowSharing` when the virtual
	// disk has a parent backing.
	//
	// Note that in the case of a *clone operation*,
	// this means that the parent disks will now be shared. This is safe as any
	// parent disks are always read-only.
	// Note that in the case of a `VirtualMachine.RelocateVM_Task` operation,
	// only the virtual disks in the current virtual machine configuration are moved.
	VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking")
	// Create a new child disk backing on the destination datastore.
	//
	// None of the
	// virtual disk's existing files should be moved from their current locations.
	//
	// Note that in the case of a *clone operation*,
	// this means that the original virtual machine's disks are now all being shared.
	// This is only safe if the clone was taken from a snapshot point, because
	// snapshot points are always read-only. Thus for a clone this
	// option is only valid *when cloning from a snapshot*.
	// createNewChildDiskBacking is not a supported operation for
	// `VirtualMachine.RelocateVM_Task` operations unless all disks are moving.
	VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking")
	// All of the virtual disk's backings should be moved to the new datastore.
	//
	// During a *clone operation* or a
	// `VirtualMachine.MigrateVM_Task`, any delta disk backings will be
	// consolidated.
	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate")
)
View Source
const (
	VirtualMachineRelocateTransformationFlat   = VirtualMachineRelocateTransformation("flat")
	VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse")
)
View Source
const (
	VirtualMachineScsiPassthroughTypeDisk      = VirtualMachineScsiPassthroughType("disk")
	VirtualMachineScsiPassthroughTypeTape      = VirtualMachineScsiPassthroughType("tape")
	VirtualMachineScsiPassthroughTypePrinter   = VirtualMachineScsiPassthroughType("printer")
	VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor")
	VirtualMachineScsiPassthroughTypeWorm      = VirtualMachineScsiPassthroughType("worm")
	VirtualMachineScsiPassthroughTypeCdrom     = VirtualMachineScsiPassthroughType("cdrom")
	VirtualMachineScsiPassthroughTypeScanner   = VirtualMachineScsiPassthroughType("scanner")
	VirtualMachineScsiPassthroughTypeOptical   = VirtualMachineScsiPassthroughType("optical")
	VirtualMachineScsiPassthroughTypeMedia     = VirtualMachineScsiPassthroughType("media")
	VirtualMachineScsiPassthroughTypeCom       = VirtualMachineScsiPassthroughType("com")
	VirtualMachineScsiPassthroughTypeRaid      = VirtualMachineScsiPassthroughType("raid")
	VirtualMachineScsiPassthroughTypeUnknown   = VirtualMachineScsiPassthroughType("unknown")
)
View Source
const (
	// FLC is available in the guest.
	//
	// The "launch Enclave MSRs" are locked and
	// initialized with the provided public key hash.
	VirtualMachineSgxInfoFlcModesLocked = VirtualMachineSgxInfoFlcModes("locked")
	// FLC is available in the guest.
	//
	// The "launch enclave MSRs" are writeable
	// and initialized with Intel's public key hash.
	VirtualMachineSgxInfoFlcModesUnlocked = VirtualMachineSgxInfoFlcModes("unlocked")
)
View Source
const (
	VirtualMachineStandbyActionTypeCheckpoint     = VirtualMachineStandbyActionType("checkpoint")
	VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend")
)
View Source
const (
	// Indicates that this device is part of the cluster compliant
	// specification.
	VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant")
	// Indicates that this is available for all hosts in the cluster.
	VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide")
)
View Source
const (
	//
	//
	// Deprecated as of vSphere API 8.0. Use `webmks` instead.
	//
	// Remote mouse-keyboard-screen ticket.
	VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks")
	//
	//
	// Deprecated as of vSphere 8.0 API. Use `webRemoteDevice`
	// instead.
	//
	// Remote device ticket.
	VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device")
	//
	//
	// Deprecated as of vSphere 6.6.3 API. Use
	// `GuestOperationsManager` instead.
	//
	// Guest operation ticket.
	VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl")
	// Mouse-keyboard-screen over WebSocket ticket.
	//
	// MKS protocol is VNC (a.k.a. RFB) protocol with
	// VMware extensions; the protocol gracefully degrades
	// to standard VNC if extensions are not available.
	// wss://{Ticket.host}/ticket/{Ticket.ticket}
	VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks")
	// Guest Integrity over WebSocket ticket.
	//
	// This ticket grants the client read-only access to guest integrity
	// messages and alerts.
	VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity")
	// Remote device over WebSocket ticket.
	VirtualMachineTicketTypeWebRemoteDevice = VirtualMachineTicketType("webRemoteDevice")
)
View Source
const (
	// Installation type is not known.
	//
	// Most likely tools have been
	// installed by OSPs or open-vm-tools, but a version that does
	// not report its install type or an install type that we do
	// not recognize.
	VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown")
	// MSI is the installation type used for VMware Tools on Windows.
	VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI")
	// Tools have been installed by the tar installer.
	VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar")
	// OSPs are RPM or Debian packages tailored for the OS in the VM.
	//
	// See http://packages.vmware.com
	VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP")
	// open-vm-tools are the open-source version of VMware Tools, may have
	// been packaged by the OS vendor.
	VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools")
)
View Source
const (
	// VMware Tools is not running.
	VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning")
	// VMware Tools is running.
	VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning")
	// VMware Tools is starting.
	VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts")
)
View Source
const (
	// VMware Tools has never been installed
	// or has not run in the virtual machine.
	VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled")
	// VMware Tools is not running.
	VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning")
	// VMware Tools is running, but the version is not current.
	VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld")
	// VMware Tools is running and the version is current.
	VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk")
)
View Source
const (
	// VMware Tools has never been installed.
	VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled")
	//
	//
	// Deprecated as of vSphere API 5.1 value is not reported by
	// toolsVersionStatus2, instead more detailed status is reported.
	//
	// VMware Tools is installed, but the version is not current.
	VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade")
	// VMware Tools is installed, and the version is current.
	VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent")
	// VMware Tools is installed, but it is not managed by VMWare.
	VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged")
	// VMware Tools is installed, but the version is too old.
	VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld")
	// VMware Tools is installed, supported, but a newer version is available.
	VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld")
	// VMware Tools is installed, supported, and newer
	// than the version available on the host.
	VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew")
	// VMware Tools is installed, and the version is known to be
	// too new to work correctly with this virtual machine.
	VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew")
	// VMware Tools is installed, but the installed version is
	// known to have a grave bug and should be immediately upgraded.
	VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted")
)
View Source
const (
	// Audio capable device.
	VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio")
	// Human interface device.
	VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid")
	// Bootable human interface device, this is a subset of HID devices.
	VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable")
	// Physical interface device.
	VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical")
	// Communication device.
	VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication")
	// Still imaging device.
	VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging")
	// Printer device.
	VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer")
	// Mass storage device.
	VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage")
	// USB hubs.
	VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub")
	// Smart card device.
	VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card")
	// Content security device.
	VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security")
	// Video device.
	VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video")
	// Wireless controller.
	VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless")
	// Standard bluetooth adapter that uses HCI protocol,
	// this is a subset of wireless controllers.
	VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth")
	// Wireless device related to the Wireless USB standard,
	// this is a subset of wireless controllers,
	VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb")
	// Palm PDA, and Micorsoft ActiveSync PDA.
	VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda")
	// Device that has an interface using a vendor-specific protocol.
	VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific")
	// Other miscellaneous device.
	VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other")
	// There was an error in determining this device's classes
	// accurately.
	VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily")
)
View Source
const (
	// This device operates at low speed (1.5Mb/s).
	VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low")
	// This device operates at full speed (12Mb/s).
	VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full")
	// This device can operate at high speed (480Mb/s)
	VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high")
	// This device can operate at super speed (4.8Gb/s)
	VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed")
	// This device can operate at super speed plus (10Gb/s)
	VirtualMachineUsbInfoSpeedSuperSpeedPlus = VirtualMachineUsbInfoSpeed("superSpeedPlus")
	// This device can operate at super speed gen 2x2 (20Gb/s)
	VirtualMachineUsbInfoSpeedSuperSpeed20Gbps = VirtualMachineUsbInfoSpeed("superSpeed20Gbps")
	// This device's speed is unknown.
	VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed")
)
View Source
const (
	// Allow communication.
	VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow")
	// Deny communication.
	VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny")
)
View Source
const (
	// from host to guest
	VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest")
	// from guest to host
	VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host")
	// all of the above
	VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection")
)
View Source
const (
	// VMCI hypervisor datagram send op.
	//
	// Direction code is not applicable to this one.
	VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor")
	// VMCI doorbell notification
	VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell")
	// VMCI queue pair alloc operation.
	//
	// Direction code not applicable to this one.
	VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair")
	// VMCI and VMCI Socket datagram send op.
	//
	// Since VMCI Socket datagrams map ports directly to resources,
	// there is no need to distinguish between the two.
	VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram")
	// VMCI Stream Socket connect op.
	VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream")
	// All of the above.
	VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol")
)
View Source
const (
	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("pciPassthru")
	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu  = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("nvidiaVgpu")
	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic    = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("sriovNic")
	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx         = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("dvx")
)
View Source
const (
	VirtualMachineVgpuProfileInfoProfileClassCompute = VirtualMachineVgpuProfileInfoProfileClass("compute")
	VirtualMachineVgpuProfileInfoProfileClassQuadro  = VirtualMachineVgpuProfileInfoProfileClass("quadro")
)
View Source
const (
	// Time-sliced
	VirtualMachineVgpuProfileInfoProfileSharingTimeSliced = VirtualMachineVgpuProfileInfoProfileSharing("timeSliced")
	// Multi-instance GPU partitioning
	VirtualMachineVgpuProfileInfoProfileSharingMig = VirtualMachineVgpuProfileInfoProfileSharing("mig")
)
View Source
const (
	// Determine automatically whether to render 3D with software or hardware.
	VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic")
	// Render 3D with software.
	VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software")
	// Render 3D with graphics hardware.
	VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware")
)
View Source
const (
	// No operation active.
	VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("none")
	// Device swap will be performed on next restart.
	VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("scheduled")
	// Device swap is in progress.
	VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("inprogress")
	// Device swap failed.
	VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("failed")
	// Device swap successfully completed.
	VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("completed")
)
View Source
const (
	// The data on virtual NVDIMMs are not affected by snapshot reverts.
	//
	// Writes to virtual NVDIMMs after a snapshot is taken cannot be
	// reverted to the snapshotted state.
	VirtualMachineVirtualPMemSnapshotModeIndependent_persistent = VirtualMachineVirtualPMemSnapshotMode("independent_persistent")
	// Virtual NVDIMMs are erased and recreated upon snapshot reverts.
	VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert = VirtualMachineVirtualPMemSnapshotMode("independent_eraseonrevert")
)
View Source
const (
	// The context value indicates auto selection of VSS snapshot context.
	//
	// The ctx\_backup may make Windows VSS-aware applications quiescing during
	// backup. The ctx\_auto makes VMTools select ctx\_file\_share\_backup context
	// if ctx\_backup is not available.
	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto")
	// Indicate VSS\_CTX\_BACKUP.
	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup")
	// Indicate VSS\_CTX\_FILE\_SHARE\_BACKUP.
	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup")
)
View Source
const (
	VirtualNVMEControllerSharingNoSharing       = VirtualNVMEControllerSharing("noSharing")
	VirtualNVMEControllerSharingPhysicalSharing = VirtualNVMEControllerSharing("physicalSharing")
)
View Source
const (
	// Automatically detects the host mouse type.
	VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect")
	// The Microsoft IntelliMouse Explorer.
	VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer")
	// The Microsoft Intellimouse with a PS2 connection.
	VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2")
	// The Logitech MouseMan.
	VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman")
	// The Microsoft Serial Mouse.
	VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial")
	// The Mouse Systems Mouse.
	VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems")
	// The Logitech MouseMan Serial Bus Mouse.
	VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial")
	// A generic mouse with a PS2 connection.
	VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2")
)
View Source
const (
	// The virtual SCSI bus is not shared.
	VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing")
	// The virtual SCSI bus is shared between two or more virtual machines.
	//
	// In this case, no physical machine is involved.
	VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing")
	// The virtual SCSI bus is shared between two or more virtual machines
	// residing on different physical hosts.
	VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing")
)
View Source
const (
	VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client")
	VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server")
)
View Source
const (
	// A RoCEv1 device.
	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev1")
	// A RoCEv2 device.
	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev2")
)
View Source
const (
	// vmtools heartbeat failure
	VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure")
	// application heartbeat failure
	VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure")
	// immediate reset request
	VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest")
	// reset issued by VMCP when APD cleared
	VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared")
)
View Source
const (
	// Remote host is incompatible for secondary virtual machine.
	//
	// For instance, the host doesn't have access to the virtual machine's
	// network or datastore.
	VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost")
	// Login to remote host failed.
	VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed")
	// Registration of the secondary virtual machine
	// on the remote host failed.
	VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed")
	// Migration failed.
	VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed")
)
View Source
const (
	// HA is not enabled on the cluster
	VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled")
	// There is already a secondary virtual machine for the primary
	// virtual machine
	VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary")
	//
	//
	// Deprecated as of vSphere API 6.0.
	//
	// The virtual machine does not support record/replay.
	//
	// Vm::Capability.RecordReplaySupported is false.
	VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported")
	//
	//
	// Deprecated as of vSphere API 6.0.
	//
	// It is not possible to turn on Fault Tolerance on this powered-on VM.
	//
	// The support for record/replay should be enabled or Fault Tolerance
	// turned on, when this VM is powered off.
	VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported")
	// The virtual machine is a template
	VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm")
	// The virtual machine has more than one virtual CPU
	VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU")
	// The host is not active
	VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive")
	// The host ftSupported flag is not set because of hardware issues
	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware")
	// The host ftSupported flag is not set because of it is a
	// VMware Server 2.0
	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct")
	// No VMotion license or VMotion nic is not configured on the host
	VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic")
	// FT logging nic is not configured on the host
	VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic")
	// The virtual machine has thin provisioned disks
	VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk")
	// The "check host certificate" flag is not set
	VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet")
	// The virtual machine has one or more snapshots
	VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots")
	// No configuration information is available for the virtual machine
	VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig")
	// The virtual machine is a fault tolerance secondary virtual machine
	VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm")
	// The virtual machine has one or more disks on local datastore
	VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk")
	// The virtual machine is an ESX agent VM
	VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm")
	// The virtual machine video device has 3D enabled
	VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled")
	// `**Since:**` vSphere API Release 5.1
	VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk")
	// FT logging nic does not have desired bandwidth
	VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth")
	// The host does not support fault tolerant VM with nested HV or VBS
	// enabled.
	VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration")
	// The virtual machine has a vFlash memory device or/and disks with
	// vFlash cache configured.
	VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration")
	// VMware product installed on the host does not support
	// fault tolerance
	VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct")
	// Host CPU does not support hardware virtualization
	VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported")
	// Host CPU does not support hardware MMU virtualization
	VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported")
	// Host CPU is compatible for replay-based FT, but hardware
	// virtualization has been disabled in the BIOS.
	VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled")
	// The virtual machine firmware is of type EFI
	VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware")
	// The host does not support fault tolerance virtual machines
	// with the specified number of virtual CPUs.
	VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs")
	// The host does not support fault tolerance virtual machines
	// with the specified amount of memory.
	VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory")
	// Virtual Machine with Pmem HA Failover is not supported
	VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver = VmFaultToleranceConfigIssueReasonForIssue("unsupportedPMemHAFailOver")
)
View Source
const (
	// virtual floppy
	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy")
	// virtual Cdrom
	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom")
	// virtual serial port
	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort")
	// virtual parallel port
	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort")
	// virtual disk
	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk")
)
View Source
const (
	// The virtual machine was shut down
	VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown")
	// The virtual machine was powered off because shut down failed
	VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff")
)
View Source
const (
	// The port can communicate with all other ports within the same PVLAN,
	// including the isolated and community ports .
	VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous")
	// The port can only communicate with the promiscuous ports within the
	// same PVLAN, any other traffics are blocked.
	VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated")
	// The ports communicates with other community ports and with
	// promiscuous ports within the same PVLAN.
	//
	// any other traffics are
	// blocked.
	VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community")
)
View Source
const (
	VsanDiskIssueTypeNonExist      = VsanDiskIssueType("nonExist")
	VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch")
	VsanDiskIssueTypeUnknown       = VsanDiskIssueType("unknown")
)
View Source
const (
	// No special action should take place regarding VSAN data.
	VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction")
	// VSAN data reconfiguration should be performed to ensure storage
	// object accessibility.
	VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility")
	// VSAN data evacuation should be performed such that all storage
	// object data is removed from the host.
	VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData")
)
View Source
const (
	// Disk is currently in use by the VSAN service.
	//
	// A disk may be considered in use by the VSAN service regardless of
	// whether the VSAN service is enabled. As long as a disk is in use
	// by VSAN, it is reserved exclusively for VSAN and may not be used
	// for other purposes.
	//
	// See also `VsanHostDiskResult.error`.
	VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse")
	// Disk is considered eligible for use by the VSAN service,
	// but is not currently in use.
	VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible")
	// Disk is considered ineligible for use by the VSAN service,
	// and is not currently in use.
	//
	// See also `VsanHostDiskResult.error`.
	VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible")
)
View Source
const (
	// Node health is unknown.
	VsanHostHealthStateUnknown = VsanHostHealthState("unknown")
	// Node is considered healthy.
	VsanHostHealthStateHealthy = VsanHostHealthState("healthy")
	// Node is considered unhealthy.
	VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy")
)
View Source
const (
	// The node is enabled for the VSAN service but has some configuration
	// error which prevents participation.
	VsanHostNodeStateError = VsanHostNodeState("error")
	// The node is disabled for the VSAN service.
	VsanHostNodeStateDisabled = VsanHostNodeState("disabled")
	// The node is enabled for the VSAN service and is serving as an agent.
	VsanHostNodeStateAgent = VsanHostNodeState("agent")
	// The node is enabled for the VSAN service and is serving as the master.
	VsanHostNodeStateMaster = VsanHostNodeState("master")
	// The node is enabled for the VSAN service and is serving as the backup.
	VsanHostNodeStateBackup = VsanHostNodeState("backup")
	// The node is starting the VSAN service; this state is considered
	// transitory.
	VsanHostNodeStateStarting = VsanHostNodeState("starting")
	// The node is stopping the VSAN service; this state is considered
	// transitory.
	VsanHostNodeStateStopping = VsanHostNodeState("stopping")
	// The node is entering maintenance mode; this state is considered
	// transitory.
	//
	// See also `HostSystem.EnterMaintenanceMode_Task`.
	VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode")
	// The node is exiting maintenance mode; this state is considered
	// transitory.
	//
	// See also `HostSystem.ExitMaintenanceMode_Task`.
	VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode")
	// The node is being decommissioned from the VSAN service; this state is
	// considered transitory.
	VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning")
)
View Source
const (
	// Disk group is being (re-)added.
	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add")
	// Disk group is being removed.
	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove")
)
View Source
const (
	WeekOfMonthFirst  = WeekOfMonth("first")
	WeekOfMonthSecond = WeekOfMonth("second")
	WeekOfMonthThird  = WeekOfMonth("third")
	WeekOfMonthFourth = WeekOfMonth("fourth")
	WeekOfMonthLast   = WeekOfMonth("last")
)
View Source
const (
	// storage vmotion resolution
	WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion")
	// relocate resolution
	WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate")
)
View Source
const (
	VslmDiskInfoFlagId                      = VslmDiskInfoFlag("id")
	VslmDiskInfoFlagDescriptorVersion       = VslmDiskInfoFlag("descriptorVersion")
	VslmDiskInfoFlagBackingObjectId         = VslmDiskInfoFlag("backingObjectId")
	VslmDiskInfoFlagPath                    = VslmDiskInfoFlag("path")
	VslmDiskInfoFlagParentPath              = VslmDiskInfoFlag("parentPath")
	VslmDiskInfoFlagName                    = VslmDiskInfoFlag("name")
	VslmDiskInfoFlagDeviceName              = VslmDiskInfoFlag("deviceName")
	VslmDiskInfoFlagCapacity                = VslmDiskInfoFlag("capacity")
	VslmDiskInfoFlagAllocated               = VslmDiskInfoFlag("allocated")
	VslmDiskInfoFlagType                    = VslmDiskInfoFlag("type")
	VslmDiskInfoFlagConsumers               = VslmDiskInfoFlag("consumers")
	VslmDiskInfoFlagTentativeState          = VslmDiskInfoFlag("tentativeState")
	VslmDiskInfoFlagCreateTime              = VslmDiskInfoFlag("createTime")
	VslmDiskInfoFlagIoFilter                = VslmDiskInfoFlag("ioFilter")
	VslmDiskInfoFlagControlFlags            = VslmDiskInfoFlag("controlFlags")
	VslmDiskInfoFlagKeepAfterVmDelete       = VslmDiskInfoFlag("keepAfterVmDelete")
	VslmDiskInfoFlagRelocationDisabled      = VslmDiskInfoFlag("relocationDisabled")
	VslmDiskInfoFlagKeyId                   = VslmDiskInfoFlag("keyId")
	VslmDiskInfoFlagKeyProviderId           = VslmDiskInfoFlag("keyProviderId")
	VslmDiskInfoFlagNativeSnapshotSupported = VslmDiskInfoFlag("nativeSnapshotSupported")
	VslmDiskInfoFlagCbtEnabled              = VslmDiskInfoFlag("cbtEnabled")
)
View Source
const (
	VslmVStorageObjectControlFlagKeepAfterDeleteVm          = VslmVStorageObjectControlFlag("keepAfterDeleteVm")
	VslmVStorageObjectControlFlagDisableRelocation          = VslmVStorageObjectControlFlag("disableRelocation")
	VslmVStorageObjectControlFlagEnableChangedBlockTracking = VslmVStorageObjectControlFlag("enableChangedBlockTracking")
)
View Source
const (
	// APD timeout has been disabled on one of the host
	CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled")
)
View Source
const (
	// A standard ASCII-based line-based log file.
	DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain")
)
View Source
const (
	// Online extend disk operation.
	DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk")
)
View Source
const (
	// Fail the end phase of guest quiesce creation.
	GuestQuiesceEndGuestQuiesceErrorFailure = GuestQuiesceEndGuestQuiesceError("failure")
)
View Source
const (
	HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1")
)
View Source
const (
	// VMware Fault Tolerance feature.
	//
	// For pre-4.1 hosts, the
	// version value reported will be empty in which case
	// `AboutInfo.build` should be used. For all
	// other hosts, the version number reported will be a component-specific
	// version identifier of the form X.Y.Z, where:
	// X refers to host agent Fault Tolerance version number,
	// Y refers to VMX Fault Tolerance version number,
	// Z refers to VMkernal Fault Tolerance version
	HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance")
)
View Source
const (
	HostFirewallSystemServiceNameVpxa = HostFirewallSystemServiceName("vpxa")
)
View Source
const (
	HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore")
)
View Source
const (
	HostMaintenanceSpecPurposeHostUpgrade = HostMaintenanceSpecPurpose("hostUpgrade")
)
View Source
const (
	PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt")
)
View Source
const RecommendationReasonCodeXClusterPlacement = RecommendationReasonCode("xClusterPlacement")
View Source
const (
	RecommendationTypeV1 = RecommendationType("V1")
)
View Source
const (
	// Disk type.
	VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk")
)
View Source
const (
	// SHA256
	VirtualMachineCertThumbprintHashAlgorithmSha256 = VirtualMachineCertThumbprintHashAlgorithm("sha256")
)
View Source
const (
	VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA")
)

Variables

This section is empty.

Functions

func Add added in v0.14.0

func Add(name string, kind reflect.Type)

func AddMinAPIVersionForEnumValue added in v0.31.0

func AddMinAPIVersionForEnumValue(enumName, enumValue, minAPIVersion string)

func AddMinAPIVersionForType added in v0.31.0

func AddMinAPIVersionForType(name, minAPIVersion string)

func IsAlreadyExists added in v0.28.0

func IsAlreadyExists(err error) bool

func IsFileNotFound

func IsFileNotFound(err error) bool

func NewBool

func NewBool(v bool) *bool

func NewInt32 added in v0.16.0

func NewInt32(v int32) *int32

func NewInt64 added in v0.16.0

func NewInt64(v int64) *int64

func NewJSONDecoder added in v0.31.0

func NewJSONDecoder(r io.Reader) *json.Decoder

NewJSONDecoder creates JSON decoder configured for VMOMI.

func NewJSONEncoder added in v0.31.0

func NewJSONEncoder(w *bytes.Buffer) *json.Encoder

NewJSONEncoder creates JSON encoder configured for VMOMI.

func NewTime added in v0.16.0

func NewTime(v time.Time) *time.Time

func VmomiTypeName added in v0.31.0

func VmomiTypeName(t reflect.Type) (discriminator string)

VmomiTypeName computes the VMOMI type name of a go type. It uses a lookup table for VMOMI primitive types and the default discriminator function for other types.

Types

type AbandonHciWorkflow added in v0.21.0

type AbandonHciWorkflow AbandonHciWorkflowRequestType

type AbandonHciWorkflowRequestType added in v0.21.0

type AbandonHciWorkflowRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AbandonHciWorkflowResponse added in v0.21.0

type AbandonHciWorkflowResponse struct {
}

type AbdicateDomOwnershipRequestType

type AbdicateDomOwnershipRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of VSAN/DOM object UUIDs.
	Uuids []string `xml:"uuids" json:"uuids"`
}

The parameters of `HostVsanInternalSystem.AbdicateDomOwnership`.

type AbdicateDomOwnershipResponse

type AbdicateDomOwnershipResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type AbortCustomizationRequestType added in v0.23.0

type AbortCustomizationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Virtual Machine managed object reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
}

The parameters of `VirtualMachineGuestCustomizationManager.AbortCustomization_Task`.

type AbortCustomization_Task added in v0.23.0

type AbortCustomization_Task AbortCustomizationRequestType

type AbortCustomization_TaskResponse added in v0.23.0

type AbortCustomization_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AboutInfo

type AboutInfo struct {
	DynamicData

	// Short form of the product name.
	Name string `xml:"name" json:"name"`
	// The complete product name, including the version information.
	FullName string `xml:"fullName" json:"fullName"`
	// Name of the vendor of this product.
	Vendor string `xml:"vendor" json:"vendor"`
	// Dot-separated version string.
	//
	// For example, "1.2".
	Version string `xml:"version" json:"version"`
	// Patch level for the server.
	PatchLevel string `xml:"patchLevel,omitempty" json:"patchLevel,omitempty" vim:"7.0.2.0"`
	// Build string for the server on which this call is made.
	//
	// For example, x.y.z-num.
	// This string does not apply to the API.
	Build string `xml:"build" json:"build"`
	// Version of the message catalog for the current session's locale.
	LocaleVersion string `xml:"localeVersion,omitempty" json:"localeVersion,omitempty"`
	// Build number for the current session's locale.
	//
	// Typically, this is a small number reflecting a
	// localization change from the normal product build.
	LocaleBuild string `xml:"localeBuild,omitempty" json:"localeBuild,omitempty"`
	// Operating system type and architecture.
	//
	// Examples of values are:
	//     - "win32-x86" - For x86-based Windows systems.
	//     - "linux-x86" - For x86-based Linux systems.
	//     - "vmnix-x86" - For the x86 ESX Server microkernel.
	//     - "vmnix-arm64" - For the arm64 ESX Server microkernel.
	OsType string `xml:"osType" json:"osType"`
	// The product ID is a unique identifier for a product line.
	//
	// Examples of values are:
	//     - "gsx" - For the VMware Server product.
	//     - "esx" - For the ESX product.
	//     - "embeddedEsx" - For the ESXi product.
	//     - "esxio" - For the ESXio product.
	//     - "vpx" - For the VirtualCenter product.
	ProductLineId string `xml:"productLineId" json:"productLineId"`
	// Indicates whether or not the service instance represents a
	// standalone host.
	//
	// If the service instance represents a standalone host, then the physical
	// inventory for that service instance is fixed to that single host.
	// VirtualCenter server provides additional features over single hosts.
	// For example, VirtualCenter offers multi-host management.
	//
	// Examples of values are:
	//     - "VirtualCenter" - For a VirtualCenter instance.
	//     - "HostAgent" - For host agent on an ESX Server or VMware Server host.
	ApiType string `xml:"apiType" json:"apiType"`
	// The version of the API as a dot-separated string.
	//
	// For example, "1.0.0".
	ApiVersion string `xml:"apiVersion" json:"apiVersion"`
	// A globally unique identifier associated with this service instance.
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
	// The license product name
	LicenseProductName string `xml:"licenseProductName,omitempty" json:"licenseProductName,omitempty" vim:"4.0"`
	// The license product version
	LicenseProductVersion string `xml:"licenseProductVersion,omitempty" json:"licenseProductVersion,omitempty" vim:"4.0"`
}

This data object type describes system information including the name, type, version, and build number.

type AccountCreatedEvent

type AccountCreatedEvent struct {
	HostEvent

	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
	Group bool                `xml:"group" json:"group"`
}

This event records that an account was created on a host.

type AccountRemovedEvent

type AccountRemovedEvent struct {
	HostEvent

	Account string `xml:"account" json:"account"`
	Group   bool   `xml:"group" json:"group"`
}

This event records that an account was removed from a host.

type AccountUpdatedEvent

type AccountUpdatedEvent struct {
	HostEvent

	Spec  BaseHostAccountSpec `xml:"spec,typeattr" json:"spec"`
	Group bool                `xml:"group" json:"group"`
	// The previous account description
	PrevDescription string `xml:"prevDescription,omitempty" json:"prevDescription,omitempty" vim:"6.5"`
}

This event records that an account was updated on a host.

type AcknowledgeAlarm

type AcknowledgeAlarm AcknowledgeAlarmRequestType

type AcknowledgeAlarmRequestType

type AcknowledgeAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Alarm to acknowledge.
	//
	// Required privileges: Alarm.Acknowledge
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// The ManagedEntity for which to acknowledge the Alarm.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `AlarmManager.AcknowledgeAlarm`.

type AcknowledgeAlarmResponse

type AcknowledgeAlarmResponse struct {
}

type AcquireCimServicesTicketRequestType

type AcquireCimServicesTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AcquireCimServicesTicketResponse

type AcquireCimServicesTicketResponse struct {
	Returnval HostServiceTicket `xml:"returnval" json:"returnval"`
}

type AcquireCloneTicket

type AcquireCloneTicket AcquireCloneTicketRequestType

type AcquireCloneTicketRequestType

type AcquireCloneTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AcquireCloneTicketResponse

type AcquireCloneTicketResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AcquireCredentialsInGuestRequestType

type AcquireCredentialsInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// MoRef of the VM to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data used to acquire credentials.
	// See `GuestAuthentication`.
	RequestedAuth BaseGuestAuthentication `xml:"requestedAuth,typeattr" json:"requestedAuth"`
	// The sessionID number should be provided only when
	// responding to a server challenge. The sessionID number to be used with
	// the challenge is found in the
	// `GuestAuthenticationChallenge` object.
	SessionID int64 `xml:"sessionID,omitempty" json:"sessionID,omitempty"`
}

The parameters of `GuestAuthManager.AcquireCredentialsInGuest`.

type AcquireCredentialsInGuestResponse

type AcquireCredentialsInGuestResponse struct {
	Returnval BaseGuestAuthentication `xml:"returnval,typeattr" json:"returnval"`
}

type AcquireGenericServiceTicketRequestType

type AcquireGenericServiceTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// specification for the service request which will be
	// invoked with the ticket.
	Spec BaseSessionManagerServiceRequestSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `SessionManager.AcquireGenericServiceTicket`.

type AcquireGenericServiceTicketResponse

type AcquireGenericServiceTicketResponse struct {
	Returnval SessionManagerGenericServiceTicket `xml:"returnval" json:"returnval"`
}

type AcquireLocalTicket

type AcquireLocalTicket AcquireLocalTicketRequestType

type AcquireLocalTicketRequestType

type AcquireLocalTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// User requesting one-time password.
	UserName string `xml:"userName" json:"userName"`
}

The parameters of `SessionManager.AcquireLocalTicket`.

type AcquireLocalTicketResponse

type AcquireLocalTicketResponse struct {
	Returnval SessionManagerLocalTicket `xml:"returnval" json:"returnval"`
}

type AcquireMksTicket

type AcquireMksTicket AcquireMksTicketRequestType

type AcquireMksTicketRequestType

type AcquireMksTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AcquireMksTicketResponse

type AcquireMksTicketResponse struct {
	Returnval VirtualMachineMksTicket `xml:"returnval" json:"returnval"`
}

type AcquireTicket

type AcquireTicket AcquireTicketRequestType

type AcquireTicketRequestType

type AcquireTicketRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The type of service to acquire, the set of possible
	// values is described in `VirtualMachineTicketType_enum`.
	TicketType string `xml:"ticketType" json:"ticketType"`
}

The parameters of `VirtualMachine.AcquireTicket`.

type AcquireTicketResponse

type AcquireTicketResponse struct {
	Returnval VirtualMachineTicket `xml:"returnval" json:"returnval"`
}

type Action

type Action struct {
	DynamicData
}

This data object type defines the action initiated by a scheduled task or alarm.

This is an abstract type. A client creates a scheduled task or an alarm each of which triggers an action, defined by a subclass of this type.

func (*Action) GetAction

func (b *Action) GetAction() *Action

type ActionParameter

type ActionParameter string

These constant strings can be used as parameters in user-specified email subject and body templates as well as in scripts.

The action processor in VirtualCenter substitutes the run-time values for the parameters. For example, an email subject provided by the client could be the string: `Alarm - {alarmName} Description:\n{eventDescription}`. Or a script action provided could be: `myScript {alarmName}`.

type ActionType

type ActionType string

Pre-defined constants for possible action types.

Virtual Center

type ActiveDirectoryFault

type ActiveDirectoryFault struct {
	VimFault

	// The error code reported by the Active Directory API.
	ErrorCode int32 `xml:"errorCode,omitempty" json:"errorCode,omitempty"`
}

Base fault for Active Directory related problems.

func (*ActiveDirectoryFault) GetActiveDirectoryFault

func (b *ActiveDirectoryFault) GetActiveDirectoryFault() *ActiveDirectoryFault

type ActiveDirectoryFaultFault

type ActiveDirectoryFaultFault BaseActiveDirectoryFault

type ActiveDirectoryProfile

type ActiveDirectoryProfile struct {
	ApplyProfile
}

The `ActiveDirectoryProfile` data object represents Active Directory configuration.

Use the `ApplyProfile.policy` list for access to configuration data for the Active Directory profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

type ActiveVMsBlockingEVC

type ActiveVMsBlockingEVC struct {
	EVCConfigFault

	// The requested EVC mode.
	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty" vim:"4.0"`
	// Hosts with active virtual machines that are blocking the operation,
	// because the hosts expose compatibility-relevant CPU features not present
	// in the baseline of the requested EVC mode.
	//
	// Note that in rare cases, a host may be on this list even if its
	// `maxEVCModeKey` corresponds to the
	// requested EVC mode. This means that even though that EVC mode is the
	// best match for the host's hardware, the host still has some features
	// beyond those present in the baseline for that EVC mode.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"4.0"`
	// The names of the hosts in the host array.
	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty" vim:"4.0"`
}

An attempt to enable Enhanced VMotion Compatibility on a cluster, or to select a less-featureful EVC mode for a cluster where EVC is already enabled, has failed for the following reason:

  • The cluster contains hosts that expose additional compatibility- relevant CPU features beyond those present in the baseline of the requested EVC mode.
  • Those hosts have powered-on or suspended virtual machines.

Therefore the EVC configuration has been rejected since it may suppress CPU features that are currently in-use.

type ActiveVMsBlockingEVCFault

type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC

type AddAuthorizationRoleRequestType

type AddAuthorizationRoleRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name of the new role.
	Name string `xml:"name" json:"name"`
	// List of privileges to assign to the role.
	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
}

The parameters of `AuthorizationManager.AddAuthorizationRole`.

type AddAuthorizationRoleResponse

type AddAuthorizationRoleResponse struct {
	Returnval int32 `xml:"returnval" json:"returnval"`
}

type AddCustomFieldDef

type AddCustomFieldDef AddCustomFieldDefRequestType

type AddCustomFieldDefRequestType

type AddCustomFieldDefRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the field.
	Name string `xml:"name" json:"name"`
	// The managed object type to which this field
	// will apply
	MoType string `xml:"moType,omitempty" json:"moType,omitempty" vim:"2.5"`
	// Privilege policy to apply to FieldDef being
	// created
	FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty" json:"fieldDefPolicy,omitempty" vim:"2.5"`
	// Privilege policy to apply to instances of field
	FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty" json:"fieldPolicy,omitempty" vim:"2.5"`
}

The parameters of `CustomFieldsManager.AddCustomFieldDef`.

type AddCustomFieldDefResponse

type AddCustomFieldDefResponse struct {
	Returnval CustomFieldDef `xml:"returnval" json:"returnval"`
}

type AddDVPortgroupRequestType

type AddDVPortgroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification for the portgroup.
	Spec []DVPortgroupConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `DistributedVirtualSwitch.AddDVPortgroup_Task`.

type AddDVPortgroup_Task

type AddDVPortgroup_Task AddDVPortgroupRequestType

type AddDVPortgroup_TaskResponse

type AddDVPortgroup_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AddDisksRequestType

type AddDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// list of disks to add for use by the VSAN service
	Disk []HostScsiDisk `xml:"disk" json:"disk"`
}

The parameters of `HostVsanSystem.AddDisks_Task`.

type AddDisks_Task

type AddDisks_Task AddDisksRequestType

type AddDisks_TaskResponse

type AddDisks_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AddFilter added in v0.12.0

type AddFilter AddFilterRequestType

type AddFilterEntities added in v0.12.0

type AddFilterEntities AddFilterEntitiesRequestType

type AddFilterEntitiesRequestType added in v0.12.0

type AddFilterEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
	// The list of additional managed entities. Only
	// entities of type HostSystem or
	// ClusterComputeResource are valid.
	//
	// Refers instances of `ManagedEntity`.
	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
}

The parameters of `HealthUpdateManager.AddFilterEntities`.

type AddFilterEntitiesResponse added in v0.12.0

type AddFilterEntitiesResponse struct {
}

type AddFilterRequestType added in v0.12.0

type AddFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider identifier.
	ProviderId string `xml:"providerId" json:"providerId"`
	// The filter name.
	FilterName string `xml:"filterName" json:"filterName"`
	// The list of HealthUpdateInfo IDs that should be
	// filtered.
	InfoIds []string `xml:"infoIds,omitempty" json:"infoIds,omitempty"`
}

The parameters of `HealthUpdateManager.AddFilter`.

type AddFilterResponse added in v0.12.0

type AddFilterResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AddGuestAlias

type AddGuestAlias AddGuestAliasRequestType

type AddGuestAliasRequestType

type AddGuestAliasRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data for this operation. See
	// `GuestAuthentication`. These credentials must satisfy
	// authentication requirements
	// for a guest account on the specified virtual machine.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// Username for the guest account on the virtual machine.
	Username string `xml:"username" json:"username"`
	// Indicates whether the certificate associated with the
	// alias should be mapped. If an alias certificate is mapped,
	// guest operation requests that use that alias do not have
	// to specify the guest account username in the
	// `SAMLTokenAuthentication` object. If mapCert is
	// false, the request must specify the username.
	MapCert bool `xml:"mapCert" json:"mapCert"`
	// X.509 certificate from the VMware SSO Server,
	// in base64 encoded DER format. The ESXi
	// Server uses this certificate to authenticate guest
	// operation requests.
	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
	// Specifies the subject name for authentication.
	// The subject name (when present) corresponds to
	// the value of the Subject element
	// in SAML tokens. The ESXi Server uses the subject
	// name to authenticate guest operation requests.
	AliasInfo GuestAuthAliasInfo `xml:"aliasInfo" json:"aliasInfo"`
}

The parameters of `GuestAliasManager.AddGuestAlias`.

type AddGuestAliasResponse

type AddGuestAliasResponse struct {
}

type AddHostRequestType

type AddHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the parameters needed to add a single host.
	Spec HostConnectSpec `xml:"spec" json:"spec"`
	// Flag to specify whether or not the host should be connected
	// immediately after it is added. The host will not be added if
	// a connection attempt is made and fails.
	AsConnected bool `xml:"asConnected" json:"asConnected"`
	// the resource pool for the root resource pool from the host.
	//
	// Required privileges: Resource.AssignVMToPool
	//
	// Refers instance of `ResourcePool`.
	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
	License string `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
}

The parameters of `ClusterComputeResource.AddHost_Task`.

type AddHost_Task

type AddHost_Task AddHostRequestType

type AddHost_TaskResponse

type AddHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AddInternetScsiSendTargetsRequestType

type AddInternetScsiSendTargetsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// An array of iSCSI send targets.
	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
}

The parameters of `HostStorageSystem.AddInternetScsiSendTargets`.

type AddInternetScsiSendTargetsResponse

type AddInternetScsiSendTargetsResponse struct {
}

type AddInternetScsiStaticTargetsRequestType

type AddInternetScsiStaticTargetsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// An array of iSCSI static targets to add.
	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
}

The parameters of `HostStorageSystem.AddInternetScsiStaticTargets`.

type AddInternetScsiStaticTargetsResponse

type AddInternetScsiStaticTargetsResponse struct {
}

type AddKey added in v0.12.0

type AddKey AddKeyRequestType

type AddKeyRequestType added in v0.12.0

type AddKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The cryptographic key to add.
	Key CryptoKeyPlain `xml:"key" json:"key"`
}

The parameters of `CryptoManager.AddKey`.

type AddKeyResponse added in v0.12.0

type AddKeyResponse struct {
}

type AddKeys added in v0.12.0

type AddKeys AddKeysRequestType

type AddKeysRequestType added in v0.12.0

type AddKeysRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] List of cryptographic keys to add.
	Keys []CryptoKeyPlain `xml:"keys,omitempty" json:"keys,omitempty"`
}

The parameters of `CryptoManager.AddKeys`.

type AddKeysResponse added in v0.12.0

type AddKeysResponse struct {
	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type AddLicense

type AddLicense AddLicenseRequestType

type AddLicenseRequestType

type AddLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A license. E.g. a serial license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// array of key-value labels. Ignored by ESX Server.
	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
}

The parameters of `LicenseManager.AddLicense`.

type AddLicenseResponse

type AddLicenseResponse struct {
	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
}

type AddMonitoredEntities added in v0.12.0

type AddMonitoredEntities AddMonitoredEntitiesRequestType

type AddMonitoredEntitiesRequestType added in v0.12.0

type AddMonitoredEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
	// The entities that are newly monitored by this
	// provider.
	//
	// Refers instances of `ManagedEntity`.
	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
}

The parameters of `HealthUpdateManager.AddMonitoredEntities`.

type AddMonitoredEntitiesResponse added in v0.12.0

type AddMonitoredEntitiesResponse struct {
}

type AddNetworkResourcePoolRequestType

type AddNetworkResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the network resource pool configuration specification.
	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
}

The parameters of `DistributedVirtualSwitch.AddNetworkResourcePool`.

type AddNetworkResourcePoolResponse

type AddNetworkResourcePoolResponse struct {
}

type AddPortGroup

type AddPortGroup AddPortGroupRequestType

type AddPortGroupRequestType

type AddPortGroupRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
}

The parameters of `HostNetworkSystem.AddPortGroup`.

type AddPortGroupResponse

type AddPortGroupResponse struct {
}

type AddServiceConsoleVirtualNicRequestType

type AddServiceConsoleVirtualNicRequestType struct {
	This      ManagedObjectReference `xml:"_this" json:"-"`
	Portgroup string                 `xml:"portgroup" json:"portgroup"`
	Nic       HostVirtualNicSpec     `xml:"nic" json:"nic"`
}

The parameters of `HostNetworkSystem.AddServiceConsoleVirtualNic`.

type AddServiceConsoleVirtualNicResponse

type AddServiceConsoleVirtualNicResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AddStandaloneHostRequestType

type AddStandaloneHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the parameters needed to add a single host.
	Spec HostConnectSpec `xml:"spec" json:"spec"`
	// Optionally specify the configuration for the compute
	// resource that will be created to contain the host.
	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty" vim:"2.5"`
	// Flag to specify whether or not the host should be
	// connected as soon as it is added. The host will not
	// be added if a connection attempt is made and fails.
	AddConnected bool `xml:"addConnected" json:"addConnected"`
	// Provide a licenseKey or licenseKeyType. See `LicenseManager`
	License string `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
}

The parameters of `Folder.AddStandaloneHost_Task`.

type AddStandaloneHost_Task

type AddStandaloneHost_Task AddStandaloneHostRequestType

type AddStandaloneHost_TaskResponse

type AddStandaloneHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AddVirtualNic

type AddVirtualNic AddVirtualNicRequestType

type AddVirtualNicRequestType

type AddVirtualNicRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Note: Must be the empty string in case nic.distributedVirtualPort
	// is set.
	Portgroup string             `xml:"portgroup" json:"portgroup"`
	Nic       HostVirtualNicSpec `xml:"nic" json:"nic"`
}

The parameters of `HostNetworkSystem.AddVirtualNic`.

type AddVirtualNicResponse

type AddVirtualNicResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AddVirtualSwitch

type AddVirtualSwitch AddVirtualSwitchRequestType

type AddVirtualSwitchRequestType

type AddVirtualSwitchRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
	Spec        *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostNetworkSystem.AddVirtualSwitch`.

type AddVirtualSwitchResponse

type AddVirtualSwitchResponse struct {
}

type AdminDisabled

type AdminDisabled struct {
	HostConfigFault
}

Fault thrown if an attempt to disable the Administrator permission on a host of which the Administator permission has already been disabled.

type AdminDisabledFault

type AdminDisabledFault AdminDisabled

type AdminNotDisabled

type AdminNotDisabled struct {
	HostConfigFault
}

Fault thrown if an attempt to enable the Administrator permission on a host of which the Administator permission is not disabled.

type AdminNotDisabledFault

type AdminNotDisabledFault AdminNotDisabled

type AdminPasswordNotChangedEvent

type AdminPasswordNotChangedEvent struct {
	HostEvent
}

Default password for the Admin user on the host has not been changed.

type AffinityConfigured

type AffinityConfigured struct {
	MigrationFault

	// Configured affinity types for the virtual machine.
	//
	// See `AffinityType_enum` for valid values.
	ConfiguredAffinity []string `xml:"configuredAffinity" json:"configuredAffinity"`
}

Virtual machine has a configured memory and/or CPU affinity that will prevent VMotion.

This is an error for powered-on virtual machines.

type AffinityConfiguredFault

type AffinityConfiguredFault AffinityConfigured

type AffinityType

type AffinityType string

Types of affinities.

type AfterStartupTaskScheduler

type AfterStartupTaskScheduler struct {
	TaskScheduler

	// The delay in minutes after vCenter server is restarted.
	//
	// The value must be greater than or equal to 0.
	Minute int32 `xml:"minute" json:"minute"`
}

The `AfterStartupTaskScheduler` data object establishes the time that a scheduled task will run after the vCenter server restarts.

type AgentInstallFailed

type AgentInstallFailed struct {
	HostConnectFault

	// The reason why the agent install failed, if known.
	//
	// Values should come from `AgentInstallFailedReason_enum`.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
	// The status code returned by the agent installer, if it was run.
	StatusCode int32 `xml:"statusCode,omitempty" json:"statusCode,omitempty" vim:"4.0"`
	// The output (stdout/stderr) from executing the agent installer.
	InstallerOutput string `xml:"installerOutput,omitempty" json:"installerOutput,omitempty" vim:"4.0"`
}

An AgentInstallFailed fault is thrown when VirtualCenter fails to install the VirtualCenter agent on a host.

For example, a fault is thrown if the agent software cannot be uploaded to the host or an error occurred during the agent installation.

type AgentInstallFailedFault

type AgentInstallFailedFault AgentInstallFailed

type AgentInstallFailedReason

type AgentInstallFailedReason string

type AlarmAcknowledgedEvent

type AlarmAcknowledgedEvent struct {
	AlarmEvent

	// The entity that triggered the alarm.
	Source ManagedEntityEventArgument `xml:"source" json:"source"`
	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

This event records the acknowledgement of an Alarm

type AlarmAction

type AlarmAction struct {
	DynamicData
}

Action invoked by triggered alarm.

This is an abstract type.

func (*AlarmAction) GetAlarmAction

func (b *AlarmAction) GetAlarmAction() *AlarmAction

type AlarmActionTriggeredEvent

type AlarmActionTriggeredEvent struct {
	AlarmEvent

	// The entity that triggered the alarm.
	Source ManagedEntityEventArgument `xml:"source" json:"source"`
	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

This event records that an alarm was triggered.

type AlarmClearedEvent

type AlarmClearedEvent struct {
	AlarmEvent

	// The entity that triggered the alarm.
	Source ManagedEntityEventArgument `xml:"source" json:"source"`
	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The original alarm status from which it was cleared
	From string `xml:"from" json:"from"`
}

This event records the manual clearing of an Alarm

type AlarmCreatedEvent

type AlarmCreatedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

This event records the creation of an alarm.

type AlarmDescription

type AlarmDescription struct {
	DynamicData

	// Descriptions of expression types for a trigger.
	Expr []BaseTypeDescription `xml:"expr,typeattr" json:"expr"`
	// *State Operator enum description*
	StateOperator []BaseElementDescription `xml:"stateOperator,typeattr" json:"stateOperator"`
	// *MetricAlarmExpression Metric Operator enum description*
	MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr" json:"metricOperator"`
	// *Host System Connection State enum description*
	HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr" json:"hostSystemConnectionState"`
	// *Virtual Machine Power State enum description*
	VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr" json:"virtualMachinePowerState"`
	// `DatastoreSummary.accessible` and
	// `description`
	DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr" json:"datastoreConnectionState,omitempty" vim:"4.0"`
	// *Host System Power State enum description*
	HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr" json:"hostSystemPowerState,omitempty" vim:"4.0"`
	// *Guest Heartbeat Status enum description*
	VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr" json:"virtualMachineGuestHeartbeatStatus,omitempty" vim:"4.0"`
	// *ManagedEntity Status enum description*
	EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr" json:"entityStatus"`
	// Action class descriptions for an alarm.
	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
}

Static strings for alarms.

type AlarmEmailCompletedEvent

type AlarmEmailCompletedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The destination email address.
	To string `xml:"to" json:"to"`
}

This event records the completion of an alarm email notification.

type AlarmEmailFailedEvent

type AlarmEmailFailedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The destination email address.
	To string `xml:"to" json:"to"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to complete an alarm email notification.

type AlarmEvent

type AlarmEvent struct {
	Event

	// The associated alarm object.
	Alarm AlarmEventArgument `xml:"alarm" json:"alarm"`
}

This event is an alarm events.

func (*AlarmEvent) GetAlarmEvent

func (b *AlarmEvent) GetAlarmEvent() *AlarmEvent

type AlarmEventArgument

type AlarmEventArgument struct {
	EntityEventArgument

	// The Alarm object.
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
}

The event argument is an Alarm object.

type AlarmExpression

type AlarmExpression struct {
	DynamicData
}

Base type for the expressions specifying the conditions that define the status of an alarm.

func (*AlarmExpression) GetAlarmExpression

func (b *AlarmExpression) GetAlarmExpression() *AlarmExpression

type AlarmFilterSpec added in v0.18.0

type AlarmFilterSpec struct {
	DynamicData

	// Status array which could be used to filter alarms according to their
	// triggered state.
	//
	// If all triggered alarms need to be matched an empty array or
	// ManagedEntity::red and ManagedEntity::yellow could be filled in the array.
	Status []ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
	// Use values from `AlarmFilterSpecAlarmTypeByEntity_enum`
	TypeEntity string `xml:"typeEntity,omitempty" json:"typeEntity,omitempty"`
	// Use values from `AlarmFilterSpecAlarmTypeByTrigger_enum`
	TypeTrigger string `xml:"typeTrigger,omitempty" json:"typeTrigger,omitempty"`
}

Alarm Filter used to filter/group alarms.

type AlarmFilterSpecAlarmTypeByEntity added in v0.18.0

type AlarmFilterSpecAlarmTypeByEntity string

type AlarmFilterSpecAlarmTypeByTrigger added in v0.18.0

type AlarmFilterSpecAlarmTypeByTrigger string

Alarm triggering type.

The main divisions are event triggered and

type AlarmInfo

type AlarmInfo struct {
	AlarmSpec

	// The unique key.
	Key string `xml:"key" json:"key"`
	// The alarm object.
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// The entity on which the alarm is registered.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The time the alarm was created or modified.
	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
	// User name that modified the alarm most recently.
	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
	// The event ID that records the alarm creation.
	CreationEventId int32 `xml:"creationEventId" json:"creationEventId"`
}

Attributes of an alarm.

type AlarmReconfiguredEvent

type AlarmReconfiguredEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records the reconfiguration of an alarm.

type AlarmRemovedEvent

type AlarmRemovedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

This event records the removal of an alarm.

type AlarmScriptCompleteEvent

type AlarmScriptCompleteEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The script triggered by the alarm.
	Script string `xml:"script" json:"script"`
}

This event records the completion of an alarm-triggered script.

type AlarmScriptFailedEvent

type AlarmScriptFailedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The script triggered by the alarm.
	Script string `xml:"script" json:"script"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to complete an alarm-triggered script.

type AlarmSetting

type AlarmSetting struct {
	DynamicData

	// Tolerance range for the metric triggers, measured in one hundredth percentage.
	//
	// A zero value means that the alarm
	// triggers whenever the metric value is above
	// or below the specified value.
	// A nonzero value means that the alarm
	// triggers only after reaching a certain percentage
	// above or below the nominal trigger value.
	ToleranceRange int32 `xml:"toleranceRange" json:"toleranceRange"`
	// How often the alarm is triggered, measured in seconds.
	//
	// A zero value means that the alarm is allowed
	// to trigger as often as possible.
	// A nonzero value means that any subsequent triggers
	// are suppressed for a period of seconds following a
	// reported trigger.
	ReportingFrequency int32 `xml:"reportingFrequency" json:"reportingFrequency"`
}

Tolerance and frequency limits of an alarm.

type AlarmSnmpCompletedEvent

type AlarmSnmpCompletedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

This event records the completion of an alarm SNMP notification.

type AlarmSnmpFailedEvent

type AlarmSnmpFailedEvent struct {
	AlarmEvent

	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to complete an alarm SNMP notification.

type AlarmSpec

type AlarmSpec struct {
	DynamicData

	// Name of the alarm.
	Name string `xml:"name" json:"name"`
	// System name of the alarm.
	//
	// This is set only for predefined Alarms - i.e. Alarms created by the
	// server or extensions automatically. After creation this value cannot be
	// modified. User-created Alarms do not have a systemName at all.
	//
	// The purpose of this field is to identify system-created Alarms
	// reliably, even if they are edited by users.
	//
	// When creating Alarms with systemName, the systemName and the name of the
	// alarm should be equal.
	//
	// When reconfiguring an Alarm with systemName, the same systemName should
	// be passed in the new AlarmSpec. Renaming Alarms with systemName is not
	// allowed, i.e. when reconfiguring, the name passed in the new AlarmSpec
	// should be equal to either the systemName or its localized version (the
	// current name in the Alarm's info).
	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty" vim:"5.0"`
	// Description of the alarm.
	Description string `xml:"description" json:"description"`
	// Flag to indicate whether or not the alarm is enabled or disabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// Top-level alarm expression that defines trigger conditions.
	Expression BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
	// Action to perform when the alarm is triggered.
	Action BaseAlarmAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
	// Frequency in seconds, which specifies how often appropriate actions
	// should repeat when an alarm does not change state.
	ActionFrequency int32 `xml:"actionFrequency,omitempty" json:"actionFrequency,omitempty" vim:"4.0"`
	// Tolerance and maximum frequency settings.
	Setting *AlarmSetting `xml:"setting,omitempty" json:"setting,omitempty"`
}

Parameters for alarm creation.

func (*AlarmSpec) GetAlarmSpec

func (b *AlarmSpec) GetAlarmSpec() *AlarmSpec

type AlarmState

type AlarmState struct {
	DynamicData

	// Unique key that identifies the alarm.
	Key string `xml:"key" json:"key"`
	// Entity on which the alarm is instantiated.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Alarm object from which the AlarmState object is instantiated.
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// Overall status of the alarm object.
	//
	// This is the value of the alarm's top-level expression.
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
	// Time the alarm triggered.
	Time time.Time `xml:"time" json:"time"`
	// Flag to indicate if the alarm's actions have been acknowledged for the
	// associated ManagedEntity.
	Acknowledged *bool `xml:"acknowledged" json:"acknowledged,omitempty" vim:"4.0"`
	// The user who acknowledged this triggering.
	//
	// If the triggering has not
	// been acknowledged, then the value is not valid.
	AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty" json:"acknowledgedByUser,omitempty" vim:"4.0"`
	// The time this triggering was acknowledged.
	//
	// If the triggering has not
	// been acknowledged, then the value is not valid.
	AcknowledgedTime *time.Time `xml:"acknowledgedTime" json:"acknowledgedTime,omitempty" vim:"4.0"`
	// Contains the key of the event that has triggered the alarm.
	//
	// The value
	// is set only for event based alarms. The value is not set for gray or
	// manually reset alarms (via vim.AlarmManager.setAlarmStatus).
	EventKey int32 `xml:"eventKey,omitempty" json:"eventKey,omitempty" vim:"6.0"`
	// Flag to indicate if the alarm is disabled for the associated
	// ManagedEntity.
	Disabled *bool `xml:"disabled" json:"disabled,omitempty" vim:"6.9.1"`
}

Information about the alarm's state.

type AlarmStatusChangedEvent

type AlarmStatusChangedEvent struct {
	AlarmEvent

	// The entity for which the alarm status has been changed.
	Source ManagedEntityEventArgument `xml:"source" json:"source"`
	// The entity with which the alarm is registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The original alarm status.
	From string `xml:"from" json:"from"`
	// The new alarm status.
	To string `xml:"to" json:"to"`
}

This event records a status change for an alarm.

type AlarmTriggeringAction

type AlarmTriggeringAction struct {
	AlarmAction

	// The action to be done when the alarm is triggered.
	Action BaseAction `xml:"action,typeattr" json:"action"`
	// Indicates on which transitions this action executes and repeats.
	//
	// This is optional only for backwards compatibility.
	TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty" json:"transitionSpecs,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 4.0, use
	// `AlarmTriggeringActionTransitionSpec` .
	//
	// Flag to specify that the alarm should trigger on a transition
	// from green to yellow.
	Green2yellow bool `xml:"green2yellow" json:"green2yellow"`
	// Deprecated as of vSphere API 4.0, use
	// `AlarmTriggeringActionTransitionSpec` .
	//
	// Flag to specify that the alarm should trigger on a transition
	// from yellow to red.
	Yellow2red bool `xml:"yellow2red" json:"yellow2red"`
	// Deprecated as of vSphere API 4.0, use
	// `AlarmTriggeringActionTransitionSpec` .
	//
	// Flag to specify that the alarm should trigger on a transition
	// from red to yellow.
	Red2yellow bool `xml:"red2yellow" json:"red2yellow"`
	// Deprecated as of vSphere API 4.0, use
	// `AlarmTriggeringActionTransitionSpec` .
	//
	// Flag to specify that the alarm should trigger on a transition
	// from yellow to green.
	Yellow2green bool `xml:"yellow2green" json:"yellow2green"`
}

This data object type describes one or more triggering transitions and an action to be done when an alarm is triggered.

There are four triggering transitions; at least one of them must be provided. A gray state is considered the same as a green state, for the purpose of detecting transitions.

type AlarmTriggeringActionTransitionSpec

type AlarmTriggeringActionTransitionSpec struct {
	DynamicData

	// The state from which the alarm must transition for the action to
	// fire.
	//
	// Valid choices are red, yellow and green.
	StartState ManagedEntityStatus `xml:"startState" json:"startState"`
	// The state to which the alarm must transition for the action to fire.
	//
	// Valid choices are red, yellow, and green.
	FinalState ManagedEntityStatus `xml:"finalState" json:"finalState"`
	// Whether or not the action repeats, as per the actionFrequency defined
	// in the enclosing Alarm.
	Repeats bool `xml:"repeats" json:"repeats"`
}

Specification indicating which on transitions this action fires.

The existence of a Spec indicates that this action fires on transitions from that Spec's startState to finalState.

There are six acceptable {startState, finalState} pairs: {green, yellow}, {green, red}, {yellow, red}, {red, yellow}, {red, green} and {yellow, green}. Direct transitions have precedence over indirect. At least one of these pairs must be specified. Any deviation from the above will render the enclosing AlarmSpec invalid.

type AllVirtualMachinesLicensedEvent

type AllVirtualMachinesLicensedEvent struct {
	LicenseEvent
}

This event records that the previously unlicensed virtual machines on the specified host are now licensed.

After this event is entered into the event log, we expect to see that the (@link vim.event.Event.UnlicensedVirtualMachinesEvent UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue configIssue) is removed from the host.

type AllocateIpv4Address

type AllocateIpv4Address AllocateIpv4AddressRequestType

type AllocateIpv4AddressRequestType

type AllocateIpv4AddressRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to find the pool
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The unique ID of the pool
	PoolId int32 `xml:"poolId" json:"poolId"`
	// The unique ID for this allocation
	AllocationId string `xml:"allocationId" json:"allocationId"`
}

The parameters of `IpPoolManager.AllocateIpv4Address`.

type AllocateIpv4AddressResponse

type AllocateIpv4AddressResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AllocateIpv6Address

type AllocateIpv6Address AllocateIpv6AddressRequestType

type AllocateIpv6AddressRequestType

type AllocateIpv6AddressRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to find the pool
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The unique ID of the pool
	PoolId int32 `xml:"poolId" json:"poolId"`
	// The unique ID for this allocation
	AllocationId string `xml:"allocationId" json:"allocationId"`
}

The parameters of `IpPoolManager.AllocateIpv6Address`.

type AllocateIpv6AddressResponse

type AllocateIpv6AddressResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type AlreadyAuthenticatedSessionEvent

type AlreadyAuthenticatedSessionEvent struct {
	SessionEvent
}

This event records a failed user logon due to the user already being logged on.

type AlreadyBeingManaged

type AlreadyBeingManaged struct {
	HostConnectFault

	// IP address of server that is currently managing the host.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
}

AlreadyBeingManaged fault is thrown by the host connect method if the host is already being managed by a VirtualCenter server.

type AlreadyBeingManagedFault

type AlreadyBeingManagedFault AlreadyBeingManaged

type AlreadyConnected

type AlreadyConnected struct {
	HostConnectFault

	// Name of the host
	Name string `xml:"name" json:"name"`
}

AlreadyConnect fault is thrown by the host connect method if the host is already connected to a VirtualCenter server.

This might occur if the host has been added more than once in the same VirtualCenter in different folders or compute resources.

type AlreadyConnectedFault

type AlreadyConnectedFault AlreadyConnected

type AlreadyExists

type AlreadyExists struct {
	VimFault

	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

An AlreadyExists fault is thrown when an attempt is made to add an element to a collection, if the element's key, name, or identifier already exists in that collection.

type AlreadyExistsFault

type AlreadyExistsFault AlreadyExists

type AlreadyUpgraded

type AlreadyUpgraded struct {
	VimFault
}

An AlreadyUpgraded fault is thrown when an attempt is made to upgrade the virtual hardware of a Virtual machine whose virtual hardware is already up-to-date.

type AlreadyUpgradedFault

type AlreadyUpgradedFault AlreadyUpgraded

type AndAlarmExpression

type AndAlarmExpression struct {
	AlarmExpression

	// List of alarm expressions that define the overall status of the alarm.
	//     - The state of the alarm expression is gray if all subexpressions are gray.
	//       Otherwise, gray subexpressions are ignored.
	//     - The state is red if all subexpressions are red.
	//     - Otherwise, the state is yellow if all subexpressions are red or yellow.
	//     - Otherwise, the state of the alarm expression is green.
	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
}

A data object type that links multiple alarm expressions with AND operators.

type AnswerFile

type AnswerFile struct {
	DynamicData

	// List containing host-specific configuration data.
	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
	// Time at which the answer file was created.
	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
	// Time at which the answer file was last modified.
	ModifiedTime time.Time `xml:"modifiedTime" json:"modifiedTime"`
}

The `AnswerFile` data object contains host-specific information that a host will use in combination with a `HostProfile` for configuration.

Answer files are stored on the vCenter Server, along with host profiles. An answer file is always associated with a particular host.

To supply host-specific data:

  • Specify deferred parameters when you call the `HostProfile*.*HostProfile.ExecuteHostProfile` method. The host profile engine will verify the set of parameters for the additional configuration data.
  • Use the complete required input list (`ProfileExecuteResult*.*ProfileExecuteResult.requireInput`\[\]) as user input for the `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task` method. When you apply the profile, the vCenter Server saves the additional configuration data in the `AnswerFile.userInput` list.
  • Use the `HostProfileManager*.*HostProfileManager.UpdateAnswerFile_Task` method. This method will update an existing answer file or create a new one.

type AnswerFileCreateSpec

type AnswerFileCreateSpec struct {
	DynamicData

	// If "false", then the answer file will be saved without being validated.
	//
	// The default if not specified is "true".
	// This option should be used with caution, since the resulting answer
	// file will not be checked for errors.
	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
}

Base class for host-specific answer file options.

func (*AnswerFileCreateSpec) GetAnswerFileCreateSpec

func (b *AnswerFileCreateSpec) GetAnswerFileCreateSpec() *AnswerFileCreateSpec

type AnswerFileOptionsCreateSpec

type AnswerFileOptionsCreateSpec struct {
	AnswerFileCreateSpec

	// List of parameters that contain host-specific data.
	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty"`
}

The `AnswerFileOptionsCreateSpec` data object contains host-specific user input for an answer file.

type AnswerFileSerializedCreateSpec

type AnswerFileSerializedCreateSpec struct {
	AnswerFileCreateSpec

	// Host-specific user input.
	AnswerFileConfigString string `xml:"answerFileConfigString" json:"answerFileConfigString"`
}

The `AnswerFileSerializedCreateSpec` data object contains a serialized string representation of host-specific data for an answer file.

type AnswerFileStatusError

type AnswerFileStatusError struct {
	DynamicData

	// Path to a profile or a policy option for host-specific data.
	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
	// Message describing the error.
	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
}

The `AnswerFileStatusError` data object describes an answer file error and identifies the profile or policy option with which the error is associated.

type AnswerFileStatusResult

type AnswerFileStatusResult struct {
	DynamicData

	// Time that the answer file status was determined.
	CheckedTime time.Time `xml:"checkedTime" json:"checkedTime"`
	// Host associated with the answer file.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Status of the answer file.
	//
	// See `HostProfileManagerAnswerFileStatus_enum` for valid values.
	Status string `xml:"status" json:"status"`
	// If <code>status</code> is <code>invalid</code>, this property contains a list
	// of status error objects.
	Error []AnswerFileStatusError `xml:"error,omitempty" json:"error,omitempty"`
}

The `AnswerFileStatusResult` data object shows the validity of the answer file associated with a host.

type AnswerFileUpdateFailed

type AnswerFileUpdateFailed struct {
	VimFault

	// Failures encountered during answer file update
	Failure []AnswerFileUpdateFailure `xml:"failure" json:"failure"`
}

Could not update the answer file as it has invalid inputs.

type AnswerFileUpdateFailedFault

type AnswerFileUpdateFailedFault AnswerFileUpdateFailed

type AnswerFileUpdateFailure

type AnswerFileUpdateFailure struct {
	DynamicData

	// The user input that has the error
	UserInputPath ProfilePropertyPath `xml:"userInputPath" json:"userInputPath"`
	// Message which explains the error
	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
}

DataObject which represents the errors that occurred when an answer file update was performed.

type AnswerFileValidationInfoStatus added in v0.18.0

type AnswerFileValidationInfoStatus string

type AnswerVM

type AnswerVM AnswerVMRequestType

type AnswerVMRequestType

type AnswerVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The value from QuestionInfo.id that identifies the question
	// to answer.
	QuestionId string `xml:"questionId" json:"questionId"`
	// The contents of the QuestionInfo.choice.value array element
	// that identifies the desired answer.
	AnswerChoice string `xml:"answerChoice" json:"answerChoice"`
}

The parameters of `VirtualMachine.AnswerVM`.

type AnswerVMResponse

type AnswerVMResponse struct {
}

type AnyType

type AnyType interface{}

type ApplicationQuiesceFault

type ApplicationQuiesceFault struct {
	SnapshotFault
}

This fault is thrown when creating a quiesced snapshot failed because the (user-supplied) custom pre-freeze script in the virtual machine exited with a non-zero return code.

This indicates that the script failed to perform its quiescing task, which causes us to fail the quiesced snapshot operation.

type ApplicationQuiesceFaultFault

type ApplicationQuiesceFaultFault ApplicationQuiesceFault

type ApplyEntitiesConfigRequestType added in v0.12.0

type ApplyEntitiesConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of
	// `ApplyHostProfileConfigurationSpec`
	// objects. Each applyConfigSpecs object contains the data objects
	// required to remediate a host. The API caller should expand
	// a cluster to all its hosts for the purpose of providing the
	// required data object for configuration apply of each host.
	ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty" json:"applyConfigSpecs,omitempty"`
}

The parameters of `HostProfileManager.ApplyEntitiesConfig_Task`.

type ApplyEntitiesConfig_Task added in v0.12.0

type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType

type ApplyEntitiesConfig_TaskResponse added in v0.12.0

type ApplyEntitiesConfig_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ApplyEvcModeVMRequestType added in v0.18.0

type ApplyEvcModeVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The feature masks to apply to the virtual machine.
	// An empty set of masks will clear EVC settings.
	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
	// Defaults to true if not set. A true value implies
	// that any unspecified feature will not be exposed to the guest.
	// A false value will expose any unspecified feature to the guest
	// with the value of the host.
	CompleteMasks *bool `xml:"completeMasks" json:"completeMasks,omitempty"`
}

The parameters of `VirtualMachine.ApplyEvcModeVM_Task`.

type ApplyEvcModeVM_Task added in v0.18.0

type ApplyEvcModeVM_Task ApplyEvcModeVMRequestType

type ApplyEvcModeVM_TaskResponse added in v0.18.0

type ApplyEvcModeVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ApplyHostConfigRequestType

type ApplyHostConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to be updated. User must have sufficient credentials and privileges
	// to satisfy the contents of the <code>configSpec</code>.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Set of configuration changes to be applied to the host.
	// The changes are returned by the
	// `HostProfile*.*HostProfile.ExecuteHostProfile`
	// method in the
	// `ProfileExecuteResult*.*ProfileExecuteResult.configSpec`
	// property.
	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
	// Additional host-specific data to be applied to the host.
	// This data is the complete list of deferred parameters verified by the
	// `HostProfile*.*HostProfile.ExecuteHostProfile`
	// method, contained in the `ProfileExecuteResult` object
	// returned by the method.
	UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty" json:"userInput,omitempty" vim:"5.0"`
}

The parameters of `HostProfileManager.ApplyHostConfig_Task`.

type ApplyHostConfig_Task

type ApplyHostConfig_Task ApplyHostConfigRequestType

type ApplyHostConfig_TaskResponse

type ApplyHostConfig_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ApplyHostProfileConfigurationResult added in v0.18.0

type ApplyHostProfileConfigurationResult struct {
	DynamicData

	// Time that the host config apply starts.
	StartTime time.Time `xml:"startTime" json:"startTime"`
	// Time that the host config apply completes.
	CompleteTime time.Time `xml:"completeTime" json:"completeTime"`
	// Host to be remediated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Status of the remediation.
	//
	// See
	// `ApplyHostProfileConfigurationResultStatus_enum`
	// for valid values.
	Status string `xml:"status" json:"status"`
	// If <code>status</code> is <code>fail</code>, this property contains
	// a list of status error message objects.
	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
}

The `ApplyHostProfileConfigurationResult` data object contains the remediation results for a host: the time that the remediation happens, the status, the errors, and optinal compliance result after reboot.

type ApplyHostProfileConfigurationResultStatus added in v0.18.0

type ApplyHostProfileConfigurationResultStatus string

type ApplyHostProfileConfigurationSpec added in v0.12.0

type ApplyHostProfileConfigurationSpec struct {
	ProfileExecuteResult

	// The host to be remediated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The task requirements from the results of
	// `HostProfileManager.GenerateConfigTaskList` method
	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty"`
	// Description of tasks that will be performed on the host
	// to carry out HostProfile application.
	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
	// For a stateless host, there are two approaches to apply a host
	// profile:
	// (1) Reboot the host and apply the host profile at boot time.
	//
	// (2) Apply the host profile directly from VC. We call this as
	// regular apply.
	// The variable rebootStateless allows users to choose the first
	// approach from the two approaches above:
	// apply host profile by rebooting this host.
	RebootStateless *bool `xml:"rebootStateless" json:"rebootStateless,omitempty"`
	// For regular apply, when some of the tasks requires reboot,
	// that this variable is<code>true</code> indicates that the
	// reboot automatically happens in the batch profile apply
	// than that the user will manually reboot the system later.
	//
	// For stateless host, this variable takes effect only when
	// the variable <code>rebootStateless</code> above is
	// <code>false</code>.
	RebootHost *bool `xml:"rebootHost" json:"rebootHost,omitempty"`
	// This contains the error details.
	FaultData *LocalizedMethodFault `xml:"faultData,omitempty" json:"faultData,omitempty"`
}

The data object that contains the objects needed to remediate a host in host profile batch apply.

type ApplyProfile

type ApplyProfile struct {
	DynamicData

	// Indicates whether the profile is enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// The list of policies comprising the profile.
	//
	// A `ProfilePolicy`
	// stores one or more configuration data values in a `PolicyOption`.
	// The policy option is one of the configuration options from the
	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
	// list.
	Policy []ProfilePolicy `xml:"policy,omitempty" json:"policy,omitempty"`
	// Identifies the profile type.
	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
	// Profile engine version.
	ProfileVersion string `xml:"profileVersion,omitempty" json:"profileVersion,omitempty" vim:"5.0"`
	// List of subprofiles for this profile.
	//
	// This list can change depending on which profile plug-ins are available in the system.
	// Subprofiles can be nested to arbitrary depths to represent host capabilities.
	Property []ProfileApplyProfileProperty `xml:"property,omitempty" json:"property,omitempty" vim:"5.0"`
	// Indicates whether this profile is marked as "favorite".
	Favorite *bool `xml:"favorite" json:"favorite,omitempty" vim:"6.5"`
	// Indicates whether this profile is marked as to-be-merged.
	ToBeMerged *bool `xml:"toBeMerged" json:"toBeMerged,omitempty" vim:"6.5"`
	// Indicates whether the selected array elements, with the current
	// as one of them, replace the profile array in the target host
	// profile.
	ToReplaceWith *bool `xml:"toReplaceWith" json:"toReplaceWith,omitempty" vim:"6.5"`
	// Indicates whether this profile is marked as to-be-deleted.
	ToBeDeleted *bool `xml:"toBeDeleted" json:"toBeDeleted,omitempty" vim:"6.5"`
	// Indicates that the member variable <code>enabled</code> of this profile
	// will be copied from source profile to target profiles at host profile
	// composition.
	CopyEnableStatus *bool `xml:"copyEnableStatus" json:"copyEnableStatus,omitempty" vim:"6.5"`
	// Indicates whether this profile will be displayed or not.
	Hidden *bool `xml:"hidden" json:"hidden,omitempty" vim:"6.7"`
}

The `ApplyProfile` data object is the base class for all data objects that define profile configuration data.

<code>ApplyProfile</code> defines ESX configuration data storage and it supports recursive profile definition for the profile plug-in architecture.

func (*ApplyProfile) GetApplyProfile

func (b *ApplyProfile) GetApplyProfile() *ApplyProfile

type ApplyRecommendation

type ApplyRecommendation ApplyRecommendationRequestType

type ApplyRecommendationRequestType

type ApplyRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key field of the DrsRecommendation or Recommendation.
	Key string `xml:"key" json:"key"`
}

The parameters of `ClusterComputeResource.ApplyRecommendation`.

type ApplyRecommendationResponse

type ApplyRecommendationResponse struct {
}

type ApplyStorageDrsRecommendationRequestType

type ApplyStorageDrsRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key fields of the Recommendations that are applied.
	Key []string `xml:"key" json:"key"`
}

The parameters of `StorageResourceManager.ApplyStorageDrsRecommendation_Task`.

type ApplyStorageDrsRecommendationToPodRequestType

type ApplyStorageDrsRecommendationToPodRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The storage pod.
	//
	// Refers instance of `StoragePod`.
	Pod ManagedObjectReference `xml:"pod" json:"pod"`
	// The key field of the Recommendation.
	Key string `xml:"key" json:"key"`
}

The parameters of `StorageResourceManager.ApplyStorageDrsRecommendationToPod_Task`.

type ApplyStorageDrsRecommendationToPod_TaskResponse

type ApplyStorageDrsRecommendationToPod_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ApplyStorageDrsRecommendation_TaskResponse

type ApplyStorageDrsRecommendation_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ApplyStorageRecommendationResult

type ApplyStorageRecommendationResult struct {
	DynamicData

	// The result applying the recommendation, if it was successful.
	//
	// This is the equivalent of the `TaskInfo.result` key for the
	// task launched when the recommendation was applied.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
}

Both `StorageResourceManager.RecommendDatastores` and `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS for recommendations on placing or evacuating virtual disks.

All initial placement recommendations, and some enterMaintenanceMode recommendations need to be approved by the user. Recommendations that are approved will be applied using the `StorageResourceManager.ApplyStorageDrsRecommendation_Task` method. This class encapsulates the result of applying a subset of the recommendations.

type AreAlarmActionsEnabledRequestType

type AreAlarmActionsEnabledRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The managed entity to look up.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `AlarmManager.AreAlarmActionsEnabled`.

type AreAlarmActionsEnabledResponse

type AreAlarmActionsEnabledResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type ArrayOfAlarmAction

type ArrayOfAlarmAction struct {
	AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr" json:"_value"`
}

A boxed array of `AlarmAction`. To be used in `Any` placeholders.

type ArrayOfAlarmExpression

type ArrayOfAlarmExpression struct {
	AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr" json:"_value"`
}

A boxed array of `AlarmExpression`. To be used in `Any` placeholders.

type ArrayOfAlarmState

type ArrayOfAlarmState struct {
	AlarmState []AlarmState `xml:"AlarmState,omitempty" json:"_value"`
}

A boxed array of `AlarmState`. To be used in `Any` placeholders.

type ArrayOfAlarmTriggeringActionTransitionSpec

type ArrayOfAlarmTriggeringActionTransitionSpec struct {
	AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty" json:"_value"`
}

A boxed array of `AlarmTriggeringActionTransitionSpec`. To be used in `Any` placeholders.

type ArrayOfAnswerFileStatusError

type ArrayOfAnswerFileStatusError struct {
	AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty" json:"_value"`
}

A boxed array of `AnswerFileStatusError`. To be used in `Any` placeholders.

type ArrayOfAnswerFileStatusResult

type ArrayOfAnswerFileStatusResult struct {
	AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty" json:"_value"`
}

A boxed array of `AnswerFileStatusResult`. To be used in `Any` placeholders.

type ArrayOfAnswerFileUpdateFailure

type ArrayOfAnswerFileUpdateFailure struct {
	AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty" json:"_value"`
}

A boxed array of `AnswerFileUpdateFailure`. To be used in `Any` placeholders.

type ArrayOfAnyType

type ArrayOfAnyType struct {
	AnyType []AnyType `xml:"anyType,omitempty,typeattr" json:"_value"`
}

A boxed array of `Any`. To be used in `Any` placeholders.

type ArrayOfAnyURI

type ArrayOfAnyURI struct {
	AnyURI []string `xml:"anyURI,omitempty" json:"_value"`
}

type ArrayOfApplyHostProfileConfigurationResult added in v0.18.0

type ArrayOfApplyHostProfileConfigurationResult struct {
	ApplyHostProfileConfigurationResult []ApplyHostProfileConfigurationResult `xml:"ApplyHostProfileConfigurationResult,omitempty" json:"_value"`
}

A boxed array of `ApplyHostProfileConfigurationResult`. To be used in `Any` placeholders.

type ArrayOfApplyHostProfileConfigurationSpec added in v0.12.0

type ArrayOfApplyHostProfileConfigurationSpec struct {
	ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty" json:"_value"`
}

A boxed array of `ApplyHostProfileConfigurationSpec`. To be used in `Any` placeholders.

type ArrayOfApplyProfile

type ArrayOfApplyProfile struct {
	ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr" json:"_value"`
}

A boxed array of `ApplyProfile`. To be used in `Any` placeholders.

type ArrayOfAuthorizationPrivilege

type ArrayOfAuthorizationPrivilege struct {
	AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty" json:"_value"`
}

A boxed array of `AuthorizationPrivilege`. To be used in `Any` placeholders.

type ArrayOfAuthorizationRole

type ArrayOfAuthorizationRole struct {
	AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty" json:"_value"`
}

A boxed array of `AuthorizationRole`. To be used in `Any` placeholders.

type ArrayOfAutoStartPowerInfo

type ArrayOfAutoStartPowerInfo struct {
	AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty" json:"_value"`
}

A boxed array of `AutoStartPowerInfo`. To be used in `Any` placeholders.

type ArrayOfBase64Binary added in v0.18.0

type ArrayOfBase64Binary struct {
	Base64Binary [][]byte `xml:"base64Binary,omitempty" json:"_value"`
}

type ArrayOfBoolean

type ArrayOfBoolean struct {
	Boolean []bool `xml:"boolean,omitempty" json:"_value"`
}

A boxed array of `PrimitiveBoolean`. To be used in `Any` placeholders.

type ArrayOfByte

type ArrayOfByte struct {
	Byte []byte `xml:"byte,omitempty" json:"_value"`
}

A boxed array of `PrimitiveByte`. To be used in `Any` placeholders.

type ArrayOfChangesInfoEventArgument added in v0.12.0

type ArrayOfChangesInfoEventArgument struct {
	ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty" json:"_value"`
}

A boxed array of `ChangesInfoEventArgument`. To be used in `Any` placeholders.

type ArrayOfCheckResult

type ArrayOfCheckResult struct {
	CheckResult []CheckResult `xml:"CheckResult,omitempty" json:"_value"`
}

A boxed array of `CheckResult`. To be used in `Any` placeholders.

type ArrayOfClusterAction

type ArrayOfClusterAction struct {
	ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr" json:"_value"`
}

A boxed array of `ClusterAction`. To be used in `Any` placeholders.

type ArrayOfClusterActionHistory

type ArrayOfClusterActionHistory struct {
	ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty" json:"_value"`
}

A boxed array of `ClusterActionHistory`. To be used in `Any` placeholders.

type ArrayOfClusterAttemptedVmInfo

type ArrayOfClusterAttemptedVmInfo struct {
	ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterAttemptedVmInfo`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceDVSSetting added in v0.21.0

type ArrayOfClusterComputeResourceDVSSetting struct {
	ClusterComputeResourceDVSSetting []ClusterComputeResourceDVSSetting `xml:"ClusterComputeResourceDVSSetting,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceDVSSetting`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping added in v0.21.0

type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
	ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceDvsProfile added in v0.21.0

type ArrayOfClusterComputeResourceDvsProfile struct {
	ClusterComputeResourceDvsProfile []ClusterComputeResourceDvsProfile `xml:"ClusterComputeResourceDvsProfile,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceDvsProfile`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping added in v0.21.0

type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
	ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceHostConfigurationInput added in v0.21.0

type ArrayOfClusterComputeResourceHostConfigurationInput struct {
	ClusterComputeResourceHostConfigurationInput []ClusterComputeResourceHostConfigurationInput `xml:"ClusterComputeResourceHostConfigurationInput,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceHostConfigurationInput`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceHostVmkNicInfo added in v0.21.0

type ArrayOfClusterComputeResourceHostVmkNicInfo struct {
	ClusterComputeResourceHostVmkNicInfo []ClusterComputeResourceHostVmkNicInfo `xml:"ClusterComputeResourceHostVmkNicInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceHostVmkNicInfo`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceValidationResultBase added in v0.21.0

type ArrayOfClusterComputeResourceValidationResultBase struct {
	ClusterComputeResourceValidationResultBase []BaseClusterComputeResourceValidationResultBase `xml:"ClusterComputeResourceValidationResultBase,omitempty,typeattr" json:"_value"`
}

A boxed array of `ClusterComputeResourceValidationResultBase`. To be used in `Any` placeholders.

type ArrayOfClusterComputeResourceVcsSlots added in v0.24.0

type ArrayOfClusterComputeResourceVcsSlots struct {
	ClusterComputeResourceVcsSlots []ClusterComputeResourceVcsSlots `xml:"ClusterComputeResourceVcsSlots,omitempty" json:"_value"`
}

A boxed array of `ClusterComputeResourceVcsSlots`. To be used in `Any` placeholders.

type ArrayOfClusterDasAamNodeState

type ArrayOfClusterDasAamNodeState struct {
	ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty" json:"_value"`
}

A boxed array of `ClusterDasAamNodeState`. To be used in `Any` placeholders.

type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots

type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
	ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty" json:"_value"`
}

A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots`. To be used in `Any` placeholders.

type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots

type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
	ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty" json:"_value"`
}

A boxed array of `ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots`. To be used in `Any` placeholders.

type ArrayOfClusterDasVmConfigInfo

type ArrayOfClusterDasVmConfigInfo struct {
	ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterDasVmConfigInfo`. To be used in `Any` placeholders.

type ArrayOfClusterDasVmConfigSpec

type ArrayOfClusterDasVmConfigSpec struct {
	ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterDasVmConfigSpec`. To be used in `Any` placeholders.

type ArrayOfClusterDatastoreUpdateSpec added in v0.27.0

type ArrayOfClusterDatastoreUpdateSpec struct {
	ClusterDatastoreUpdateSpec []ClusterDatastoreUpdateSpec `xml:"ClusterDatastoreUpdateSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterDatastoreUpdateSpec`. To be used in `Any` placeholders.

type ArrayOfClusterDpmHostConfigInfo

type ArrayOfClusterDpmHostConfigInfo struct {
	ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterDpmHostConfigInfo`. To be used in `Any` placeholders.

type ArrayOfClusterDpmHostConfigSpec

type ArrayOfClusterDpmHostConfigSpec struct {
	ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterDpmHostConfigSpec`. To be used in `Any` placeholders.

type ArrayOfClusterDrsFaults

type ArrayOfClusterDrsFaults struct {
	ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty" json:"_value"`
}

A boxed array of `ClusterDrsFaults`. To be used in `Any` placeholders.

type ArrayOfClusterDrsFaultsFaultsByVm

type ArrayOfClusterDrsFaultsFaultsByVm struct {
	ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr" json:"_value"`
}

A boxed array of `ClusterDrsFaultsFaultsByVm`. To be used in `Any` placeholders.

type ArrayOfClusterDrsMigration

type ArrayOfClusterDrsMigration struct {
	ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty" json:"_value"`
}

A boxed array of `ClusterDrsMigration`. To be used in `Any` placeholders.

type ArrayOfClusterDrsRecommendation

type ArrayOfClusterDrsRecommendation struct {
	ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty" json:"_value"`
}

A boxed array of `ClusterDrsRecommendation`. To be used in `Any` placeholders.

type ArrayOfClusterDrsVmConfigInfo

type ArrayOfClusterDrsVmConfigInfo struct {
	ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterDrsVmConfigInfo`. To be used in `Any` placeholders.

type ArrayOfClusterDrsVmConfigSpec

type ArrayOfClusterDrsVmConfigSpec struct {
	ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterDrsVmConfigSpec`. To be used in `Any` placeholders.

type ArrayOfClusterEVCManagerCheckResult

type ArrayOfClusterEVCManagerCheckResult struct {
	ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty" json:"_value"`
}

A boxed array of `ClusterEVCManagerCheckResult`. To be used in `Any` placeholders.

type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus

type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct {
	ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty" json:"_value"`
}

A boxed array of `ClusterFailoverHostAdmissionControlInfoHostStatus`. To be used in `Any` placeholders.

type ArrayOfClusterGroupInfo

type ArrayOfClusterGroupInfo struct {
	ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `ClusterGroupInfo`. To be used in `Any` placeholders.

type ArrayOfClusterGroupSpec

type ArrayOfClusterGroupSpec struct {
	ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterGroupSpec`. To be used in `Any` placeholders.

type ArrayOfClusterHostRecommendation

type ArrayOfClusterHostRecommendation struct {
	ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty" json:"_value"`
}

A boxed array of `ClusterHostRecommendation`. To be used in `Any` placeholders.

type ArrayOfClusterIoFilterInfo

type ArrayOfClusterIoFilterInfo struct {
	ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterIoFilterInfo`. To be used in `Any` placeholders.

type ArrayOfClusterNotAttemptedVmInfo

type ArrayOfClusterNotAttemptedVmInfo struct {
	ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterNotAttemptedVmInfo`. To be used in `Any` placeholders.

type ArrayOfClusterRecommendation

type ArrayOfClusterRecommendation struct {
	ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty" json:"_value"`
}

A boxed array of `ClusterRecommendation`. To be used in `Any` placeholders.

type ArrayOfClusterRuleInfo

type ArrayOfClusterRuleInfo struct {
	ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `ClusterRuleInfo`. To be used in `Any` placeholders.

type ArrayOfClusterRuleSpec

type ArrayOfClusterRuleSpec struct {
	ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterRuleSpec`. To be used in `Any` placeholders.

type ArrayOfClusterTagCategoryUpdateSpec added in v0.27.0

type ArrayOfClusterTagCategoryUpdateSpec struct {
	ClusterTagCategoryUpdateSpec []ClusterTagCategoryUpdateSpec `xml:"ClusterTagCategoryUpdateSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterTagCategoryUpdateSpec`. To be used in `Any` placeholders.

type ArrayOfClusterVmOrchestrationInfo added in v0.12.0

type ArrayOfClusterVmOrchestrationInfo struct {
	ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty" json:"_value"`
}

A boxed array of `ClusterVmOrchestrationInfo`. To be used in `Any` placeholders.

type ArrayOfClusterVmOrchestrationSpec added in v0.12.0

type ArrayOfClusterVmOrchestrationSpec struct {
	ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty" json:"_value"`
}

A boxed array of `ClusterVmOrchestrationSpec`. To be used in `Any` placeholders.

type ArrayOfComplianceFailure

type ArrayOfComplianceFailure struct {
	ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty" json:"_value"`
}

A boxed array of `ComplianceFailure`. To be used in `Any` placeholders.

type ArrayOfComplianceFailureComplianceFailureValues added in v0.12.0

type ArrayOfComplianceFailureComplianceFailureValues struct {
	ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty" json:"_value"`
}

A boxed array of `ComplianceFailureComplianceFailureValues`. To be used in `Any` placeholders.

type ArrayOfComplianceLocator

type ArrayOfComplianceLocator struct {
	ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty" json:"_value"`
}

A boxed array of `ComplianceLocator`. To be used in `Any` placeholders.

type ArrayOfComplianceResult

type ArrayOfComplianceResult struct {
	ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty" json:"_value"`
}

A boxed array of `ComplianceResult`. To be used in `Any` placeholders.

type ArrayOfComputeResourceHostSPBMLicenseInfo

type ArrayOfComputeResourceHostSPBMLicenseInfo struct {
	ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty" json:"_value"`
}

A boxed array of `ComputeResourceHostSPBMLicenseInfo`. To be used in `Any` placeholders.

type ArrayOfConflictingConfigurationConfig

type ArrayOfConflictingConfigurationConfig struct {
	ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty" json:"_value"`
}

A boxed array of `ConflictingConfigurationConfig`. To be used in `Any` placeholders.

type ArrayOfCryptoKeyId added in v0.12.0

type ArrayOfCryptoKeyId struct {
	CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty" json:"_value"`
}

A boxed array of `CryptoKeyId`. To be used in `Any` placeholders.

type ArrayOfCryptoKeyPlain added in v0.12.0

type ArrayOfCryptoKeyPlain struct {
	CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty" json:"_value"`
}

A boxed array of `CryptoKeyPlain`. To be used in `Any` placeholders.

type ArrayOfCryptoKeyResult added in v0.12.0

type ArrayOfCryptoKeyResult struct {
	CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty" json:"_value"`
}

A boxed array of `CryptoKeyResult`. To be used in `Any` placeholders.

type ArrayOfCryptoManagerHostKeyStatus added in v0.31.0

type ArrayOfCryptoManagerHostKeyStatus struct {
	CryptoManagerHostKeyStatus []CryptoManagerHostKeyStatus `xml:"CryptoManagerHostKeyStatus,omitempty" json:"_value"`
}

A boxed array of `CryptoManagerHostKeyStatus`. To be used in `Any` placeholders.

type ArrayOfCryptoManagerKmipClusterStatus added in v0.12.0

type ArrayOfCryptoManagerKmipClusterStatus struct {
	CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty" json:"_value"`
}

A boxed array of `CryptoManagerKmipClusterStatus`. To be used in `Any` placeholders.

type ArrayOfCryptoManagerKmipCryptoKeyStatus added in v0.21.0

type ArrayOfCryptoManagerKmipCryptoKeyStatus struct {
	CryptoManagerKmipCryptoKeyStatus []CryptoManagerKmipCryptoKeyStatus `xml:"CryptoManagerKmipCryptoKeyStatus,omitempty" json:"_value"`
}

A boxed array of `CryptoManagerKmipCryptoKeyStatus`. To be used in `Any` placeholders.

type ArrayOfCryptoManagerKmipServerStatus added in v0.12.0

type ArrayOfCryptoManagerKmipServerStatus struct {
	CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty" json:"_value"`
}

A boxed array of `CryptoManagerKmipServerStatus`. To be used in `Any` placeholders.

type ArrayOfCustomFieldDef

type ArrayOfCustomFieldDef struct {
	CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty" json:"_value"`
}

A boxed array of `CustomFieldDef`. To be used in `Any` placeholders.

type ArrayOfCustomFieldValue

type ArrayOfCustomFieldValue struct {
	CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr" json:"_value"`
}

A boxed array of `CustomFieldValue`. To be used in `Any` placeholders.

type ArrayOfCustomizationAdapterMapping

type ArrayOfCustomizationAdapterMapping struct {
	CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty" json:"_value"`
}

A boxed array of `CustomizationAdapterMapping`. To be used in `Any` placeholders.

type ArrayOfCustomizationIpV6Generator

type ArrayOfCustomizationIpV6Generator struct {
	CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr" json:"_value"`
}

A boxed array of `CustomizationIpV6Generator`. To be used in `Any` placeholders.

type ArrayOfCustomizationSpecInfo

type ArrayOfCustomizationSpecInfo struct {
	CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty" json:"_value"`
}

A boxed array of `CustomizationSpecInfo`. To be used in `Any` placeholders.

type ArrayOfDVPortConfigSpec

type ArrayOfDVPortConfigSpec struct {
	DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty" json:"_value"`
}

A boxed array of `DVPortConfigSpec`. To be used in `Any` placeholders.

type ArrayOfDVPortgroupConfigSpec

type ArrayOfDVPortgroupConfigSpec struct {
	DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty" json:"_value"`
}

A boxed array of `DVPortgroupConfigSpec`. To be used in `Any` placeholders.

type ArrayOfDVSHealthCheckConfig

type ArrayOfDVSHealthCheckConfig struct {
	DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr" json:"_value"`
}

A boxed array of `DVSHealthCheckConfig`. To be used in `Any` placeholders.

type ArrayOfDVSManagerPhysicalNicsList added in v0.29.0

type ArrayOfDVSManagerPhysicalNicsList struct {
	DVSManagerPhysicalNicsList []DVSManagerPhysicalNicsList `xml:"DVSManagerPhysicalNicsList,omitempty" json:"_value"`
}

A boxed array of `DVSManagerPhysicalNicsList`. To be used in `Any` placeholders.

type ArrayOfDVSNetworkResourcePool

type ArrayOfDVSNetworkResourcePool struct {
	DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty" json:"_value"`
}

A boxed array of `DVSNetworkResourcePool`. To be used in `Any` placeholders.

type ArrayOfDVSNetworkResourcePoolConfigSpec

type ArrayOfDVSNetworkResourcePoolConfigSpec struct {
	DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty" json:"_value"`
}

A boxed array of `DVSNetworkResourcePoolConfigSpec`. To be used in `Any` placeholders.

type ArrayOfDVSVmVnicNetworkResourcePool

type ArrayOfDVSVmVnicNetworkResourcePool struct {
	DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty" json:"_value"`
}

A boxed array of `DVSVmVnicNetworkResourcePool`. To be used in `Any` placeholders.

type ArrayOfDasHeartbeatDatastoreInfo

type ArrayOfDasHeartbeatDatastoreInfo struct {
	DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty" json:"_value"`
}

A boxed array of `DasHeartbeatDatastoreInfo`. To be used in `Any` placeholders.

type ArrayOfDatacenterBasicConnectInfo added in v0.21.0

type ArrayOfDatacenterBasicConnectInfo struct {
	DatacenterBasicConnectInfo []DatacenterBasicConnectInfo `xml:"DatacenterBasicConnectInfo,omitempty" json:"_value"`
}

A boxed array of `DatacenterBasicConnectInfo`. To be used in `Any` placeholders.

type ArrayOfDatacenterMismatchArgument

type ArrayOfDatacenterMismatchArgument struct {
	DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty" json:"_value"`
}

A boxed array of `DatacenterMismatchArgument`. To be used in `Any` placeholders.

type ArrayOfDatastoreHostMount

type ArrayOfDatastoreHostMount struct {
	DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty" json:"_value"`
}

A boxed array of `DatastoreHostMount`. To be used in `Any` placeholders.

type ArrayOfDatastoreMountPathDatastorePair

type ArrayOfDatastoreMountPathDatastorePair struct {
	DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty" json:"_value"`
}

A boxed array of `DatastoreMountPathDatastorePair`. To be used in `Any` placeholders.

type ArrayOfDatastoreVVolContainerFailoverPair added in v0.12.0

type ArrayOfDatastoreVVolContainerFailoverPair struct {
	DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty" json:"_value"`
}

A boxed array of `DatastoreVVolContainerFailoverPair`. To be used in `Any` placeholders.

type ArrayOfDesiredSoftwareSpecComponentSpec added in v0.26.0

type ArrayOfDesiredSoftwareSpecComponentSpec struct {
	DesiredSoftwareSpecComponentSpec []DesiredSoftwareSpecComponentSpec `xml:"DesiredSoftwareSpecComponentSpec,omitempty" json:"_value"`
}

A boxed array of `DesiredSoftwareSpecComponentSpec`. To be used in `Any` placeholders.

type ArrayOfDiagnosticManagerBundleInfo

type ArrayOfDiagnosticManagerBundleInfo struct {
	DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty" json:"_value"`
}

A boxed array of `DiagnosticManagerBundleInfo`. To be used in `Any` placeholders.

type ArrayOfDiagnosticManagerLogDescriptor

type ArrayOfDiagnosticManagerLogDescriptor struct {
	DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty" json:"_value"`
}

A boxed array of `DiagnosticManagerLogDescriptor`. To be used in `Any` placeholders.

type ArrayOfDiskChangeExtent

type ArrayOfDiskChangeExtent struct {
	DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty" json:"_value"`
}

A boxed array of `DiskChangeExtent`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualPort

type ArrayOfDistributedVirtualPort struct {
	DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualPort`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualPortgroupInfo

type ArrayOfDistributedVirtualPortgroupInfo struct {
	DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualPortgroupInfo`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualPortgroupProblem added in v0.23.0

type ArrayOfDistributedVirtualPortgroupProblem struct {
	DistributedVirtualPortgroupProblem []DistributedVirtualPortgroupProblem `xml:"DistributedVirtualPortgroupProblem,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualPortgroupProblem`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchHostMember

type ArrayOfDistributedVirtualSwitchHostMember struct {
	DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchHostMember`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec

type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct {
	DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchHostMemberConfigSpec`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec

type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct {
	DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchHostMemberPnicSpec`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo added in v0.23.0

type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo struct {
	DistributedVirtualSwitchHostMemberTransportZoneInfo []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"DistributedVirtualSwitchHostMemberTransportZoneInfo,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchHostMemberTransportZoneInfo`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchHostProductSpec

type ArrayOfDistributedVirtualSwitchHostProductSpec struct {
	DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchHostProductSpec`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchInfo

type ArrayOfDistributedVirtualSwitchInfo struct {
	DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchInfo`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob

type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct {
	DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchKeyedOpaqueBlob`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult

type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct {
	DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchManagerCompatibilityResult`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec

type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct {
	DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchManagerHostDvsFilterSpec`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec added in v0.29.0

type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec struct {
	DistributedVirtualSwitchNetworkOffloadSpec []DistributedVirtualSwitchNetworkOffloadSpec `xml:"DistributedVirtualSwitchNetworkOffloadSpec,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchNetworkOffloadSpec`. To be used in `Any` placeholders.

type ArrayOfDistributedVirtualSwitchProductSpec

type ArrayOfDistributedVirtualSwitchProductSpec struct {
	DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty" json:"_value"`
}

A boxed array of `DistributedVirtualSwitchProductSpec`. To be used in `Any` placeholders.

type ArrayOfDouble

type ArrayOfDouble struct {
	Double []float64 `xml:"double,omitempty" json:"_value"`
}

A boxed array of `PrimitiveDouble`. To be used in `Any` placeholders.

type ArrayOfDpuStatusInfo added in v0.29.0

type ArrayOfDpuStatusInfo struct {
	DpuStatusInfo []DpuStatusInfo `xml:"DpuStatusInfo,omitempty" json:"_value"`
}

A boxed array of `DpuStatusInfo`. To be used in `Any` placeholders.

type ArrayOfDpuStatusInfoOperationalInfo added in v0.29.0

type ArrayOfDpuStatusInfoOperationalInfo struct {
	DpuStatusInfoOperationalInfo []DpuStatusInfoOperationalInfo `xml:"DpuStatusInfoOperationalInfo,omitempty" json:"_value"`
}

A boxed array of `DpuStatusInfoOperationalInfo`. To be used in `Any` placeholders.

type ArrayOfDvsApplyOperationFaultFaultOnObject

type ArrayOfDvsApplyOperationFaultFaultOnObject struct {
	DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty" json:"_value"`
}

A boxed array of `DvsApplyOperationFaultFaultOnObject`. To be used in `Any` placeholders.

type ArrayOfDvsFilterConfig

type ArrayOfDvsFilterConfig struct {
	DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr" json:"_value"`
}

A boxed array of `DvsFilterConfig`. To be used in `Any` placeholders.

type ArrayOfDvsHostInfrastructureTrafficResource

type ArrayOfDvsHostInfrastructureTrafficResource struct {
	DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty" json:"_value"`
}

A boxed array of `DvsHostInfrastructureTrafficResource`. To be used in `Any` placeholders.

type ArrayOfDvsHostVNicProfile

type ArrayOfDvsHostVNicProfile struct {
	DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty" json:"_value"`
}

A boxed array of `DvsHostVNicProfile`. To be used in `Any` placeholders.

type ArrayOfDvsNetworkRuleQualifier

type ArrayOfDvsNetworkRuleQualifier struct {
	DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr" json:"_value"`
}

A boxed array of `DvsNetworkRuleQualifier`. To be used in `Any` placeholders.

type ArrayOfDvsOperationBulkFaultFaultOnHost

type ArrayOfDvsOperationBulkFaultFaultOnHost struct {
	DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty" json:"_value"`
}

A boxed array of `DvsOperationBulkFaultFaultOnHost`. To be used in `Any` placeholders.

type ArrayOfDvsOutOfSyncHostArgument

type ArrayOfDvsOutOfSyncHostArgument struct {
	DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty" json:"_value"`
}

A boxed array of `DvsOutOfSyncHostArgument`. To be used in `Any` placeholders.

type ArrayOfDvsProfile

type ArrayOfDvsProfile struct {
	DvsProfile []DvsProfile `xml:"DvsProfile,omitempty" json:"_value"`
}

A boxed array of `DvsProfile`. To be used in `Any` placeholders.

type ArrayOfDvsServiceConsoleVNicProfile

type ArrayOfDvsServiceConsoleVNicProfile struct {
	DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty" json:"_value"`
}

A boxed array of `DvsServiceConsoleVNicProfile`. To be used in `Any` placeholders.

type ArrayOfDvsTrafficRule

type ArrayOfDvsTrafficRule struct {
	DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty" json:"_value"`
}

A boxed array of `DvsTrafficRule`. To be used in `Any` placeholders.

type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo

type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct {
	DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty" json:"_value"`
}

A boxed array of `DvsVmVnicNetworkResourcePoolRuntimeInfo`. To be used in `Any` placeholders.

type ArrayOfDvsVmVnicResourcePoolConfigSpec

type ArrayOfDvsVmVnicResourcePoolConfigSpec struct {
	DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty" json:"_value"`
}

A boxed array of `DvsVmVnicResourcePoolConfigSpec`. To be used in `Any` placeholders.

type ArrayOfDvsVnicAllocatedResource

type ArrayOfDvsVnicAllocatedResource struct {
	DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty" json:"_value"`
}

A boxed array of `DvsVnicAllocatedResource`. To be used in `Any` placeholders.

type ArrayOfDynamicProperty

type ArrayOfDynamicProperty struct {
	DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty" json:"_value"`
}

A boxed array of `DynamicProperty`. To be used in `Any` placeholders.

type ArrayOfEVCMode

type ArrayOfEVCMode struct {
	EVCMode []EVCMode `xml:"EVCMode,omitempty" json:"_value"`
}

A boxed array of `EVCMode`. To be used in `Any` placeholders.

type ArrayOfElementDescription

type ArrayOfElementDescription struct {
	ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr" json:"_value"`
}

A boxed array of `ElementDescription`. To be used in `Any` placeholders.

type ArrayOfEntityBackupConfig

type ArrayOfEntityBackupConfig struct {
	EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty" json:"_value"`
}

A boxed array of `EntityBackupConfig`. To be used in `Any` placeholders.

type ArrayOfEntityPrivilege

type ArrayOfEntityPrivilege struct {
	EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty" json:"_value"`
}

A boxed array of `EntityPrivilege`. To be used in `Any` placeholders.

type ArrayOfEnumDescription

type ArrayOfEnumDescription struct {
	EnumDescription []EnumDescription `xml:"EnumDescription,omitempty" json:"_value"`
}

A boxed array of `EnumDescription`. To be used in `Any` placeholders.

type ArrayOfEvent

type ArrayOfEvent struct {
	Event []BaseEvent `xml:"Event,omitempty,typeattr" json:"_value"`
}

A boxed array of `Event`. To be used in `Any` placeholders.

type ArrayOfEventAlarmExpressionComparison

type ArrayOfEventAlarmExpressionComparison struct {
	EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty" json:"_value"`
}

A boxed array of `EventAlarmExpressionComparison`. To be used in `Any` placeholders.

type ArrayOfEventArgDesc

type ArrayOfEventArgDesc struct {
	EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty" json:"_value"`
}

A boxed array of `EventArgDesc`. To be used in `Any` placeholders.

type ArrayOfEventDescriptionEventDetail

type ArrayOfEventDescriptionEventDetail struct {
	EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty" json:"_value"`
}

A boxed array of `EventDescriptionEventDetail`. To be used in `Any` placeholders.

type ArrayOfExtManagedEntityInfo

type ArrayOfExtManagedEntityInfo struct {
	ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty" json:"_value"`
}

A boxed array of `ExtManagedEntityInfo`. To be used in `Any` placeholders.

type ArrayOfExtSolutionManagerInfoTabInfo

type ArrayOfExtSolutionManagerInfoTabInfo struct {
	ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty" json:"_value"`
}

A boxed array of `ExtSolutionManagerInfoTabInfo`. To be used in `Any` placeholders.

type ArrayOfExtendedEventPair

type ArrayOfExtendedEventPair struct {
	ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty" json:"_value"`
}

A boxed array of `ExtendedEventPair`. To be used in `Any` placeholders.

type ArrayOfExtension

type ArrayOfExtension struct {
	Extension []Extension `xml:"Extension,omitempty" json:"_value"`
}

A boxed array of `Extension`. To be used in `Any` placeholders.

type ArrayOfExtensionClientInfo

type ArrayOfExtensionClientInfo struct {
	ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionClientInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionEventTypeInfo

type ArrayOfExtensionEventTypeInfo struct {
	ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionEventTypeInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionFaultTypeInfo

type ArrayOfExtensionFaultTypeInfo struct {
	ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionFaultTypeInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionManagerIpAllocationUsage

type ArrayOfExtensionManagerIpAllocationUsage struct {
	ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty" json:"_value"`
}

A boxed array of `ExtensionManagerIpAllocationUsage`. To be used in `Any` placeholders.

type ArrayOfExtensionPrivilegeInfo

type ArrayOfExtensionPrivilegeInfo struct {
	ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionPrivilegeInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionResourceInfo

type ArrayOfExtensionResourceInfo struct {
	ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionResourceInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionServerInfo

type ArrayOfExtensionServerInfo struct {
	ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionServerInfo`. To be used in `Any` placeholders.

type ArrayOfExtensionTaskTypeInfo

type ArrayOfExtensionTaskTypeInfo struct {
	ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty" json:"_value"`
}

A boxed array of `ExtensionTaskTypeInfo`. To be used in `Any` placeholders.

type ArrayOfFaultToleranceDiskSpec

type ArrayOfFaultToleranceDiskSpec struct {
	FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty" json:"_value"`
}

A boxed array of `FaultToleranceDiskSpec`. To be used in `Any` placeholders.

type ArrayOfFaultsByHost added in v0.18.0

type ArrayOfFaultsByHost struct {
	FaultsByHost []FaultsByHost `xml:"FaultsByHost,omitempty" json:"_value"`
}

A boxed array of `FaultsByHost`. To be used in `Any` placeholders.

type ArrayOfFaultsByVM added in v0.18.0

type ArrayOfFaultsByVM struct {
	FaultsByVM []FaultsByVM `xml:"FaultsByVM,omitempty" json:"_value"`
}

A boxed array of `FaultsByVM`. To be used in `Any` placeholders.

type ArrayOfFcoeConfigVlanRange

type ArrayOfFcoeConfigVlanRange struct {
	FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty" json:"_value"`
}

A boxed array of `FcoeConfigVlanRange`. To be used in `Any` placeholders.

type ArrayOfFeatureEVCMode added in v0.24.0

type ArrayOfFeatureEVCMode struct {
	FeatureEVCMode []FeatureEVCMode `xml:"FeatureEVCMode,omitempty" json:"_value"`
}

A boxed array of `FeatureEVCMode`. To be used in `Any` placeholders.

type ArrayOfFileInfo

type ArrayOfFileInfo struct {
	FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `FileInfo`. To be used in `Any` placeholders.

type ArrayOfFileLockInfo added in v0.31.0

type ArrayOfFileLockInfo struct {
	FileLockInfo []FileLockInfo `xml:"FileLockInfo,omitempty" json:"_value"`
}

A boxed array of `FileLockInfo`. To be used in `Any` placeholders.

type ArrayOfFileQuery

type ArrayOfFileQuery struct {
	FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr" json:"_value"`
}

A boxed array of `FileQuery`. To be used in `Any` placeholders.

type ArrayOfFirewallProfileRulesetProfile

type ArrayOfFirewallProfileRulesetProfile struct {
	FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty" json:"_value"`
}

A boxed array of `FirewallProfileRulesetProfile`. To be used in `Any` placeholders.

type ArrayOfFolderFailedHostResult added in v0.21.0

type ArrayOfFolderFailedHostResult struct {
	FolderFailedHostResult []FolderFailedHostResult `xml:"FolderFailedHostResult,omitempty" json:"_value"`
}

A boxed array of `FolderFailedHostResult`. To be used in `Any` placeholders.

type ArrayOfFolderNewHostSpec added in v0.21.0

type ArrayOfFolderNewHostSpec struct {
	FolderNewHostSpec []FolderNewHostSpec `xml:"FolderNewHostSpec,omitempty" json:"_value"`
}

A boxed array of `FolderNewHostSpec`. To be used in `Any` placeholders.

type ArrayOfGuestAliases

type ArrayOfGuestAliases struct {
	GuestAliases []GuestAliases `xml:"GuestAliases,omitempty" json:"_value"`
}

A boxed array of `GuestAliases`. To be used in `Any` placeholders.

type ArrayOfGuestAuthAliasInfo

type ArrayOfGuestAuthAliasInfo struct {
	GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty" json:"_value"`
}

A boxed array of `GuestAuthAliasInfo`. To be used in `Any` placeholders.

type ArrayOfGuestAuthSubject

type ArrayOfGuestAuthSubject struct {
	GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr" json:"_value"`
}

A boxed array of `GuestAuthSubject`. To be used in `Any` placeholders.

type ArrayOfGuestDiskInfo

type ArrayOfGuestDiskInfo struct {
	GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty" json:"_value"`
}

A boxed array of `GuestDiskInfo`. To be used in `Any` placeholders.

type ArrayOfGuestFileInfo

type ArrayOfGuestFileInfo struct {
	GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty" json:"_value"`
}

A boxed array of `GuestFileInfo`. To be used in `Any` placeholders.

type ArrayOfGuestInfoNamespaceGenerationInfo

type ArrayOfGuestInfoNamespaceGenerationInfo struct {
	GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty" json:"_value"`
}

A boxed array of `GuestInfoNamespaceGenerationInfo`. To be used in `Any` placeholders.

type ArrayOfGuestInfoVirtualDiskMapping added in v0.23.0

type ArrayOfGuestInfoVirtualDiskMapping struct {
	GuestInfoVirtualDiskMapping []GuestInfoVirtualDiskMapping `xml:"GuestInfoVirtualDiskMapping,omitempty" json:"_value"`
}

A boxed array of `GuestInfoVirtualDiskMapping`. To be used in `Any` placeholders.

type ArrayOfGuestMappedAliases

type ArrayOfGuestMappedAliases struct {
	GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty" json:"_value"`
}

A boxed array of `GuestMappedAliases`. To be used in `Any` placeholders.

type ArrayOfGuestNicInfo

type ArrayOfGuestNicInfo struct {
	GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty" json:"_value"`
}

A boxed array of `GuestNicInfo`. To be used in `Any` placeholders.

type ArrayOfGuestOsDescriptor

type ArrayOfGuestOsDescriptor struct {
	GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty" json:"_value"`
}

A boxed array of `GuestOsDescriptor`. To be used in `Any` placeholders.

type ArrayOfGuestProcessInfo

type ArrayOfGuestProcessInfo struct {
	GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty" json:"_value"`
}

A boxed array of `GuestProcessInfo`. To be used in `Any` placeholders.

type ArrayOfGuestRegKeyRecordSpec

type ArrayOfGuestRegKeyRecordSpec struct {
	GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty" json:"_value"`
}

A boxed array of `GuestRegKeyRecordSpec`. To be used in `Any` placeholders.

type ArrayOfGuestRegValueSpec

type ArrayOfGuestRegValueSpec struct {
	GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty" json:"_value"`
}

A boxed array of `GuestRegValueSpec`. To be used in `Any` placeholders.

type ArrayOfGuestStackInfo

type ArrayOfGuestStackInfo struct {
	GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty" json:"_value"`
}

A boxed array of `GuestStackInfo`. To be used in `Any` placeholders.

type ArrayOfHbrManagerVmReplicationCapability

type ArrayOfHbrManagerVmReplicationCapability struct {
	HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty" json:"_value"`
}

A boxed array of `HbrManagerVmReplicationCapability`. To be used in `Any` placeholders.

type ArrayOfHealthUpdate added in v0.12.0

type ArrayOfHealthUpdate struct {
	HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty" json:"_value"`
}

A boxed array of `HealthUpdate`. To be used in `Any` placeholders.

type ArrayOfHealthUpdateInfo added in v0.12.0

type ArrayOfHealthUpdateInfo struct {
	HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty" json:"_value"`
}

A boxed array of `HealthUpdateInfo`. To be used in `Any` placeholders.

type ArrayOfHostAccessControlEntry

type ArrayOfHostAccessControlEntry struct {
	HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty" json:"_value"`
}

A boxed array of `HostAccessControlEntry`. To be used in `Any` placeholders.

type ArrayOfHostAccountSpec

type ArrayOfHostAccountSpec struct {
	HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostAccountSpec`. To be used in `Any` placeholders.

type ArrayOfHostActiveDirectory

type ArrayOfHostActiveDirectory struct {
	HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty" json:"_value"`
}

A boxed array of `HostActiveDirectory`. To be used in `Any` placeholders.

type ArrayOfHostAssignableHardwareBinding added in v0.23.0

type ArrayOfHostAssignableHardwareBinding struct {
	HostAssignableHardwareBinding []HostAssignableHardwareBinding `xml:"HostAssignableHardwareBinding,omitempty" json:"_value"`
}

A boxed array of `HostAssignableHardwareBinding`. To be used in `Any` placeholders.

type ArrayOfHostAssignableHardwareConfigAttributeOverride added in v0.23.0

type ArrayOfHostAssignableHardwareConfigAttributeOverride struct {
	HostAssignableHardwareConfigAttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"HostAssignableHardwareConfigAttributeOverride,omitempty" json:"_value"`
}

A boxed array of `HostAssignableHardwareConfigAttributeOverride`. To be used in `Any` placeholders.

type ArrayOfHostAuthenticationStoreInfo

type ArrayOfHostAuthenticationStoreInfo struct {
	HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostAuthenticationStoreInfo`. To be used in `Any` placeholders.

type ArrayOfHostBootDevice

type ArrayOfHostBootDevice struct {
	HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty" json:"_value"`
}

A boxed array of `HostBootDevice`. To be used in `Any` placeholders.

type ArrayOfHostCacheConfigurationInfo

type ArrayOfHostCacheConfigurationInfo struct {
	HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty" json:"_value"`
}

A boxed array of `HostCacheConfigurationInfo`. To be used in `Any` placeholders.

type ArrayOfHostCertificateManagerCertificateInfo added in v0.31.0

type ArrayOfHostCertificateManagerCertificateInfo struct {
	HostCertificateManagerCertificateInfo []HostCertificateManagerCertificateInfo `xml:"HostCertificateManagerCertificateInfo,omitempty" json:"_value"`
}

A boxed array of `HostCertificateManagerCertificateInfo`. To be used in `Any` placeholders.

type ArrayOfHostConnectInfoNetworkInfo

type ArrayOfHostConnectInfoNetworkInfo struct {
	HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostConnectInfoNetworkInfo`. To be used in `Any` placeholders.

type ArrayOfHostConnectSpec added in v0.21.0

type ArrayOfHostConnectSpec struct {
	HostConnectSpec []HostConnectSpec `xml:"HostConnectSpec,omitempty" json:"_value"`
}

A boxed array of `HostConnectSpec`. To be used in `Any` placeholders.

type ArrayOfHostCpuIdInfo

type ArrayOfHostCpuIdInfo struct {
	HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty" json:"_value"`
}

A boxed array of `HostCpuIdInfo`. To be used in `Any` placeholders.

type ArrayOfHostCpuPackage

type ArrayOfHostCpuPackage struct {
	HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty" json:"_value"`
}

A boxed array of `HostCpuPackage`. To be used in `Any` placeholders.

type ArrayOfHostDatastoreBrowserSearchResults

type ArrayOfHostDatastoreBrowserSearchResults struct {
	HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty" json:"_value"`
}

A boxed array of `HostDatastoreBrowserSearchResults`. To be used in `Any` placeholders.

type ArrayOfHostDatastoreConnectInfo

type ArrayOfHostDatastoreConnectInfo struct {
	HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostDatastoreConnectInfo`. To be used in `Any` placeholders.

type ArrayOfHostDatastoreSystemDatastoreResult

type ArrayOfHostDatastoreSystemDatastoreResult struct {
	HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty" json:"_value"`
}

A boxed array of `HostDatastoreSystemDatastoreResult`. To be used in `Any` placeholders.

type ArrayOfHostDateTimeSystemTimeZone

type ArrayOfHostDateTimeSystemTimeZone struct {
	HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty" json:"_value"`
}

A boxed array of `HostDateTimeSystemTimeZone`. To be used in `Any` placeholders.

type ArrayOfHostDhcpService

type ArrayOfHostDhcpService struct {
	HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty" json:"_value"`
}

A boxed array of `HostDhcpService`. To be used in `Any` placeholders.

type ArrayOfHostDhcpServiceConfig

type ArrayOfHostDhcpServiceConfig struct {
	HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty" json:"_value"`
}

A boxed array of `HostDhcpServiceConfig`. To be used in `Any` placeholders.

type ArrayOfHostDiagnosticPartition

type ArrayOfHostDiagnosticPartition struct {
	HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty" json:"_value"`
}

A boxed array of `HostDiagnosticPartition`. To be used in `Any` placeholders.

type ArrayOfHostDiagnosticPartitionCreateOption

type ArrayOfHostDiagnosticPartitionCreateOption struct {
	HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty" json:"_value"`
}

A boxed array of `HostDiagnosticPartitionCreateOption`. To be used in `Any` placeholders.

type ArrayOfHostDiskConfigurationResult

type ArrayOfHostDiskConfigurationResult struct {
	HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty" json:"_value"`
}

A boxed array of `HostDiskConfigurationResult`. To be used in `Any` placeholders.

type ArrayOfHostDiskMappingPartitionOption

type ArrayOfHostDiskMappingPartitionOption struct {
	HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty" json:"_value"`
}

A boxed array of `HostDiskMappingPartitionOption`. To be used in `Any` placeholders.

type ArrayOfHostDiskPartitionAttributes

type ArrayOfHostDiskPartitionAttributes struct {
	HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty" json:"_value"`
}

A boxed array of `HostDiskPartitionAttributes`. To be used in `Any` placeholders.

type ArrayOfHostDiskPartitionBlockRange

type ArrayOfHostDiskPartitionBlockRange struct {
	HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty" json:"_value"`
}

A boxed array of `HostDiskPartitionBlockRange`. To be used in `Any` placeholders.

type ArrayOfHostDiskPartitionInfo

type ArrayOfHostDiskPartitionInfo struct {
	HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty" json:"_value"`
}

A boxed array of `HostDiskPartitionInfo`. To be used in `Any` placeholders.

type ArrayOfHostDvxClass added in v0.29.0

type ArrayOfHostDvxClass struct {
	HostDvxClass []HostDvxClass `xml:"HostDvxClass,omitempty" json:"_value"`
}

A boxed array of `HostDvxClass`. To be used in `Any` placeholders.

type ArrayOfHostEventArgument

type ArrayOfHostEventArgument struct {
	HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty" json:"_value"`
}

A boxed array of `HostEventArgument`. To be used in `Any` placeholders.

type ArrayOfHostFeatureCapability

type ArrayOfHostFeatureCapability struct {
	HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty" json:"_value"`
}

A boxed array of `HostFeatureCapability`. To be used in `Any` placeholders.

type ArrayOfHostFeatureMask

type ArrayOfHostFeatureMask struct {
	HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty" json:"_value"`
}

A boxed array of `HostFeatureMask`. To be used in `Any` placeholders.

type ArrayOfHostFeatureVersionInfo

type ArrayOfHostFeatureVersionInfo struct {
	HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty" json:"_value"`
}

A boxed array of `HostFeatureVersionInfo`. To be used in `Any` placeholders.

type ArrayOfHostFileSystemMountInfo

type ArrayOfHostFileSystemMountInfo struct {
	HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty" json:"_value"`
}

A boxed array of `HostFileSystemMountInfo`. To be used in `Any` placeholders.

type ArrayOfHostFirewallConfigRuleSetConfig

type ArrayOfHostFirewallConfigRuleSetConfig struct {
	HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty" json:"_value"`
}

A boxed array of `HostFirewallConfigRuleSetConfig`. To be used in `Any` placeholders.

type ArrayOfHostFirewallRule

type ArrayOfHostFirewallRule struct {
	HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty" json:"_value"`
}

A boxed array of `HostFirewallRule`. To be used in `Any` placeholders.

type ArrayOfHostFirewallRuleset

type ArrayOfHostFirewallRuleset struct {
	HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty" json:"_value"`
}

A boxed array of `HostFirewallRuleset`. To be used in `Any` placeholders.

type ArrayOfHostFirewallRulesetIpNetwork

type ArrayOfHostFirewallRulesetIpNetwork struct {
	HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty" json:"_value"`
}

A boxed array of `HostFirewallRulesetIpNetwork`. To be used in `Any` placeholders.

type ArrayOfHostGraphicsConfigDeviceType added in v0.12.0

type ArrayOfHostGraphicsConfigDeviceType struct {
	HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty" json:"_value"`
}

A boxed array of `HostGraphicsConfigDeviceType`. To be used in `Any` placeholders.

type ArrayOfHostGraphicsInfo

type ArrayOfHostGraphicsInfo struct {
	HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty" json:"_value"`
}

A boxed array of `HostGraphicsInfo`. To be used in `Any` placeholders.

type ArrayOfHostHardwareElementInfo

type ArrayOfHostHardwareElementInfo struct {
	HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostHardwareElementInfo`. To be used in `Any` placeholders.

type ArrayOfHostHostBusAdapter

type ArrayOfHostHostBusAdapter struct {
	HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostHostBusAdapter`. To be used in `Any` placeholders.

type ArrayOfHostInternetScsiHbaIscsiIpv6Address

type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct {
	HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty" json:"_value"`
}

A boxed array of `HostInternetScsiHbaIscsiIpv6Address`. To be used in `Any` placeholders.

type ArrayOfHostInternetScsiHbaParamValue

type ArrayOfHostInternetScsiHbaParamValue struct {
	HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty" json:"_value"`
}

A boxed array of `HostInternetScsiHbaParamValue`. To be used in `Any` placeholders.

type ArrayOfHostInternetScsiHbaSendTarget

type ArrayOfHostInternetScsiHbaSendTarget struct {
	HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty" json:"_value"`
}

A boxed array of `HostInternetScsiHbaSendTarget`. To be used in `Any` placeholders.

type ArrayOfHostInternetScsiHbaStaticTarget

type ArrayOfHostInternetScsiHbaStaticTarget struct {
	HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty" json:"_value"`
}

A boxed array of `HostInternetScsiHbaStaticTarget`. To be used in `Any` placeholders.

type ArrayOfHostIoFilterInfo

type ArrayOfHostIoFilterInfo struct {
	HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty" json:"_value"`
}

A boxed array of `HostIoFilterInfo`. To be used in `Any` placeholders.

type ArrayOfHostIpConfigIpV6Address

type ArrayOfHostIpConfigIpV6Address struct {
	HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty" json:"_value"`
}

A boxed array of `HostIpConfigIpV6Address`. To be used in `Any` placeholders.

type ArrayOfHostIpRouteEntry

type ArrayOfHostIpRouteEntry struct {
	HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty" json:"_value"`
}

A boxed array of `HostIpRouteEntry`. To be used in `Any` placeholders.

type ArrayOfHostIpRouteOp

type ArrayOfHostIpRouteOp struct {
	HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty" json:"_value"`
}

A boxed array of `HostIpRouteOp`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec

type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct {
	HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerDiskLayoutSpec`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult

type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct {
	HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerFileDeleteResult`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec

type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct {
	HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerFileDeleteSpec`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerFileReserveResult

type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct {
	HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerFileReserveResult`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec

type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct {
	HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerFileReserveSpec`. To be used in `Any` placeholders.

type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec

type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
	HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty" json:"_value"`
}

A boxed array of `HostLowLevelProvisioningManagerSnapshotLayoutSpec`. To be used in `Any` placeholders.

type ArrayOfHostMemberHealthCheckResult

type ArrayOfHostMemberHealthCheckResult struct {
	HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostMemberHealthCheckResult`. To be used in `Any` placeholders.

type ArrayOfHostMemberRuntimeInfo

type ArrayOfHostMemberRuntimeInfo struct {
	HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty" json:"_value"`
}

A boxed array of `HostMemberRuntimeInfo`. To be used in `Any` placeholders.

type ArrayOfHostMemoryTierInfo added in v0.27.0

type ArrayOfHostMemoryTierInfo struct {
	HostMemoryTierInfo []HostMemoryTierInfo `xml:"HostMemoryTierInfo,omitempty" json:"_value"`
}

A boxed array of `HostMemoryTierInfo`. To be used in `Any` placeholders.

type ArrayOfHostMultipathInfoLogicalUnit

type ArrayOfHostMultipathInfoLogicalUnit struct {
	HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty" json:"_value"`
}

A boxed array of `HostMultipathInfoLogicalUnit`. To be used in `Any` placeholders.

type ArrayOfHostMultipathInfoPath

type ArrayOfHostMultipathInfoPath struct {
	HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty" json:"_value"`
}

A boxed array of `HostMultipathInfoPath`. To be used in `Any` placeholders.

type ArrayOfHostMultipathStateInfoPath

type ArrayOfHostMultipathStateInfoPath struct {
	HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty" json:"_value"`
}

A boxed array of `HostMultipathStateInfoPath`. To be used in `Any` placeholders.

type ArrayOfHostNasVolumeConfig

type ArrayOfHostNasVolumeConfig struct {
	HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty" json:"_value"`
}

A boxed array of `HostNasVolumeConfig`. To be used in `Any` placeholders.

type ArrayOfHostNatService

type ArrayOfHostNatService struct {
	HostNatService []HostNatService `xml:"HostNatService,omitempty" json:"_value"`
}

A boxed array of `HostNatService`. To be used in `Any` placeholders.

type ArrayOfHostNatServiceConfig

type ArrayOfHostNatServiceConfig struct {
	HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty" json:"_value"`
}

A boxed array of `HostNatServiceConfig`. To be used in `Any` placeholders.

type ArrayOfHostNatServicePortForwardSpec

type ArrayOfHostNatServicePortForwardSpec struct {
	HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty" json:"_value"`
}

A boxed array of `HostNatServicePortForwardSpec`. To be used in `Any` placeholders.

type ArrayOfHostNetStackInstance

type ArrayOfHostNetStackInstance struct {
	HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty" json:"_value"`
}

A boxed array of `HostNetStackInstance`. To be used in `Any` placeholders.

type ArrayOfHostNetworkConfigNetStackSpec

type ArrayOfHostNetworkConfigNetStackSpec struct {
	HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty" json:"_value"`
}

A boxed array of `HostNetworkConfigNetStackSpec`. To be used in `Any` placeholders.

type ArrayOfHostNumaNode

type ArrayOfHostNumaNode struct {
	HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty" json:"_value"`
}

A boxed array of `HostNumaNode`. To be used in `Any` placeholders.

type ArrayOfHostNumericSensorInfo

type ArrayOfHostNumericSensorInfo struct {
	HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty" json:"_value"`
}

A boxed array of `HostNumericSensorInfo`. To be used in `Any` placeholders.

type ArrayOfHostNvmeConnectSpec added in v0.27.0

type ArrayOfHostNvmeConnectSpec struct {
	HostNvmeConnectSpec []HostNvmeConnectSpec `xml:"HostNvmeConnectSpec,omitempty" json:"_value"`
}

A boxed array of `HostNvmeConnectSpec`. To be used in `Any` placeholders.

type ArrayOfHostNvmeController added in v0.23.0

type ArrayOfHostNvmeController struct {
	HostNvmeController []HostNvmeController `xml:"HostNvmeController,omitempty" json:"_value"`
}

A boxed array of `HostNvmeController`. To be used in `Any` placeholders.

type ArrayOfHostNvmeDisconnectSpec added in v0.27.0

type ArrayOfHostNvmeDisconnectSpec struct {
	HostNvmeDisconnectSpec []HostNvmeDisconnectSpec `xml:"HostNvmeDisconnectSpec,omitempty" json:"_value"`
}

A boxed array of `HostNvmeDisconnectSpec`. To be used in `Any` placeholders.

type ArrayOfHostNvmeDiscoveryLogEntry added in v0.23.0

type ArrayOfHostNvmeDiscoveryLogEntry struct {
	HostNvmeDiscoveryLogEntry []HostNvmeDiscoveryLogEntry `xml:"HostNvmeDiscoveryLogEntry,omitempty" json:"_value"`
}

A boxed array of `HostNvmeDiscoveryLogEntry`. To be used in `Any` placeholders.

type ArrayOfHostNvmeNamespace added in v0.23.0

type ArrayOfHostNvmeNamespace struct {
	HostNvmeNamespace []HostNvmeNamespace `xml:"HostNvmeNamespace,omitempty" json:"_value"`
}

A boxed array of `HostNvmeNamespace`. To be used in `Any` placeholders.

type ArrayOfHostNvmeTopologyInterface added in v0.23.0

type ArrayOfHostNvmeTopologyInterface struct {
	HostNvmeTopologyInterface []HostNvmeTopologyInterface `xml:"HostNvmeTopologyInterface,omitempty" json:"_value"`
}

A boxed array of `HostNvmeTopologyInterface`. To be used in `Any` placeholders.

type ArrayOfHostOpaqueNetworkInfo

type ArrayOfHostOpaqueNetworkInfo struct {
	HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty" json:"_value"`
}

A boxed array of `HostOpaqueNetworkInfo`. To be used in `Any` placeholders.

type ArrayOfHostOpaqueSwitch

type ArrayOfHostOpaqueSwitch struct {
	HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty" json:"_value"`
}

A boxed array of `HostOpaqueSwitch`. To be used in `Any` placeholders.

type ArrayOfHostOpaqueSwitchPhysicalNicZone

type ArrayOfHostOpaqueSwitchPhysicalNicZone struct {
	HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty" json:"_value"`
}

A boxed array of `HostOpaqueSwitchPhysicalNicZone`. To be used in `Any` placeholders.

type ArrayOfHostPatchManagerStatus

type ArrayOfHostPatchManagerStatus struct {
	HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty" json:"_value"`
}

A boxed array of `HostPatchManagerStatus`. To be used in `Any` placeholders.

type ArrayOfHostPatchManagerStatusPrerequisitePatch

type ArrayOfHostPatchManagerStatusPrerequisitePatch struct {
	HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty" json:"_value"`
}

A boxed array of `HostPatchManagerStatusPrerequisitePatch`. To be used in `Any` placeholders.

type ArrayOfHostPathSelectionPolicyOption

type ArrayOfHostPathSelectionPolicyOption struct {
	HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty" json:"_value"`
}

A boxed array of `HostPathSelectionPolicyOption`. To be used in `Any` placeholders.

type ArrayOfHostPciDevice

type ArrayOfHostPciDevice struct {
	HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty" json:"_value"`
}

A boxed array of `HostPciDevice`. To be used in `Any` placeholders.

type ArrayOfHostPciPassthruConfig

type ArrayOfHostPciPassthruConfig struct {
	HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostPciPassthruConfig`. To be used in `Any` placeholders.

type ArrayOfHostPciPassthruInfo

type ArrayOfHostPciPassthruInfo struct {
	HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostPciPassthruInfo`. To be used in `Any` placeholders.

type ArrayOfHostPlacedVirtualNicIdentifier

type ArrayOfHostPlacedVirtualNicIdentifier struct {
	HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty" json:"_value"`
}

A boxed array of `HostPlacedVirtualNicIdentifier`. To be used in `Any` placeholders.

type ArrayOfHostPlugStoreTopologyAdapter

type ArrayOfHostPlugStoreTopologyAdapter struct {
	HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty" json:"_value"`
}

A boxed array of `HostPlugStoreTopologyAdapter`. To be used in `Any` placeholders.

type ArrayOfHostPlugStoreTopologyDevice

type ArrayOfHostPlugStoreTopologyDevice struct {
	HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty" json:"_value"`
}

A boxed array of `HostPlugStoreTopologyDevice`. To be used in `Any` placeholders.

type ArrayOfHostPlugStoreTopologyPath

type ArrayOfHostPlugStoreTopologyPath struct {
	HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty" json:"_value"`
}

A boxed array of `HostPlugStoreTopologyPath`. To be used in `Any` placeholders.

type ArrayOfHostPlugStoreTopologyPlugin

type ArrayOfHostPlugStoreTopologyPlugin struct {
	HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty" json:"_value"`
}

A boxed array of `HostPlugStoreTopologyPlugin`. To be used in `Any` placeholders.

type ArrayOfHostPlugStoreTopologyTarget

type ArrayOfHostPlugStoreTopologyTarget struct {
	HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty" json:"_value"`
}

A boxed array of `HostPlugStoreTopologyTarget`. To be used in `Any` placeholders.

type ArrayOfHostPnicNetworkResourceInfo

type ArrayOfHostPnicNetworkResourceInfo struct {
	HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty" json:"_value"`
}

A boxed array of `HostPnicNetworkResourceInfo`. To be used in `Any` placeholders.

type ArrayOfHostPortGroup

type ArrayOfHostPortGroup struct {
	HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty" json:"_value"`
}

A boxed array of `HostPortGroup`. To be used in `Any` placeholders.

type ArrayOfHostPortGroupConfig

type ArrayOfHostPortGroupConfig struct {
	HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty" json:"_value"`
}

A boxed array of `HostPortGroupConfig`. To be used in `Any` placeholders.

type ArrayOfHostPortGroupPort

type ArrayOfHostPortGroupPort struct {
	HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty" json:"_value"`
}

A boxed array of `HostPortGroupPort`. To be used in `Any` placeholders.

type ArrayOfHostPortGroupProfile

type ArrayOfHostPortGroupProfile struct {
	HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty" json:"_value"`
}

A boxed array of `HostPortGroupProfile`. To be used in `Any` placeholders.

type ArrayOfHostPowerPolicy

type ArrayOfHostPowerPolicy struct {
	HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty" json:"_value"`
}

A boxed array of `HostPowerPolicy`. To be used in `Any` placeholders.

type ArrayOfHostProfileManagerCompositionResultResultElement added in v0.18.0

type ArrayOfHostProfileManagerCompositionResultResultElement struct {
	HostProfileManagerCompositionResultResultElement []HostProfileManagerCompositionResultResultElement `xml:"HostProfileManagerCompositionResultResultElement,omitempty" json:"_value"`
}

A boxed array of `HostProfileManagerCompositionResultResultElement`. To be used in `Any` placeholders.

type ArrayOfHostProfileManagerCompositionValidationResultResultElement added in v0.12.0

type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct {
	HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty" json:"_value"`
}

A boxed array of `HostProfileManagerCompositionValidationResultResultElement`. To be used in `Any` placeholders.

type ArrayOfHostProfilesEntityCustomizations added in v0.12.0

type ArrayOfHostProfilesEntityCustomizations struct {
	HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostProfilesEntityCustomizations`. To be used in `Any` placeholders.

type ArrayOfHostProtocolEndpoint

type ArrayOfHostProtocolEndpoint struct {
	HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty" json:"_value"`
}

A boxed array of `HostProtocolEndpoint`. To be used in `Any` placeholders.

type ArrayOfHostProxySwitch

type ArrayOfHostProxySwitch struct {
	HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty" json:"_value"`
}

A boxed array of `HostProxySwitch`. To be used in `Any` placeholders.

type ArrayOfHostProxySwitchConfig

type ArrayOfHostProxySwitchConfig struct {
	HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty" json:"_value"`
}

A boxed array of `HostProxySwitchConfig`. To be used in `Any` placeholders.

type ArrayOfHostProxySwitchHostLagConfig

type ArrayOfHostProxySwitchHostLagConfig struct {
	HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty" json:"_value"`
}

A boxed array of `HostProxySwitchHostLagConfig`. To be used in `Any` placeholders.

type ArrayOfHostPtpConfigPtpPort added in v0.27.0

type ArrayOfHostPtpConfigPtpPort struct {
	HostPtpConfigPtpPort []HostPtpConfigPtpPort `xml:"HostPtpConfigPtpPort,omitempty" json:"_value"`
}

A boxed array of `HostPtpConfigPtpPort`. To be used in `Any` placeholders.

type ArrayOfHostQualifiedName added in v0.27.0

type ArrayOfHostQualifiedName struct {
	HostQualifiedName []HostQualifiedName `xml:"HostQualifiedName,omitempty" json:"_value"`
}

A boxed array of `HostQualifiedName`. To be used in `Any` placeholders.

type ArrayOfHostRdmaDevice added in v0.23.0

type ArrayOfHostRdmaDevice struct {
	HostRdmaDevice []HostRdmaDevice `xml:"HostRdmaDevice,omitempty" json:"_value"`
}

A boxed array of `HostRdmaDevice`. To be used in `Any` placeholders.

type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo

type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct {
	HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty" json:"_value"`
}

A boxed array of `HostRuntimeInfoNetStackInstanceRuntimeInfo`. To be used in `Any` placeholders.

type ArrayOfHostScsiDisk

type ArrayOfHostScsiDisk struct {
	HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty" json:"_value"`
}

A boxed array of `HostScsiDisk`. To be used in `Any` placeholders.

type ArrayOfHostScsiDiskPartition

type ArrayOfHostScsiDiskPartition struct {
	HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty" json:"_value"`
}

A boxed array of `HostScsiDiskPartition`. To be used in `Any` placeholders.

type ArrayOfHostScsiTopologyInterface

type ArrayOfHostScsiTopologyInterface struct {
	HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty" json:"_value"`
}

A boxed array of `HostScsiTopologyInterface`. To be used in `Any` placeholders.

type ArrayOfHostScsiTopologyLun

type ArrayOfHostScsiTopologyLun struct {
	HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty" json:"_value"`
}

A boxed array of `HostScsiTopologyLun`. To be used in `Any` placeholders.

type ArrayOfHostScsiTopologyTarget

type ArrayOfHostScsiTopologyTarget struct {
	HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty" json:"_value"`
}

A boxed array of `HostScsiTopologyTarget`. To be used in `Any` placeholders.

type ArrayOfHostService

type ArrayOfHostService struct {
	HostService []HostService `xml:"HostService,omitempty" json:"_value"`
}

A boxed array of `HostService`. To be used in `Any` placeholders.

type ArrayOfHostServiceConfig

type ArrayOfHostServiceConfig struct {
	HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty" json:"_value"`
}

A boxed array of `HostServiceConfig`. To be used in `Any` placeholders.

type ArrayOfHostSharedGpuCapabilities added in v0.18.0

type ArrayOfHostSharedGpuCapabilities struct {
	HostSharedGpuCapabilities []HostSharedGpuCapabilities `xml:"HostSharedGpuCapabilities,omitempty" json:"_value"`
}

A boxed array of `HostSharedGpuCapabilities`. To be used in `Any` placeholders.

type ArrayOfHostSnmpDestination

type ArrayOfHostSnmpDestination struct {
	HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty" json:"_value"`
}

A boxed array of `HostSnmpDestination`. To be used in `Any` placeholders.

type ArrayOfHostSriovDevicePoolInfo added in v0.12.0

type ArrayOfHostSriovDevicePoolInfo struct {
	HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostSriovDevicePoolInfo`. To be used in `Any` placeholders.

type ArrayOfHostSslThumbprintInfo

type ArrayOfHostSslThumbprintInfo struct {
	HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty" json:"_value"`
}

A boxed array of `HostSslThumbprintInfo`. To be used in `Any` placeholders.

type ArrayOfHostStorageArrayTypePolicyOption

type ArrayOfHostStorageArrayTypePolicyOption struct {
	HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty" json:"_value"`
}

A boxed array of `HostStorageArrayTypePolicyOption`. To be used in `Any` placeholders.

type ArrayOfHostStorageElementInfo

type ArrayOfHostStorageElementInfo struct {
	HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty" json:"_value"`
}

A boxed array of `HostStorageElementInfo`. To be used in `Any` placeholders.

type ArrayOfHostStorageOperationalInfo

type ArrayOfHostStorageOperationalInfo struct {
	HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty" json:"_value"`
}

A boxed array of `HostStorageOperationalInfo`. To be used in `Any` placeholders.

type ArrayOfHostStorageSystemDiskLocatorLedResult

type ArrayOfHostStorageSystemDiskLocatorLedResult struct {
	HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty" json:"_value"`
}

A boxed array of `HostStorageSystemDiskLocatorLedResult`. To be used in `Any` placeholders.

type ArrayOfHostStorageSystemScsiLunResult

type ArrayOfHostStorageSystemScsiLunResult struct {
	HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty" json:"_value"`
}

A boxed array of `HostStorageSystemScsiLunResult`. To be used in `Any` placeholders.

type ArrayOfHostStorageSystemVmfsVolumeResult

type ArrayOfHostStorageSystemVmfsVolumeResult struct {
	HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty" json:"_value"`
}

A boxed array of `HostStorageSystemVmfsVolumeResult`. To be used in `Any` placeholders.

type ArrayOfHostSubSpecification added in v0.12.0

type ArrayOfHostSubSpecification struct {
	HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty" json:"_value"`
}

A boxed array of `HostSubSpecification`. To be used in `Any` placeholders.

type ArrayOfHostSystemIdentificationInfo

type ArrayOfHostSystemIdentificationInfo struct {
	HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty" json:"_value"`
}

A boxed array of `HostSystemIdentificationInfo`. To be used in `Any` placeholders.

type ArrayOfHostSystemResourceInfo

type ArrayOfHostSystemResourceInfo struct {
	HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty" json:"_value"`
}

A boxed array of `HostSystemResourceInfo`. To be used in `Any` placeholders.

type ArrayOfHostSystemSwapConfigurationSystemSwapOption

type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct {
	HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr" json:"_value"`
}

A boxed array of `HostSystemSwapConfigurationSystemSwapOption`. To be used in `Any` placeholders.

type ArrayOfHostTpmDigestInfo

type ArrayOfHostTpmDigestInfo struct {
	HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty" json:"_value"`
}

A boxed array of `HostTpmDigestInfo`. To be used in `Any` placeholders.

type ArrayOfHostTpmEventLogEntry

type ArrayOfHostTpmEventLogEntry struct {
	HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty" json:"_value"`
}

A boxed array of `HostTpmEventLogEntry`. To be used in `Any` placeholders.

type ArrayOfHostTrustAuthorityAttestationInfo added in v0.24.0

type ArrayOfHostTrustAuthorityAttestationInfo struct {
	HostTrustAuthorityAttestationInfo []HostTrustAuthorityAttestationInfo `xml:"HostTrustAuthorityAttestationInfo,omitempty" json:"_value"`
}

A boxed array of `HostTrustAuthorityAttestationInfo`. To be used in `Any` placeholders.

type ArrayOfHostUnresolvedVmfsExtent

type ArrayOfHostUnresolvedVmfsExtent struct {
	HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty" json:"_value"`
}

A boxed array of `HostUnresolvedVmfsExtent`. To be used in `Any` placeholders.

type ArrayOfHostUnresolvedVmfsResolutionResult

type ArrayOfHostUnresolvedVmfsResolutionResult struct {
	HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty" json:"_value"`
}

A boxed array of `HostUnresolvedVmfsResolutionResult`. To be used in `Any` placeholders.

type ArrayOfHostUnresolvedVmfsResolutionSpec

type ArrayOfHostUnresolvedVmfsResolutionSpec struct {
	HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty" json:"_value"`
}

A boxed array of `HostUnresolvedVmfsResolutionSpec`. To be used in `Any` placeholders.

type ArrayOfHostUnresolvedVmfsVolume

type ArrayOfHostUnresolvedVmfsVolume struct {
	HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty" json:"_value"`
}

A boxed array of `HostUnresolvedVmfsVolume`. To be used in `Any` placeholders.

type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption

type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
	HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty" json:"_value"`
}

A boxed array of `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`. To be used in `Any` placeholders.

type ArrayOfHostVMotionCompatibility

type ArrayOfHostVMotionCompatibility struct {
	HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty" json:"_value"`
}

A boxed array of `HostVMotionCompatibility`. To be used in `Any` placeholders.

type ArrayOfHostVirtualNic

type ArrayOfHostVirtualNic struct {
	HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty" json:"_value"`
}

A boxed array of `HostVirtualNic`. To be used in `Any` placeholders.

type ArrayOfHostVirtualNicConfig

type ArrayOfHostVirtualNicConfig struct {
	HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty" json:"_value"`
}

A boxed array of `HostVirtualNicConfig`. To be used in `Any` placeholders.

type ArrayOfHostVirtualNicManagerNicTypeSelection

type ArrayOfHostVirtualNicManagerNicTypeSelection struct {
	HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty" json:"_value"`
}

A boxed array of `HostVirtualNicManagerNicTypeSelection`. To be used in `Any` placeholders.

type ArrayOfHostVirtualSwitch

type ArrayOfHostVirtualSwitch struct {
	HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty" json:"_value"`
}

A boxed array of `HostVirtualSwitch`. To be used in `Any` placeholders.

type ArrayOfHostVirtualSwitchConfig

type ArrayOfHostVirtualSwitchConfig struct {
	HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty" json:"_value"`
}

A boxed array of `HostVirtualSwitchConfig`. To be used in `Any` placeholders.

type ArrayOfHostVmciAccessManagerAccessSpec

type ArrayOfHostVmciAccessManagerAccessSpec struct {
	HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty" json:"_value"`
}

A boxed array of `HostVmciAccessManagerAccessSpec`. To be used in `Any` placeholders.

type ArrayOfHostVmfsRescanResult

type ArrayOfHostVmfsRescanResult struct {
	HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty" json:"_value"`
}

A boxed array of `HostVmfsRescanResult`. To be used in `Any` placeholders.

type ArrayOfHostVsanInternalSystemCmmdsQuery

type ArrayOfHostVsanInternalSystemCmmdsQuery struct {
	HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty" json:"_value"`
}

A boxed array of `HostVsanInternalSystemCmmdsQuery`. To be used in `Any` placeholders.

type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult

type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct {
	HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty" json:"_value"`
}

A boxed array of `HostVsanInternalSystemDeleteVsanObjectsResult`. To be used in `Any` placeholders.

type ArrayOfHostVsanInternalSystemVsanObjectOperationResult

type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct {
	HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty" json:"_value"`
}

A boxed array of `HostVsanInternalSystemVsanObjectOperationResult`. To be used in `Any` placeholders.

type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult

type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
	HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty" json:"_value"`
}

A boxed array of `HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult`. To be used in `Any` placeholders.

type ArrayOfHostVvolNQN added in v0.31.0

type ArrayOfHostVvolNQN struct {
	HostVvolNQN []HostVvolNQN `xml:"HostVvolNQN,omitempty" json:"_value"`
}

A boxed array of `HostVvolNQN`. To be used in `Any` placeholders.

type ArrayOfHostVvolVolumeHostVvolNQN added in v0.31.0

type ArrayOfHostVvolVolumeHostVvolNQN struct {
	HostVvolVolumeHostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"HostVvolVolumeHostVvolNQN,omitempty" json:"_value"`
}

A boxed array of `HostVvolVolumeHostVvolNQN`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseDatastoreLeaseInfo

type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct {
	HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseDatastoreLeaseInfo`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseDeviceUrl

type ArrayOfHttpNfcLeaseDeviceUrl struct {
	HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseDeviceUrl`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseHostInfo

type ArrayOfHttpNfcLeaseHostInfo struct {
	HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseHostInfo`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseManifestEntry

type ArrayOfHttpNfcLeaseManifestEntry struct {
	HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseManifestEntry`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseProbeResult added in v0.26.0

type ArrayOfHttpNfcLeaseProbeResult struct {
	HttpNfcLeaseProbeResult []HttpNfcLeaseProbeResult `xml:"HttpNfcLeaseProbeResult,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseProbeResult`. To be used in `Any` placeholders.

type ArrayOfHttpNfcLeaseSourceFile added in v0.18.0

type ArrayOfHttpNfcLeaseSourceFile struct {
	HttpNfcLeaseSourceFile []HttpNfcLeaseSourceFile `xml:"HttpNfcLeaseSourceFile,omitempty" json:"_value"`
}

A boxed array of `HttpNfcLeaseSourceFile`. To be used in `Any` placeholders.

type ArrayOfID added in v0.12.0

type ArrayOfID struct {
	ID []ID `xml:"ID,omitempty" json:"_value"`
}

A boxed array of `ID`. To be used in `Any` placeholders.

type ArrayOfImportOperationBulkFaultFaultOnImport

type ArrayOfImportOperationBulkFaultFaultOnImport struct {
	ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty" json:"_value"`
}

A boxed array of `ImportOperationBulkFaultFaultOnImport`. To be used in `Any` placeholders.

type ArrayOfImportSpec

type ArrayOfImportSpec struct {
	ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `ImportSpec`. To be used in `Any` placeholders.

type ArrayOfInt

type ArrayOfInt struct {
	Int []int32 `xml:"int,omitempty" json:"_value"`
}

A boxed array of `PrimitiveInt`. To be used in `Any` placeholders.

type ArrayOfIoFilterHostIssue

type ArrayOfIoFilterHostIssue struct {
	IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty" json:"_value"`
}

A boxed array of `IoFilterHostIssue`. To be used in `Any` placeholders.

type ArrayOfIpPool

type ArrayOfIpPool struct {
	IpPool []IpPool `xml:"IpPool,omitempty" json:"_value"`
}

A boxed array of `IpPool`. To be used in `Any` placeholders.

type ArrayOfIpPoolAssociation

type ArrayOfIpPoolAssociation struct {
	IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty" json:"_value"`
}

A boxed array of `IpPoolAssociation`. To be used in `Any` placeholders.

type ArrayOfIpPoolManagerIpAllocation

type ArrayOfIpPoolManagerIpAllocation struct {
	IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty" json:"_value"`
}

A boxed array of `IpPoolManagerIpAllocation`. To be used in `Any` placeholders.

type ArrayOfIscsiDependencyEntity

type ArrayOfIscsiDependencyEntity struct {
	IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty" json:"_value"`
}

A boxed array of `IscsiDependencyEntity`. To be used in `Any` placeholders.

type ArrayOfIscsiPortInfo

type ArrayOfIscsiPortInfo struct {
	IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty" json:"_value"`
}

A boxed array of `IscsiPortInfo`. To be used in `Any` placeholders.

type ArrayOfKernelModuleInfo

type ArrayOfKernelModuleInfo struct {
	KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty" json:"_value"`
}

A boxed array of `KernelModuleInfo`. To be used in `Any` placeholders.

type ArrayOfKeyAnyValue

type ArrayOfKeyAnyValue struct {
	KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty" json:"_value"`
}

A boxed array of `KeyAnyValue`. To be used in `Any` placeholders.

type ArrayOfKeyValue

type ArrayOfKeyValue struct {
	KeyValue []KeyValue `xml:"KeyValue,omitempty" json:"_value"`
}

A boxed array of `KeyValue`. To be used in `Any` placeholders.

type ArrayOfKmipClusterInfo added in v0.12.0

type ArrayOfKmipClusterInfo struct {
	KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty" json:"_value"`
}

A boxed array of `KmipClusterInfo`. To be used in `Any` placeholders.

type ArrayOfKmipServerInfo added in v0.12.0

type ArrayOfKmipServerInfo struct {
	KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty" json:"_value"`
}

A boxed array of `KmipServerInfo`. To be used in `Any` placeholders.

type ArrayOfLicenseAssignmentManagerLicenseAssignment

type ArrayOfLicenseAssignmentManagerLicenseAssignment struct {
	LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty" json:"_value"`
}

A boxed array of `LicenseAssignmentManagerLicenseAssignment`. To be used in `Any` placeholders.

type ArrayOfLicenseAvailabilityInfo

type ArrayOfLicenseAvailabilityInfo struct {
	LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty" json:"_value"`
}

A boxed array of `LicenseAvailabilityInfo`. To be used in `Any` placeholders.

type ArrayOfLicenseFeatureInfo

type ArrayOfLicenseFeatureInfo struct {
	LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty" json:"_value"`
}

A boxed array of `LicenseFeatureInfo`. To be used in `Any` placeholders.

type ArrayOfLicenseManagerLicenseInfo

type ArrayOfLicenseManagerLicenseInfo struct {
	LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty" json:"_value"`
}

A boxed array of `LicenseManagerLicenseInfo`. To be used in `Any` placeholders.

type ArrayOfLicenseReservationInfo

type ArrayOfLicenseReservationInfo struct {
	LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty" json:"_value"`
}

A boxed array of `LicenseReservationInfo`. To be used in `Any` placeholders.

type ArrayOfLocalizableMessage

type ArrayOfLocalizableMessage struct {
	LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty" json:"_value"`
}

A boxed array of `LocalizableMessage`. To be used in `Any` placeholders.

type ArrayOfLocalizationManagerMessageCatalog

type ArrayOfLocalizationManagerMessageCatalog struct {
	LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty" json:"_value"`
}

A boxed array of `LocalizationManagerMessageCatalog`. To be used in `Any` placeholders.

type ArrayOfLong

type ArrayOfLong struct {
	Long []int64 `xml:"long,omitempty" json:"_value"`
}

A boxed array of `PrimitiveLong`. To be used in `Any` placeholders.

type ArrayOfManagedEntityStatus added in v0.18.0

type ArrayOfManagedEntityStatus struct {
	ManagedEntityStatus []ManagedEntityStatus `xml:"ManagedEntityStatus,omitempty" json:"_value"`
}

A boxed array of `ManagedEntityStatus_enum`. To be used in `Any` placeholders.

type ArrayOfManagedObjectReference

type ArrayOfManagedObjectReference struct {
	ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty" json:"_value"`
}

A boxed array of `ManagedObjectReference`. To be used in `Any` placeholders.

type ArrayOfMethodActionArgument

type ArrayOfMethodActionArgument struct {
	MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty" json:"_value"`
}

A boxed array of `MethodActionArgument`. To be used in `Any` placeholders.

type ArrayOfMethodFault

type ArrayOfMethodFault struct {
	MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr" json:"_value"`
}

A boxed array of `MethodFault`. To be used in `Any` placeholders.

type ArrayOfMissingObject

type ArrayOfMissingObject struct {
	MissingObject []MissingObject `xml:"MissingObject,omitempty" json:"_value"`
}

A boxed array of `MissingObject`. To be used in `Any` placeholders.

type ArrayOfMissingProperty

type ArrayOfMissingProperty struct {
	MissingProperty []MissingProperty `xml:"MissingProperty,omitempty" json:"_value"`
}

A boxed array of `MissingProperty`. To be used in `Any` placeholders.

type ArrayOfMultipleCertificatesVerifyFaultThumbprintData

type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct {
	MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty" json:"_value"`
}

A boxed array of `MultipleCertificatesVerifyFaultThumbprintData`. To be used in `Any` placeholders.

type ArrayOfNasStorageProfile

type ArrayOfNasStorageProfile struct {
	NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty" json:"_value"`
}

A boxed array of `NasStorageProfile`. To be used in `Any` placeholders.

type ArrayOfNetIpConfigInfoIpAddress

type ArrayOfNetIpConfigInfoIpAddress struct {
	NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty" json:"_value"`
}

A boxed array of `NetIpConfigInfoIpAddress`. To be used in `Any` placeholders.

type ArrayOfNetIpConfigSpecIpAddressSpec

type ArrayOfNetIpConfigSpecIpAddressSpec struct {
	NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty" json:"_value"`
}

A boxed array of `NetIpConfigSpecIpAddressSpec`. To be used in `Any` placeholders.

type ArrayOfNetIpRouteConfigInfoIpRoute

type ArrayOfNetIpRouteConfigInfoIpRoute struct {
	NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty" json:"_value"`
}

A boxed array of `NetIpRouteConfigInfoIpRoute`. To be used in `Any` placeholders.

type ArrayOfNetIpRouteConfigSpecIpRouteSpec

type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct {
	NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty" json:"_value"`
}

A boxed array of `NetIpRouteConfigSpecIpRouteSpec`. To be used in `Any` placeholders.

type ArrayOfNetIpStackInfoDefaultRouter

type ArrayOfNetIpStackInfoDefaultRouter struct {
	NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty" json:"_value"`
}

A boxed array of `NetIpStackInfoDefaultRouter`. To be used in `Any` placeholders.

type ArrayOfNetIpStackInfoNetToMedia

type ArrayOfNetIpStackInfoNetToMedia struct {
	NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty" json:"_value"`
}

A boxed array of `NetIpStackInfoNetToMedia`. To be used in `Any` placeholders.

type ArrayOfNetStackInstanceProfile

type ArrayOfNetStackInstanceProfile struct {
	NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty" json:"_value"`
}

A boxed array of `NetStackInstanceProfile`. To be used in `Any` placeholders.

type ArrayOfNoPermissionEntityPrivileges added in v0.29.0

type ArrayOfNoPermissionEntityPrivileges struct {
	NoPermissionEntityPrivileges []NoPermissionEntityPrivileges `xml:"NoPermissionEntityPrivileges,omitempty" json:"_value"`
}

A boxed array of `NoPermissionEntityPrivileges`. To be used in `Any` placeholders.

type ArrayOfNsxHostVNicProfile added in v0.18.0

type ArrayOfNsxHostVNicProfile struct {
	NsxHostVNicProfile []NsxHostVNicProfile `xml:"NsxHostVNicProfile,omitempty" json:"_value"`
}

A boxed array of `NsxHostVNicProfile`. To be used in `Any` placeholders.

type ArrayOfNumericRange

type ArrayOfNumericRange struct {
	NumericRange []NumericRange `xml:"NumericRange,omitempty" json:"_value"`
}

A boxed array of `NumericRange`. To be used in `Any` placeholders.

type ArrayOfNvdimmDimmInfo added in v0.18.0

type ArrayOfNvdimmDimmInfo struct {
	NvdimmDimmInfo []NvdimmDimmInfo `xml:"NvdimmDimmInfo,omitempty" json:"_value"`
}

A boxed array of `NvdimmDimmInfo`. To be used in `Any` placeholders.

type ArrayOfNvdimmGuid added in v0.18.0

type ArrayOfNvdimmGuid struct {
	NvdimmGuid []NvdimmGuid `xml:"NvdimmGuid,omitempty" json:"_value"`
}

A boxed array of `NvdimmGuid`. To be used in `Any` placeholders.

type ArrayOfNvdimmInterleaveSetInfo added in v0.18.0

type ArrayOfNvdimmInterleaveSetInfo struct {
	NvdimmInterleaveSetInfo []NvdimmInterleaveSetInfo `xml:"NvdimmInterleaveSetInfo,omitempty" json:"_value"`
}

A boxed array of `NvdimmInterleaveSetInfo`. To be used in `Any` placeholders.

type ArrayOfNvdimmNamespaceDetails added in v0.21.0

type ArrayOfNvdimmNamespaceDetails struct {
	NvdimmNamespaceDetails []NvdimmNamespaceDetails `xml:"NvdimmNamespaceDetails,omitempty" json:"_value"`
}

A boxed array of `NvdimmNamespaceDetails`. To be used in `Any` placeholders.

type ArrayOfNvdimmNamespaceInfo added in v0.18.0

type ArrayOfNvdimmNamespaceInfo struct {
	NvdimmNamespaceInfo []NvdimmNamespaceInfo `xml:"NvdimmNamespaceInfo,omitempty" json:"_value"`
}

A boxed array of `NvdimmNamespaceInfo`. To be used in `Any` placeholders.

type ArrayOfNvdimmRegionInfo added in v0.18.0

type ArrayOfNvdimmRegionInfo struct {
	NvdimmRegionInfo []NvdimmRegionInfo `xml:"NvdimmRegionInfo,omitempty" json:"_value"`
}

A boxed array of `NvdimmRegionInfo`. To be used in `Any` placeholders.

type ArrayOfObjectContent

type ArrayOfObjectContent struct {
	ObjectContent []ObjectContent `xml:"ObjectContent,omitempty" json:"_value"`
}

A boxed array of `ObjectContent`. To be used in `Any` placeholders.

type ArrayOfObjectSpec

type ArrayOfObjectSpec struct {
	ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty" json:"_value"`
}

A boxed array of `ObjectSpec`. To be used in `Any` placeholders.

type ArrayOfObjectUpdate

type ArrayOfObjectUpdate struct {
	ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty" json:"_value"`
}

A boxed array of `ObjectUpdate`. To be used in `Any` placeholders.

type ArrayOfOpaqueNetworkTargetInfo

type ArrayOfOpaqueNetworkTargetInfo struct {
	OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty" json:"_value"`
}

A boxed array of `OpaqueNetworkTargetInfo`. To be used in `Any` placeholders.

type ArrayOfOptionDef

type ArrayOfOptionDef struct {
	OptionDef []OptionDef `xml:"OptionDef,omitempty" json:"_value"`
}

A boxed array of `OptionDef`. To be used in `Any` placeholders.

type ArrayOfOptionProfile

type ArrayOfOptionProfile struct {
	OptionProfile []OptionProfile `xml:"OptionProfile,omitempty" json:"_value"`
}

A boxed array of `OptionProfile`. To be used in `Any` placeholders.

type ArrayOfOptionValue

type ArrayOfOptionValue struct {
	OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr" json:"_value"`
}

A boxed array of `OptionValue`. To be used in `Any` placeholders.

type ArrayOfOvfConsumerOstNode

type ArrayOfOvfConsumerOstNode struct {
	OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty" json:"_value"`
}

A boxed array of `OvfConsumerOstNode`. To be used in `Any` placeholders.

type ArrayOfOvfConsumerOvfSection

type ArrayOfOvfConsumerOvfSection struct {
	OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty" json:"_value"`
}

A boxed array of `OvfConsumerOvfSection`. To be used in `Any` placeholders.

type ArrayOfOvfDeploymentOption

type ArrayOfOvfDeploymentOption struct {
	OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty" json:"_value"`
}

A boxed array of `OvfDeploymentOption`. To be used in `Any` placeholders.

type ArrayOfOvfFile

type ArrayOfOvfFile struct {
	OvfFile []OvfFile `xml:"OvfFile,omitempty" json:"_value"`
}

A boxed array of `OvfFile`. To be used in `Any` placeholders.

type ArrayOfOvfFileItem

type ArrayOfOvfFileItem struct {
	OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty" json:"_value"`
}

A boxed array of `OvfFileItem`. To be used in `Any` placeholders.

type ArrayOfOvfNetworkInfo

type ArrayOfOvfNetworkInfo struct {
	OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty" json:"_value"`
}

A boxed array of `OvfNetworkInfo`. To be used in `Any` placeholders.

type ArrayOfOvfNetworkMapping

type ArrayOfOvfNetworkMapping struct {
	OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty" json:"_value"`
}

A boxed array of `OvfNetworkMapping`. To be used in `Any` placeholders.

type ArrayOfOvfOptionInfo

type ArrayOfOvfOptionInfo struct {
	OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty" json:"_value"`
}

A boxed array of `OvfOptionInfo`. To be used in `Any` placeholders.

type ArrayOfOvfResourceMap

type ArrayOfOvfResourceMap struct {
	OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty" json:"_value"`
}

A boxed array of `OvfResourceMap`. To be used in `Any` placeholders.

type ArrayOfPerfCounterInfo

type ArrayOfPerfCounterInfo struct {
	PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty" json:"_value"`
}

A boxed array of `PerfCounterInfo`. To be used in `Any` placeholders.

type ArrayOfPerfEntityMetricBase

type ArrayOfPerfEntityMetricBase struct {
	PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr" json:"_value"`
}

A boxed array of `PerfEntityMetricBase`. To be used in `Any` placeholders.

type ArrayOfPerfInterval

type ArrayOfPerfInterval struct {
	PerfInterval []PerfInterval `xml:"PerfInterval,omitempty" json:"_value"`
}

A boxed array of `PerfInterval`. To be used in `Any` placeholders.

type ArrayOfPerfMetricId

type ArrayOfPerfMetricId struct {
	PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty" json:"_value"`
}

A boxed array of `PerfMetricId`. To be used in `Any` placeholders.

type ArrayOfPerfMetricSeries

type ArrayOfPerfMetricSeries struct {
	PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr" json:"_value"`
}

A boxed array of `PerfMetricSeries`. To be used in `Any` placeholders.

type ArrayOfPerfMetricSeriesCSV

type ArrayOfPerfMetricSeriesCSV struct {
	PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty" json:"_value"`
}

A boxed array of `PerfMetricSeriesCSV`. To be used in `Any` placeholders.

type ArrayOfPerfQuerySpec

type ArrayOfPerfQuerySpec struct {
	PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty" json:"_value"`
}

A boxed array of `PerfQuerySpec`. To be used in `Any` placeholders.

type ArrayOfPerfSampleInfo

type ArrayOfPerfSampleInfo struct {
	PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty" json:"_value"`
}

A boxed array of `PerfSampleInfo`. To be used in `Any` placeholders.

type ArrayOfPerformanceManagerCounterLevelMapping

type ArrayOfPerformanceManagerCounterLevelMapping struct {
	PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty" json:"_value"`
}

A boxed array of `PerformanceManagerCounterLevelMapping`. To be used in `Any` placeholders.

type ArrayOfPermission

type ArrayOfPermission struct {
	Permission []Permission `xml:"Permission,omitempty" json:"_value"`
}

A boxed array of `Permission`. To be used in `Any` placeholders.

type ArrayOfPermissionProfile

type ArrayOfPermissionProfile struct {
	PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty" json:"_value"`
}

A boxed array of `PermissionProfile`. To be used in `Any` placeholders.

type ArrayOfPhysicalNic

type ArrayOfPhysicalNic struct {
	PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty" json:"_value"`
}

A boxed array of `PhysicalNic`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicConfig

type ArrayOfPhysicalNicConfig struct {
	PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicConfig`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicHintInfo

type ArrayOfPhysicalNicHintInfo struct {
	PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicHintInfo`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicIpHint

type ArrayOfPhysicalNicIpHint struct {
	PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicIpHint`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicLinkInfo

type ArrayOfPhysicalNicLinkInfo struct {
	PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicLinkInfo`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicNameHint

type ArrayOfPhysicalNicNameHint struct {
	PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicNameHint`. To be used in `Any` placeholders.

type ArrayOfPhysicalNicProfile

type ArrayOfPhysicalNicProfile struct {
	PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty" json:"_value"`
}

A boxed array of `PhysicalNicProfile`. To be used in `Any` placeholders.

type ArrayOfPlaceVmsXClusterResultPlacementFaults added in v0.27.4

type ArrayOfPlaceVmsXClusterResultPlacementFaults struct {
	PlaceVmsXClusterResultPlacementFaults []PlaceVmsXClusterResultPlacementFaults `xml:"PlaceVmsXClusterResultPlacementFaults,omitempty"`
}

type ArrayOfPlaceVmsXClusterResultPlacementInfo added in v0.27.4

type ArrayOfPlaceVmsXClusterResultPlacementInfo struct {
	PlaceVmsXClusterResultPlacementInfo []PlaceVmsXClusterResultPlacementInfo `xml:"PlaceVmsXClusterResultPlacementInfo,omitempty"`
}

type ArrayOfPlaceVmsXClusterSpecVmPlacementSpec added in v0.27.4

type ArrayOfPlaceVmsXClusterSpecVmPlacementSpec struct {
	PlaceVmsXClusterSpecVmPlacementSpec []PlaceVmsXClusterSpecVmPlacementSpec `xml:"PlaceVmsXClusterSpecVmPlacementSpec,omitempty"`
}

type ArrayOfPlacementAffinityRule

type ArrayOfPlacementAffinityRule struct {
	PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty" json:"_value"`
}

A boxed array of `PlacementAffinityRule`. To be used in `Any` placeholders.

type ArrayOfPlacementSpec

type ArrayOfPlacementSpec struct {
	PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty" json:"_value"`
}

A boxed array of `PlacementSpec`. To be used in `Any` placeholders.

type ArrayOfPnicUplinkProfile

type ArrayOfPnicUplinkProfile struct {
	PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty" json:"_value"`
}

A boxed array of `PnicUplinkProfile`. To be used in `Any` placeholders.

type ArrayOfPodDiskLocator

type ArrayOfPodDiskLocator struct {
	PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty" json:"_value"`
}

A boxed array of `PodDiskLocator`. To be used in `Any` placeholders.

type ArrayOfPolicyOption

type ArrayOfPolicyOption struct {
	PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr" json:"_value"`
}

A boxed array of `PolicyOption`. To be used in `Any` placeholders.

type ArrayOfPrivilegeAvailability

type ArrayOfPrivilegeAvailability struct {
	PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty" json:"_value"`
}

A boxed array of `PrivilegeAvailability`. To be used in `Any` placeholders.

type ArrayOfProductComponentInfo

type ArrayOfProductComponentInfo struct {
	ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty" json:"_value"`
}

A boxed array of `ProductComponentInfo`. To be used in `Any` placeholders.

type ArrayOfProfileApplyProfileProperty

type ArrayOfProfileApplyProfileProperty struct {
	ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty" json:"_value"`
}

A boxed array of `ProfileApplyProfileProperty`. To be used in `Any` placeholders.

type ArrayOfProfileDeferredPolicyOptionParameter

type ArrayOfProfileDeferredPolicyOptionParameter struct {
	ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty" json:"_value"`
}

A boxed array of `ProfileDeferredPolicyOptionParameter`. To be used in `Any` placeholders.

type ArrayOfProfileDescriptionSection

type ArrayOfProfileDescriptionSection struct {
	ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty" json:"_value"`
}

A boxed array of `ProfileDescriptionSection`. To be used in `Any` placeholders.

type ArrayOfProfileExecuteError

type ArrayOfProfileExecuteError struct {
	ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty" json:"_value"`
}

A boxed array of `ProfileExecuteError`. To be used in `Any` placeholders.

type ArrayOfProfileExpression

type ArrayOfProfileExpression struct {
	ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr" json:"_value"`
}

A boxed array of `ProfileExpression`. To be used in `Any` placeholders.

type ArrayOfProfileExpressionMetadata

type ArrayOfProfileExpressionMetadata struct {
	ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty" json:"_value"`
}

A boxed array of `ProfileExpressionMetadata`. To be used in `Any` placeholders.

type ArrayOfProfileMetadata

type ArrayOfProfileMetadata struct {
	ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty" json:"_value"`
}

A boxed array of `ProfileMetadata`. To be used in `Any` placeholders.

type ArrayOfProfileMetadataProfileOperationMessage added in v0.18.0

type ArrayOfProfileMetadataProfileOperationMessage struct {
	ProfileMetadataProfileOperationMessage []ProfileMetadataProfileOperationMessage `xml:"ProfileMetadataProfileOperationMessage,omitempty" json:"_value"`
}

A boxed array of `ProfileMetadataProfileOperationMessage`. To be used in `Any` placeholders.

type ArrayOfProfileMetadataProfileSortSpec

type ArrayOfProfileMetadataProfileSortSpec struct {
	ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty" json:"_value"`
}

A boxed array of `ProfileMetadataProfileSortSpec`. To be used in `Any` placeholders.

type ArrayOfProfileParameterMetadata

type ArrayOfProfileParameterMetadata struct {
	ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty" json:"_value"`
}

A boxed array of `ProfileParameterMetadata`. To be used in `Any` placeholders.

type ArrayOfProfileParameterMetadataParameterRelationMetadata added in v0.18.0

type ArrayOfProfileParameterMetadataParameterRelationMetadata struct {
	ProfileParameterMetadataParameterRelationMetadata []ProfileParameterMetadataParameterRelationMetadata `xml:"ProfileParameterMetadataParameterRelationMetadata,omitempty" json:"_value"`
}

A boxed array of `ProfileParameterMetadataParameterRelationMetadata`. To be used in `Any` placeholders.

type ArrayOfProfilePolicy

type ArrayOfProfilePolicy struct {
	ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty" json:"_value"`
}

A boxed array of `ProfilePolicy`. To be used in `Any` placeholders.

type ArrayOfProfilePolicyMetadata

type ArrayOfProfilePolicyMetadata struct {
	ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty" json:"_value"`
}

A boxed array of `ProfilePolicyMetadata`. To be used in `Any` placeholders.

type ArrayOfProfilePolicyOptionMetadata

type ArrayOfProfilePolicyOptionMetadata struct {
	ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr" json:"_value"`
}

A boxed array of `ProfilePolicyOptionMetadata`. To be used in `Any` placeholders.

type ArrayOfProfileProfileStructureProperty

type ArrayOfProfileProfileStructureProperty struct {
	ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty" json:"_value"`
}

A boxed array of `ProfileProfileStructureProperty`. To be used in `Any` placeholders.

type ArrayOfProfilePropertyPath

type ArrayOfProfilePropertyPath struct {
	ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty" json:"_value"`
}

A boxed array of `ProfilePropertyPath`. To be used in `Any` placeholders.

type ArrayOfProfileUpdateFailedUpdateFailure

type ArrayOfProfileUpdateFailedUpdateFailure struct {
	ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty" json:"_value"`
}

A boxed array of `ProfileUpdateFailedUpdateFailure`. To be used in `Any` placeholders.

type ArrayOfPropertyChange

type ArrayOfPropertyChange struct {
	PropertyChange []PropertyChange `xml:"PropertyChange,omitempty" json:"_value"`
}

A boxed array of `PropertyChange`. To be used in `Any` placeholders.

type ArrayOfPropertyFilterSpec

type ArrayOfPropertyFilterSpec struct {
	PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty" json:"_value"`
}

A boxed array of `PropertyFilterSpec`. To be used in `Any` placeholders.

type ArrayOfPropertyFilterUpdate

type ArrayOfPropertyFilterUpdate struct {
	PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty" json:"_value"`
}

A boxed array of `PropertyFilterUpdate`. To be used in `Any` placeholders.

type ArrayOfPropertySpec

type ArrayOfPropertySpec struct {
	PropertySpec []PropertySpec `xml:"PropertySpec,omitempty" json:"_value"`
}

A boxed array of `PropertySpec`. To be used in `Any` placeholders.

type ArrayOfRelation added in v0.12.0

type ArrayOfRelation struct {
	Relation []Relation `xml:"Relation,omitempty" json:"_value"`
}

A boxed array of `Relation`. To be used in `Any` placeholders.

type ArrayOfReplicationInfoDiskSettings

type ArrayOfReplicationInfoDiskSettings struct {
	ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty" json:"_value"`
}

A boxed array of `ReplicationInfoDiskSettings`. To be used in `Any` placeholders.

type ArrayOfResourceConfigSpec

type ArrayOfResourceConfigSpec struct {
	ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty" json:"_value"`
}

A boxed array of `ResourceConfigSpec`. To be used in `Any` placeholders.

type ArrayOfRetrieveVStorageObjSpec added in v0.18.0

type ArrayOfRetrieveVStorageObjSpec struct {
	RetrieveVStorageObjSpec []RetrieveVStorageObjSpec `xml:"RetrieveVStorageObjSpec,omitempty" json:"_value"`
}

A boxed array of `RetrieveVStorageObjSpec`. To be used in `Any` placeholders.

type ArrayOfScheduledTaskDetail

type ArrayOfScheduledTaskDetail struct {
	ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty" json:"_value"`
}

A boxed array of `ScheduledTaskDetail`. To be used in `Any` placeholders.

type ArrayOfScsiLun

type ArrayOfScsiLun struct {
	ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr" json:"_value"`
}

A boxed array of `ScsiLun`. To be used in `Any` placeholders.

type ArrayOfScsiLunDescriptor

type ArrayOfScsiLunDescriptor struct {
	ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty" json:"_value"`
}

A boxed array of `ScsiLunDescriptor`. To be used in `Any` placeholders.

type ArrayOfScsiLunDurableName

type ArrayOfScsiLunDurableName struct {
	ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty" json:"_value"`
}

A boxed array of `ScsiLunDurableName`. To be used in `Any` placeholders.

type ArrayOfSelectionSet

type ArrayOfSelectionSet struct {
	SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr" json:"_value"`
}

A boxed array of `SelectionSet`. To be used in `Any` placeholders.

type ArrayOfSelectionSpec

type ArrayOfSelectionSpec struct {
	SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `SelectionSpec`. To be used in `Any` placeholders.

type ArrayOfServiceConsolePortGroupProfile

type ArrayOfServiceConsolePortGroupProfile struct {
	ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty" json:"_value"`
}

A boxed array of `ServiceConsolePortGroupProfile`. To be used in `Any` placeholders.

type ArrayOfServiceLocator

type ArrayOfServiceLocator struct {
	ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty" json:"_value"`
}

A boxed array of `ServiceLocator`. To be used in `Any` placeholders.

type ArrayOfServiceManagerServiceInfo

type ArrayOfServiceManagerServiceInfo struct {
	ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty" json:"_value"`
}

A boxed array of `ServiceManagerServiceInfo`. To be used in `Any` placeholders.

type ArrayOfServiceProfile

type ArrayOfServiceProfile struct {
	ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty" json:"_value"`
}

A boxed array of `ServiceProfile`. To be used in `Any` placeholders.

type ArrayOfShort

type ArrayOfShort struct {
	Short []int16 `xml:"short,omitempty" json:"_value"`
}

A boxed array of `PrimitiveShort`. To be used in `Any` placeholders.

type ArrayOfSoftwarePackage added in v0.12.0

type ArrayOfSoftwarePackage struct {
	SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty" json:"_value"`
}

A boxed array of `SoftwarePackage`. To be used in `Any` placeholders.

type ArrayOfStaticRouteProfile

type ArrayOfStaticRouteProfile struct {
	StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty" json:"_value"`
}

A boxed array of `StaticRouteProfile`. To be used in `Any` placeholders.

type ArrayOfStorageDrsOptionSpec

type ArrayOfStorageDrsOptionSpec struct {
	StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty" json:"_value"`
}

A boxed array of `StorageDrsOptionSpec`. To be used in `Any` placeholders.

type ArrayOfStorageDrsPlacementRankVmSpec

type ArrayOfStorageDrsPlacementRankVmSpec struct {
	StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty" json:"_value"`
}

A boxed array of `StorageDrsPlacementRankVmSpec`. To be used in `Any` placeholders.

type ArrayOfStorageDrsVmConfigInfo

type ArrayOfStorageDrsVmConfigInfo struct {
	StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty" json:"_value"`
}

A boxed array of `StorageDrsVmConfigInfo`. To be used in `Any` placeholders.

type ArrayOfStorageDrsVmConfigSpec

type ArrayOfStorageDrsVmConfigSpec struct {
	StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty" json:"_value"`
}

A boxed array of `StorageDrsVmConfigSpec`. To be used in `Any` placeholders.

type ArrayOfStoragePerformanceSummary

type ArrayOfStoragePerformanceSummary struct {
	StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty" json:"_value"`
}

A boxed array of `StoragePerformanceSummary`. To be used in `Any` placeholders.

type ArrayOfStorageRequirement

type ArrayOfStorageRequirement struct {
	StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty" json:"_value"`
}

A boxed array of `StorageRequirement`. To be used in `Any` placeholders.

type ArrayOfString

type ArrayOfString struct {
	String []string `xml:"string,omitempty" json:"_value"`
}

A boxed array of `PrimitiveString`. To be used in `Any` placeholders.

type ArrayOfStructuredCustomizations added in v0.12.0

type ArrayOfStructuredCustomizations struct {
	StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty" json:"_value"`
}

A boxed array of `StructuredCustomizations`. To be used in `Any` placeholders.

type ArrayOfSystemEventInfo added in v0.12.0

type ArrayOfSystemEventInfo struct {
	SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty" json:"_value"`
}

A boxed array of `SystemEventInfo`. To be used in `Any` placeholders.

type ArrayOfTag

type ArrayOfTag struct {
	Tag []Tag `xml:"Tag,omitempty" json:"_value"`
}

A boxed array of `Tag`. To be used in `Any` placeholders.

type ArrayOfTaskInfo

type ArrayOfTaskInfo struct {
	TaskInfo []TaskInfo `xml:"TaskInfo,omitempty" json:"_value"`
}

A boxed array of `TaskInfo`. To be used in `Any` placeholders.

type ArrayOfTaskInfoState

type ArrayOfTaskInfoState struct {
	TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty" json:"_value"`
}

A boxed array of `TaskInfoState_enum`. To be used in `Any` placeholders.

type ArrayOfTypeDescription

type ArrayOfTypeDescription struct {
	TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr" json:"_value"`
}

A boxed array of `TypeDescription`. To be used in `Any` placeholders.

type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo

type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct {
	UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty" json:"_value"`
}

A boxed array of `UpdateVirtualMachineFilesResultFailedVmFileInfo`. To be used in `Any` placeholders.

type ArrayOfUri added in v0.23.0

type ArrayOfUri struct {
	Uri []string `xml:"uri,omitempty" json:"_value"`
}

type ArrayOfUsbScanCodeSpecKeyEvent added in v0.12.0

type ArrayOfUsbScanCodeSpecKeyEvent struct {
	UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty" json:"_value"`
}

A boxed array of `UsbScanCodeSpecKeyEvent`. To be used in `Any` placeholders.

type ArrayOfUserGroupProfile

type ArrayOfUserGroupProfile struct {
	UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty" json:"_value"`
}

A boxed array of `UserGroupProfile`. To be used in `Any` placeholders.

type ArrayOfUserPrivilegeResult added in v0.12.0

type ArrayOfUserPrivilegeResult struct {
	UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty" json:"_value"`
}

A boxed array of `UserPrivilegeResult`. To be used in `Any` placeholders.

type ArrayOfUserProfile

type ArrayOfUserProfile struct {
	UserProfile []UserProfile `xml:"UserProfile,omitempty" json:"_value"`
}

A boxed array of `UserProfile`. To be used in `Any` placeholders.

type ArrayOfUserSearchResult

type ArrayOfUserSearchResult struct {
	UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr" json:"_value"`
}

A boxed array of `UserSearchResult`. To be used in `Any` placeholders.

type ArrayOfUserSession

type ArrayOfUserSession struct {
	UserSession []UserSession `xml:"UserSession,omitempty" json:"_value"`
}

A boxed array of `UserSession`. To be used in `Any` placeholders.

type ArrayOfVASAStorageArray

type ArrayOfVASAStorageArray struct {
	VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty" json:"_value"`
}

A boxed array of `VASAStorageArray`. To be used in `Any` placeholders.

type ArrayOfVASAStorageArrayDiscoverySvcInfo added in v0.29.0

type ArrayOfVASAStorageArrayDiscoverySvcInfo struct {
	VASAStorageArrayDiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"VASAStorageArrayDiscoverySvcInfo,omitempty" json:"_value"`
}

A boxed array of `VASAStorageArrayDiscoverySvcInfo`. To be used in `Any` placeholders.

type ArrayOfVAppCloneSpecNetworkMappingPair

type ArrayOfVAppCloneSpecNetworkMappingPair struct {
	VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty" json:"_value"`
}

A boxed array of `VAppCloneSpecNetworkMappingPair`. To be used in `Any` placeholders.

type ArrayOfVAppCloneSpecResourceMap

type ArrayOfVAppCloneSpecResourceMap struct {
	VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty" json:"_value"`
}

A boxed array of `VAppCloneSpecResourceMap`. To be used in `Any` placeholders.

type ArrayOfVAppEntityConfigInfo

type ArrayOfVAppEntityConfigInfo struct {
	VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty" json:"_value"`
}

A boxed array of `VAppEntityConfigInfo`. To be used in `Any` placeholders.

type ArrayOfVAppOvfSectionInfo

type ArrayOfVAppOvfSectionInfo struct {
	VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty" json:"_value"`
}

A boxed array of `VAppOvfSectionInfo`. To be used in `Any` placeholders.

type ArrayOfVAppOvfSectionSpec

type ArrayOfVAppOvfSectionSpec struct {
	VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty" json:"_value"`
}

A boxed array of `VAppOvfSectionSpec`. To be used in `Any` placeholders.

type ArrayOfVAppProductInfo

type ArrayOfVAppProductInfo struct {
	VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty" json:"_value"`
}

A boxed array of `VAppProductInfo`. To be used in `Any` placeholders.

type ArrayOfVAppProductSpec

type ArrayOfVAppProductSpec struct {
	VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty" json:"_value"`
}

A boxed array of `VAppProductSpec`. To be used in `Any` placeholders.

type ArrayOfVAppPropertyInfo

type ArrayOfVAppPropertyInfo struct {
	VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty" json:"_value"`
}

A boxed array of `VAppPropertyInfo`. To be used in `Any` placeholders.

type ArrayOfVAppPropertySpec

type ArrayOfVAppPropertySpec struct {
	VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty" json:"_value"`
}

A boxed array of `VAppPropertySpec`. To be used in `Any` placeholders.

type ArrayOfVMwareDVSPvlanConfigSpec

type ArrayOfVMwareDVSPvlanConfigSpec struct {
	VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty" json:"_value"`
}

A boxed array of `VMwareDVSPvlanConfigSpec`. To be used in `Any` placeholders.

type ArrayOfVMwareDVSPvlanMapEntry

type ArrayOfVMwareDVSPvlanMapEntry struct {
	VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty" json:"_value"`
}

A boxed array of `VMwareDVSPvlanMapEntry`. To be used in `Any` placeholders.

type ArrayOfVMwareDVSVspanConfigSpec

type ArrayOfVMwareDVSVspanConfigSpec struct {
	VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty" json:"_value"`
}

A boxed array of `VMwareDVSVspanConfigSpec`. To be used in `Any` placeholders.

type ArrayOfVMwareDvsLacpGroupConfig

type ArrayOfVMwareDvsLacpGroupConfig struct {
	VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty" json:"_value"`
}

A boxed array of `VMwareDvsLacpGroupConfig`. To be used in `Any` placeholders.

type ArrayOfVMwareDvsLacpGroupSpec

type ArrayOfVMwareDvsLacpGroupSpec struct {
	VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty" json:"_value"`
}

A boxed array of `VMwareDvsLacpGroupSpec`. To be used in `Any` placeholders.

type ArrayOfVMwareVspanSession

type ArrayOfVMwareVspanSession struct {
	VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty" json:"_value"`
}

A boxed array of `VMwareVspanSession`. To be used in `Any` placeholders.

type ArrayOfVStorageObjectAssociations added in v0.18.0

type ArrayOfVStorageObjectAssociations struct {
	VStorageObjectAssociations []VStorageObjectAssociations `xml:"VStorageObjectAssociations,omitempty" json:"_value"`
}

A boxed array of `VStorageObjectAssociations`. To be used in `Any` placeholders.

type ArrayOfVStorageObjectAssociationsVmDiskAssociations added in v0.18.0

type ArrayOfVStorageObjectAssociationsVmDiskAssociations struct {
	VStorageObjectAssociationsVmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"VStorageObjectAssociationsVmDiskAssociations,omitempty" json:"_value"`
}

A boxed array of `VStorageObjectAssociationsVmDiskAssociations`. To be used in `Any` placeholders.

type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot added in v0.18.0

type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
	VStorageObjectSnapshotInfoVStorageObjectSnapshot []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"VStorageObjectSnapshotInfoVStorageObjectSnapshot,omitempty" json:"_value"`
}

A boxed array of `VStorageObjectSnapshotInfoVStorageObjectSnapshot`. To be used in `Any` placeholders.

type ArrayOfVVolHostPE

type ArrayOfVVolHostPE struct {
	VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty" json:"_value"`
}

A boxed array of `VVolHostPE`. To be used in `Any` placeholders.

type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo added in v0.12.0

type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
	VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty" json:"_value"`
}

A boxed array of `VVolVmConfigFileUpdateResultFailedVmConfigFileInfo`. To be used in `Any` placeholders.

type ArrayOfVchaNodeRuntimeInfo added in v0.12.0

type ArrayOfVchaNodeRuntimeInfo struct {
	VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty" json:"_value"`
}

A boxed array of `VchaNodeRuntimeInfo`. To be used in `Any` placeholders.

type ArrayOfVimVasaProviderInfo

type ArrayOfVimVasaProviderInfo struct {
	VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty" json:"_value"`
}

A boxed array of `VimVasaProviderInfo`. To be used in `Any` placeholders.

type ArrayOfVimVasaProviderStatePerArray

type ArrayOfVimVasaProviderStatePerArray struct {
	VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty" json:"_value"`
}

A boxed array of `VimVasaProviderStatePerArray`. To be used in `Any` placeholders.

type ArrayOfVirtualAppLinkInfo

type ArrayOfVirtualAppLinkInfo struct {
	VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualAppLinkInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualDevice

type ArrayOfVirtualDevice struct {
	VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualDevice`. To be used in `Any` placeholders.

type ArrayOfVirtualDeviceBackingOption

type ArrayOfVirtualDeviceBackingOption struct {
	VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualDeviceBackingOption`. To be used in `Any` placeholders.

type ArrayOfVirtualDeviceConfigSpec

type ArrayOfVirtualDeviceConfigSpec struct {
	VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualDeviceConfigSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualDeviceOption

type ArrayOfVirtualDeviceOption struct {
	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualDeviceOption`. To be used in `Any` placeholders.

type ArrayOfVirtualDisk

type ArrayOfVirtualDisk struct {
	VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty" json:"_value"`
}

A boxed array of `VirtualDisk`. To be used in `Any` placeholders.

type ArrayOfVirtualDiskDeltaDiskFormatsSupported

type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct {
	VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty" json:"_value"`
}

A boxed array of `VirtualDiskDeltaDiskFormatsSupported`. To be used in `Any` placeholders.

type ArrayOfVirtualDiskId

type ArrayOfVirtualDiskId struct {
	VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty" json:"_value"`
}

A boxed array of `VirtualDiskId`. To be used in `Any` placeholders.

type ArrayOfVirtualDiskRuleSpec added in v0.18.0

type ArrayOfVirtualDiskRuleSpec struct {
	VirtualDiskRuleSpec []VirtualDiskRuleSpec `xml:"VirtualDiskRuleSpec,omitempty" json:"_value"`
}

A boxed array of `VirtualDiskRuleSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineBaseIndependentFilterSpec added in v0.27.0

type ArrayOfVirtualMachineBaseIndependentFilterSpec struct {
	VirtualMachineBaseIndependentFilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"VirtualMachineBaseIndependentFilterSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachineBaseIndependentFilterSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineBootOptionsBootableDevice

type ArrayOfVirtualMachineBootOptionsBootableDevice struct {
	VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachineBootOptionsBootableDevice`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineCdromInfo

type ArrayOfVirtualMachineCdromInfo struct {
	VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineCdromInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineCertThumbprint added in v0.29.0

type ArrayOfVirtualMachineCertThumbprint struct {
	VirtualMachineCertThumbprint []VirtualMachineCertThumbprint `xml:"VirtualMachineCertThumbprint,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineCertThumbprint`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair

type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct {
	VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineConfigInfoDatastoreUrlPair`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineConfigOptionDescriptor

type ArrayOfVirtualMachineConfigOptionDescriptor struct {
	VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineConfigOptionDescriptor`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineConfigSpec added in v0.23.0

type ArrayOfVirtualMachineConfigSpec struct {
	VirtualMachineConfigSpec []VirtualMachineConfigSpec `xml:"VirtualMachineConfigSpec,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineConfigSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineConnection added in v0.24.0

type ArrayOfVirtualMachineConnection struct {
	VirtualMachineConnection []BaseVirtualMachineConnection `xml:"VirtualMachineConnection,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachineConnection`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineCpuIdInfoSpec

type ArrayOfVirtualMachineCpuIdInfoSpec struct {
	VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineCpuIdInfoSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDatastoreInfo

type ArrayOfVirtualMachineDatastoreInfo struct {
	VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDatastoreInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDatastoreVolumeOption

type ArrayOfVirtualMachineDatastoreVolumeOption struct {
	VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDatastoreVolumeOption`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDeviceRuntimeInfo

type ArrayOfVirtualMachineDeviceRuntimeInfo struct {
	VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDeviceRuntimeInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDisplayTopology

type ArrayOfVirtualMachineDisplayTopology struct {
	VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDisplayTopology`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDvxClassInfo added in v0.29.0

type ArrayOfVirtualMachineDvxClassInfo struct {
	VirtualMachineDvxClassInfo []VirtualMachineDvxClassInfo `xml:"VirtualMachineDvxClassInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDvxClassInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineDynamicPassthroughInfo added in v0.23.0

type ArrayOfVirtualMachineDynamicPassthroughInfo struct {
	VirtualMachineDynamicPassthroughInfo []VirtualMachineDynamicPassthroughInfo `xml:"VirtualMachineDynamicPassthroughInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineDynamicPassthroughInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFeatureRequirement

type ArrayOfVirtualMachineFeatureRequirement struct {
	VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFeatureRequirement`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutDiskLayout

type ArrayOfVirtualMachineFileLayoutDiskLayout struct {
	VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutDiskLayout`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutExDiskLayout

type ArrayOfVirtualMachineFileLayoutExDiskLayout struct {
	VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutExDiskLayout`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutExDiskUnit

type ArrayOfVirtualMachineFileLayoutExDiskUnit struct {
	VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutExDiskUnit`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutExFileInfo

type ArrayOfVirtualMachineFileLayoutExFileInfo struct {
	VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutExFileInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutExSnapshotLayout

type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct {
	VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutExSnapshotLayout`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFileLayoutSnapshotLayout

type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct {
	VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFileLayoutSnapshotLayout`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineFloppyInfo

type ArrayOfVirtualMachineFloppyInfo struct {
	VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineFloppyInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineIdeDiskDeviceInfo

type ArrayOfVirtualMachineIdeDiskDeviceInfo struct {
	VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineIdeDiskDeviceInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo

type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct {
	VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineIdeDiskDevicePartitionInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineLegacyNetworkSwitchInfo

type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct {
	VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineLegacyNetworkSwitchInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineMessage

type ArrayOfVirtualMachineMessage struct {
	VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineMessage`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineMetadataManagerVmMetadataInput

type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct {
	VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineMetadataManagerVmMetadataInput`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineMetadataManagerVmMetadataResult

type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct {
	VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineMetadataManagerVmMetadataResult`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineNetworkInfo

type ArrayOfVirtualMachineNetworkInfo struct {
	VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineNetworkInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineParallelInfo

type ArrayOfVirtualMachineParallelInfo struct {
	VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineParallelInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachinePciPassthroughInfo

type ArrayOfVirtualMachinePciPassthroughInfo struct {
	VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachinePciPassthroughInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo

type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct {
	VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachinePciSharedGpuPassthroughInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachinePrecisionClockInfo added in v0.23.0

type ArrayOfVirtualMachinePrecisionClockInfo struct {
	VirtualMachinePrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"VirtualMachinePrecisionClockInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachinePrecisionClockInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails added in v0.18.0

type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails struct {
	VirtualMachineProfileDetailsDiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"VirtualMachineProfileDetailsDiskProfileDetails,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineProfileDetailsDiskProfileDetails`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineProfileSpec

type ArrayOfVirtualMachineProfileSpec struct {
	VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachineProfileSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachinePropertyRelation added in v0.18.0

type ArrayOfVirtualMachinePropertyRelation struct {
	VirtualMachinePropertyRelation []VirtualMachinePropertyRelation `xml:"VirtualMachinePropertyRelation,omitempty" json:"_value"`
}

A boxed array of `VirtualMachinePropertyRelation`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineQuickStatsMemoryTierStats added in v0.27.0

type ArrayOfVirtualMachineQuickStatsMemoryTierStats struct {
	VirtualMachineQuickStatsMemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"VirtualMachineQuickStatsMemoryTierStats,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineQuickStatsMemoryTierStats`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineRelocateSpecDiskLocator

type ArrayOfVirtualMachineRelocateSpecDiskLocator struct {
	VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineRelocateSpecDiskLocator`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineScsiDiskDeviceInfo

type ArrayOfVirtualMachineScsiDiskDeviceInfo struct {
	VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineScsiDiskDeviceInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineScsiPassthroughInfo

type ArrayOfVirtualMachineScsiPassthroughInfo struct {
	VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineScsiPassthroughInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineSerialInfo

type ArrayOfVirtualMachineSerialInfo struct {
	VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineSerialInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineSnapshotTree

type ArrayOfVirtualMachineSnapshotTree struct {
	VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineSnapshotTree`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineSoundInfo

type ArrayOfVirtualMachineSoundInfo struct {
	VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineSoundInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineSriovInfo

type ArrayOfVirtualMachineSriovInfo struct {
	VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineSriovInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineSummary

type ArrayOfVirtualMachineSummary struct {
	VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineSummary`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineUsageOnDatastore

type ArrayOfVirtualMachineUsageOnDatastore struct {
	VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineUsageOnDatastore`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineUsbInfo

type ArrayOfVirtualMachineUsbInfo struct {
	VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineUsbInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVFlashModuleInfo

type ArrayOfVirtualMachineVFlashModuleInfo struct {
	VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVFlashModuleInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVMCIDeviceFilterSpec

type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct {
	VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVMCIDeviceFilterSpec`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVMotionStunTimeInfo added in v0.31.0

type ArrayOfVirtualMachineVMotionStunTimeInfo struct {
	VirtualMachineVMotionStunTimeInfo []VirtualMachineVMotionStunTimeInfo `xml:"VirtualMachineVMotionStunTimeInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVMotionStunTimeInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVcpuConfig added in v0.23.0

type ArrayOfVirtualMachineVcpuConfig struct {
	VirtualMachineVcpuConfig []VirtualMachineVcpuConfig `xml:"VirtualMachineVcpuConfig,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVcpuConfig`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVendorDeviceGroupInfo added in v0.29.0

type ArrayOfVirtualMachineVendorDeviceGroupInfo struct {
	VirtualMachineVendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"VirtualMachineVendorDeviceGroupInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVendorDeviceGroupInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo added in v0.29.0

type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVgpuDeviceInfo added in v0.29.0

type ArrayOfVirtualMachineVgpuDeviceInfo struct {
	VirtualMachineVgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"VirtualMachineVgpuDeviceInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVgpuDeviceInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVgpuProfileInfo added in v0.29.0

type ArrayOfVirtualMachineVgpuProfileInfo struct {
	VirtualMachineVgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"VirtualMachineVgpuProfileInfo,omitempty" json:"_value"`
}

A boxed array of `VirtualMachineVgpuProfileInfo`. To be used in `Any` placeholders.

type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup added in v0.29.0

type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup struct {
	VirtualMachineVirtualDeviceGroupsDeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"VirtualMachineVirtualDeviceGroupsDeviceGroup,omitempty,typeattr" json:"_value"`
}

A boxed array of `VirtualMachineVirtualDeviceGroupsDeviceGroup`. To be used in `Any` placeholders.

type ArrayOfVirtualNicManagerNetConfig

type ArrayOfVirtualNicManagerNetConfig struct {
	VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty" json:"_value"`
}

A boxed array of `VirtualNicManagerNetConfig`. To be used in `Any` placeholders.

type ArrayOfVirtualPCIPassthroughAllowedDevice added in v0.23.0

type ArrayOfVirtualPCIPassthroughAllowedDevice struct {
	VirtualPCIPassthroughAllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"VirtualPCIPassthroughAllowedDevice,omitempty" json:"_value"`
}

A boxed array of `VirtualPCIPassthroughAllowedDevice`. To be used in `Any` placeholders.

type ArrayOfVirtualSCSISharing

type ArrayOfVirtualSCSISharing struct {
	VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty" json:"_value"`
}

A boxed array of `VirtualSCSISharing_enum`. To be used in `Any` placeholders.

type ArrayOfVirtualSwitchProfile

type ArrayOfVirtualSwitchProfile struct {
	VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty" json:"_value"`
}

A boxed array of `VirtualSwitchProfile`. To be used in `Any` placeholders.

type ArrayOfVmEventArgument

type ArrayOfVmEventArgument struct {
	VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty" json:"_value"`
}

A boxed array of `VmEventArgument`. To be used in `Any` placeholders.

type ArrayOfVmPodConfigForPlacement

type ArrayOfVmPodConfigForPlacement struct {
	VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty" json:"_value"`
}

A boxed array of `VmPodConfigForPlacement`. To be used in `Any` placeholders.

type ArrayOfVmPortGroupProfile

type ArrayOfVmPortGroupProfile struct {
	VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty" json:"_value"`
}

A boxed array of `VmPortGroupProfile`. To be used in `Any` placeholders.

type ArrayOfVmfsConfigOption added in v0.12.0

type ArrayOfVmfsConfigOption struct {
	VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty" json:"_value"`
}

A boxed array of `VmfsConfigOption`. To be used in `Any` placeholders.

type ArrayOfVmfsDatastoreOption

type ArrayOfVmfsDatastoreOption struct {
	VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty" json:"_value"`
}

A boxed array of `VmfsDatastoreOption`. To be used in `Any` placeholders.

type ArrayOfVnicPortArgument

type ArrayOfVnicPortArgument struct {
	VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty" json:"_value"`
}

A boxed array of `VnicPortArgument`. To be used in `Any` placeholders.

type ArrayOfVsanHostConfigInfo

type ArrayOfVsanHostConfigInfo struct {
	VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty" json:"_value"`
}

A boxed array of `VsanHostConfigInfo`. To be used in `Any` placeholders.

type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig

type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct {
	VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty" json:"_value"`
}

A boxed array of `VsanHostConfigInfoNetworkInfoPortConfig`. To be used in `Any` placeholders.

type ArrayOfVsanHostDiskMapInfo

type ArrayOfVsanHostDiskMapInfo struct {
	VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty" json:"_value"`
}

A boxed array of `VsanHostDiskMapInfo`. To be used in `Any` placeholders.

type ArrayOfVsanHostDiskMapResult

type ArrayOfVsanHostDiskMapResult struct {
	VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty" json:"_value"`
}

A boxed array of `VsanHostDiskMapResult`. To be used in `Any` placeholders.

type ArrayOfVsanHostDiskMapping

type ArrayOfVsanHostDiskMapping struct {
	VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty" json:"_value"`
}

A boxed array of `VsanHostDiskMapping`. To be used in `Any` placeholders.

type ArrayOfVsanHostDiskResult

type ArrayOfVsanHostDiskResult struct {
	VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty" json:"_value"`
}

A boxed array of `VsanHostDiskResult`. To be used in `Any` placeholders.

type ArrayOfVsanHostMembershipInfo

type ArrayOfVsanHostMembershipInfo struct {
	VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty" json:"_value"`
}

A boxed array of `VsanHostMembershipInfo`. To be used in `Any` placeholders.

type ArrayOfVsanHostRuntimeInfoDiskIssue

type ArrayOfVsanHostRuntimeInfoDiskIssue struct {
	VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty" json:"_value"`
}

A boxed array of `VsanHostRuntimeInfoDiskIssue`. To be used in `Any` placeholders.

type ArrayOfVsanNewPolicyBatch

type ArrayOfVsanNewPolicyBatch struct {
	VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty" json:"_value"`
}

A boxed array of `VsanNewPolicyBatch`. To be used in `Any` placeholders.

type ArrayOfVsanPolicyChangeBatch

type ArrayOfVsanPolicyChangeBatch struct {
	VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty" json:"_value"`
}

A boxed array of `VsanPolicyChangeBatch`. To be used in `Any` placeholders.

type ArrayOfVsanPolicySatisfiability

type ArrayOfVsanPolicySatisfiability struct {
	VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty" json:"_value"`
}

A boxed array of `VsanPolicySatisfiability`. To be used in `Any` placeholders.

type ArrayOfVsanUpgradeSystemNetworkPartitionInfo

type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct {
	VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty" json:"_value"`
}

A boxed array of `VsanUpgradeSystemNetworkPartitionInfo`. To be used in `Any` placeholders.

type ArrayOfVsanUpgradeSystemPreflightCheckIssue

type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct {
	VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr" json:"_value"`
}

A boxed array of `VsanUpgradeSystemPreflightCheckIssue`. To be used in `Any` placeholders.

type ArrayOfVsanUpgradeSystemUpgradeHistoryItem

type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct {
	VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr" json:"_value"`
}

A boxed array of `VsanUpgradeSystemUpgradeHistoryItem`. To be used in `Any` placeholders.

type ArrayOfVslmInfrastructureObjectPolicy added in v0.18.0

type ArrayOfVslmInfrastructureObjectPolicy struct {
	VslmInfrastructureObjectPolicy []VslmInfrastructureObjectPolicy `xml:"vslmInfrastructureObjectPolicy,omitempty" json:"_value"`
}

type ArrayOfVslmTagEntry added in v0.12.0

type ArrayOfVslmTagEntry struct {
	VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty" json:"_value"`
}

A boxed array of `VslmTagEntry`. To be used in `Any` placeholders.

type ArrayUpdateOperation

type ArrayUpdateOperation string

This list specifies the type of operation being performed on the array.

type ArrayUpdateSpec

type ArrayUpdateSpec struct {
	DynamicData

	// The type of operation being performed on the specified virtual device.
	Operation ArrayUpdateOperation `xml:"operation" json:"operation"`
	// Key for the element to be removed.
	//
	// Only used if the operation
	// is "remove".
	RemoveKey AnyType `xml:"removeKey,omitempty,typeattr" json:"removeKey,omitempty"`
}

An ArrayUpdateSpec data object type is a common superclass for supporting incremental updates to arrays.

The common code pattern is:

class MyTypeSpec extrends ArrayUpdateSpec {
      MyTypeInfo info;
}

The ArrayUpdateSpec contains the following:

  • `*operation*`: the type of operation being performed.
  • `*removeKey*`: In the case of a remove operation, the key value that identifies the array to be removed.

func (*ArrayUpdateSpec) GetArrayUpdateSpec

func (b *ArrayUpdateSpec) GetArrayUpdateSpec() *ArrayUpdateSpec

type AssignUserToGroup

type AssignUserToGroup AssignUserToGroupRequestType

type AssignUserToGroupRequestType

type AssignUserToGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// User ID of the account whose group membership is
	// being assigned.
	User string `xml:"user" json:"user"`
	// Destination group account to which the user is
	// being assigned.
	Group string `xml:"group" json:"group"`
}

The parameters of `HostLocalAccountManager.AssignUserToGroup`.

type AssignUserToGroupResponse

type AssignUserToGroupResponse struct {
}

type AssociateProfile

type AssociateProfile AssociateProfileRequestType

type AssociateProfileRequestType

type AssociateProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity(s) to associate with the profile.
	// If an entity is already associated with the profile, the association is
	// maintained and the vCenter Server does not perform any action.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `Profile.AssociateProfile`.

type AssociateProfileResponse

type AssociateProfileResponse struct {
}

type AttachDiskRequestType added in v0.12.0

type AttachDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be operated. See
	// `ID`
	DiskId ID `xml:"diskId" json:"diskId"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Key of the controller the disk will connect to.
	// It can be unset if there is only one controller
	// (SCSI or SATA) with the available slot in the
	// virtual machine. If there are multiple SCSI or
	// SATA controllers available, user must specify
	// the controller; if there is no available
	// controllers, a `MissingController`
	// fault will be thrown.
	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
	// The unit number of the attached disk on its controller.
	// If unset, the next available slot on the specified
	// controller or the only available controller will be
	// assigned to the attached disk.
	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
}

The parameters of `VirtualMachine.AttachDisk_Task`.

type AttachDisk_Task added in v0.12.0

type AttachDisk_Task AttachDiskRequestType

type AttachDisk_TaskResponse added in v0.12.0

type AttachDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AttachScsiLun

type AttachScsiLun AttachScsiLunRequestType

type AttachScsiLunExRequestType

type AttachScsiLunExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies UUID of LUN to be attached.
	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
}

The parameters of `HostStorageSystem.AttachScsiLunEx_Task`.

type AttachScsiLunEx_Task

type AttachScsiLunEx_Task AttachScsiLunExRequestType

type AttachScsiLunEx_TaskResponse

type AttachScsiLunEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type AttachScsiLunRequestType

type AttachScsiLunRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The uuid of the ScsiLun to update.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
}

The parameters of `HostStorageSystem.AttachScsiLun`.

type AttachScsiLunResponse

type AttachScsiLunResponse struct {
}

type AttachTagToVStorageObject added in v0.12.0

type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType

type AttachTagToVStorageObjectRequestType added in v0.12.0

type AttachTagToVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The identifier(ID) of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The category to which the tag belongs.
	Category string `xml:"category" json:"category"`
	// The tag which has to be associated with the virtual storage
	// object.
	Tag string `xml:"tag" json:"tag"`
}

The parameters of `VcenterVStorageObjectManager.AttachTagToVStorageObject`.

type AttachTagToVStorageObjectResponse added in v0.12.0

type AttachTagToVStorageObjectResponse struct {
}

type AttachVmfsExtent

type AttachVmfsExtent AttachVmfsExtentRequestType

type AttachVmfsExtentRequestType

type AttachVmfsExtentRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VMFS to extend. See `FileSystemMountInfo`.
	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
	// A data object that describes the specification of a
	// Disk partition.
	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
}

The parameters of `HostStorageSystem.AttachVmfsExtent`.

type AttachVmfsExtentResponse

type AttachVmfsExtentResponse struct {
}

type AuthMinimumAdminPermission

type AuthMinimumAdminPermission struct {
	VimFault
}

This fault is thrown when the requested change would result in a loss of full administrative privileges for at least one user or group.

type AuthMinimumAdminPermissionFault

type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission

type AuthenticationProfile

type AuthenticationProfile struct {
	ApplyProfile

	// Subprofile representing the Active Directory configuration.
	ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty"`
}

The `AuthenticationProfile` data object represents the host configuration for authentication.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type AuthorizationDescription

type AuthorizationDescription struct {
	DynamicData

	// Description of the privilege.
	Privilege []BaseElementDescription `xml:"privilege,typeattr" json:"privilege"`
	// Description of a category of similar privileges, grouped
	// together for convenience.
	PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr" json:"privilegeGroup"`
}

Static strings for authorization.

type AuthorizationEvent

type AuthorizationEvent struct {
	Event
}

These events indicate authorization events.

func (*AuthorizationEvent) GetAuthorizationEvent

func (b *AuthorizationEvent) GetAuthorizationEvent() *AuthorizationEvent

type AuthorizationPrivilege

type AuthorizationPrivilege struct {
	DynamicData

	// Unique identifier.
	PrivId string `xml:"privId" json:"privId"`
	// Determines whether or not the privilege is applied on the parent entity.
	OnParent bool `xml:"onParent" json:"onParent"`
	// Privilege name.
	Name string `xml:"name" json:"name"`
	// Group name.
	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
}

This data object type provides access to some aspect of the system.

Privileges are generally independent. This means a user with a privilege usually can perform an associated set of actions without needing any additional supporting privileges.

Within each product version, privileges do not change. See `AuthorizationDescription` for detailed information on the privileges defined by the system.

type AuthorizationRole

type AuthorizationRole struct {
	DynamicData

	// Unique role identifier.
	RoleId int32 `xml:"roleId" json:"roleId"`
	// Whether or not the role is system-defined.
	//
	// System-defined roles cannot be
	// changed.
	System bool `xml:"system" json:"system"`
	// System-defined or user-defined role name.
	Name string `xml:"name" json:"name"`
	// Displayable role information.
	Info BaseDescription `xml:"info,typeattr" json:"info"`
	// Privileges provided by this role, by privilege identifier.
	Privilege []string `xml:"privilege,omitempty" json:"privilege,omitempty"`
}

This data object type specifies a collection of privileges used to grant access to users on managed entities.

type AutoStartAction

type AutoStartAction string

type AutoStartDefaults

type AutoStartDefaults struct {
	DynamicData

	// Indicates whether or not auto-start manager is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// System-default autoStart delay in seconds.
	//
	// The default is 120 seconds.
	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
	// System-default autoStop delay in seconds.
	//
	// The default is 120 seconds.
	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
	// System-default waitForHeartbeat setting.
	WaitForHeartbeat *bool `xml:"waitForHeartbeat" json:"waitForHeartbeat,omitempty"`
	// System-default power-off action.
	//
	// Used if the stopAction string in the
	// AutoPowerInfo object for a particular machine is set to systemDefault.
	// If stopAction and startAction for a virtual machine are both set to none,
	// that virtual machine is removed from the AutoStart sequence.
	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
}

Defines the system default auto-start/auto-stop values.

type AutoStartPowerInfo

type AutoStartPowerInfo struct {
	DynamicData

	// Virtual machine to power on or power off.
	//
	// Refers instance of `VirtualMachine`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// The autostart priority of this virtual machine.
	//
	// Virtual machines with a lower
	// number are powered on first. On host shutdown, the virtual machines are
	// shut down in reverse order, meaning those with a higher number are powered off
	// first.
	//
	// Positive values indicate a start order and -1 indicates the machine can be
	// powered on at any time. Machines with a -1 value are typically powered on and
	// off after all virtual machines with positive startOrder values. Failure to
	// meet the following requirements results in an InvalidArgument exception:
	//     - startOrder must be set to -1 if startAction is set to none
	//     - startOrder must be -1 or positive integers. Values such as 0 or
	//       \-2 are not valid.
	//     - startOrder is relative to other virtual machines in the autostart
	//       sequence. Hence specifying a startOrder of 4 when there are only 3
	//       virtual machines in the Autostart sequence is not valid.
	//
	// If a newly established or changed startOrder value for a virtual machine
	// matches an existing startOrder value, the newly applied value takes
	// precedence, and the existing value is incremented by one. The incremented
	// startOrder value is checked for collisions, and the same rule is applied if
	// one is found. This simple system ensures no two virtual machines ever have the
	// same order number.
	//
	// For example, consider the case where there are three virtual machines with
	// different startOrder values. Virtual machine A has not yet established a
	// startOrder, virtual machine B has a startOrder value of 1 and Virtual Machine
	// C has a startOrder value of 2. If virtual machine A's startOrder is set to 1,
	// then virtual machine B's startOrder is incremented to 2. This creates a
	// conflict with virtual machine C's startOrder value, which is also incremented,
	// this time to 3.
	StartOrder int32 `xml:"startOrder" json:"startOrder"`
	// Delay in seconds before continuing with the next virtual machine in the order
	// of machines to be started.
	//
	// If the delay is specified as -1, then the system
	// default is used.
	StartDelay       int32                         `xml:"startDelay" json:"startDelay"`
	WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat" json:"waitForHeartbeat"`
	// How to start the virtual machine.
	//
	// Valid settings are none or powerOn.
	// If set to none, then the virtual machine does not participate in auto-start.
	StartAction string `xml:"startAction" json:"startAction"`
	// Delay in seconds before continuing with the next virtual machine in the order
	// sequence.
	//
	// If the delay is -1, then the system default is used.
	StopDelay int32 `xml:"stopDelay" json:"stopDelay"`
	// Defines the stop action for the virtual machine.
	//
	// Can be set to none,
	// systemDefault, powerOff, or suspend. If set to none, then the virtual machine
	// does not participate in auto-stop.
	StopAction string `xml:"stopAction" json:"stopAction"`
}

This object type describes the power-on / power-off behavior for a given virtual machine.

Virtual machines can be configured to wait for a period of time before starting or to wait to receive a successful heartbeat from a virtual machine before starting the next virtual machine in the sequence.

  • For a power-on operation, if waitForHeartbeat is true, then the power-on sequence continues after the first heartbeat has been received. If waitForHeartbeat is false, the system waits for the specified delay and then continues the power-on sequence.
  • For a power-off operation, if delay is non-zero, the requested power-off action is invoked (powerOff, suspend, guestShutdown) on the virtual machine and the system waits until the number of seconds specified in the delay have passed.

If startAction and stopAction for a virtual machine are both set to none, that virtual machine is removed from the AutoStart sequence. Virtual machines can be configured both to wait for a period of time before starting and to wait for a heartbeat. In such a case, the waiting virtual machine only waits until either of these conditions are met. In other words, a virtual machine starts in either of the following cases:

  • After receiving a heartbeat but before the start delay has elapsed
  • After the start delay has elapsed but before receiving a heartbeat

This provides a better experience since as soon as one virtual machine begins sending heartbeats, indicating it has successfully started up, the next machine will begin starting up. This happens even if the startDelay has not yet elapsed. Similarly, if one virtual machine fails to begin sending heartbeats, perhaps because it could not start up, other machines are not blocked from starting up since the startDelay eventually elapses.

type AutoStartPowerOff

type AutoStartPowerOff AutoStartPowerOffRequestType

type AutoStartPowerOffRequestType

type AutoStartPowerOffRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AutoStartPowerOffResponse

type AutoStartPowerOffResponse struct {
}

type AutoStartPowerOn

type AutoStartPowerOn AutoStartPowerOnRequestType

type AutoStartPowerOnRequestType

type AutoStartPowerOnRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type AutoStartPowerOnResponse

type AutoStartPowerOnResponse struct {
}

type AutoStartWaitHeartbeatSetting

type AutoStartWaitHeartbeatSetting string

Determines if the virtual machine should start after receiving a heartbeat, ignore heartbeats and start after the startDelay has elapsed, or follow the system default before powering on.

When a virtual machine is next in the start order, the system either waits a specified period of time for a virtual machine to power on or it waits until it receives a successful heartbeat from a powered on virtual machine. By default, this is set to no.

type BackupBlobReadFailure

type BackupBlobReadFailure struct {
	DvsFault

	// The entity name on which backupConfig read failed
	EntityName string `xml:"entityName" json:"entityName"`
	// The entity type on which backupConfig read failed
	EntityType string `xml:"entityType" json:"entityType"`
	// The fault that occurred.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Thrown if backupConfig blob is corrupted

type BackupBlobReadFailureFault

type BackupBlobReadFailureFault BackupBlobReadFailure

type BackupBlobWriteFailure

type BackupBlobWriteFailure struct {
	DvsFault

	// The entity name on which backupConfig write failed
	EntityName string `xml:"entityName" json:"entityName"`
	// The entity type on which backupConfig write failed
	EntityType string `xml:"entityType" json:"entityType"`
	// The fault that occurred.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Thrown if backupConfig blob write fails

type BackupBlobWriteFailureFault

type BackupBlobWriteFailureFault BackupBlobWriteFailure

type BackupFirmwareConfigurationRequestType

type BackupFirmwareConfigurationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type BackupFirmwareConfigurationResponse

type BackupFirmwareConfigurationResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type BadUsernameSessionEvent

type BadUsernameSessionEvent struct {
	SessionEvent

	// The IP address of the peer that initiated the connection.
	//
	// This may
	// be the client that originated the session, or it may be an intervening
	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
}

This event records a failed user logon.

Failed logons are due to no match existing between the provided user name and password combination and the combinations stored for authentication.

type BaseAction

type BaseAction interface {
	GetAction() *Action
}

type BaseActiveDirectoryFault

type BaseActiveDirectoryFault interface {
	GetActiveDirectoryFault() *ActiveDirectoryFault
}

type BaseAlarmAction

type BaseAlarmAction interface {
	GetAlarmAction() *AlarmAction
}

type BaseAlarmEvent

type BaseAlarmEvent interface {
	GetAlarmEvent() *AlarmEvent
}

type BaseAlarmExpression

type BaseAlarmExpression interface {
	GetAlarmExpression() *AlarmExpression
}

type BaseAlarmSpec

type BaseAlarmSpec interface {
	GetAlarmSpec() *AlarmSpec
}

type BaseAnswerFileCreateSpec

type BaseAnswerFileCreateSpec interface {
	GetAnswerFileCreateSpec() *AnswerFileCreateSpec
}

type BaseApplyProfile

type BaseApplyProfile interface {
	GetApplyProfile() *ApplyProfile
}

type BaseArrayUpdateSpec

type BaseArrayUpdateSpec interface {
	GetArrayUpdateSpec() *ArrayUpdateSpec
}

type BaseAuthorizationEvent

type BaseAuthorizationEvent interface {
	GetAuthorizationEvent() *AuthorizationEvent
}

type BaseBaseConfigInfo added in v0.12.0

type BaseBaseConfigInfo interface {
	GetBaseConfigInfo() *BaseConfigInfo
}

type BaseBaseConfigInfoBackingInfo added in v0.12.0

type BaseBaseConfigInfoBackingInfo interface {
	GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo
}

type BaseBaseConfigInfoFileBackingInfo added in v0.12.0

type BaseBaseConfigInfoFileBackingInfo interface {
	GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo
}

type BaseCannotAccessNetwork

type BaseCannotAccessNetwork interface {
	GetCannotAccessNetwork() *CannotAccessNetwork
}

type BaseCannotAccessVmComponent

type BaseCannotAccessVmComponent interface {
	GetCannotAccessVmComponent() *CannotAccessVmComponent
}

type BaseCannotAccessVmDevice

type BaseCannotAccessVmDevice interface {
	GetCannotAccessVmDevice() *CannotAccessVmDevice
}

type BaseCannotAccessVmDisk

type BaseCannotAccessVmDisk interface {
	GetCannotAccessVmDisk() *CannotAccessVmDisk
}

type BaseCannotMoveVsanEnabledHost

type BaseCannotMoveVsanEnabledHost interface {
	GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost
}

type BaseClusterAction

type BaseClusterAction interface {
	GetClusterAction() *ClusterAction
}

type BaseClusterComputeResourceValidationResultBase added in v0.21.0

type BaseClusterComputeResourceValidationResultBase interface {
	GetClusterComputeResourceValidationResultBase() *ClusterComputeResourceValidationResultBase
}

type BaseClusterDasAdmissionControlInfo

type BaseClusterDasAdmissionControlInfo interface {
	GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo
}

type BaseClusterDasAdmissionControlPolicy

type BaseClusterDasAdmissionControlPolicy interface {
	GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy
}

type BaseClusterDasAdvancedRuntimeInfo

type BaseClusterDasAdvancedRuntimeInfo interface {
	GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo
}

type BaseClusterDasData

type BaseClusterDasData interface {
	GetClusterDasData() *ClusterDasData
}

type BaseClusterDasHostInfo

type BaseClusterDasHostInfo interface {
	GetClusterDasHostInfo() *ClusterDasHostInfo
}

type BaseClusterDrsFaultsFaultsByVm

type BaseClusterDrsFaultsFaultsByVm interface {
	GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm
}

type BaseClusterEvent

type BaseClusterEvent interface {
	GetClusterEvent() *ClusterEvent
}

type BaseClusterGroupInfo

type BaseClusterGroupInfo interface {
	GetClusterGroupInfo() *ClusterGroupInfo
}

type BaseClusterOvercommittedEvent

type BaseClusterOvercommittedEvent interface {
	GetClusterOvercommittedEvent() *ClusterOvercommittedEvent
}

type BaseClusterProfileConfigSpec

type BaseClusterProfileConfigSpec interface {
	GetClusterProfileConfigSpec() *ClusterProfileConfigSpec
}

type BaseClusterProfileCreateSpec

type BaseClusterProfileCreateSpec interface {
	GetClusterProfileCreateSpec() *ClusterProfileCreateSpec
}

type BaseClusterRuleInfo

type BaseClusterRuleInfo interface {
	GetClusterRuleInfo() *ClusterRuleInfo
}

type BaseClusterSlotPolicy

type BaseClusterSlotPolicy interface {
	GetClusterSlotPolicy() *ClusterSlotPolicy
}

type BaseClusterStatusChangedEvent

type BaseClusterStatusChangedEvent interface {
	GetClusterStatusChangedEvent() *ClusterStatusChangedEvent
}

type BaseComputeResourceConfigInfo

type BaseComputeResourceConfigInfo interface {
	GetComputeResourceConfigInfo() *ComputeResourceConfigInfo
}

type BaseComputeResourceConfigSpec

type BaseComputeResourceConfigSpec interface {
	GetComputeResourceConfigSpec() *ComputeResourceConfigSpec
}

type BaseComputeResourceSummary

type BaseComputeResourceSummary interface {
	GetComputeResourceSummary() *ComputeResourceSummary
}

type BaseConfigInfo added in v0.12.0

type BaseConfigInfo struct {
	DynamicData

	// ID of this object.
	Id ID `xml:"id" json:"id"`
	// Descriptive name of this object.
	Name string `xml:"name" json:"name"`
	// The date and time this object was created.
	CreateTime time.Time `xml:"createTime" json:"createTime"`
	// Choice of the deletion behavior of this virtual storage object.
	//
	// If not set, the default value is false.
	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
	// Is virtual storage object relocation disabled.
	//
	// If not set, the default value is false.
	RelocationDisabled *bool `xml:"relocationDisabled" json:"relocationDisabled,omitempty" vim:"6.7"`
	// Is virtual storage object supports native snapshot.
	//
	// If not set, the default value is false.
	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty" vim:"6.7"`
	// If Virtua storage object has changed block tracking enabled.
	//
	// If not set, the default value is false.
	ChangedBlockTrackingEnabled *bool `xml:"changedBlockTrackingEnabled" json:"changedBlockTrackingEnabled,omitempty" vim:"6.7"`
	// Backing of this object.
	Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr" json:"backing"`
	// Metadata associated with the FCD if available.
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"7.0.2.0"`
	// VClock associated with the fcd when the operation completed.
	//
	// The files is unset if the operation is a retrieve.
	Vclock *VslmVClockInfo `xml:"vclock,omitempty" json:"vclock,omitempty" vim:"7.0.2.0"`
	// IDs of the IO Filters associated with the virtual disk.
	//
	// See `IoFilterInfo.id`.
	// The client cannot modify this information on a virtual machine.
	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty" vim:"6.7"`
}

This data object type contains the basic configuration for a virtual storage object or a virtual storage object snapshot.

func (*BaseConfigInfo) GetBaseConfigInfo added in v0.12.0

func (b *BaseConfigInfo) GetBaseConfigInfo() *BaseConfigInfo

type BaseConfigInfoBackingInfo added in v0.12.0

type BaseConfigInfoBackingInfo struct {
	DynamicData

	// The datastore managed object where this backing is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The data object type is a base type of backing of a virtual storage object.

func (*BaseConfigInfoBackingInfo) GetBaseConfigInfoBackingInfo added in v0.12.0

func (b *BaseConfigInfoBackingInfo) GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo

type BaseConfigInfoDiskFileBackingInfo added in v0.12.0

type BaseConfigInfoDiskFileBackingInfo struct {
	BaseConfigInfoFileBackingInfo

	// Provisioning type.
	//
	// See `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum` for the
	// supported types.
	ProvisioningType string `xml:"provisioningType" json:"provisioningType"`
}

The data object type for disk file backing of a virtual storage object.

Disk file backing provides full virtualization of the backend storage.

type BaseConfigInfoDiskFileBackingInfoProvisioningType added in v0.12.0

type BaseConfigInfoDiskFileBackingInfoProvisioningType string

type BaseConfigInfoFileBackingInfo added in v0.12.0

type BaseConfigInfoFileBackingInfo struct {
	BaseConfigInfoBackingInfo

	// Full file path for the host file used in this backing.
	FilePath string `xml:"filePath" json:"filePath"`
	// Id refers to the backed storage object where the virtual storage object
	// is backed on.
	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is the root disk backing.
	//
	// Note that the type of the backing is consistent throughout the chain;
	// any new delta disk backing which is added is of the same type as the
	// original disk. Also note that since the parent backing is not being
	// written to, it is possible that the parent backing may be shared among
	// multiple disks.
	//
	// Only raw disk mappings in
	// *virtual compatibility mode* can have parents.
	Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr" json:"parent,omitempty"`
	// Size allocated by the FS for this file/chain/link/extent only.
	//
	// This property is used only for a delta disk whose
	// `BaseConfigInfoFileBackingInfo.parent` is set.
	DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty" json:"deltaSizeInMB,omitempty"`
	// key id used to encrypt the backing disk.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"7.0"`
}

Information for file backing of a virtual storage object.

File backing is mainly used for virtual disks.

func (*BaseConfigInfoFileBackingInfo) GetBaseConfigInfoFileBackingInfo added in v0.12.0

func (b *BaseConfigInfoFileBackingInfo) GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo

type BaseConfigInfoRawDiskMappingBackingInfo added in v0.12.0

type BaseConfigInfoRawDiskMappingBackingInfo struct {
	BaseConfigInfoFileBackingInfo

	// Unique identifier of the LUN accessed by the raw disk mapping.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
	// The compatibility mode of the raw disk mapping (RDM).
	//
	// This must be
	// specified when a new virtual disk with an RDM backing is created.
	//
	// See also `VirtualDiskCompatibilityMode_enum`.
	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
}

This data object type contains information about raw device mapping.

type BaseCpuIncompatible

type BaseCpuIncompatible interface {
	GetCpuIncompatible() *CpuIncompatible
}

type BaseCryptoSpec added in v0.12.0

type BaseCryptoSpec interface {
	GetCryptoSpec() *CryptoSpec
}

type BaseCryptoSpecNoOp added in v0.12.0

type BaseCryptoSpecNoOp interface {
	GetCryptoSpecNoOp() *CryptoSpecNoOp
}

type BaseCustomFieldDefEvent

type BaseCustomFieldDefEvent interface {
	GetCustomFieldDefEvent() *CustomFieldDefEvent
}

type BaseCustomFieldEvent

type BaseCustomFieldEvent interface {
	GetCustomFieldEvent() *CustomFieldEvent
}

type BaseCustomFieldValue

type BaseCustomFieldValue interface {
	GetCustomFieldValue() *CustomFieldValue
}

type BaseCustomizationEvent

type BaseCustomizationEvent interface {
	GetCustomizationEvent() *CustomizationEvent
}

type BaseCustomizationFailed

type BaseCustomizationFailed interface {
	GetCustomizationFailed() *CustomizationFailed
}

type BaseCustomizationFault

type BaseCustomizationFault interface {
	GetCustomizationFault() *CustomizationFault
}

type BaseCustomizationIdentitySettings

type BaseCustomizationIdentitySettings interface {
	GetCustomizationIdentitySettings() *CustomizationIdentitySettings
}

type BaseCustomizationIpGenerator

type BaseCustomizationIpGenerator interface {
	GetCustomizationIpGenerator() *CustomizationIpGenerator
}

type BaseCustomizationIpV6Generator

type BaseCustomizationIpV6Generator interface {
	GetCustomizationIpV6Generator() *CustomizationIpV6Generator
}

type BaseCustomizationName

type BaseCustomizationName interface {
	GetCustomizationName() *CustomizationName
}

type BaseCustomizationOptions

type BaseCustomizationOptions interface {
	GetCustomizationOptions() *CustomizationOptions
}

type BaseDVPortSetting

type BaseDVPortSetting interface {
	GetDVPortSetting() *DVPortSetting
}

type BaseDVPortgroupEvent

type BaseDVPortgroupEvent interface {
	GetDVPortgroupEvent() *DVPortgroupEvent
}

type BaseDVPortgroupPolicy

type BaseDVPortgroupPolicy interface {
	GetDVPortgroupPolicy() *DVPortgroupPolicy
}

type BaseDVSConfigInfo

type BaseDVSConfigInfo interface {
	GetDVSConfigInfo() *DVSConfigInfo
}

type BaseDVSConfigSpec

type BaseDVSConfigSpec interface {
	GetDVSConfigSpec() *DVSConfigSpec
}

type BaseDVSFeatureCapability

type BaseDVSFeatureCapability interface {
	GetDVSFeatureCapability() *DVSFeatureCapability
}

type BaseDVSHealthCheckCapability

type BaseDVSHealthCheckCapability interface {
	GetDVSHealthCheckCapability() *DVSHealthCheckCapability
}

type BaseDVSHealthCheckConfig

type BaseDVSHealthCheckConfig interface {
	GetDVSHealthCheckConfig() *DVSHealthCheckConfig
}

type BaseDVSUplinkPortPolicy

type BaseDVSUplinkPortPolicy interface {
	GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy
}

type BaseDailyTaskScheduler

type BaseDailyTaskScheduler interface {
	GetDailyTaskScheduler() *DailyTaskScheduler
}

type BaseDatacenterEvent

type BaseDatacenterEvent interface {
	GetDatacenterEvent() *DatacenterEvent
}

type BaseDatastoreEvent

type BaseDatastoreEvent interface {
	GetDatastoreEvent() *DatastoreEvent
}

type BaseDatastoreFileEvent

type BaseDatastoreFileEvent interface {
	GetDatastoreFileEvent() *DatastoreFileEvent
}

type BaseDatastoreInfo

type BaseDatastoreInfo interface {
	GetDatastoreInfo() *DatastoreInfo
}

type BaseDatastoreNotWritableOnHost

type BaseDatastoreNotWritableOnHost interface {
	GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost
}

type BaseDescription

type BaseDescription interface {
	GetDescription() *Description
}

type BaseDeviceBackingNotSupported

type BaseDeviceBackingNotSupported interface {
	GetDeviceBackingNotSupported() *DeviceBackingNotSupported
}

type BaseDeviceNotSupported

type BaseDeviceNotSupported interface {
	GetDeviceNotSupported() *DeviceNotSupported
}

type BaseDiskNotSupported

type BaseDiskNotSupported interface {
	GetDiskNotSupported() *DiskNotSupported
}

type BaseDistributedVirtualSwitchHostMemberBacking

type BaseDistributedVirtualSwitchHostMemberBacking interface {
	GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking
}

type BaseDistributedVirtualSwitchManagerHostDvsFilterSpec

type BaseDistributedVirtualSwitchManagerHostDvsFilterSpec interface {
	GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec
}

type BaseDvsEvent

type BaseDvsEvent interface {
	GetDvsEvent() *DvsEvent
}

type BaseDvsFault

type BaseDvsFault interface {
	GetDvsFault() *DvsFault
}

type BaseDvsFilterConfig

type BaseDvsFilterConfig interface {
	GetDvsFilterConfig() *DvsFilterConfig
}

type BaseDvsHealthStatusChangeEvent

type BaseDvsHealthStatusChangeEvent interface {
	GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent
}

type BaseDvsIpPort

type BaseDvsIpPort interface {
	GetDvsIpPort() *DvsIpPort
}

type BaseDvsNetworkRuleAction

type BaseDvsNetworkRuleAction interface {
	GetDvsNetworkRuleAction() *DvsNetworkRuleAction
}

type BaseDvsNetworkRuleQualifier

type BaseDvsNetworkRuleQualifier interface {
	GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier
}

type BaseDvsTrafficFilterConfig

type BaseDvsTrafficFilterConfig interface {
	GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig
}

type BaseDvsVNicProfile

type BaseDvsVNicProfile interface {
	GetDvsVNicProfile() *DvsVNicProfile
}

type BaseDynamicData

type BaseDynamicData interface {
	GetDynamicData() *DynamicData
}

type BaseEVCAdmissionFailed

type BaseEVCAdmissionFailed interface {
	GetEVCAdmissionFailed() *EVCAdmissionFailed
}

type BaseEVCConfigFault

type BaseEVCConfigFault interface {
	GetEVCConfigFault() *EVCConfigFault
}

type BaseElementDescription

type BaseElementDescription interface {
	GetElementDescription() *ElementDescription
}

type BaseEnteredStandbyModeEvent

type BaseEnteredStandbyModeEvent interface {
	GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent
}

type BaseEnteringStandbyModeEvent

type BaseEnteringStandbyModeEvent interface {
	GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent
}

type BaseEntityEventArgument

type BaseEntityEventArgument interface {
	GetEntityEventArgument() *EntityEventArgument
}

type BaseEvent

type BaseEvent interface {
	GetEvent() *Event
}

type BaseEventArgument

type BaseEventArgument interface {
	GetEventArgument() *EventArgument
}

type BaseExitStandbyModeFailedEvent

type BaseExitStandbyModeFailedEvent interface {
	GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent
}

type BaseExitedStandbyModeEvent

type BaseExitedStandbyModeEvent interface {
	GetExitedStandbyModeEvent() *ExitedStandbyModeEvent
}

type BaseExitingStandbyModeEvent

type BaseExitingStandbyModeEvent interface {
	GetExitingStandbyModeEvent() *ExitingStandbyModeEvent
}

type BaseExpiredFeatureLicense

type BaseExpiredFeatureLicense interface {
	GetExpiredFeatureLicense() *ExpiredFeatureLicense
}

type BaseFaultToleranceConfigInfo

type BaseFaultToleranceConfigInfo interface {
	GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo
}

type BaseFcoeFault

type BaseFcoeFault interface {
	GetFcoeFault() *FcoeFault
}

type BaseFileBackedVirtualDiskSpec

type BaseFileBackedVirtualDiskSpec interface {
	GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec
}

type BaseFileFault

type BaseFileFault interface {
	GetFileFault() *FileFault
}

type BaseFileInfo

type BaseFileInfo interface {
	GetFileInfo() *FileInfo
}

type BaseFileQuery

type BaseFileQuery interface {
	GetFileQuery() *FileQuery
}

type BaseGatewayConnectFault

type BaseGatewayConnectFault interface {
	GetGatewayConnectFault() *GatewayConnectFault
}

type BaseGatewayToHostConnectFault

type BaseGatewayToHostConnectFault interface {
	GetGatewayToHostConnectFault() *GatewayToHostConnectFault
}

type BaseGeneralEvent

type BaseGeneralEvent interface {
	GetGeneralEvent() *GeneralEvent
}

type BaseGuestAuthSubject

type BaseGuestAuthSubject interface {
	GetGuestAuthSubject() *GuestAuthSubject
}

type BaseGuestAuthentication

type BaseGuestAuthentication interface {
	GetGuestAuthentication() *GuestAuthentication
}

type BaseGuestFileAttributes

type BaseGuestFileAttributes interface {
	GetGuestFileAttributes() *GuestFileAttributes
}

type BaseGuestOperationsFault

type BaseGuestOperationsFault interface {
	GetGuestOperationsFault() *GuestOperationsFault
}

type BaseGuestProgramSpec

type BaseGuestProgramSpec interface {
	GetGuestProgramSpec() *GuestProgramSpec
}

type BaseGuestRegValueDataSpec

type BaseGuestRegValueDataSpec interface {
	GetGuestRegValueDataSpec() *GuestRegValueDataSpec
}

type BaseGuestRegistryFault

type BaseGuestRegistryFault interface {
	GetGuestRegistryFault() *GuestRegistryFault
}

type BaseGuestRegistryKeyFault

type BaseGuestRegistryKeyFault interface {
	GetGuestRegistryKeyFault() *GuestRegistryKeyFault
}

type BaseGuestRegistryValueFault

type BaseGuestRegistryValueFault interface {
	GetGuestRegistryValueFault() *GuestRegistryValueFault
}

type BaseHostAccountSpec

type BaseHostAccountSpec interface {
	GetHostAccountSpec() *HostAccountSpec
}

type BaseHostAuthenticationStoreInfo

type BaseHostAuthenticationStoreInfo interface {
	GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo
}

type BaseHostCommunication

type BaseHostCommunication interface {
	GetHostCommunication() *HostCommunication
}

type BaseHostConfigFault

type BaseHostConfigFault interface {
	GetHostConfigFault() *HostConfigFault
}

type BaseHostConnectFault

type BaseHostConnectFault interface {
	GetHostConnectFault() *HostConnectFault
}

type BaseHostConnectInfoNetworkInfo

type BaseHostConnectInfoNetworkInfo interface {
	GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo
}

type BaseHostDasEvent

type BaseHostDasEvent interface {
	GetHostDasEvent() *HostDasEvent
}

type BaseHostDataTransportConnectionInfo added in v0.27.0

type BaseHostDataTransportConnectionInfo interface {
	GetHostDataTransportConnectionInfo() *HostDataTransportConnectionInfo
}

type BaseHostDatastoreConnectInfo

type BaseHostDatastoreConnectInfo interface {
	GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo
}

type BaseHostDevice

type BaseHostDevice interface {
	GetHostDevice() *HostDevice
}

type BaseHostDigestInfo

type BaseHostDigestInfo interface {
	GetHostDigestInfo() *HostDigestInfo
}

type BaseHostDirectoryStoreInfo

type BaseHostDirectoryStoreInfo interface {
	GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo
}

type BaseHostDnsConfig

type BaseHostDnsConfig interface {
	GetHostDnsConfig() *HostDnsConfig
}

type BaseHostEvent

type BaseHostEvent interface {
	GetHostEvent() *HostEvent
}

type BaseHostFibreChannelHba

type BaseHostFibreChannelHba interface {
	GetHostFibreChannelHba() *HostFibreChannelHba
}

type BaseHostFibreChannelTargetTransport

type BaseHostFibreChannelTargetTransport interface {
	GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport
}

type BaseHostFileSystemVolume

type BaseHostFileSystemVolume interface {
	GetHostFileSystemVolume() *HostFileSystemVolume
}

type BaseHostHardwareElementInfo

type BaseHostHardwareElementInfo interface {
	GetHostHardwareElementInfo() *HostHardwareElementInfo
}

type BaseHostHbaCreateSpec added in v0.27.0

type BaseHostHbaCreateSpec interface {
	GetHostHbaCreateSpec() *HostHbaCreateSpec
}

type BaseHostHostBusAdapter

type BaseHostHostBusAdapter interface {
	GetHostHostBusAdapter() *HostHostBusAdapter
}

type BaseHostIpRouteConfig

type BaseHostIpRouteConfig interface {
	GetHostIpRouteConfig() *HostIpRouteConfig
}

type BaseHostMemberHealthCheckResult

type BaseHostMemberHealthCheckResult interface {
	GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult
}

type BaseHostMemberUplinkHealthCheckResult

type BaseHostMemberUplinkHealthCheckResult interface {
	GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult
}

type BaseHostMultipathInfoLogicalUnitPolicy

type BaseHostMultipathInfoLogicalUnitPolicy interface {
	GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy
}

type BaseHostNvmeSpec added in v0.23.0

type BaseHostNvmeSpec interface {
	GetHostNvmeSpec() *HostNvmeSpec
}

type BaseHostNvmeTransportParameters added in v0.23.0

type BaseHostNvmeTransportParameters interface {
	GetHostNvmeTransportParameters() *HostNvmeTransportParameters
}

type BaseHostPciPassthruConfig

type BaseHostPciPassthruConfig interface {
	GetHostPciPassthruConfig() *HostPciPassthruConfig
}

type BaseHostPciPassthruInfo

type BaseHostPciPassthruInfo interface {
	GetHostPciPassthruInfo() *HostPciPassthruInfo
}

type BaseHostPowerOpFailed

type BaseHostPowerOpFailed interface {
	GetHostPowerOpFailed() *HostPowerOpFailed
}

type BaseHostProfileConfigSpec

type BaseHostProfileConfigSpec interface {
	GetHostProfileConfigSpec() *HostProfileConfigSpec
}

type BaseHostProfilesEntityCustomizations added in v0.12.0

type BaseHostProfilesEntityCustomizations interface {
	GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations
}

type BaseHostRdmaDeviceBacking added in v0.23.0

type BaseHostRdmaDeviceBacking interface {
	GetHostRdmaDeviceBacking() *HostRdmaDeviceBacking
}

type BaseHostSriovDevicePoolInfo added in v0.12.0

type BaseHostSriovDevicePoolInfo interface {
	GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo
}

type BaseHostSystemSwapConfigurationSystemSwapOption

type BaseHostSystemSwapConfigurationSystemSwapOption interface {
	GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption
}

type BaseHostTargetTransport

type BaseHostTargetTransport interface {
	GetHostTargetTransport() *HostTargetTransport
}

type BaseHostTpmBootSecurityOptionEventDetails added in v0.26.0

type BaseHostTpmBootSecurityOptionEventDetails interface {
	GetHostTpmBootSecurityOptionEventDetails() *HostTpmBootSecurityOptionEventDetails
}

type BaseHostTpmEventDetails

type BaseHostTpmEventDetails interface {
	GetHostTpmEventDetails() *HostTpmEventDetails
}

type BaseHostVirtualSwitchBridge

type BaseHostVirtualSwitchBridge interface {
	GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge
}

type BaseHourlyTaskScheduler

type BaseHourlyTaskScheduler interface {
	GetHourlyTaskScheduler() *HourlyTaskScheduler
}

type BaseImportSpec

type BaseImportSpec interface {
	GetImportSpec() *ImportSpec
}

type BaseInaccessibleDatastore

type BaseInaccessibleDatastore interface {
	GetInaccessibleDatastore() *InaccessibleDatastore
}

type BaseInheritablePolicy

type BaseInheritablePolicy interface {
	GetInheritablePolicy() *InheritablePolicy
}

type BaseInsufficientHostCapacityFault

type BaseInsufficientHostCapacityFault interface {
	GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault
}

type BaseInsufficientResourcesFault

type BaseInsufficientResourcesFault interface {
	GetInsufficientResourcesFault() *InsufficientResourcesFault
}

type BaseInsufficientStandbyResource

type BaseInsufficientStandbyResource interface {
	GetInsufficientStandbyResource() *InsufficientStandbyResource
}

type BaseInvalidArgument

type BaseInvalidArgument interface {
	GetInvalidArgument() *InvalidArgument
}

type BaseInvalidCAMServer

type BaseInvalidCAMServer interface {
	GetInvalidCAMServer() *InvalidCAMServer
}

type BaseInvalidDatastore

type BaseInvalidDatastore interface {
	GetInvalidDatastore() *InvalidDatastore
}

type BaseInvalidDeviceSpec

type BaseInvalidDeviceSpec interface {
	GetInvalidDeviceSpec() *InvalidDeviceSpec
}

type BaseInvalidFolder

type BaseInvalidFolder interface {
	GetInvalidFolder() *InvalidFolder
}

type BaseInvalidFormat

type BaseInvalidFormat interface {
	GetInvalidFormat() *InvalidFormat
}

type BaseInvalidHostState

type BaseInvalidHostState interface {
	GetInvalidHostState() *InvalidHostState
}

type BaseInvalidLogin

type BaseInvalidLogin interface {
	GetInvalidLogin() *InvalidLogin
}

type BaseInvalidPropertyValue

type BaseInvalidPropertyValue interface {
	GetInvalidPropertyValue() *InvalidPropertyValue
}

type BaseInvalidRequest

type BaseInvalidRequest interface {
	GetInvalidRequest() *InvalidRequest
}

type BaseInvalidState

type BaseInvalidState interface {
	GetInvalidState() *InvalidState
}

type BaseInvalidVmConfig

type BaseInvalidVmConfig interface {
	GetInvalidVmConfig() *InvalidVmConfig
}

type BaseIoFilterInfo

type BaseIoFilterInfo interface {
	GetIoFilterInfo() *IoFilterInfo
}

type BaseIpAddress

type BaseIpAddress interface {
	GetIpAddress() *IpAddress
}

type BaseIscsiFault

type BaseIscsiFault interface {
	GetIscsiFault() *IscsiFault
}

type BaseLicenseEvent

type BaseLicenseEvent interface {
	GetLicenseEvent() *LicenseEvent
}

type BaseLicenseSource

type BaseLicenseSource interface {
	GetLicenseSource() *LicenseSource
}

type BaseMacAddress

type BaseMacAddress interface {
	GetMacAddress() *MacAddress
}

type BaseMethodFault

type BaseMethodFault interface {
	GetMethodFault() *MethodFault
}

type BaseMigrationEvent

type BaseMigrationEvent interface {
	GetMigrationEvent() *MigrationEvent
}

type BaseMigrationFault

type BaseMigrationFault interface {
	GetMigrationFault() *MigrationFault
}

type BaseMigrationFeatureNotSupported

type BaseMigrationFeatureNotSupported interface {
	GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported
}

type BaseMonthlyTaskScheduler

type BaseMonthlyTaskScheduler interface {
	GetMonthlyTaskScheduler() *MonthlyTaskScheduler
}

type BaseNasConfigFault

type BaseNasConfigFault interface {
	GetNasConfigFault() *NasConfigFault
}

type BaseNegatableExpression

type BaseNegatableExpression interface {
	GetNegatableExpression() *NegatableExpression
}

type BaseNetBIOSConfigInfo

type BaseNetBIOSConfigInfo interface {
	GetNetBIOSConfigInfo() *NetBIOSConfigInfo
}

type BaseNetworkSummary

type BaseNetworkSummary interface {
	GetNetworkSummary() *NetworkSummary
}

type BaseNoCompatibleHost

type BaseNoCompatibleHost interface {
	GetNoCompatibleHost() *NoCompatibleHost
}

type BaseNoPermission

type BaseNoPermission interface {
	GetNoPermission() *NoPermission
}

type BaseNodeDeploymentSpec added in v0.12.0

type BaseNodeDeploymentSpec interface {
	GetNodeDeploymentSpec() *NodeDeploymentSpec
}

type BaseNodeNetworkSpec added in v0.12.0

type BaseNodeNetworkSpec interface {
	GetNodeNetworkSpec() *NodeNetworkSpec
}

type BaseNotEnoughCpus

type BaseNotEnoughCpus interface {
	GetNotEnoughCpus() *NotEnoughCpus
}

type BaseNotEnoughLicenses

type BaseNotEnoughLicenses interface {
	GetNotEnoughLicenses() *NotEnoughLicenses
}

type BaseNotSupported

type BaseNotSupported interface {
	GetNotSupported() *NotSupported
}

type BaseNotSupportedHost

type BaseNotSupportedHost interface {
	GetNotSupportedHost() *NotSupportedHost
}

type BaseNotSupportedHostInCluster

type BaseNotSupportedHostInCluster interface {
	GetNotSupportedHostInCluster() *NotSupportedHostInCluster
}

type BaseOptionType

type BaseOptionType interface {
	GetOptionType() *OptionType
}

type BaseOptionValue

type BaseOptionValue interface {
	GetOptionValue() *OptionValue
}

type BaseOvfAttribute

type BaseOvfAttribute interface {
	GetOvfAttribute() *OvfAttribute
}

type BaseOvfConnectedDevice

type BaseOvfConnectedDevice interface {
	GetOvfConnectedDevice() *OvfConnectedDevice
}

type BaseOvfConstraint

type BaseOvfConstraint interface {
	GetOvfConstraint() *OvfConstraint
}

type BaseOvfConsumerCallbackFault

type BaseOvfConsumerCallbackFault interface {
	GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault
}

type BaseOvfElement

type BaseOvfElement interface {
	GetOvfElement() *OvfElement
}

type BaseOvfExport

type BaseOvfExport interface {
	GetOvfExport() *OvfExport
}

type BaseOvfFault

type BaseOvfFault interface {
	GetOvfFault() *OvfFault
}

type BaseOvfHardwareExport

type BaseOvfHardwareExport interface {
	GetOvfHardwareExport() *OvfHardwareExport
}

type BaseOvfImport

type BaseOvfImport interface {
	GetOvfImport() *OvfImport
}

type BaseOvfInvalidPackage

type BaseOvfInvalidPackage interface {
	GetOvfInvalidPackage() *OvfInvalidPackage
}

type BaseOvfInvalidValue

type BaseOvfInvalidValue interface {
	GetOvfInvalidValue() *OvfInvalidValue
}

type BaseOvfManagerCommonParams

type BaseOvfManagerCommonParams interface {
	GetOvfManagerCommonParams() *OvfManagerCommonParams
}

type BaseOvfMissingElement

type BaseOvfMissingElement interface {
	GetOvfMissingElement() *OvfMissingElement
}

type BaseOvfProperty

type BaseOvfProperty interface {
	GetOvfProperty() *OvfProperty
}

type BaseOvfSystemFault

type BaseOvfSystemFault interface {
	GetOvfSystemFault() *OvfSystemFault
}

type BaseOvfUnsupportedAttribute

type BaseOvfUnsupportedAttribute interface {
	GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute
}

type BaseOvfUnsupportedElement

type BaseOvfUnsupportedElement interface {
	GetOvfUnsupportedElement() *OvfUnsupportedElement
}

type BaseOvfUnsupportedPackage

type BaseOvfUnsupportedPackage interface {
	GetOvfUnsupportedPackage() *OvfUnsupportedPackage
}

type BasePatchMetadataInvalid

type BasePatchMetadataInvalid interface {
	GetPatchMetadataInvalid() *PatchMetadataInvalid
}

type BasePatchNotApplicable

type BasePatchNotApplicable interface {
	GetPatchNotApplicable() *PatchNotApplicable
}

type BasePerfEntityMetricBase

type BasePerfEntityMetricBase interface {
	GetPerfEntityMetricBase() *PerfEntityMetricBase
}

type BasePerfMetricSeries

type BasePerfMetricSeries interface {
	GetPerfMetricSeries() *PerfMetricSeries
}

type BasePermissionEvent

type BasePermissionEvent interface {
	GetPermissionEvent() *PermissionEvent
}

type BasePhysicalNicHint

type BasePhysicalNicHint interface {
	GetPhysicalNicHint() *PhysicalNicHint
}

type BasePlatformConfigFault

type BasePlatformConfigFault interface {
	GetPlatformConfigFault() *PlatformConfigFault
}

type BasePolicyOption

type BasePolicyOption interface {
	GetPolicyOption() *PolicyOption
}

type BasePortGroupProfile

type BasePortGroupProfile interface {
	GetPortGroupProfile() *PortGroupProfile
}

type BaseProfileConfigInfo

type BaseProfileConfigInfo interface {
	GetProfileConfigInfo() *ProfileConfigInfo
}

type BaseProfileCreateSpec

type BaseProfileCreateSpec interface {
	GetProfileCreateSpec() *ProfileCreateSpec
}

type BaseProfileEvent

type BaseProfileEvent interface {
	GetProfileEvent() *ProfileEvent
}

type BaseProfileExecuteResult added in v0.12.0

type BaseProfileExecuteResult interface {
	GetProfileExecuteResult() *ProfileExecuteResult
}

type BaseProfileExpression

type BaseProfileExpression interface {
	GetProfileExpression() *ProfileExpression
}

type BaseProfilePolicyOptionMetadata

type BaseProfilePolicyOptionMetadata interface {
	GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata
}

type BaseProfileSerializedCreateSpec

type BaseProfileSerializedCreateSpec interface {
	GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec
}

type BaseRDMNotSupported

type BaseRDMNotSupported interface {
	GetRDMNotSupported() *RDMNotSupported
}

type BaseRecurrentTaskScheduler

type BaseRecurrentTaskScheduler interface {
	GetRecurrentTaskScheduler() *RecurrentTaskScheduler
}

type BaseReplicationConfigFault

type BaseReplicationConfigFault interface {
	GetReplicationConfigFault() *ReplicationConfigFault
}

type BaseReplicationFault

type BaseReplicationFault interface {
	GetReplicationFault() *ReplicationFault
}

type BaseReplicationVmFault

type BaseReplicationVmFault interface {
	GetReplicationVmFault() *ReplicationVmFault
}

type BaseResourceInUse

type BaseResourceInUse interface {
	GetResourceInUse() *ResourceInUse
}

type BaseResourcePoolEvent

type BaseResourcePoolEvent interface {
	GetResourcePoolEvent() *ResourcePoolEvent
}

type BaseResourcePoolSummary

type BaseResourcePoolSummary interface {
	GetResourcePoolSummary() *ResourcePoolSummary
}

type BaseRoleEvent

type BaseRoleEvent interface {
	GetRoleEvent() *RoleEvent
}

type BaseRuntimeFault

type BaseRuntimeFault interface {
	GetRuntimeFault() *RuntimeFault
}

type BaseScheduledTaskEvent

type BaseScheduledTaskEvent interface {
	GetScheduledTaskEvent() *ScheduledTaskEvent
}

type BaseScheduledTaskSpec

type BaseScheduledTaskSpec interface {
	GetScheduledTaskSpec() *ScheduledTaskSpec
}

type BaseScsiLun

type BaseScsiLun interface {
	GetScsiLun() *ScsiLun
}

type BaseSecurityError

type BaseSecurityError interface {
	GetSecurityError() *SecurityError
}

type BaseSelectionSet

type BaseSelectionSet interface {
	GetSelectionSet() *SelectionSet
}

type BaseSelectionSpec

type BaseSelectionSpec interface {
	GetSelectionSpec() *SelectionSpec
}

type BaseServiceLocatorCredential

type BaseServiceLocatorCredential interface {
	GetServiceLocatorCredential() *ServiceLocatorCredential
}

type BaseSessionEvent

type BaseSessionEvent interface {
	GetSessionEvent() *SessionEvent
}

type BaseSessionManagerServiceRequestSpec

type BaseSessionManagerServiceRequestSpec interface {
	GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec
}

type BaseSnapshotCopyNotSupported

type BaseSnapshotCopyNotSupported interface {
	GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported
}

type BaseSnapshotFault

type BaseSnapshotFault interface {
	GetSnapshotFault() *SnapshotFault
}

type BaseTaskEvent

type BaseTaskEvent interface {
	GetTaskEvent() *TaskEvent
}

type BaseTaskInProgress

type BaseTaskInProgress interface {
	GetTaskInProgress() *TaskInProgress
}

type BaseTaskReason

type BaseTaskReason interface {
	GetTaskReason() *TaskReason
}

type BaseTaskScheduler

type BaseTaskScheduler interface {
	GetTaskScheduler() *TaskScheduler
}

type BaseTemplateUpgradeEvent

type BaseTemplateUpgradeEvent interface {
	GetTemplateUpgradeEvent() *TemplateUpgradeEvent
}

type BaseTimedout

type BaseTimedout interface {
	GetTimedout() *Timedout
}

type BaseTypeDescription

type BaseTypeDescription interface {
	GetTypeDescription() *TypeDescription
}

type BaseUnsupportedDatastore

type BaseUnsupportedDatastore interface {
	GetUnsupportedDatastore() *UnsupportedDatastore
}

type BaseUpgradeEvent

type BaseUpgradeEvent interface {
	GetUpgradeEvent() *UpgradeEvent
}

type BaseUserSearchResult

type BaseUserSearchResult interface {
	GetUserSearchResult() *UserSearchResult
}

type BaseVAppConfigFault

type BaseVAppConfigFault interface {
	GetVAppConfigFault() *VAppConfigFault
}

type BaseVAppPropertyFault

type BaseVAppPropertyFault interface {
	GetVAppPropertyFault() *VAppPropertyFault
}

type BaseVMotionInterfaceIssue

type BaseVMotionInterfaceIssue interface {
	GetVMotionInterfaceIssue() *VMotionInterfaceIssue
}

type BaseVMwareDVSHealthCheckConfig

type BaseVMwareDVSHealthCheckConfig interface {
	GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig
}

type BaseVimFault

type BaseVimFault interface {
	GetVimFault() *VimFault
}

type BaseVirtualController

type BaseVirtualController interface {
	GetVirtualController() *VirtualController
}

type BaseVirtualControllerOption

type BaseVirtualControllerOption interface {
	GetVirtualControllerOption() *VirtualControllerOption
}

type BaseVirtualDevice

type BaseVirtualDevice interface {
	GetVirtualDevice() *VirtualDevice
}

type BaseVirtualDeviceBackingInfo

type BaseVirtualDeviceBackingInfo interface {
	GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo
}

type BaseVirtualDeviceBackingOption

type BaseVirtualDeviceBackingOption interface {
	GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption
}

type BaseVirtualDeviceBusSlotInfo

type BaseVirtualDeviceBusSlotInfo interface {
	GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo
}

type BaseVirtualDeviceConfigSpec

type BaseVirtualDeviceConfigSpec interface {
	GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec
}

type BaseVirtualDeviceDeviceBackingInfo

type BaseVirtualDeviceDeviceBackingInfo interface {
	GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo
}

type BaseVirtualDeviceDeviceBackingOption

type BaseVirtualDeviceDeviceBackingOption interface {
	GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption
}

type BaseVirtualDeviceFileBackingInfo

type BaseVirtualDeviceFileBackingInfo interface {
	GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo
}

type BaseVirtualDeviceFileBackingOption

type BaseVirtualDeviceFileBackingOption interface {
	GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption
}

type BaseVirtualDeviceOption

type BaseVirtualDeviceOption interface {
	GetVirtualDeviceOption() *VirtualDeviceOption
}

type BaseVirtualDevicePciBusSlotInfo

type BaseVirtualDevicePciBusSlotInfo interface {
	GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo
}

type BaseVirtualDevicePipeBackingInfo

type BaseVirtualDevicePipeBackingInfo interface {
	GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo
}

type BaseVirtualDevicePipeBackingOption

type BaseVirtualDevicePipeBackingOption interface {
	GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption
}

type BaseVirtualDeviceRemoteDeviceBackingInfo

type BaseVirtualDeviceRemoteDeviceBackingInfo interface {
	GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo
}

type BaseVirtualDeviceRemoteDeviceBackingOption

type BaseVirtualDeviceRemoteDeviceBackingOption interface {
	GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption
}

type BaseVirtualDeviceURIBackingInfo

type BaseVirtualDeviceURIBackingInfo interface {
	GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo
}

type BaseVirtualDeviceURIBackingOption

type BaseVirtualDeviceURIBackingOption interface {
	GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption
}

type BaseVirtualDiskRawDiskVer2BackingInfo

type BaseVirtualDiskRawDiskVer2BackingInfo interface {
	GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo
}

type BaseVirtualDiskRawDiskVer2BackingOption

type BaseVirtualDiskRawDiskVer2BackingOption interface {
	GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption
}

type BaseVirtualDiskSpec

type BaseVirtualDiskSpec interface {
	GetVirtualDiskSpec() *VirtualDiskSpec
}

type BaseVirtualEthernetCard

type BaseVirtualEthernetCard interface {
	GetVirtualEthernetCard() *VirtualEthernetCard
}

type BaseVirtualEthernetCardOption

type BaseVirtualEthernetCardOption interface {
	GetVirtualEthernetCardOption() *VirtualEthernetCardOption
}

type BaseVirtualHardwareCompatibilityIssue

type BaseVirtualHardwareCompatibilityIssue interface {
	GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue
}

type BaseVirtualMachineBaseIndependentFilterSpec added in v0.27.0

type BaseVirtualMachineBaseIndependentFilterSpec interface {
	GetVirtualMachineBaseIndependentFilterSpec() *VirtualMachineBaseIndependentFilterSpec
}

type BaseVirtualMachineBootOptionsBootableDevice

type BaseVirtualMachineBootOptionsBootableDevice interface {
	GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice
}

type BaseVirtualMachineConnection added in v0.24.0

type BaseVirtualMachineConnection interface {
	GetVirtualMachineConnection() *VirtualMachineConnection
}

type BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState

type BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState interface {
	GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState
}

type BaseVirtualMachineDiskDeviceInfo

type BaseVirtualMachineDiskDeviceInfo interface {
	GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo
}

type BaseVirtualMachineGuestQuiesceSpec added in v0.12.0

type BaseVirtualMachineGuestQuiesceSpec interface {
	GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec
}

type BaseVirtualMachinePciPassthroughInfo

type BaseVirtualMachinePciPassthroughInfo interface {
	GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo
}

type BaseVirtualMachineProfileSpec

type BaseVirtualMachineProfileSpec interface {
	GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec
}

type BaseVirtualMachineSriovDevicePoolInfo added in v0.12.0

type BaseVirtualMachineSriovDevicePoolInfo interface {
	GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo
}

type BaseVirtualMachineTargetInfo

type BaseVirtualMachineTargetInfo interface {
	GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo
}

type BaseVirtualMachineVirtualDeviceGroupsDeviceGroup added in v0.29.0

type BaseVirtualMachineVirtualDeviceGroupsDeviceGroup interface {
	GetVirtualMachineVirtualDeviceGroupsDeviceGroup() *VirtualMachineVirtualDeviceGroupsDeviceGroup
}

type BaseVirtualPCIPassthroughPluginBackingInfo

type BaseVirtualPCIPassthroughPluginBackingInfo interface {
	GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo
}

type BaseVirtualPCIPassthroughPluginBackingOption

type BaseVirtualPCIPassthroughPluginBackingOption interface {
	GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption
}

type BaseVirtualSATAController

type BaseVirtualSATAController interface {
	GetVirtualSATAController() *VirtualSATAController
}

type BaseVirtualSATAControllerOption

type BaseVirtualSATAControllerOption interface {
	GetVirtualSATAControllerOption() *VirtualSATAControllerOption
}

type BaseVirtualSCSIController

type BaseVirtualSCSIController interface {
	GetVirtualSCSIController() *VirtualSCSIController
}

type BaseVirtualSCSIControllerOption

type BaseVirtualSCSIControllerOption interface {
	GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption
}

type BaseVirtualSoundCard

type BaseVirtualSoundCard interface {
	GetVirtualSoundCard() *VirtualSoundCard
}

type BaseVirtualSoundCardOption

type BaseVirtualSoundCardOption interface {
	GetVirtualSoundCardOption() *VirtualSoundCardOption
}

type BaseVirtualVmxnet

type BaseVirtualVmxnet interface {
	GetVirtualVmxnet() *VirtualVmxnet
}

type BaseVirtualVmxnet3 added in v0.12.0

type BaseVirtualVmxnet3 interface {
	GetVirtualVmxnet3() *VirtualVmxnet3
}

type BaseVirtualVmxnet3Option added in v0.12.0

type BaseVirtualVmxnet3Option interface {
	GetVirtualVmxnet3Option() *VirtualVmxnet3Option
}

type BaseVirtualVmxnetOption

type BaseVirtualVmxnetOption interface {
	GetVirtualVmxnetOption() *VirtualVmxnetOption
}

type BaseVmCloneEvent

type BaseVmCloneEvent interface {
	GetVmCloneEvent() *VmCloneEvent
}

type BaseVmConfigFault

type BaseVmConfigFault interface {
	GetVmConfigFault() *VmConfigFault
}

type BaseVmConfigFileInfo

type BaseVmConfigFileInfo interface {
	GetVmConfigFileInfo() *VmConfigFileInfo
}

type BaseVmConfigFileQuery

type BaseVmConfigFileQuery interface {
	GetVmConfigFileQuery() *VmConfigFileQuery
}

type BaseVmConfigInfo

type BaseVmConfigInfo interface {
	GetVmConfigInfo() *VmConfigInfo
}

type BaseVmConfigSpec

type BaseVmConfigSpec interface {
	GetVmConfigSpec() *VmConfigSpec
}

type BaseVmDasBeingResetEvent

type BaseVmDasBeingResetEvent interface {
	GetVmDasBeingResetEvent() *VmDasBeingResetEvent
}

type BaseVmEvent

type BaseVmEvent interface {
	GetVmEvent() *VmEvent
}

type BaseVmFaultToleranceIssue

type BaseVmFaultToleranceIssue interface {
	GetVmFaultToleranceIssue() *VmFaultToleranceIssue
}

type BaseVmMigratedEvent

type BaseVmMigratedEvent interface {
	GetVmMigratedEvent() *VmMigratedEvent
}

type BaseVmPoweredOffEvent

type BaseVmPoweredOffEvent interface {
	GetVmPoweredOffEvent() *VmPoweredOffEvent
}

type BaseVmPoweredOnEvent

type BaseVmPoweredOnEvent interface {
	GetVmPoweredOnEvent() *VmPoweredOnEvent
}

type BaseVmRelocateSpecEvent

type BaseVmRelocateSpecEvent interface {
	GetVmRelocateSpecEvent() *VmRelocateSpecEvent
}

type BaseVmStartingEvent

type BaseVmStartingEvent interface {
	GetVmStartingEvent() *VmStartingEvent
}

type BaseVmToolsUpgradeFault

type BaseVmToolsUpgradeFault interface {
	GetVmToolsUpgradeFault() *VmToolsUpgradeFault
}

type BaseVmfsDatastoreBaseOption

type BaseVmfsDatastoreBaseOption interface {
	GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption
}

type BaseVmfsDatastoreSingleExtentOption

type BaseVmfsDatastoreSingleExtentOption interface {
	GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption
}

type BaseVmfsDatastoreSpec

type BaseVmfsDatastoreSpec interface {
	GetVmfsDatastoreSpec() *VmfsDatastoreSpec
}

type BaseVmfsMountFault

type BaseVmfsMountFault interface {
	GetVmfsMountFault() *VmfsMountFault
}

type BaseVmwareDistributedVirtualSwitchVlanSpec

type BaseVmwareDistributedVirtualSwitchVlanSpec interface {
	GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec
}

type BaseVsanDiskFault

type BaseVsanDiskFault interface {
	GetVsanDiskFault() *VsanDiskFault
}

type BaseVsanFault

type BaseVsanFault interface {
	GetVsanFault() *VsanFault
}

type BaseVsanUpgradeSystemPreflightCheckIssue

type BaseVsanUpgradeSystemPreflightCheckIssue interface {
	GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue
}

type BaseVsanUpgradeSystemUpgradeHistoryItem

type BaseVsanUpgradeSystemUpgradeHistoryItem interface {
	GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem
}

type BaseVslmCreateSpecBackingSpec added in v0.12.0

type BaseVslmCreateSpecBackingSpec interface {
	GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec
}

type BaseVslmMigrateSpec added in v0.12.0

type BaseVslmMigrateSpec interface {
	GetVslmMigrateSpec() *VslmMigrateSpec
}

type BatchAddHostsToClusterRequestType added in v0.21.0

type BatchAddHostsToClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the cluster to which hosts need to be
	// added.
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
	// Specifies a list of new hosts to be added to
	// the cluster. Hosts are first added as standalone hosts.
	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
	// Specifies a list of existing hosts to be
	// added to the cluster. Hosts are first moved to the desired state
	// before moving them to cluster.
	//
	// Refers instances of `HostSystem`.
	ExistingHosts []ManagedObjectReference `xml:"existingHosts,omitempty" json:"existingHosts,omitempty"`
	// Specifies the configuration for the compute
	// resource that will be created to contain all the hosts.
	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
	// Specifies desired state for hosts once added to
	// the cluster. If not specified, hosts are added to the cluster in their
	// current state. See `FolderDesiredHostState_enum` for valid values.
	DesiredState string `xml:"desiredState,omitempty" json:"desiredState,omitempty"`
}

The parameters of `Folder.BatchAddHostsToCluster_Task`.

type BatchAddHostsToCluster_Task added in v0.21.0

type BatchAddHostsToCluster_Task BatchAddHostsToClusterRequestType

type BatchAddHostsToCluster_TaskResponse added in v0.21.0

type BatchAddHostsToCluster_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type BatchAddStandaloneHostsRequestType added in v0.21.0

type BatchAddStandaloneHostsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies a list of host specifications for new hosts.
	NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty" json:"newHosts,omitempty"`
	// Specifies the configuration for the compute
	// resource that will be created to contain all the
	// hosts.
	CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr" json:"compResSpec,omitempty"`
	// Flag to specify whether or not hosts should be
	// connected at the time they are added. A host will not
	// be added if a connection attempt is made and fails.
	AddConnected bool `xml:"addConnected" json:"addConnected"`
}

The parameters of `Folder.BatchAddStandaloneHosts_Task`.

type BatchAddStandaloneHosts_Task added in v0.21.0

type BatchAddStandaloneHosts_Task BatchAddStandaloneHostsRequestType

type BatchAddStandaloneHosts_TaskResponse added in v0.21.0

type BatchAddStandaloneHosts_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type BatchQueryConnectInfo added in v0.21.0

type BatchQueryConnectInfo BatchQueryConnectInfoRequestType

type BatchQueryConnectInfoRequestType added in v0.21.0

type BatchQueryConnectInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Information about the set of hosts to query.
	HostSpecs []HostConnectSpec `xml:"hostSpecs,omitempty" json:"hostSpecs,omitempty"`
}

The parameters of `Datacenter.BatchQueryConnectInfo`.

type BatchQueryConnectInfoResponse added in v0.21.0

type BatchQueryConnectInfoResponse struct {
	Returnval []DatacenterBasicConnectInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type BatchResult

type BatchResult struct {
	DynamicData

	// Enum value for @link BatchResult.Result
	Result string `xml:"result" json:"result"`
	// Host for which the result applies.
	HostKey string `xml:"hostKey" json:"hostKey"`
	// The datastore that is created.
	//
	// Refers instance of `Datastore`.
	Ds *ManagedObjectReference `xml:"ds,omitempty" json:"ds,omitempty"`
	// 'fault' would be set if the operation was not successful
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Results of Batch APIs.

type BatchResultResult

type BatchResultResult string

type BindVnic

type BindVnic BindVnicRequestType

type BindVnicRequestType

type BindVnicRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// iSCSI adapter name for which the Virtual NIC to
	// be added.
	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
	// Virtual NIC that is to be bound to the iSCSI HBA
	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

The parameters of `IscsiManager.BindVnic`.

type BindVnicResponse

type BindVnicResponse struct {
}

type BlockedByFirewall

type BlockedByFirewall struct {
	HostConfigFault
}

Fault indicating that firewall configuration prevents an operation from completing successfully.

type BlockedByFirewallFault

type BlockedByFirewallFault BlockedByFirewall

type BoolOption

type BoolOption struct {
	OptionType

	// The flag to indicate whether or not the
	// option is supported.
	Supported bool `xml:"supported" json:"supported"`
	// The default value for the option.
	DefaultValue bool `xml:"defaultValue" json:"defaultValue"`
}

The BoolOption data object type describes if an option is supported ("true") and if the option is set to "true" or "false" by default.

type BoolPolicy

type BoolPolicy struct {
	InheritablePolicy

	// The boolean value that is either set or inherited.
	Value *bool `xml:"value" json:"value,omitempty"`
}

The boolean type of setting or configuration that may get an inherited value.

type BrowseDiagnosticLog

type BrowseDiagnosticLog BrowseDiagnosticLogRequestType

type BrowseDiagnosticLogRequestType

type BrowseDiagnosticLogRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the host. If not specified, then it defaults
	// to the default server. For example, if called on
	// VirtualCenter, then the value defaults to VirtualCenter
	// logs.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// A string key specifying the key for the log file to
	// browse. Keys can be obtained using the queryDescriptions
	// method.
	Key string `xml:"key" json:"key"`
	// The line number for the first entry to be returned. If the
	// parameter is not specified, then the operation returns
	// with lines starting from the top of the log.
	Start int32 `xml:"start,omitempty" json:"start,omitempty"`
	// The number of lines to return. If not specified, then
	// all lines are returned from the start value to the end of
	// the file.
	Lines int32 `xml:"lines,omitempty" json:"lines,omitempty"`
}

The parameters of `DiagnosticManager.BrowseDiagnosticLog`.

type BrowseDiagnosticLogResponse

type BrowseDiagnosticLogResponse struct {
	Returnval DiagnosticManagerLogHeader `xml:"returnval" json:"returnval"`
}

type CAMServerRefusedConnection

type CAMServerRefusedConnection struct {
	InvalidCAMServer
}

Fault indicating that the CAM server cannot be connected.

type CAMServerRefusedConnectionFault

type CAMServerRefusedConnectionFault CAMServerRefusedConnection

type CanProvisionObjects

type CanProvisionObjects CanProvisionObjectsRequestType

type CanProvisionObjectsRequestType

type CanProvisionObjectsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of NewPolicyBatch structure with sizes and policies.
	Npbs []VsanNewPolicyBatch `xml:"npbs" json:"npbs"`
	// Optionally populate PolicyCost even though
	// object cannot be provisioned in the current cluster topology.
	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty" vim:"6.0"`
}

The parameters of `HostVsanInternalSystem.CanProvisionObjects`.

type CanProvisionObjectsResponse

type CanProvisionObjectsResponse struct {
	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
}

type CancelRecommendationRequestType

type CancelRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key field of the Recommendation.
	Key string `xml:"key" json:"key"`
}

The parameters of `ClusterComputeResource.CancelRecommendation`.

type CancelRecommendationResponse

type CancelRecommendationResponse struct {
}

type CancelRetrievePropertiesExRequestType

type CancelRetrievePropertiesExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the token returned in the previous `RetrieveResult` returned on the same session by the
	// same `PropertyCollector`.
	Token string `xml:"token" json:"token"`
}

The parameters of `PropertyCollector.CancelRetrievePropertiesEx`.

type CancelRetrievePropertiesExResponse

type CancelRetrievePropertiesExResponse struct {
}

type CancelStorageDrsRecommendationRequestType

type CancelStorageDrsRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key field of the Recommendation.
	Key []string `xml:"key" json:"key"`
}

The parameters of `StorageResourceManager.CancelStorageDrsRecommendation`.

type CancelStorageDrsRecommendationResponse

type CancelStorageDrsRecommendationResponse struct {
}

type CancelTask

type CancelTask CancelTaskRequestType

type CancelTaskRequestType

type CancelTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CancelTaskResponse

type CancelTaskResponse struct {
}

type CancelWaitForUpdatesRequestType

type CancelWaitForUpdatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CancelWaitForUpdatesResponse

type CancelWaitForUpdatesResponse struct {
}

type CanceledHostOperationEvent

type CanceledHostOperationEvent struct {
	HostEvent
}

An operation performed on the host was canceled.

Typically, a previous event in the sequence of events contains more information about the cause of this cancellation.

type CannotAccessFile

type CannotAccessFile struct {
	FileFault
}

This fault is thrown when an operation fails because of insufficient permissions to access a file.

type CannotAccessFileFault

type CannotAccessFileFault CannotAccessFile

type CannotAccessLocalSource

type CannotAccessLocalSource struct {
	VimFault
}

An CannotAccessLocalSourceFault exception is thrown when a an attempt is made to upload license content and the local source cannot be accesed.

type CannotAccessLocalSourceFault

type CannotAccessLocalSourceFault CannotAccessLocalSource

type CannotAccessNetwork

type CannotAccessNetwork struct {
	CannotAccessVmDevice

	// A reference to the network that cannot be accessed
	//
	// Refers instance of `Network`.
	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty" vim:"6.0"`
}

A network associated with the virtual machine is not accessible.

If returned as part of migration checks, this is an error if either of the following is true, a warning otherwise:

  • The virtual ethernet card device backing is a distributed virtual switch, of which the destination host is not a member
  • The virtual ethernet card device backing is a standard network and the the device is connected

func (*CannotAccessNetwork) GetCannotAccessNetwork

func (b *CannotAccessNetwork) GetCannotAccessNetwork() *CannotAccessNetwork

type CannotAccessNetworkFault

type CannotAccessNetworkFault BaseCannotAccessNetwork

type CannotAccessVmComponent

type CannotAccessVmComponent struct {
	VmConfigFault
}

One of the virtual machine's components is not accessible on the execution host.

This is a base class. Subclasses will encode the type of component that is not accessible.

func (*CannotAccessVmComponent) GetCannotAccessVmComponent

func (b *CannotAccessVmComponent) GetCannotAccessVmComponent() *CannotAccessVmComponent

type CannotAccessVmComponentFault

type CannotAccessVmComponentFault BaseCannotAccessVmComponent

type CannotAccessVmConfig

type CannotAccessVmConfig struct {
	CannotAccessVmComponent

	// Contains the reason why the VM file could not be found.
	//
	// This is typically
	// a FileFault.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

One or more of the virtual machine's configuration files are not accessible.

type CannotAccessVmConfigFault

type CannotAccessVmConfigFault CannotAccessVmConfig

type CannotAccessVmDevice

type CannotAccessVmDevice struct {
	CannotAccessVmComponent

	// The label of the device.
	Device string `xml:"device" json:"device"`
	// The backing of the device.
	Backing string `xml:"backing" json:"backing"`
	// The connected/disconnected state of the device.
	Connected bool `xml:"connected" json:"connected"`
}

One of the virtual machine's devices uses a backing that is not accessible on the host.

Following is a discussion of this fault's use in migration validation. This is an error if the device is currently connected and a warning otherwise. Devices that can be disconnected can only be connected if the virtual machine is powered on.

The usage of this fault is slightly different if the backing of a device is inherently host-local, and therefore not shared or globally named among hosts. (Examples of such backings: physical CD-ROM drive, physical serial port.) If a device with such a backing is currently connected, that will be a migration error. If the device is disconnected, there will be a warning if no backing with the same name exists on the destination host. If the device is disconnected and a backing with the same name exists on the destination host, this is neither a warning nor an error case, even though the destination host's backing is not the same instance as the source host's. It is assumed that use of the host-local backing is what is desired for the device.

func (*CannotAccessVmDevice) GetCannotAccessVmDevice

func (b *CannotAccessVmDevice) GetCannotAccessVmDevice() *CannotAccessVmDevice

type CannotAccessVmDeviceFault

type CannotAccessVmDeviceFault BaseCannotAccessVmDevice

type CannotAccessVmDisk

type CannotAccessVmDisk struct {
	CannotAccessVmDevice

	// The reason why the disk could not be accessed
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

One of the virtual machine's virtual disks is not accessible.

func (*CannotAccessVmDisk) GetCannotAccessVmDisk

func (b *CannotAccessVmDisk) GetCannotAccessVmDisk() *CannotAccessVmDisk

type CannotAccessVmDiskFault

type CannotAccessVmDiskFault BaseCannotAccessVmDisk

type CannotAddHostWithFTVmAsStandalone

type CannotAddHostWithFTVmAsStandalone struct {
	HostConnectFault
}

Can not add a host with fault tolerance vms to be standalone

type CannotAddHostWithFTVmAsStandaloneFault

type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone

type CannotAddHostWithFTVmToDifferentCluster

type CannotAddHostWithFTVmToDifferentCluster struct {
	HostConnectFault
}

Can not add a host with fault tolerance vms to a different cluster other than the one used other vms in the same fault tolerance group.

type CannotAddHostWithFTVmToDifferentClusterFault

type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster

type CannotAddHostWithFTVmToNonHACluster

type CannotAddHostWithFTVmToNonHACluster struct {
	HostConnectFault
}

Can not add a host with fault tolerance vms to a non HA enabled cluster

type CannotAddHostWithFTVmToNonHAClusterFault

type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster

type CannotChangeDrsBehaviorForFtSecondary

type CannotChangeDrsBehaviorForFtSecondary struct {
	VmFaultToleranceIssue

	// The virtual machine whose behavior cannot be modified
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the virtual machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is used to report that the DRS behavior cannot be modified for a FT secondary virtual machine

type CannotChangeDrsBehaviorForFtSecondaryFault

type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary

type CannotChangeHaSettingsForFtSecondary

type CannotChangeHaSettingsForFtSecondary struct {
	VmFaultToleranceIssue

	// The FT secondary virtual machine whose behavior cannot be modified
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the FT secondary virtual machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is used to report that the HA settings cannot be modified for a FT secondary virtual machine

type CannotChangeHaSettingsForFtSecondaryFault

type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary

type CannotChangeVsanClusterUuid

type CannotChangeVsanClusterUuid struct {
	VsanFault
}

Fault thrown for cases that a VSAN cluster UUID may not be changed.

For example, the VSAN cluster UUID for a host may not be changed so long as that host is enabled for VSAN. The VSAN cluster UUID for a given `ClusterComputeResource` may not be changed so long as that vim.ClusterComputeResource is enabled for VSAN.

See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.

type CannotChangeVsanClusterUuidFault

type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid

type CannotChangeVsanNodeUuid

type CannotChangeVsanNodeUuid struct {
	VsanFault
}

Fault thrown for cases that a VSAN node UUID may not be changed.

For example, the VSAN node UUID for a host may not be changed so long as that host is enabled for VSAN.

See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.

type CannotChangeVsanNodeUuidFault

type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid

type CannotComputeFTCompatibleHosts

type CannotComputeFTCompatibleHosts struct {
	VmFaultToleranceIssue

	// The virtual machine for FT compatible hosts is being computed
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the virtual machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is used if FT compatible hosts cannot be computed for a VM

type CannotComputeFTCompatibleHostsFault

type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts

type CannotCreateFile

type CannotCreateFile struct {
	FileFault
}

A CannotCreateFile exception is thrown if a file create operation fails.

type CannotCreateFileFault

type CannotCreateFileFault CannotCreateFile

type CannotDecryptPasswords

type CannotDecryptPasswords struct {
	CustomizationFault
}

The VirtualCenter server is unable to decrypt passwords stored in the customization specification.

type CannotDecryptPasswordsFault

type CannotDecryptPasswordsFault CannotDecryptPasswords

type CannotDeleteFile

type CannotDeleteFile struct {
	FileFault
}

A CannotDeleteFile exception is thrown if a file-deletion operation fails.

type CannotDeleteFileFault

type CannotDeleteFileFault CannotDeleteFile

type CannotDisableDrsOnClustersWithVApps

type CannotDisableDrsOnClustersWithVApps struct {
	RuntimeFault
}

This fault is thrown when an attempt is made to disable DRS on a cluster, which contains a vApp.

type CannotDisableDrsOnClustersWithVAppsFault

type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps

type CannotDisableSnapshot

type CannotDisableSnapshot struct {
	VmConfigFault
}

Fault thrown when an attempt is made to disable snapshots on a virtual machine which has a snapshot.

To disable the snapshot feature, the virtual machine must not currently have a snapshot.

type CannotDisableSnapshotFault

type CannotDisableSnapshotFault CannotDisableSnapshot

type CannotDisconnectHostWithFaultToleranceVm

type CannotDisconnectHostWithFaultToleranceVm struct {
	VimFault

	// The name of the host to be disconnected
	HostName string `xml:"hostName" json:"hostName"`
}

This fault is thrown when an attempt is made to disconnect a host, which has one or more fault tolerance vms and is not in maintenance mode.

type CannotDisconnectHostWithFaultToleranceVmFault

type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm

type CannotEnableVmcpForCluster

type CannotEnableVmcpForCluster struct {
	VimFault

	// Report the host with APD timeout disabled.
	//
	// If the host is set it points to the host which is the reason
	// for this fault i.e this host has ADPTimeout disabled.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// If set this reports the hostName.
	//
	// This is used for printing the host name in the
	// localized message as the host may have been removed
	// from the vCenter's inventory by the time localization would
	// be taking place.
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// This reports the reason for host not meeting the requirements
	// for enabling vSphere VMCP.
	//
	// It can be the following reason.
	//     - APDTimeout disabled.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This fault is thrown when an attempt is made to enable VM Component Protection on a cluster which contains a host that does not support this feature.

type CannotEnableVmcpForClusterFault

type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster

type CannotEnableVmcpForClusterReason

type CannotEnableVmcpForClusterReason string

type CannotModifyConfigCpuRequirements

type CannotModifyConfigCpuRequirements struct {
	MigrationFault
}

A virtual machine's total CPU feature requirements are determined by overlaying the requirements specified in its configuration (if any) on top of the requirements specified in the descriptor for its guest OS.

It is therefore possible for a host change to implicitly change a virtual machine's CPU feature requirements. The guest OS descriptor may have different requirements on the new host. Or, if the virtual machine currently specifies requirements in its configuration, those requirements will be lost if the new host does not support this.

This fault indicates that the virtual machine's CPU feature requirements would change because of a migration, and also that the destination host does not support storing CPU feature requirements in the virtual machine's configuration. (If the destination host does support such an action, WillModifyConfigCpuRequirements is used instead of this fault.)

For a powered-off virtual machine, this is a warning. The migration may proceed, but the virtual machine will be operating under different CPU feature requirements if it is powered on after the migration.

For a powered-on or suspended virtual machine, this is an error.

type CannotModifyConfigCpuRequirementsFault

type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements

type CannotMoveFaultToleranceVm

type CannotMoveFaultToleranceVm struct {
	VimFault

	// The type of the move
	MoveType string `xml:"moveType" json:"moveType"`
	// The virtual machine name to be moved.
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is thrown when an attempt is made to move a fault tolerance vm to a different resource pool or cluster.

type CannotMoveFaultToleranceVmFault

type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm

type CannotMoveFaultToleranceVmMoveType

type CannotMoveFaultToleranceVmMoveType string

type CannotMoveHostWithFaultToleranceVm

type CannotMoveHostWithFaultToleranceVm struct {
	VimFault
}

This fault is thrown when an attempt is made to move a host which has one or more fault tolerance vms out of the current cluster.

type CannotMoveHostWithFaultToleranceVmFault

type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm

type CannotMoveVmWithDeltaDisk

type CannotMoveVmWithDeltaDisk struct {
	MigrationFault

	// The label of the delta disk device
	Device string `xml:"device" json:"device"`
}

This fault is thrown when an attempt is made to relocate a virtual machine with virtual disk(s) having delta disk backing.

type CannotMoveVmWithDeltaDiskFault

type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk

type CannotMoveVmWithNativeDeltaDisk

type CannotMoveVmWithNativeDeltaDisk struct {
	MigrationFault
}

This fault is thrown when an attempt is made to migrate a virtual machine with native delta disks to different datastores.

type CannotMoveVmWithNativeDeltaDiskFault

type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk

type CannotMoveVsanEnabledHost

type CannotMoveVsanEnabledHost struct {
	VsanFault
}

Fault thrown for the case that an attempt is made to move a host which is enabled for VSAN into an unsuitable `ClusterComputeResource`.

The destination vim.ClusterComputeResource may be disabled for VSAN, or may be using VSAN with a different cluster UUID.

See also `ClusterComputeResource.AddHost_Task`, `ClusterComputeResource.MoveHostInto_Task`, `ClusterComputeResource.MoveInto_Task`, `VsanClusterUuidMismatch`, `DestinationVsanDisabled`.

func (*CannotMoveVsanEnabledHost) GetCannotMoveVsanEnabledHost

func (b *CannotMoveVsanEnabledHost) GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost

type CannotMoveVsanEnabledHostFault

type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost

type CannotPlaceWithoutPrerequisiteMoves

type CannotPlaceWithoutPrerequisiteMoves struct {
	VimFault
}

This fault is thrown when Storage DRS cannot recommend to place disks of a virtual machine without moving existing virtual disks in a datastore cluster.

type CannotPlaceWithoutPrerequisiteMovesFault

type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves

type CannotPowerOffVmInCluster

type CannotPowerOffVmInCluster struct {
	InvalidState

	// The operation being performed.
	//
	// Values come from
	// `CannotPowerOffVmInClusterOperation_enum`.
	Operation string `xml:"operation" json:"operation"`
	// The Virtual Machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the Virtual Machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is reported when a user attempts to power off or suspend a VM when the HA master agent to which vCenter Server is connected does not manage the VM.

type CannotPowerOffVmInClusterFault

type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster

type CannotPowerOffVmInClusterOperation

type CannotPowerOffVmInClusterOperation string

type CannotReconfigureVsanWhenHaEnabled

type CannotReconfigureVsanWhenHaEnabled struct {
	VsanFault
}

Fault thrown for the case that an attempt is made to reconfigure VSAN when HA is currently enabled for a given `ClusterComputeResource`.

See also `ComputeResource.ReconfigureComputeResource_Task`.

type CannotReconfigureVsanWhenHaEnabledFault

type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled

type CannotUseNetwork

type CannotUseNetwork struct {
	VmConfigFault

	// The label of the network device.
	Device string `xml:"device" json:"device"`
	// The backing of the network device.
	Backing string `xml:"backing" json:"backing"`
	// The connected/disconnected state of the device.
	Connected bool `xml:"connected" json:"connected"`
	// Reason describing why the network cannot be used.
	Reason string `xml:"reason" json:"reason"`
	// A reference to the network that cannot be used
	//
	// Refers instance of `Network`.
	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty" vim:"6.0"`
}

A network associated with the virtual machine is accessible, but it cannot be used for some reason.

type CannotUseNetworkFault

type CannotUseNetworkFault CannotUseNetwork

type CannotUseNetworkReason

type CannotUseNetworkReason string

type Capability

type Capability struct {
	DynamicData

	// Indicates whether or not the service instance supports provisioning.
	//
	// For example, the `CloneVM` operation.
	ProvisioningSupported bool `xml:"provisioningSupported" json:"provisioningSupported"`
	// Indicates whether or not the service instance supports multiple hosts.
	MultiHostSupported bool `xml:"multiHostSupported" json:"multiHostSupported"`
	// Flag indicating whether host user accounts should have the option to
	// be granted shell access
	UserShellAccessSupported bool `xml:"userShellAccessSupported" json:"userShellAccessSupported" vim:"2.5"`
	// All supported Enhanced VMotion Compatibility modes.
	SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty" json:"supportedEVCMode,omitempty" vim:"4.0"`
	// All supported Enhanced VMotion Compatibility Graphics modes.
	SupportedEVCGraphicsMode []FeatureEVCMode `xml:"supportedEVCGraphicsMode,omitempty" json:"supportedEVCGraphicsMode,omitempty" vim:"7.0.1.0"`
	// Indicates whether network backup and restore feature is supported.
	NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported" json:"networkBackupAndRestoreSupported,omitempty" vim:"5.1"`
	// Is DRS supported for Fault Tolerance VMs without enabling EVC.
	FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported" json:"ftDrsWithoutEvcSupported,omitempty" vim:"6.7"`
	// Specifies if the workflow for setting up a HCI cluster is supported.
	HciWorkflowSupported *bool `xml:"hciWorkflowSupported" json:"hciWorkflowSupported,omitempty" vim:"6.7.1"`
	// Specifies the supported compute policy version.
	ComputePolicyVersion      int32 `xml:"computePolicyVersion,omitempty" json:"computePolicyVersion,omitempty" vim:"6.8.7"`
	ClusterPlacementSupported *bool `xml:"clusterPlacementSupported" json:"clusterPlacementSupported,omitempty"`
	// Specifies if lifecycle management of a Cluster is supported.
	LifecycleManagementSupported *bool `xml:"lifecycleManagementSupported" json:"lifecycleManagementSupported,omitempty" vim:"7.0"`
	// Specifies if host seeding for a cluster is supported.
	HostSeedingSupported *bool `xml:"hostSeedingSupported" json:"hostSeedingSupported,omitempty" vim:"7.0.2.0"`
	// Specifies if scalable shares for resource pools is supported.
	ScalableSharesSupported *bool `xml:"scalableSharesSupported" json:"scalableSharesSupported,omitempty" vim:"7.0"`
	// Specifies if highly available distributed clustering service is supported.
	HadcsSupported *bool `xml:"hadcsSupported" json:"hadcsSupported,omitempty" vim:"7.0.1.1"`
	// Specifies if desired configuration management platform is supported
	// on the cluster.
	ConfigMgmtSupported *bool `xml:"configMgmtSupported" json:"configMgmtSupported,omitempty" vim:"7.0.3.1"`
}

A particular product may or may not support certain features.

This data object indicates whether or not a service instance implements these features. This data object type indicates the circumstances under which an operation throws a `NotSupported` fault.

Support for some features is indicated by the presence or absence of the manager object from the service instance. For example, the AlarmManager manager object indicates collecting alarms is supported. Other features indicate whether or not a given operation on an object throws a `NotSupported` fault.

Some capabilities depend on the host or virtual machine version. These are specified by using the vim.host.Capability and vim.vm.Capability objects.

type CertMgrRefreshCACertificatesAndCRLsRequestType

type CertMgrRefreshCACertificatesAndCRLsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the hosts on which the certificates need to be refreshed
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `CertificateManager.CertMgrRefreshCACertificatesAndCRLs_Task`.

type CertMgrRefreshCACertificatesAndCRLs_TaskResponse

type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CertMgrRefreshCertificatesRequestType

type CertMgrRefreshCertificatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the hosts on which the certificates need to be refreshed
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `CertificateManager.CertMgrRefreshCertificates_Task`.

type CertMgrRefreshCertificates_TaskResponse

type CertMgrRefreshCertificates_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CertMgrRevokeCertificatesRequestType

type CertMgrRevokeCertificatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the hosts on which the certificates need to be revoked
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `CertificateManager.CertMgrRevokeCertificates_Task`.

type CertMgrRevokeCertificates_TaskResponse

type CertMgrRevokeCertificates_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ChangeAccessMode

type ChangeAccessMode ChangeAccessModeRequestType

type ChangeAccessModeRequestType

type ChangeAccessModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The affected user or group.
	Principal string `xml:"principal" json:"principal"`
	// True if principal refers to a group account,
	// false otherwise.
	IsGroup bool `xml:"isGroup" json:"isGroup"`
	// AccessMode to be granted.
	// `accessOther` is meaningless and
	// will result in InvalidArgument exception.
	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
}

The parameters of `HostAccessManager.ChangeAccessMode`.

type ChangeAccessModeResponse

type ChangeAccessModeResponse struct {
}

type ChangeFileAttributesInGuestRequestType

type ChangeFileAttributesInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the file to be copied in
	// the guest. If the file points to an symbolic link, then the
	// attributes of the target file are changed.
	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
	// Specifies the different file attributes of the
	// guest file to be changed.
	// See `GuestFileAttributes`.
	// If any property is not specified, then the specific attribute of
	// the file will be unchanged.
	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
}

The parameters of `GuestFileManager.ChangeFileAttributesInGuest`.

type ChangeFileAttributesInGuestResponse

type ChangeFileAttributesInGuestResponse struct {
}

type ChangeKeyRequestType added in v0.18.0

type ChangeKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key that replaces the existing core dump encryption key
	NewKey CryptoKeyPlain `xml:"newKey" json:"newKey"`
}

The parameters of `CryptoManagerHost.ChangeKey_Task`.

type ChangeKey_Task added in v0.18.0

type ChangeKey_Task ChangeKeyRequestType

type ChangeKey_TaskResponse added in v0.18.0

type ChangeKey_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ChangeLockdownMode

type ChangeLockdownMode ChangeLockdownModeRequestType

type ChangeLockdownModeRequestType

type ChangeLockdownModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new desired lockdown mode.
	//
	// If this is the same as the current lockdown mode state, the
	// operation will silently succeed and nothing will be changed.
	//
	// If this is `lockdownDisabled`
	// then lockdown mode will be disabled and the system will
	// start service DCUI if it is not running.
	//
	// If this is `lockdownNormal`
	// then lockdown mode will be enabled and the system will
	// start service DCUI if it is not running.
	//
	// If this is `lockdownStrict`
	// then lockdown mode will be enabled and the system will
	// stop service DCUI if it is running.
	Mode HostLockdownMode `xml:"mode" json:"mode"`
}

The parameters of `HostAccessManager.ChangeLockdownMode`.

type ChangeLockdownModeResponse

type ChangeLockdownModeResponse struct {
}

type ChangeNFSUserPasswordRequestType

type ChangeNFSUserPasswordRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// New password.
	Password string `xml:"password" json:"password"`
}

The parameters of `HostStorageSystem.ChangeNFSUserPassword`.

type ChangeNFSUserPasswordResponse

type ChangeNFSUserPasswordResponse struct {
}

type ChangeOwner

type ChangeOwner ChangeOwnerRequestType

type ChangeOwnerRequestType

type ChangeOwnerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Name string                 `xml:"name" json:"name"`
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	Owner      string                  `xml:"owner" json:"owner"`
}

The parameters of `FileManager.ChangeOwner`.

type ChangeOwnerResponse

type ChangeOwnerResponse struct {
}

type ChangePassword added in v0.21.0

type ChangePassword ChangePasswordRequestType

type ChangePasswordRequestType added in v0.21.0

type ChangePasswordRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the user whose password will be changed.
	User string `xml:"user" json:"user"`
	// the user's current (old) password.
	OldPassword string `xml:"oldPassword" json:"oldPassword"`
	// the user's new password.
	NewPassword string `xml:"newPassword" json:"newPassword"`
}

The parameters of `HostLocalAccountManager.ChangePassword`.

type ChangePasswordResponse added in v0.21.0

type ChangePasswordResponse struct {
}

type ChangesInfoEventArgument added in v0.12.0

type ChangesInfoEventArgument struct {
	DynamicData

	// Modified properties.
	Modified string `xml:"modified,omitempty" json:"modified,omitempty"`
	// Added properties.
	Added string `xml:"added,omitempty" json:"added,omitempty"`
	// Deleted properties.
	Deleted string `xml:"deleted,omitempty" json:"deleted,omitempty"`
}

The event argument contains changes.

type CheckAddHostEvcRequestType

type CheckAddHostEvcRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The spec that will be used to add the host.
	CnxSpec HostConnectSpec `xml:"cnxSpec" json:"cnxSpec"`
}

The parameters of `ClusterEVCManager.CheckAddHostEvc_Task`.

type CheckAddHostEvc_Task

type CheckAddHostEvc_Task CheckAddHostEvcRequestType

type CheckAddHostEvc_TaskResponse

type CheckAddHostEvc_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckAnswerFileStatusRequestType

type CheckAnswerFileStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Set of hosts for which the answer file status will be checked.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.CheckAnswerFileStatus_Task`.

type CheckAnswerFileStatus_Task

type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType

type CheckAnswerFileStatus_TaskResponse

type CheckAnswerFileStatus_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckCloneRequestType added in v0.18.0

type CheckCloneRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine we propose to clone.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The location of the new virtual machine.
	//
	// Refers instance of `Folder`.
	Folder ManagedObjectReference `xml:"folder" json:"folder"`
	// The name of the new virtual machine.
	Name string `xml:"name" json:"name"`
	// Specifies how to clone the virtual machine. In cases
	// where DRS would automatically select a host, all potential
	// hosts are tested against.
	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineProvisioningChecker.CheckClone_Task`.

type CheckClone_Task added in v0.18.0

type CheckClone_Task CheckCloneRequestType

type CheckClone_TaskResponse added in v0.18.0

type CheckClone_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckCompatibilityRequestType

type CheckCompatibilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine we'd like to place.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The host we would like the virtual machine
	// to execute on. The host parameter may be left unset if the compute
	// resource associated with the pool represents a stand-alone host
	// or a DRS-enabled cluster. In the former case the stand-alone host is
	// used. In the latter case, each connected host in the cluster
	// that is not in maintenance mode is tested. If the virtual machine is a
	// template then either this parameter or the pool parameter must be set.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The resource pool we would like the virtual machine
	// to reside in. If the pool parameter is left unset, then the virtual
	// machine's current pool is assumed. If the virtual machine is a template
	// then either this parameter or the host parameter must be set.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineCompatibilityChecker.CheckCompatibility_Task`.

type CheckCompatibility_Task

type CheckCompatibility_Task CheckCompatibilityRequestType

type CheckCompatibility_TaskResponse

type CheckCompatibility_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckComplianceRequestType

type CheckComplianceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, check compliance against the specified profiles.
	// If not specified, use the profiles associated with the entities.
	// If both Profiles and Entities are specified, Check the compliance of each
	// Entity against each of the profile specified.
	//
	// For more information, look at the KMap below.
	//
	// P represents if Profile is specified.
	//
	// E represents if Entity is specified.
	//
	//                     P                        ^P
	//           ---------------------------------------------------
	//           | Check compliance      |  Profiles associated    |
	//          E|  of each entity       |   with the specified    |
	//           |  against each of the  |   entity will be used   |
	//           |  profiles specified.  |   for checking          |
	//           |                       |   compliance.           |
	//           |                       |                         |
	//           |                       |                         |
	//           ---------------------------------------------------
	//           | All entities          |   InvalidArgument       |
	//           |  associated with the  |   Exception is thrown.  |
	//           |  profile are checked. |                         |
	//         ^E|                       |                         |
	//           |                       |                         |
	//           |                       |                         |
	//           |                       |                         |
	//           ---------------------------------------------------
	//
	// Refers instances of `Profile`.
	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
	// If specified, the compliance check is done against this entity.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `ProfileComplianceManager.CheckCompliance_Task`.

type CheckCompliance_Task

type CheckCompliance_Task CheckComplianceRequestType

type CheckCompliance_TaskResponse

type CheckCompliance_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckConfigureEvcModeRequestType

type CheckConfigureEvcModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A key referencing the desired EVC mode.
	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
	// A key referencing the desired EVC Graphics
	// mode `Capability.supportedEVCGraphicsMode`.
	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
}

The parameters of `ClusterEVCManager.CheckConfigureEvcMode_Task`.

type CheckConfigureEvcMode_Task

type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType

type CheckConfigureEvcMode_TaskResponse

type CheckConfigureEvcMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckCustomizationResourcesRequestType

type CheckCustomizationResourcesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Short name from the guest OS descriptor list describing the OS
	// we intend to customize.
	GuestOs string `xml:"guestOs" json:"guestOs"`
}

The parameters of `CustomizationSpecManager.CheckCustomizationResources`.

type CheckCustomizationResourcesResponse

type CheckCustomizationResourcesResponse struct {
}

type CheckCustomizationSpecRequestType

type CheckCustomizationSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The customization specification to check.
	Spec CustomizationSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.CheckCustomizationSpec`.

type CheckCustomizationSpecResponse

type CheckCustomizationSpecResponse struct {
}

type CheckForUpdates

type CheckForUpdates CheckForUpdatesRequestType

type CheckForUpdatesRequestType

type CheckForUpdatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The data version currently known to the client. The value
	// must be either
	//     - the special initial version (an empty string)
	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session.
	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
	//       session.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

The parameters of `PropertyCollector.CheckForUpdates`.

type CheckForUpdatesResponse

type CheckForUpdatesResponse struct {
	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type CheckHostPatchRequestType

type CheckHostPatchRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// a list of urls pointing to metadata.zip.
	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.CheckHostPatch_Task`.

type CheckHostPatch_Task

type CheckHostPatch_Task CheckHostPatchRequestType

type CheckHostPatch_TaskResponse

type CheckHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckInstantCloneRequestType added in v0.18.0

type CheckInstantCloneRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine we propose to instant clone.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Specifies how to instant clone the virtual machine.
	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineProvisioningChecker.CheckInstantClone_Task`.

type CheckInstantClone_Task added in v0.18.0

type CheckInstantClone_Task CheckInstantCloneRequestType

type CheckInstantClone_TaskResponse added in v0.18.0

type CheckInstantClone_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckLicenseFeature

type CheckLicenseFeature CheckLicenseFeatureRequestType

type CheckLicenseFeatureRequestType

type CheckLicenseFeatureRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to act on if LicenseManager is not on a host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Name of the feature to enable.
	FeatureKey string `xml:"featureKey" json:"featureKey"`
}

The parameters of `LicenseManager.CheckLicenseFeature`.

type CheckLicenseFeatureResponse

type CheckLicenseFeatureResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type CheckMigrateRequestType

type CheckMigrateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine we propose to migrate.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The target host on which the virtual machines will run. The host
	// parameter may be left unset if the compute resource associated with
	// the target pool represents a stand-alone host or a DRS-enabled
	// cluster. In the former case the stand-alone host is used as the
	// target host. In the latter case, each connected host in the cluster
	// that is not in maintenance mode is tested as a target host.
	// If the virtual machine is a template then either this
	// parameter or the pool parameter must be set.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The target resource pool for the virtual machines. If the
	// pool parameter is left unset, the target pool for each particular
	// virtual machine's migration will be that virtual machine's current
	// pool. If the virtual machine is a template then either this
	// parameter or the host parameter must be set.
	// The pool parameter must be set for testing the feasibility of
	// migration to a different datacenter or different vCenter service.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The power state that the virtual machines must have. If
	// this argument is not set, each virtual machine is evaluated
	// according to its current power state.
	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineProvisioningChecker.CheckMigrate_Task`.

type CheckMigrate_Task

type CheckMigrate_Task CheckMigrateRequestType

type CheckMigrate_TaskResponse

type CheckMigrate_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckPowerOnRequestType added in v0.18.0

type CheckPowerOnRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine to power on.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The host on which we want to power on the virtual machine.
	// The host parameter may be left unset if the compute
	// resource associated with the pool represents a stand-alone host
	// or a DRS-enabled cluster. In the former case the stand-alone host
	// is used. In the latter case, each connected host in the cluster
	// that is not in maintenance mode is tested. Either this parameter
	// or the pool parameter must be set.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The resource pool we would like the virtual machine to run
	// in. If the pool parameter is left unset, we use the host's
	// root resource pool.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The set of tests to run. If this argument is not set,
	// all tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineCompatibilityChecker.CheckPowerOn_Task`.

type CheckPowerOn_Task added in v0.18.0

type CheckPowerOn_Task CheckPowerOnRequestType

type CheckPowerOn_TaskResponse added in v0.18.0

type CheckPowerOn_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckProfileComplianceRequestType

type CheckProfileComplianceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, the compliance check is performed on this entity.
	// If the entity is not specified, the vCenter Server runs a compliance check on all the
	// entities associated with the profile. The entity does not have to be associated with the
	// profile.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `Profile.CheckProfileCompliance_Task`.

type CheckProfileCompliance_Task

type CheckProfileCompliance_Task CheckProfileComplianceRequestType

type CheckProfileCompliance_TaskResponse

type CheckProfileCompliance_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckRelocateRequestType

type CheckRelocateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine we propose to relocate.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The specification of where to relocate the virtual machine.
	// In cases where DRS would automatically select a host, all potential
	// hosts are tested against.
	// The host parameter in the spec may be left unset for checking
	// feasibility of relocation to a different datacenter or different
	// vCenter service, if the compute resource associated with the
	// target pool represents a stand-alone host, the host is tested
	// against, otherwise each connected host in the cluster that is
	// not in maintenance mode represented by the target pool is tested
	// as a target host.
	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineProvisioningChecker.CheckRelocate_Task`.

type CheckRelocate_Task

type CheckRelocate_Task CheckRelocateRequestType

type CheckRelocate_TaskResponse

type CheckRelocate_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CheckResult

type CheckResult struct {
	DynamicData

	// The virtual machine involved in the testing.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The host involved in the testing.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// A list of faults representing problems which may
	// require attention, but which are not fatal.
	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
	// A list of faults representing problems which are fatal
	// to the operation.
	//
	// For `VirtualMachineProvisioningChecker` an error means that the
	// given provisioning operation would fail.
	// For `VirtualMachineCompatibilityChecker` an error means that either
	// a power-on of this virtual machine would fail, or that the
	// virtual machine would not run correctly once powered-on.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

The result of a call to any of the methods in either `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.

type CheckTestType

type CheckTestType string

The types of tests which can requested by any of the methods in either

type CheckVmConfigRequestType added in v0.18.0

type CheckVmConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification of the virtual machine to create.
	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
	// The existing virtual machine to apply the spec to.
	// If this is not provided, the spec is assumed to be for the creation
	// of a new virtual machine.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The host we would like the virtual machine
	// to execute on. The host parameter may be left unset if the compute
	// resource associated with the pool represents a stand-alone host
	// or a DRS-enabled cluster. In the former case the stand-alone host
	// is used. In the latter case, each connected host in the cluster
	// that is not in maintenance mode is tested. If the virtual machine
	// is a template, then either this parameter or the pool parameter
	// must be set.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The resource pool we would like the virtual machine
	// to reside in. If the pool parameter is left unset, then we use the
	// host's root resource pool.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run. See `CheckTestType_enum` for possible values.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
}

The parameters of `VirtualMachineCompatibilityChecker.CheckVmConfig_Task`.

type CheckVmConfig_Task added in v0.18.0

type CheckVmConfig_Task CheckVmConfigRequestType

type CheckVmConfig_TaskResponse added in v0.18.0

type CheckVmConfig_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ChoiceOption

type ChoiceOption struct {
	OptionType

	// The set of possible selections and descriptions.
	ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr" json:"choiceInfo"`
	// The index in ChoiceOption.value that serves as the default value.
	DefaultIndex int32 `xml:"defaultIndex,omitempty" json:"defaultIndex,omitempty"`
}

The ChoiceOption data object type defines a set of supported string values, a localizable description for each value, and the default value.

type ClearComplianceStatusRequestType

type ClearComplianceStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, clear the ComplianceResult related to the Profile.
	//
	// Refers instances of `Profile`.
	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
	// If specified, clear the ComplianceResult related to the entity.
	// If profile and entity are not specified, all the ComplianceResults will be cleared.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `ProfileComplianceManager.ClearComplianceStatus`.

type ClearComplianceStatusResponse

type ClearComplianceStatusResponse struct {
}

type ClearNFSUser

type ClearNFSUser ClearNFSUserRequestType

type ClearNFSUserRequestType

type ClearNFSUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ClearNFSUserResponse

type ClearNFSUserResponse struct {
}

type ClearSystemEventLog added in v0.12.0

type ClearSystemEventLog ClearSystemEventLogRequestType

type ClearSystemEventLogRequestType added in v0.12.0

type ClearSystemEventLogRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ClearSystemEventLogResponse added in v0.12.0

type ClearSystemEventLogResponse struct {
}

type ClearTriggeredAlarms added in v0.18.0

type ClearTriggeredAlarms ClearTriggeredAlarmsRequestType

type ClearTriggeredAlarmsRequestType added in v0.18.0

type ClearTriggeredAlarmsRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Filter AlarmFilterSpec        `xml:"filter" json:"filter"`
}

The parameters of `AlarmManager.ClearTriggeredAlarms`.

type ClearTriggeredAlarmsResponse added in v0.18.0

type ClearTriggeredAlarmsResponse struct {
}

type ClearVStorageObjectControlFlags added in v0.18.0

type ClearVStorageObjectControlFlags ClearVStorageObjectControlFlagsRequestType

type ClearVStorageObjectControlFlagsRequestType added in v0.18.0

type ClearVStorageObjectControlFlagsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Required privileges: Datastore.FileManagement
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// control flags enum array to be cleared on the
	// VStorageObject. All control flags not included
	// in the array remain intact.
	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.ClearVStorageObjectControlFlags`.

type ClearVStorageObjectControlFlagsResponse added in v0.18.0

type ClearVStorageObjectControlFlagsResponse struct {
}

type ClockSkew

type ClockSkew struct {
	HostConfigFault
}

Fault indicating that the clock skew in the system exceeds the limit.

type ClockSkewFault

type ClockSkewFault ClockSkew

type CloneFromSnapshotNotSupported

type CloneFromSnapshotNotSupported struct {
	MigrationFault
}

An attempt is being made to clone a virtual machine from a snapshot point, and this is not supported.

See also `VirtualMachineCloneSpec.snapshot`, `VirtualMachineCapability.snapshotConfigSupported`, `HostCapability.cloneFromSnapshotSupported`.

type CloneFromSnapshotNotSupportedFault

type CloneFromSnapshotNotSupportedFault CloneFromSnapshotNotSupported

type CloneSession

type CloneSession CloneSessionRequestType

type CloneSessionRequestType

type CloneSessionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ticket string acquired via `SessionManager.AcquireCloneTicket`.
	CloneTicket string `xml:"cloneTicket" json:"cloneTicket"`
}

The parameters of `SessionManager.CloneSession`.

type CloneSessionResponse

type CloneSessionResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type CloneVAppRequestType

type CloneVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the new vApp.
	Name string `xml:"name" json:"name"`
	// The parent entity of the new vApp. Must be of type
	// `ResourcePool` or `VirtualApp`.
	//
	// Refers instance of `ResourcePool`.
	Target ManagedObjectReference `xml:"target" json:"target"`
	// Specifies how to clone the vApp.
	Spec VAppCloneSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualApp.CloneVApp_Task`.

type CloneVApp_Task

type CloneVApp_Task CloneVAppRequestType

type CloneVApp_TaskResponse

type CloneVApp_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CloneVMRequestType

type CloneVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The location of the new virtual machine.
	//
	// Required privileges: VirtualMachine.Inventory.CreateFromExisting
	//
	// Refers instance of `Folder`.
	Folder ManagedObjectReference `xml:"folder" json:"folder"`
	// The name of the new virtual machine.
	Name string `xml:"name" json:"name"`
	// Specifies how to clone the virtual machine. The folder
	// specified in the spec takes precedence over the folder parameter.
	Spec VirtualMachineCloneSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.CloneVM_Task`.

type CloneVM_Task

type CloneVM_Task CloneVMRequestType

type CloneVM_TaskResponse

type CloneVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CloneVStorageObjectRequestType added in v0.12.0

type CloneVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification for cloning the virtual storage
	// object.
	Spec VslmCloneSpec `xml:"spec" json:"spec"`
}

The parameters of `VcenterVStorageObjectManager.CloneVStorageObject_Task`.

type CloneVStorageObject_Task added in v0.12.0

type CloneVStorageObject_Task CloneVStorageObjectRequestType

type CloneVStorageObject_TaskResponse added in v0.12.0

type CloneVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CloseInventoryViewFolderRequestType

type CloseInventoryViewFolderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of managed object references. Each array entry is a
	// reference to an entity to collapse.
	//
	// Required privileges: System.View
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `InventoryView.CloseInventoryViewFolder`.

type CloseInventoryViewFolderResponse

type CloseInventoryViewFolderResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ClusterAction

type ClusterAction struct {
	DynamicData

	// Type of the action.
	//
	// This is encoded to differentiate between
	// different types of actions aimed at achieving different goals.
	Type string `xml:"type" json:"type"`
	// The target object on which this action will be applied.
	//
	// For
	// instance, a migration action will have a virtual machine as its
	// target object, while a host power action will have a host as its
	// target action.
	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
}

Base class for all action recommendations in VirtualCenter.

func (*ClusterAction) GetClusterAction

func (b *ClusterAction) GetClusterAction() *ClusterAction

type ClusterActionHistory

type ClusterActionHistory struct {
	DynamicData

	// The action that was executed recently.
	Action BaseClusterAction `xml:"action,typeattr" json:"action"`
	// The time when the action was executed.
	Time time.Time `xml:"time" json:"time"`
}

Base class for all action history.

type ClusterAffinityRuleSpec

type ClusterAffinityRuleSpec struct {
	ClusterRuleInfo

	// List of virtual machine references.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
}

The `ClusterAffinityRuleSpec` data object defines a set of virtual machines.

DRS will attempt to schedule the virtual machines to run on the same host.

type ClusterAntiAffinityRuleSpec

type ClusterAntiAffinityRuleSpec struct {
	ClusterRuleInfo

	// List of virtual machine references.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
}

The `ClusterAntiAffinityRuleSpec` data object defines a set of virtual machines.

DRS will attempt to schedule the virtual machines to run on different hosts.

type ClusterAttemptedVmInfo

type ClusterAttemptedVmInfo struct {
	DynamicData

	// The virtual machine being powered on.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The ID of the task, which monitors powering on.
	//
	// Refers instance of `Task`.
	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
}

This data class reports virtual machine powerOn information.

type ClusterClusterInitialPlacementAction added in v0.28.0

type ClusterClusterInitialPlacementAction struct {
	ClusterAction

	// The host where the virtual machine should be initially placed.
	//
	// This field
	// is optional because the primary use case of
	// `Folder.PlaceVmsXCluster` is to select the best cluster for
	// placing VMs. This `ClusterClusterInitialPlacementAction.targetHost`
	// denotes the best host within the best cluster and it is only returned
	// if the client asks for it, which is determined by
	// `PlaceVmsXClusterSpec.hostRecommRequired`. If
	// `PlaceVmsXClusterSpec.hostRecommRequired` is set to true, then
	// the targetHost is returned with a valid value and if it is either set to
	// false or left unset, then targetHost is also left unset. When this field
	// is unset, then it means that the client did not ask for the target host
	// within the recommended cluster. It does not mean that there is no
	// recommended host for placing this VM in the recommended cluster.
	//
	// Refers instance of `HostSystem`.
	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
	// The chosen resource pool for placing the virtual machine.
	//
	// This is non-
	// optional because recommending the best cluster (by recommending the
	// resource pool in the best cluster) is the primary use case for the
	// `ClusterClusterInitialPlacementAction`.
	//
	// Refers instance of `ResourcePool`.
	Pool ManagedObjectReference `xml:"pool" json:"pool"`
	// The config spec of the virtual machine to be placed.
	//
	// The `Folder.PlaceVmsXCluster` method takes
	// input of `VirtualMachineConfigSpec` from client and populates the backing
	// for each virtual disk and the VM home path in it unless the input
	// ConfigSpec already provides them. The existing settings in the input
	// ConfigSpec are preserved and not overridden in the returned ConfigSpec
	// in this action as well as the resulting
	// `ClusterRecommendation`. This field is set based on whether
	// the client needs `Folder.PlaceVmsXCluster` to recommend a
	// backing datastore for the disks of the candidate VMs or not, which is
	// specified via `PlaceVmsXClusterSpec.datastoreRecommRequired`.
	// If `PlaceVmsXClusterSpec.datastoreRecommRequired` is set to
	// true, then this
	// `ClusterClusterInitialPlacementAction.configSpec` is also set
	// with the backing of each disk populated. If
	// `PlaceVmsXClusterSpec.datastoreRecommRequired` is either set to
	// false or left unset, then this field is also left unset. When this field
	// is left unset, then it means that the client did not ask to populate the
	// backing datastore for the disks of the candidate VMs.
	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
}

Describes an action for the initial placement of a virtual machine in a cluster.

This action is used by the cross cluster placement API when a virtual machine needs to be placed across a set of given clusters. See `Folder.PlaceVmsXCluster`. This action encapsulates details about the chosen cluster (via the resource pool inside that cluster), the chosen host and the chosen datastores for the disks of the virtual machine.

type ClusterComplianceCheckedEvent

type ClusterComplianceCheckedEvent struct {
	ClusterEvent

	Profile ProfileEventArgument `xml:"profile" json:"profile"`
}

This event records that a compliance check was triggered on the cluster.

type ClusterComputeResourceClusterConfigResult added in v0.21.0

type ClusterComputeResourceClusterConfigResult struct {
	DynamicData

	// List of failed hosts.
	FailedHosts []FolderFailedHostResult `xml:"failedHosts,omitempty" json:"failedHosts,omitempty"`
	// List of successfully configured hosts.
	//
	// Refers instances of `HostSystem`.
	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
}

ClusterConfigResult is the result returned for the `ClusterComputeResource.ConfigureHCI_Task` method.

type ClusterComputeResourceDVSConfigurationValidation added in v0.21.0

type ClusterComputeResourceDVSConfigurationValidation struct {
	ClusterComputeResourceValidationResultBase

	// Check if the DVS is alive.
	IsDvsValid bool `xml:"isDvsValid" json:"isDvsValid"`
	// Check if the portgroups are valid.
	IsDvpgValid bool `xml:"isDvpgValid" json:"isDvpgValid"`
}

Describes the validations applicable to the network settings.

These are based off the information recorded in `dvsSetting`.

type ClusterComputeResourceDVSSetting added in v0.21.0

type ClusterComputeResourceDVSSetting struct {
	DynamicData

	// Managed object reference to the DVS.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	DvSwitch ManagedObjectReference `xml:"dvSwitch" json:"dvSwitch"`
	// List of physical nics attached to the DVS.
	PnicDevices []string `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
	// Describes dvportgroups on the DVS and services residing on each one.
	DvPortgroupSetting []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"dvPortgroupSetting,omitempty" json:"dvPortgroupSetting,omitempty"`
}

Contains reference to the DVS, list of physical nics attached to it, and list of dvportgroups created on it while initially configuring a cluster by calling the `ClusterComputeResource.ConfigureHCI_Task` method.

type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping added in v0.21.0

type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct {
	DynamicData

	// Managed object reference to the dvportgroup.
	//
	// Refers instance of `DistributedVirtualPortgroup`.
	DvPortgroup ManagedObjectReference `xml:"dvPortgroup" json:"dvPortgroup"`
	// Service to be configured on the virtual nics attached to this
	// dvportgroup.
	//
	// See `HostVirtualNicManagerNicType_enum` for
	// supported values.
	Service string `xml:"service" json:"service"`
}

type ClusterComputeResourceDvsProfile added in v0.21.0

type ClusterComputeResourceDvsProfile struct {
	DynamicData

	// Name of the new `DistributedVirtualSwitch`.
	DvsName string `xml:"dvsName,omitempty" json:"dvsName,omitempty"`
	// Managed object reference to an existing `DistributedVirtualSwitch`.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	DvSwitch *ManagedObjectReference `xml:"dvSwitch,omitempty" json:"dvSwitch,omitempty"`
	// List of physical Nics to be attached to the DVS.
	PnicDevices        []string                                                          `xml:"pnicDevices,omitempty" json:"pnicDevices,omitempty"`
	DvPortgroupMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"dvPortgroupMapping,omitempty" json:"dvPortgroupMapping,omitempty"`
}

Describes DVS related information to be configured by calling `ClusterComputeResource.ConfigureHCI_Task` method.

Consists of name of the DVS, the physical adapters to be attached to it and the list of dvportgroups to be created on this DVS.

type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping added in v0.21.0

type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct {
	DynamicData

	// Specification for a new `DistributedVirtualPortgroup`.
	DvPortgroupSpec *DVPortgroupConfigSpec `xml:"dvPortgroupSpec,omitempty" json:"dvPortgroupSpec,omitempty"`
	// Managed object reference to an existing `DistributedVirtualPortgroup`.
	//
	// Refers instance of `DistributedVirtualPortgroup`.
	DvPortgroup *ManagedObjectReference `xml:"dvPortgroup,omitempty" json:"dvPortgroup,omitempty"`
	// Service to be configured on the virtual nics attached to this
	// dvportgroup.
	//
	// See `HostVirtualNicManagerNicType_enum` for
	// supported values.
	Service string `xml:"service" json:"service"`
}

type ClusterComputeResourceHCIConfigInfo added in v0.21.0

type ClusterComputeResourceHCIConfigInfo struct {
	DynamicData

	// Configuration pertinent to state of the HCI workflow.
	//
	// Valid
	// values are enumerated by the `HCIWorkflowState`
	// type.
	WorkflowState string `xml:"workflowState" json:"workflowState"`
	// Contains DVS related information captured while configuring
	// the cluster.
	DvsSetting []ClusterComputeResourceDVSSetting `xml:"dvsSetting,omitempty" json:"dvsSetting,omitempty"`
	// Contains a list of hosts that are currently configured using
	// `ClusterComputeResource.ConfigureHCI_Task` and `ClusterComputeResource.ExtendHCI_Task`
	// method.
	//
	// A failed host will not be part of this list.
	//
	// Refers instances of `HostSystem`.
	ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty" json:"configuredHosts,omitempty"`
	// Configuration of host services and host settings.
	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
}

This data object captures a subset of initial configuration of the cluster, which was configured by calling the `ClusterComputeResource.ConfigureHCI_Task` method.

type ClusterComputeResourceHCIConfigSpec added in v0.21.0

type ClusterComputeResourceHCIConfigSpec struct {
	DynamicData

	// Information related to network configuration.
	//
	// For each DvsProfile
	// object, specify either `ClusterComputeResourceDvsProfile.dvsName` or
	// `ClusterComputeResourceDvsProfile.dvSwitch`. Across all DvsProfile objects, specify
	// exactly one
	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroup` or
	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.dvPortgroupSpec` per
	// `ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping.service`.
	DvsProf []ClusterComputeResourceDvsProfile `xml:"dvsProf,omitempty" json:"dvsProf,omitempty"`
	// Configuration of host services and host settings.
	HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty" json:"hostConfigProfile,omitempty"`
	// vSan configuration specification.
	//
	// This is vim.vsan.ReconfigSpec object
	// represented via the VIM object.
	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
	// Describes cluster and EVC configuration.
	VcProf *ClusterComputeResourceVCProfile `xml:"vcProf,omitempty" json:"vcProf,omitempty"`
}

Specification to configure the cluster.

type ClusterComputeResourceHCIWorkflowState added in v0.21.0

type ClusterComputeResourceHCIWorkflowState string

HCIWorkflowState identifies the state of the cluser from the perspective of HCI workflow.

The workflow begins with in\_progress mode and can transition

type ClusterComputeResourceHostConfigurationInput added in v0.21.0

type ClusterComputeResourceHostConfigurationInput struct {
	DynamicData

	Host        ManagedObjectReference                 `xml:"host" json:"host"`
	HostVmkNics []ClusterComputeResourceHostVmkNicInfo `xml:"hostVmkNics,omitempty" json:"hostVmkNics,omitempty"`
	// To apply configuration on the host, the host is expected to be in
	// maintenance mode.
	//
	// This constraint can be relaxed by setting this
	// flag to true.
	AllowedInNonMaintenanceMode *bool `xml:"allowedInNonMaintenanceMode" json:"allowedInNonMaintenanceMode,omitempty"`
}

Host configuration input to configure hosts in a cluster.

type ClusterComputeResourceHostConfigurationProfile added in v0.21.0

type ClusterComputeResourceHostConfigurationProfile struct {
	DynamicData

	// Date and time settings
	DateTimeConfig *HostDateTimeConfig `xml:"dateTimeConfig,omitempty" json:"dateTimeConfig,omitempty"`
	// Desired lockdown mode
	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty"`
}

HostConfigurationProfile describes the configuration of services and settings which gets applied on every host in the HCI cluster.

type ClusterComputeResourceHostConfigurationValidation added in v0.21.0

type ClusterComputeResourceHostConfigurationValidation struct {
	ClusterComputeResourceValidationResultBase

	// Host being validated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Check if the host is attached to the DVS on right adapters.
	IsDvsSettingValid *bool `xml:"isDvsSettingValid" json:"isDvsSettingValid,omitempty"`
	// Check if the adapters for services are present and on the right
	// portgroups.
	IsVmknicSettingValid *bool `xml:"isVmknicSettingValid" json:"isVmknicSettingValid,omitempty"`
	// Check if NTP is configured per specification.
	IsNtpSettingValid *bool `xml:"isNtpSettingValid" json:"isNtpSettingValid,omitempty"`
	// Check if lockdown mode is set per specification
	IsLockdownModeValid *bool `xml:"isLockdownModeValid" json:"isLockdownModeValid,omitempty"`
}

Describes the validations applicable to the settings on the host.

type ClusterComputeResourceHostVmkNicInfo added in v0.21.0

type ClusterComputeResourceHostVmkNicInfo struct {
	DynamicData

	// NIC specification
	NicSpec HostVirtualNicSpec `xml:"nicSpec" json:"nicSpec"`
	// Service type for this adapter.
	//
	// See
	// `HostVirtualNicManagerNicType_enum` for supported values.
	Service string `xml:"service" json:"service"`
}

This data object describes how a vmknic on a host must be configured.

type ClusterComputeResourceSummary

type ClusterComputeResourceSummary struct {
	ComputeResourceSummary

	// Deprecated as of vSphere API 4.0, use
	// `ClusterFailoverLevelAdmissionControlInfo.currentFailoverLevel`.
	//
	// Current failover level.
	//
	// This is the number of physical host failures that can
	// be tolerated without impacting the ability to satisfy the minimums for all
	// running virtual machines. This represents the current value, as opposed to
	// desired value configured by the user.
	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
	// Information about the current amount of resources available for a vSphere HA
	// cluster.
	//
	// The actual type of admissionControlInfo will depend on what kind of
	// `ClusterDasAdmissionControlPolicy` was used to configure the cluster.
	AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr" json:"admissionControlInfo,omitempty" vim:"4.0"`
	// Total number of migrations with VMotion that have been done internal to this
	// cluster.
	NumVmotions int32 `xml:"numVmotions" json:"numVmotions"`
	// The target balance, in terms of standard deviation, for a DRS cluster.
	//
	// Units are thousandths. For example, 12 represents 0.012.
	TargetBalance int32 `xml:"targetBalance,omitempty" json:"targetBalance,omitempty" vim:"4.0"`
	// The current balance, in terms of standard deviation, for a DRS cluster.
	//
	// Units are thousandths. For example, 12 represents 0.012.
	CurrentBalance int32 `xml:"currentBalance,omitempty" json:"currentBalance,omitempty" vim:"4.0"`
	// The DRS score of this cluster, in percentage.
	DrsScore int32 `xml:"drsScore,omitempty" json:"drsScore,omitempty" vim:"7.0"`
	// The number of VMs in this cluster corresponding to each DRS score
	// bucket.
	//
	// The buckets are defined as follows:
	//     - 0% - 20%
	//     - 21% - 40%
	//     - 41% - 60%
	//     - 61% - 80%
	//     - 81% - 100%
	NumVmsPerDrsScoreBucket []int32 `xml:"numVmsPerDrsScoreBucket,omitempty" json:"numVmsPerDrsScoreBucket,omitempty" vim:"7.0"`
	// The current usage summary for a DRS cluster.
	UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty" json:"usageSummary,omitempty" vim:"6.0"`
	// The Enhanced VMotion Compatibility mode that is currently in effect
	// for all hosts in this cluster; unset if no EVC mode is active.
	//
	// See also `Capability.supportedEVCMode`.
	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty" vim:"4.0"`
	// The Enhanced VMotion Compatibility Graphics mode that is currently in
	// effect for all hosts in this cluster; unset if no EVC mode is active.
	//
	// See also `Capability.supportedEVCGraphicsMode`.
	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
	// Data pertaining to DAS.
	DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr" json:"dasData,omitempty" vim:"5.0"`
	// Configuration pertinent to state of the cluster maintenance mode.
	//
	// Valid values are enumerated by the `ClusterMaintenanceModeStatus`
	// type.
	ClusterMaintenanceModeStatus string `xml:"clusterMaintenanceModeStatus,omitempty" json:"clusterMaintenanceModeStatus,omitempty" vim:"7.0.0.2"`
	// The health status of the vSphere Cluster Services in the cluster.
	//
	// Supported values are enumerated by the `VcsHealthStatus`
	// type.
	VcsHealthStatus string `xml:"vcsHealthStatus,omitempty" json:"vcsHealthStatus,omitempty" vim:"7.0.1.1"`
	// An array of hosts and number of resource slots on the host for
	// vSphere Cluster Services in the cluster.
	//
	// The number of resource slots on the host includes both following types:
	// 1\. Number of vCS VMs running on the host (resource reserved and occupied).
	// 2\. Number of reserved and unoccupied slots (reserved for new vCS VMs).
	VcsSlots []ClusterComputeResourceVcsSlots `xml:"vcsSlots,omitempty" json:"vcsSlots,omitempty" vim:"7.0.1.1"`
}

The `ClusterComputeResourceSummary` data object encapsulates runtime properties of a `ClusterComputeResource`.

type ClusterComputeResourceVCProfile added in v0.21.0

type ClusterComputeResourceVCProfile struct {
	DynamicData

	// Cluster configurarion.
	ClusterSpec *ClusterConfigSpecEx `xml:"clusterSpec,omitempty" json:"clusterSpec,omitempty"`
	// EVC mode key.
	EvcModeKey string `xml:"evcModeKey,omitempty" json:"evcModeKey,omitempty"`
	// EVC Graphics mode key
	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
}

Describes cluster configuration for various vCenter services.

type ClusterComputeResourceValidationResultBase added in v0.21.0

type ClusterComputeResourceValidationResultBase struct {
	DynamicData

	// Describes the messages relevant to the validation result
	Info []LocalizableMessage `xml:"info,omitempty" json:"info,omitempty"`
}

Describes the validation results.

func (*ClusterComputeResourceValidationResultBase) GetClusterComputeResourceValidationResultBase added in v0.21.0

func (b *ClusterComputeResourceValidationResultBase) GetClusterComputeResourceValidationResultBase() *ClusterComputeResourceValidationResultBase

type ClusterComputeResourceVcsHealthStatus added in v0.24.0

type ClusterComputeResourceVcsHealthStatus string

type ClusterComputeResourceVcsSlots added in v0.24.0

type ClusterComputeResourceVcsSlots struct {
	DynamicData

	// Identifier of the system for which the slots are applicable.
	SystemId string `xml:"systemId,omitempty" json:"systemId,omitempty" vim:"7.0.3.0"`
	// The host that has vSphere Cluster Services slots.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Datastores on the host which are recommended for vCLS VM deployment.
	//
	// Refers instances of `Datastore`.
	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty" vim:"7.0.3.0"`
	// The number of total vSphere Cluster Services slots on the host.
	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
}

type ClusterConfigInfo

type ClusterConfigInfo struct {
	DynamicData

	// Cluster-wide configuration of the vSphere HA service.
	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
	// List of virtual machine configurations for the vSphere HA
	// service.
	//
	// Each entry applies to one virtual machine.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
	// Cluster-wide configuration of the VMware DRS service.
	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
	// List of virtual machine configurations for the VMware DRS
	// service.
	//
	// Each entry applies to one virtual machine.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
	// Cluster-wide rules.
	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
}

Deprecated as of VI API 2.5, use `ClusterConfigInfoEx`.

A complete cluster configuration.

type ClusterConfigInfoEx

type ClusterConfigInfoEx struct {
	ComputeResourceConfigInfo

	// Configuration for vCLS system VMs deployment.
	SystemVMsConfig *ClusterSystemVMsConfigInfo `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
	// Cluster-wide configuration of the vSphere HA service.
	DasConfig ClusterDasConfigInfo `xml:"dasConfig" json:"dasConfig"`
	// List of virtual machine configurations for the vSphere HA
	// service.
	//
	// Each entry applies to one virtual machine.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty" json:"dasVmConfig,omitempty"`
	// Cluster-wide configuration of the VMware DRS service.
	DrsConfig ClusterDrsConfigInfo `xml:"drsConfig" json:"drsConfig"`
	// List of virtual machine configurations for the VMware DRS
	// service.
	//
	// Each entry applies to one virtual machine.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty" json:"drsVmConfig,omitempty"`
	// Cluster-wide rules.
	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
	// Cluster-wide configuration of VM orchestration.
	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty" vim:"6.5"`
	// List of virtual machine configurations that apply during cluster wide
	// VM orchestration.
	//
	// Each entry applies to one virtual machine.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty" json:"vmOrchestration,omitempty" vim:"6.5"`
	// Cluster-wide configuration of the VMware DPM service.
	DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty" json:"dpmConfigInfo,omitempty"`
	// List of host configurations for the VMware DPM
	// service.
	//
	// Each entry applies to one host.
	//
	// If a host is not specified in this array, the service uses
	// the cluster default settings for that host.
	DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty" json:"dpmHostConfig,omitempty"`
	// Cluster-wide configuration of the VMware VSAN service.
	VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty" json:"vsanConfigInfo,omitempty" vim:"5.5"`
	// List of host configurations for the VMware VSAN service.
	//
	// Each entry applies to one host.
	//
	// If a host is not specified in this array, the service uses
	// the cluster default settings for that host.
	VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty" vim:"5.5"`
	// Cluster-wide groups.
	Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr" json:"group,omitempty" vim:"4.1"`
	// Cluster-wide configuration of the VMware InfraUpdateHA service.
	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty" vim:"6.5"`
	// Cluster-wide configuration of the ProactiveDRS service.
	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty" vim:"6.5"`
	// Cluster-wide configuration of the encryption mode.
	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty" vim:"7.0"`
}

The `ClusterConfigInfoEx` data object describes a complete cluster configuration.

For information about configuring a cluster, see `ClusterConfigSpecEx`.

type ClusterConfigSpec

type ClusterConfigSpec struct {
	DynamicData

	// Changes to the configuration of vSphere HA.
	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
	// Changes to the per-virtual-machine vSphere HA settings.
	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
	// Changes to the configuration of the VMware DRS service.
	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
	// Changes to the per-virtual-machine DRS settings.
	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
	// Changes to the set of rules.
	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
}

Deprecated as of VI API 2.5, use `ClusterConfigSpecEx`.

A complete cluster configuration.

All fields are defined as optional. In case of a reconfiguration, unset fields are unchanged.

type ClusterConfigSpecEx

type ClusterConfigSpecEx struct {
	ComputeResourceConfigSpec

	// Configuration for vCLS system VMs deployment.
	SystemVMsConfig *ClusterSystemVMsConfigSpec `xml:"systemVMsConfig,omitempty" json:"systemVMsConfig,omitempty" vim:"7.0.3.0"`
	// HA configuration; includes default settings for virtual machines.
	DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty" json:"dasConfig,omitempty"`
	// HA configuration for individual virtual machines.
	//
	// The entries in this array override the cluster default
	// settings
	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).
	// You cannot specify an HA override for a secondary FT virtual
	// machine. The secondary virtual machine will inherit whatever
	// settings apply to its primary virtual machine. If you
	// include an entry for a secondary, the reconfigure method
	// will throw the fault
	// `CannotChangeHaSettingsForFtSecondary`.
	DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty" json:"dasVmConfigSpec,omitempty"`
	// DRS configuration; includes default settings for virtual machines.
	DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty" json:"drsConfig,omitempty"`
	// DRS configuration for individual virtual machines.
	//
	// The entries in this array override the cluster default
	// settings
	// (`ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.defaultVmBehavior`).
	// You cannot specify a DRS override for a secondary FT virtual
	// machine. The secondary virtual machine will inherit whatever
	// setting applies to its primary virtual machine. If you
	// include an entry for a secondary, the reconfigure method
	// will throw the fault
	// `CannotChangeDrsBehaviorForFtSecondary`.
	DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty" json:"drsVmConfigSpec,omitempty"`
	// Cluster affinity and anti-affinity rule configuration.
	RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty" json:"rulesSpec,omitempty"`
	// Cluster configuration of VM orchestration.
	Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty" json:"orchestration,omitempty" vim:"6.5"`
	// List of specific VM configurations that apply during cluster wide
	// VM orchestration.
	//
	// Each entry applies to one virtual machine, and
	// overrides the cluster default settings.
	VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty" json:"vmOrchestrationSpec,omitempty" vim:"6.5"`
	// DPM configuration; includes default settings for hosts.
	DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty" json:"dpmConfig,omitempty"`
	// DPM configuration for individual hosts.
	//
	// The entries in this array override the cluster default
	// settings
	// (`ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.defaultDpmBehavior`).
	DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty" json:"dpmHostConfigSpec,omitempty"`
	// VSAN configuration; includes default settings for hosts.
	//
	// When it is requested to change, vSAN related sub tasks will be
	// generated automatically per member hosts, which are identified
	// by using cluster reconfiguration task id as
	// `TaskInfo.parentTaskKey`, and should be monitored
	// and tracked separatedly.
	VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty" json:"vsanConfig,omitempty" vim:"5.5"`
	// VSAN configuration for individual hosts.
	//
	// The entries in this array override the cluster default settings
	// as specified in `VsanClusterConfigInfo`.
	VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty" json:"vsanHostConfigSpec,omitempty" vim:"5.5"`
	// Cluster-wide group configuration.
	//
	// The array contains one or more group specification objects.
	// A group specification object contains a virtual machine group
	// (`ClusterVmGroup`) or a host group (`ClusterHostGroup`).
	// Groups can be related; see `ClusterVmHostRuleInfo`.
	GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty" json:"groupSpec,omitempty" vim:"4.1"`
	// InfraUpdateHA configuration.
	InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty" json:"infraUpdateHaConfig,omitempty" vim:"6.5"`
	// ProactiveDrs configuration.
	ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty" json:"proactiveDrsConfig,omitempty" vim:"6.5"`
	// Flag to place the cluster in the HCI workflow during cluster creation.
	//
	// This flag is specified only at the time of cluster creation.
	// A cluster cannot be reconfigured to place it in the HCI workflow.
	InHciWorkflow *bool `xml:"inHciWorkflow" json:"inHciWorkflow,omitempty" vim:"6.7.1"`
	// Cluster-wide configuration of encryption mode.
	CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty" json:"cryptoConfig,omitempty" vim:"7.0"`
}

The `ClusterConfigSpecEx` data object provides a set of update specifications for complete cluster configuration.

You can configure a cluster when you create a new cluster (the `Folder.CreateClusterEx` method) or when you reconfigure an existing cluster (the `ComputeResource.ReconfigureComputeResource_Task` method).

All fields are optional. If you set the <code>modify</code> parameter to <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect on the existing property value in the cluster configuration on the Server. If you set the <code>modify</code> parameter to <code>false</code> when you reconfigure a cluster, the cluster configuration is reverted to the default values, then the new configuration values are applied.

Use the properties defined for this object to configure the following services:

  • HA (High Availability) - provides failover protection for virtual machines running in a cluster of ESX Server hosts. The virtual machines are located in a `Datastore`, which provides shared storage for the cluster. When a failure occurs that affects a protected virtual machine, HA will restart the virtual machine on another host. When HA detects a host failure, either the host has failed or it may be isolated from the network. The HA agent on an isolated host will power off or shutdown the virtual machines running on that host so that they can be restarted elsewhere. See `ClusterDasVmSettingsIsolationResponse_enum` for information about how a host handles network isolation.

    When it chooses a failover host, HA selects a host that is compatible with the virtual machine and that can support resource allocation for that virtual machine so that service level guarantees remain intact. HA does not consider hosts that are in maintenance mode, standby mode, or which are disconnected from the vCenter Server. When a host powers on or becomes available again, HA is reenabled on that host, so it becomes available for failover again. VMware recommends that you configure hosts and virtual machines so that all virtual machines can run on all hosts in the cluster. This will maximize the chances of restarting a VM after a failure.

    HA also restarts a virtual machine after a guest operating system failure. In this case, the virtual machine health monitoring service detects the guest failure, and HA restarts the virtual machine on the same host. The service monitors heartbeats from the VmTools service and optionally heartbeats that are generated by a third-party application monitor. See `ClusterVmToolsMonitoringSettings` and `ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`.

    To enable HA for a cluster, set the `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled` property to <code>true</code> and the `ClusterDasConfigInfo*.*ClusterDasConfigInfo.hostMonitoring` property to `enabled`. (The vSphere API uses the substring "das" in object, property, and method names for HA.<sup>1</sup>)

  • DRS (Distributed Resource Scheduling) - provides automatic initial virtual machine placement on any of the hosts in the cluster. DRS also makes automatic resource relocation and optimization decisions as hosts or virtual machines are added or removed from the cluster. You can also configure DRS for manual control, so that it only makes recommendations that you can review and carry out.

    To enable DRS for a cluster, set the `ClusterDrsConfigInfo*.*ClusterDrsConfigInfo.enabled` property to <code>true</code>.

  • DPM (Distributed Power Management) - supports optimized power consumption on the cluster. When virtual machines in a DRS cluster require fewer resources, DPM consolidates workloads onto fewer servers while maintaining quality of service guarantees and powers off the rest to reduce power consumption. When more resources are required, DPM brings the powered-down hosts online.

    To enable DPM for a cluster, set the `ClusterDpmConfigInfo*.*ClusterDpmConfigInfo.enabled` property to <code>true</code>.

  • VSAN - aggregrates hosts' local disks to present a single shared datastore to the cluster.

    To enable VSAN for a cluster, set the `VsanClusterConfigInfo.enabled` property to <code>true</code> for `ClusterConfigSpecEx.vsanConfig`.

  • InfraUpdateHA (Infrastructure update HA) - supports automatic migration of virtual machines to hosts with low risk of a catastrophic failure. Similar to DRS, you can also configure InfraUpdateHA for manual control to only makes recommendations that you can review and carry out. The health state of the hosts are propagated to HA to enable restarting of virtual machines in healthy hosts as possible.

    To enable InfraUpdateHA for a cluster, set the `ClusterInfraUpdateHaConfigInfo*.*ClusterInfraUpdateHaConfigInfo.enabled` property to <code>true</code>.

  • ProactiveDRS (Proactive Distributed Resources Scheduling) - supports virtual machine load balancing decisions that take predicted resource demand information into account.

    To enable ProactiveDRS for a cluster, set the `ClusterProactiveDrsConfigInfo*.*ClusterProactiveDrsConfigInfo.enabled` property to <code>true</code>.

The HA, DRS, and DPM services are integrated with the FT (Fault Tolerance) and EVC (Enhanced vMotion Compatibility) services. Use the `VirtualMachine.CreateSecondaryVM_Task` method to establish fault tolerance for a virtual machine. Use the vSphere Client to configure EVC. The HA, DRS, DPM, FT, and EVC services interact under the following circumstances.

  • To determine initial placement of a virtual machine, DRS checks to see if the HA admission control policy on a potential host supports the addition of the powered on virtual machine. With the default setting, DRS will not power on more than four FT virtual machines per host. You can use the configuration editor in the vSphere Client to set the HA advanced option <code>das.maxFtVmsPerHost</code> to the desired number or to zero to disable.

  • When a host fails, HA determines placement within the cluster when it restarts the virtual machines. If there is insufficient capacity, and DPM has put one or more compatible hosts into standby, HA relies on DPM to bring more capacity online.

  • To use FT in a cluster, the cluster must be HA-enabled.

  • You can disable HA in a cluster while there are FT virtual machines registered on hosts in the cluster. While HA is disabled, powered on FT virtual machines will continue to run, but HA will not restart any virtual machines after a failure. When HA is disabled, you cannot use the following FT operations:

  • Turn on FT (`VirtualMachine.CreateSecondaryVM_Task`)

  • Enable FT (`VirtualMachine.EnableSecondaryVM_Task`)

  • Power on an FT virtual machine (`VirtualMachine.PowerOnVM_Task`)

  • Test failover and test secondary restart (`VirtualMachine.TerminateFaultTolerantVM_Task`)

  • In a cluster using DRS and HA with admission control turned on (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.admissionControlEnabled`), the vCenter Server might not migrate virtual machines from hosts entering maintenance mode. This is because resources are reserved to maintain the failover level. You must use vMotion to manually migrate the virtual machines off the hosts.

    When admission control is disabled, failover resource constraints are not passed on to DRS and DPM. The constraints are not enforced.

  • DRS determines virtual machine placement and status (maintenance mode, standby mode) regardless of the impact this might have on failover requirements.

  • DPM powers off hosts (places them in standby mode) even if doing so violates failover requirements. If there is insufficient capacity when a failover occurs, DPM will attempt to bring more capacity online in order to correct the situation.

  • You must enable EVC in a cluster to enable DRS to manage FT primary and secondary virtual machine pairs in the cluster. For information about EVC clusters, see `EVCMode`.

    If EVC is disabled, vCenter automatically creates overrides to disable DRS for FT primary/secondary pairs in the cluster. vCenter will still use DRS to place a secondary virtual machine when it powers on. Attempts to remove the overrides or to enable DRS operations will fail.

  • EVC clusters support load balancing of powered on FT primary and secondary virtual machines. DRS behavior is governed by the overrides defined for the primary virtual machine. The secondary inherits DRS behavior from its primary. If you do not configure a DRS override for an FT virtual machine, DRS uses the cluster default (`ClusterDrsConfigInfo.defaultVmBehavior`).

<sup>1</sup>High Availability was previously called Distributed Availability Services.

type ClusterCreatedEvent

type ClusterCreatedEvent struct {
	ClusterEvent

	// The folder where the cluster is created.
	Parent FolderEventArgument `xml:"parent" json:"parent"`
}

This event records when a cluster is created.

type ClusterCryptoConfigInfo added in v0.23.0

type ClusterCryptoConfigInfo struct {
	DynamicData

	// The cluster encryption mode.
	//
	// See `ClusterCryptoConfigInfoCryptoMode_enum` for supported values.
	CryptoMode string `xml:"cryptoMode,omitempty" json:"cryptoMode,omitempty"`
}

type ClusterCryptoConfigInfoCryptoMode added in v0.23.0

type ClusterCryptoConfigInfoCryptoMode string

type ClusterDasAamHostInfo

type ClusterDasAamHostInfo struct {
	ClusterDasHostInfo

	// The state of HA on the hosts.
	HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty" json:"hostDasState,omitempty"`
	// The list of primary hosts.
	PrimaryHosts []string `xml:"primaryHosts,omitempty" json:"primaryHosts,omitempty"`
}

Deprecated as of vSphere API 5.0, this object is no longer returned by vCenter Server. Availability information is now reported using `HostRuntimeInfo.dasHostState`.

The `ClusterDasAamHostInfo` object contains a list of the ESX hosts in an HA cluster and a list that identifies the _primary_ hosts.

(AAM is a component of the HA service.) The primary hosts share the joint responsibility of maintaining all cluster state and one will initiate failover actions should a failure occur.

When you add an ESX host to a vSphere HA cluster, the host downloads HA agent components from the vCenter Server. The HA agent maintains communication with the vCenter Server.

When the host downloads the HA agent, the host configures the agent to communicate with other agents in the cluster. A host that joins the cluster communicates with an existing primary host to complete its configuration (except when you are adding the first host to the cluster).

  • The first five hosts added to the cluster are designated as primary hosts. All subsequent hosts are designated as secondary hosts.
  • If a primary host is removed from the cluster, the vCenter Server promotes another host to primary status.
  • There must be at least one functional primary host for vSphere HA to operate correctly. If there is not an available primary host (no response), host configuration for HA will fail. If there is a total cluster failure, HA will begin restarting virtual machines as soon as one host recovers and its HA agent is up and running.

One of the primary hosts assumes the role of the active primary host. The active primary host responsibilities include the following activities:

  • Decides where to restart virtual machines.
  • Tracks failed restart attempts.
  • Determines when it is appropriate to continue attempts to restart a virtual machine.

If the active primary host fails, another primary host replaces it.

type ClusterDasAamNodeState

type ClusterDasAamNodeState struct {
	DynamicData

	// Reference to the host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Name of the host
	// (`HostSystem*.*ManagedEntity.name`).
	Name string `xml:"name" json:"name"`
	// Configuration state of the HA agent on the host.
	//
	// The property can be one of the following values:
	//
	// configuring
	// error
	// unconfiguring
	// running
	//
	// <code>configState</code> represents setting or resetting the HA
	// configuration on the host. If the configuration operation is
	// successful, the value of <code>configState</code> changes
	// to <code>running</code>. See `ClusterDasAamNodeStateDasState_enum`.
	ConfigState string `xml:"configState" json:"configState"`
	// The runtime state of the HA agent on the node.
	//
	// The property can be one of the following values:
	//
	// uninitialized
	// initialized
	// running
	// error
	// agentShutdown
	// nodeFailed
	//
	// See `ClusterDasAamNodeStateDasState_enum`.
	RuntimeState string `xml:"runtimeState" json:"runtimeState"`
}

Deprecated as of vSphere API 5.0, this object is no longer returned by vCenter Server. See `HostRuntimeInfo.dasHostState` for a description of the objects now used.

The `ClusterDasAamNodeState` data object represents the state of the HA service on an ESX host.

(AAM is a component of this service.)

type ClusterDasAamNodeStateDasState

type ClusterDasAamNodeStateDasState string

The `ClusterDasAamNodeStateDasState_enum` enumerated type defines values for host HA configuration and runtime state properties (`ClusterDasAamNodeState.configState` and

type ClusterDasAdmissionControlInfo

type ClusterDasAdmissionControlInfo struct {
	DynamicData
}

Base class for admission control related information of a vSphere HA cluster.

func (*ClusterDasAdmissionControlInfo) GetClusterDasAdmissionControlInfo

func (b *ClusterDasAdmissionControlInfo) GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo

type ClusterDasAdmissionControlPolicy

type ClusterDasAdmissionControlPolicy struct {
	DynamicData

	// Percentage of resource reduction that a cluster of VMs can tolerate
	// in case of a failover.
	ResourceReductionToToleratePercent *int32 `xml:"resourceReductionToToleratePercent" json:"resourceReductionToToleratePercent,omitempty" vim:"6.5"`
	// Flag that determines whether strict admission control for persistent
	// memory is enabled.
	//
	// By default, this value is false.
	// This flag can only be set to true if
	// `ClusterDasConfigInfo.admissionControlEnabled` is set to true.
	// When you use persistent memory admission control, the following
	// operations are prevented, if doing so would violate the
	// `ClusterDasConfigInfo.admissionControlEnabled`.
	//     - Creating a virtual machine with persistent memory.
	//     - Adding a virtual persistent memory device to a virtual machine.
	//     - Increasing the capacity of a virtual persistent memory device.
	PMemAdmissionControlEnabled *bool `xml:"pMemAdmissionControlEnabled" json:"pMemAdmissionControlEnabled,omitempty" vim:"7.0.2.0"`
}

Base class for specifying how admission control should be done for vSphere HA.

func (*ClusterDasAdmissionControlPolicy) GetClusterDasAdmissionControlPolicy

func (b *ClusterDasAdmissionControlPolicy) GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy

type ClusterDasAdvancedRuntimeInfo

type ClusterDasAdvancedRuntimeInfo struct {
	DynamicData

	// The information pertaining to the HA agents on the hosts
	DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr" json:"dasHostInfo,omitempty"`
	// Whether HA VM Component Protection can be enabled for the cluster.
	VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty" json:"vmcpSupported,omitempty" vim:"6.0"`
	// The map of a datastore to the set of hosts that are using
	// the datastore for storage heartbeating.
	HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty" json:"heartbeatDatastoreInfo,omitempty" vim:"5.0"`
}

Base class for advanced runtime information related to the high availability service for a cluster.

func (*ClusterDasAdvancedRuntimeInfo) GetClusterDasAdvancedRuntimeInfo

func (b *ClusterDasAdvancedRuntimeInfo) GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo

type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo

type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct {
	DynamicData

	// If all hosts in the cluster support the reaction of VM Component Protection
	// to storage All Paths Down timeout
	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}
	StorageAPDSupported bool `xml:"storageAPDSupported" json:"storageAPDSupported"`
	// If all hosts in the cluster support the reaction of VM Component Protection
	// to storage Permanent Device Loss
	// (@link vim.host.MountInfo.InaccessibleReason#PermanentDeviceLoss}
	StoragePDLSupported bool `xml:"storagePDLSupported" json:"storagePDLSupported"`
}

Class for capability to support VM Component Protection

type ClusterDasConfigInfo

type ClusterDasConfigInfo struct {
	DynamicData

	// Flag to indicate whether or not vSphere HA feature is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Level of HA Virtual Machine Health Monitoring Service.
	//
	// You can monitor both guest and application heartbeats, guest heartbeats only,
	// or you can disable the service. See `ClusterDasConfigInfoVmMonitoringState_enum`.
	// The default value is `vmMonitoringDisabled`.
	//
	// The Service level specified for the cluster determines
	// the possible monitoring settings that you can use for individual virtual machines.
	// See `ClusterVmToolsMonitoringSettings*.*ClusterVmToolsMonitoringSettings.vmMonitoring`.
	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty" vim:"4.0"`
	// Determines whether HA restarts virtual machines after a host fails.
	//
	// The default value is
	// `ClusterDasConfigInfoServiceState_enum*.*enabled`.
	// This property is meaningful only when
	// `ClusterDasConfigInfo*.*ClusterDasConfigInfo.enabled` is <code>true</code>.
	//
	// When <code>hostMonitoring</code> is
	// `enabled`, HA restarts virtual machines
	// after a host fails.
	//
	// When <code>hostMonitoring</code> is
	// `disabled`, HA does not restart
	// virtual machines after a host fails.
	// The status of Host Monitoring does not affect other services such
	// as virtual machine Health Monitoring or Fault Tolerance.
	// The rest of the cluster operations follow normal processing.
	// No configuration information is lost and re-enabling the service
	// is a quick operation.
	HostMonitoring string `xml:"hostMonitoring,omitempty" json:"hostMonitoring,omitempty" vim:"4.0"`
	// This property indicates if vSphere HA VM Component Protection service
	// is enabled.
	//
	// The default value is `disabled`.
	//
	// When <code>vmComponentProtecting</code> is set to
	// `disabled`, reaction to all types of VM
	// component failures is disabled.
	//
	// When <code>vmComponentProtecting</code> is set to
	// `enabled`, VM Component Protection service
	// will detect and react to component failures. The actual reaction is determined
	// by `ClusterVmComponentProtectionSettings` which is referenced by both cluster
	// level configuration (`ClusterDasConfigInfo.defaultVmSettings`) and per-VM
	// override `ClusterConfigInfoEx.dasVmConfig`.
	VmComponentProtecting string `xml:"vmComponentProtecting,omitempty" json:"vmComponentProtecting,omitempty" vim:"6.0"`
	// Deprecated as of vSphere API 4.0, use
	// `ClusterFailoverLevelAdmissionControlPolicy` to set
	// `ClusterDasConfigInfo.admissionControlPolicy`.
	//
	// Configured failover level.
	//
	// This is the number of physical host failures
	// that can be tolerated without impacting the ability to satisfy the
	// minimums for all running virtual machines. Acceptable values range from one to
	// four.
	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty"`
	// Virtual machine admission control policy for vSphere HA.
	//
	// The policies specify resource availability for failover support.
	//     - Failover host admission policy
	//       `ClusterFailoverHostAdmissionControlPolicy` -
	//       specify one or more dedicated failover hosts.
	//     - Failover level policy
	//       `ClusterFailoverLevelAdmissionControlPolicy` -
	//       the limit of host failures for which resources are reserved.
	//       When you use the failover level policy,
	//       HA partitions resources into slots. A slot represents the minimum
	//       CPU and memory resources that are required to support
	//       any powered on virtual machine in the cluster.
	//       To retrieve information about partitioned resources, use the
	//       `ClusterComputeResource.RetrieveDasAdvancedRuntimeInfo`
	//       method.
	//     - Resources admission policy
	//       `ClusterFailoverResourcesAdmissionControlPolicy` -
	//       CPU and memory resources reserved for failover support.
	//       When you use the resources policy, you can reserve
	//       a percentage of the aggregate cluster resource for failover.
	AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr" json:"admissionControlPolicy,omitempty" vim:"4.0"`
	// Flag that determines whether strict admission control is enabled.
	//
	// When you use admission control, the following operations are
	// prevented, if doing so would violate the `ClusterDasConfigInfo.admissionControlPolicy`.
	//     - Powering on a virtual machine in the cluster.
	//     - Migrating a virtual machine into the cluster.
	//     - Increasing the CPU or memory reservation of powered-on
	//       virtual machines in the cluster.
	//
	// With admission control disabled, there is no assurance that
	// all virtual machines in the HA cluster can be restarted after
	// a host failure. VMware recommends that you do not disable
	// admission control, but you might need to do so temporarily,
	// for the following reasons:
	//     - If you need to violate the failover constraints when there
	//       are not enough resources to support them (for example,
	//       if you are placing hosts in standby mode to test them
	//       for use with DPM).
	//     - If an automated process needs to take actions that might
	//       temporarily violate the failover constraints (for example,
	//       as part of an upgrade directed by VMware Update Manager).
	//     - If you need to perform testing or maintenance operations.
	AdmissionControlEnabled *bool `xml:"admissionControlEnabled" json:"admissionControlEnabled,omitempty"`
	// Cluster-wide defaults for virtual machine HA settings.
	//
	// When a virtual machine has no HA configuration
	// (`ClusterDasVmConfigSpec`), it uses the values
	// specified here.
	DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty" json:"defaultVmSettings,omitempty" vim:"2.5"`
	// Advanced settings.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
	// The list of preferred datastores to use for storage heartbeating.
	//
	// Each of the specified datastores should be active and mounted
	// by more than one host. There is no limit on the number of specified
	// datastores and no priority among them.
	// The specified datastores will replace those previously specified and
	// an empty list will delete all such earlier specified ones.
	//
	// vCenter Server chooses the heartbeat datastores for a host from the
	// set specified by `ClusterDasConfigInfo.hBDatastoreCandidatePolicy`.
	// The choice is made based on datastore connectivity and storage array
	// redundancy (in case of VMFS).
	//
	// The final set of selected heartbeat datastores is reported via
	// `ClusterDasAdvancedRuntimeInfo.heartbeatDatastoreInfo`.
	//
	// Refers instances of `Datastore`.
	HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty" json:"heartbeatDatastore,omitempty" vim:"5.0"`
	// The policy on what datastores will be used by vCenter Server to choose
	// heartbeat datastores.
	//
	// See `ClusterDasConfigInfoHBDatastoreCandidate_enum` for all options.
	// The default value is
	// `allFeasibleDsWithUserPreference`.
	HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty" json:"hBDatastoreCandidatePolicy,omitempty" vim:"5.0"`
}

The `ClusterDasConfigInfo` data object contains configuration data about the HA service on a cluster.

All fields are optional. If you set the <code>modify</code> parameter to <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect on the existing property value in the cluster configuration on the Server. If you set the <code>modify</code> parameter to <code>false</code> when you reconfigure a cluster, the cluster configuration is reverted to the default values, then the new configuration values are applied.

type ClusterDasConfigInfoHBDatastoreCandidate

type ClusterDasConfigInfoHBDatastoreCandidate string

The policy to determine the candidates from which vCenter Server can

type ClusterDasConfigInfoServiceState

type ClusterDasConfigInfoServiceState string

Possible states of an HA service.

All services support the

type ClusterDasConfigInfoVmMonitoringState

type ClusterDasConfigInfoVmMonitoringState string

The `ClusterDasConfigInfoVmMonitoringState_enum` enum defines values that indicate the state of Virtual Machine Health Monitoring.

Health Monitoring uses the vmTools (guest) and application agent heartbeat modules. You can configure HA to respond to heartbeat failures of either one or both modules. You can also disable the HA response to heartbeat failures.

  • To set the cluster default for health monitoring, use the ClusterConfigSpecEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring` property.
  • To set health monitoring for a virtual machine, use the ClusterConfigSpecEx.dasVmConfigSpec.info.dasSettings.`ClusterDasVmSettings.vmToolsMonitoringSettings` property.
  • To retrieve the current state of health monitoring (cluster setting), use the ClusterConfigInfoEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring` property.
  • To retrieve the current state of health monitoring for a virtual machine, use the ClusterConfigInfoEx.dasVmConfig\[\].dasSettings.vmToolsMonitoringSettings.`ClusterVmToolsMonitoringSettings.vmMonitoring`

type ClusterDasData

type ClusterDasData struct {
	DynamicData
}

Base class for DAS data for high availability service for a cluster.

func (*ClusterDasData) GetClusterDasData

func (b *ClusterDasData) GetClusterDasData() *ClusterDasData

type ClusterDasDataSummary

type ClusterDasDataSummary struct {
	ClusterDasData

	// The version corresponding to the hostList
	HostListVersion int64 `xml:"hostListVersion" json:"hostListVersion"`
	// The version corresponding to the clusterConfig
	ClusterConfigVersion int64 `xml:"clusterConfigVersion" json:"clusterConfigVersion"`
	// The version corresponding to the compatList
	CompatListVersion int64 `xml:"compatListVersion" json:"compatListVersion"`
}

This class contains the summary of the data that DAS needs/uses.

The actual data is available in `ClusterDasDataDetails` and can be retrieved using the `ClusterComputeResource.RetrieveDasData` method. This class is meant for VMware internal use only.

type ClusterDasFailoverLevelAdvancedRuntimeInfo

type ClusterDasFailoverLevelAdvancedRuntimeInfo struct {
	ClusterDasAdvancedRuntimeInfo

	// Slot information for this cluster.
	SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo" json:"slotInfo"`
	// The total number of slots available in the cluster.
	//
	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
	TotalSlots int32 `xml:"totalSlots" json:"totalSlots"`
	// The number of slots currently being used.
	//
	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
	UsedSlots int32 `xml:"usedSlots" json:"usedSlots"`
	// The number of slots that are not used by currently powered on virtual machines
	// and not reserved to satisfy the configured failover level.
	//
	// This number gives
	// an indication of how many additional virtual machines can be powered on in
	// this cluster without violating the failover level (assuming the new virtual
	// machine's reservations are satisfied by the current slot size).
	// This value is computed as follows (where m is the configured failover level):
	// Remove the m largest hosts (ie. the ones with the most slots) from the list
	// of "good" hosts (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.totalGoodHosts`). Sum up the number of slots on
	// the remaining hosts and deduct the number of currently used slots
	// (see `ClusterDasFailoverLevelAdvancedRuntimeInfo.usedSlots`). If this number is negative, use zero instead.
	//
	// See also `ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo`.
	UnreservedSlots int32 `xml:"unreservedSlots" json:"unreservedSlots"`
	// The total number of powered on vms in the cluster.
	TotalVms int32 `xml:"totalVms" json:"totalVms"`
	// The total number of hosts in the cluster.
	TotalHosts int32 `xml:"totalHosts" json:"totalHosts"`
	// The total number of connected hosts that are not in maintance mode and that
	// do not have any DAS-related config issues on them.
	TotalGoodHosts int32                                                 `xml:"totalGoodHosts" json:"totalGoodHosts"`
	HostSlots      []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty" json:"hostSlots,omitempty"`
	// The list of virtual machines whose reservations and memory overhead are not
	// satisfied by a single slot.
	VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty" json:"vmsRequiringMultipleSlots,omitempty" vim:"5.1"`
}

Advanced runtime information related to the high availability service for a cluster that has been configured with a failover level admission control policy.

See `ClusterFailoverLevelAdmissionControlPolicy`.

type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots

type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct {
	DynamicData

	// The reference to the host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The number of slots in this host.
	Slots int32 `xml:"slots" json:"slots"`
}

type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo

type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct {
	DynamicData

	// Deprecated as of vSphere API 5.0, the number of vcpus is no longer used
	// for slot calculations.
	//
	// The number of virtual cpus of a slot is defined as the maximum number of
	// virtual cpus any powered on virtual machine has.
	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
	// The cpu speed of a slot is defined as the maximum cpu reservation of any
	// powered on virtual machine in the cluster, or any otherwise defined minimum,
	// whichever is larger.
	CpuMHz int32 `xml:"cpuMHz" json:"cpuMHz"`
	// The memory size of a slot is defined as the maximum memory reservation plus
	// memory overhead of any powered on virtual machine in the cluster, or any
	// otherwise defined minimum, whichever is larger.
	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
}

A slot represents an amount of memory and cpu resources on a physical host for use by a virtual machine.

It is used in computing the resources to be reserved for failover.

type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots

type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct {
	DynamicData

	// The reference to the virtual machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The number of slots required by this virtual machine
	Slots int32 `xml:"slots" json:"slots"`
}

type ClusterDasFdmAvailabilityState

type ClusterDasFdmAvailabilityState string

The `ClusterDasFdmAvailabilityState_enum` enumeration describes the availability states of hosts in a vSphere HA cluster.

In the HA architecture, a agent called the Fault Domain Manager runs on each active host. These agents elect a master and the others become its slaves. The availability state assigned to a given host is determined from information reported by the Fault Domain Manager running on the host, by a Fault Domain Manager that has been elected master, and by vCenter Server. See `ClusterDasFdmHostState`

type ClusterDasFdmHostState

type ClusterDasFdmHostState struct {
	DynamicData

	// The Availability State of a host based on information
	// reported by the entity given by the
	// `ClusterDasFdmHostState.stateReporter` property.
	//
	// See
	// `ClusterDasFdmAvailabilityState_enum` for the set of
	// states.
	State string `xml:"state" json:"state"`
	// The entity reporting the state of the host.
	//
	// If the reporter is a host,
	// the property reports which host, whereas if the reporter is vCenter Server,
	// the property is unset.
	//
	// Refers instance of `HostSystem`.
	StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty" json:"stateReporter,omitempty"`
}

The `ClusterDasFdmHostState` data object describes the availability state of each active host in a vSphere HA enabled cluster.

In a vSphere HA cluster, the active hosts form a fault domain. A host is inactive if it is in standby or maintenance mode, or it has been disconnected from vCenter Server. A vSphere HA agent, called the Fault Domain Manager (FDM), runs on each host in the fault domain.

One FDM serves as the master and the remaining FDMs as its slaves. The master is responsible for monitoring the availability of the hosts and VMs in the cluster, and restarting any VMs that fail due to a host failure or non-user-initiated power offs. The master is also responsible for reporting fault-domain state to vCenter Server.

The master FDM is determined through election by the FDMs that are alive at the time. An election occurs in the following circumstances:

  • When the vSphere HA feature is enabled for the cluster.
  • When the master's host fails.
  • When the management network is partitioned. In a network partition there will be a master for each partition. However, only one master will be responsible for a given VM. When the partition is resolved, all but one of the masters will abdicate.
  • After a host in a vSphere HA cluster powers back up following a failure that caused all hosts in the cluster to power off.

The slaves are responsible for reporting state updates to the master and restarting VMs as required. All FDMs provide the VM/Application Health Monitoring Service.

type ClusterDasHostInfo

type ClusterDasHostInfo struct {
	DynamicData
}

HA specific advanced information pertaining to the hosts in the cluster.

func (*ClusterDasHostInfo) GetClusterDasHostInfo

func (b *ClusterDasHostInfo) GetClusterDasHostInfo() *ClusterDasHostInfo

type ClusterDasHostRecommendation

type ClusterDasHostRecommendation struct {
	DynamicData

	// The recommended host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Rating as computed by DRS for a DRS-enabled cluster.
	//
	// Rating
	// range from 1 to 5, and the higher the rating, the stronger DRS
	// suggests this host is picked for the operation.
	DrsRating int32 `xml:"drsRating,omitempty" json:"drsRating,omitempty"`
}

A host recommendation for a virtual machine managed by the VMware HA Service.

type ClusterDasVmConfigInfo

type ClusterDasVmConfigInfo struct {
	DynamicData

	// Reference to the virtual machine.
	//
	// Refers instance of `VirtualMachine`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Deprecated as of VI API 2.5, use
	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.restartPriority`.
	// If you specify `ClusterDasVmConfigInfo.restartPriority` here and in
	// `ClusterDasVmSettings`, the value in `ClusterDasVmSettings`
	// has precedence.
	//
	// Restart priority for a virtual machine.
	//
	// If there is nothing specified here, then the defaults are picked up from
	// `ClusterDasConfigInfo.defaultVmSettings`.
	RestartPriority DasVmPriority `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
	// Deprecated as of VI API 2.5, use
	// `ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.isolationResponse`.
	// If you specify both `ClusterDasVmConfigInfo.powerOffOnIsolation` and
	// `ClusterDasVmSettings.isolationResponse`, the value in
	// `ClusterDasVmSettings.isolationResponse` has precedence.
	//
	// Flag to indicate whether or not the virtual machine should be powered off if a
	// host determines that it is isolated from the rest of the compute resource.
	//
	// If there is nothing specified here, then the defaults are picked up from
	// `ClusterDasConfigInfo.defaultVmSettings`.
	PowerOffOnIsolation *bool `xml:"powerOffOnIsolation" json:"powerOffOnIsolation,omitempty"`
	// HA settings that apply to this virtual machine.
	//
	// Values specified in this object override the cluster-wide
	// defaults for virtual machines (`ClusterDasConfigInfo.defaultVmSettings`).
	DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty" json:"dasSettings,omitempty" vim:"2.5"`
}

The `ClusterDasVmConfigInfo` data object contains the HA configuration for a single virtual machine.

All fields are optional. If you set the <code>modify</code> parameter to <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect on the existing property value in the cluster configuration on the Server. If you set the <code>modify</code> parameter to <code>false</code> when you reconfigure a cluster, the cluster configuration is reverted to the default values, then the new configuration values are applied.

type ClusterDasVmConfigSpec

type ClusterDasVmConfigSpec struct {
	ArrayUpdateSpec

	Info *ClusterDasVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
}

An incremental update to the per-virtual-machine vSphere HA configuration.

type ClusterDasVmSettings

type ClusterDasVmSettings struct {
	DynamicData

	// Restart priority for a virtual machine.
	//
	// If not specified at either the cluster level or
	// the virtual machine level, this will default to <code>medium</code>.
	//
	// See also `ClusterDasVmSettingsRestartPriority_enum`.
	RestartPriority string `xml:"restartPriority,omitempty" json:"restartPriority,omitempty"`
	// This setting is used to specify a maximum time the lower priority VMs
	// should wait for the higher priority VMs to be ready.
	//
	// If the higher
	// priority Vms are not ready by this time, then the lower priority VMs
	// are restarted irrespective of the VM ready state. This timeout can be
	// used to prevent the failover of lower priority VMs to be stuck
	// infinitely.
	//
	// This timeout is not used if ready condition is
	// `none`
	//
	// Timeout specified in seconds. To use cluster setting for a VM override,
	// set to -1 in per-VM.
	// setting.
	RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty" json:"restartPriorityTimeout,omitempty" vim:"6.5"`
	// Indicates whether or not the virtual machine should be powered off if a
	// host determines that it is isolated from the rest of the compute
	// resource.
	//
	// If not specified at either the cluster level or
	// the virtual machine level, this will default to <code>powerOff</code>.
	//
	// See also `ClusterDasVmSettingsIsolationResponse_enum`.
	IsolationResponse string `xml:"isolationResponse,omitempty" json:"isolationResponse,omitempty"`
	// Configuration for the VM Health Monitoring Service.
	VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty" json:"vmToolsMonitoringSettings,omitempty" vim:"4.0"`
	// Configuration for the VM Component Protection Service.
	VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty" json:"vmComponentProtectionSettings,omitempty" vim:"6.0"`
}

The `ClusterDasVmSettings` data object contains the HA configuration settings specified for a single virtual machine (identified by `ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.key`) or as cluster-wide defaults `ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`

All fields are optional. If you set the <code>modify</code> parameter to <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect on the existing property value in the cluster configuration on the Server. If you set the <code>modify</code> parameter to <code>false</code> when you reconfigure a cluster, the cluster configuration is reverted to the default values, then the new configuration values are applied.

type ClusterDasVmSettingsIsolationResponse

type ClusterDasVmSettingsIsolationResponse string

The `ClusterDasVmSettingsIsolationResponse_enum` enum defines values that indicate whether or not the virtual machine should be powered off if a host determines that it is isolated from the rest of the cluster.

Host network isolation occurs when a host is still running but it can no longer communicate with other hosts in the cluster and it cannot ping the configured isolation address(es). When the HA agent on a host loses contact with the other hosts, it will ping the isolation addresses. If the pings fail, the host will declare itself isolated.

Once the HA agent declares the host isolated, it will initiate the isolation response workflow after a 30 second delay. You can use the FDM advanced option fdm.isolationPolicyDelaySec to increase the delay. For each virtual machine, the HA agent attempts to determine if a master is responsible for restarting the virtual machine. If it cannot make the determination, or there is a master that is responsible, the agent will apply the configured isolation response. This workflow will continue until the configuration policy, has been applied to all virtual machines, the agent reconnects to another HA agent in the cluster, or the isolation address pings start succeeding. If there is a master agent in the cluster, it will attempt to restart the virtual machines that were powered off during isolation.

By default, the isolated host leaves its virtual machines powered on. You can override the isolation response default with a cluster-wide setting (`ClusterDasConfigInfo.defaultVmSettings`) or a virtual machine setting (`ClusterDasVmSettings.isolationResponse`).

  • All isolation response values are valid for the `ClusterDasVmSettings.isolationResponse` property specified in a single virtual machine HA configuration.
  • All values except for <code>clusterIsolationResponse</code> are valid for the cluster-wide default HA configuration for virtual machines (`ClusterDasConfigInfo.defaultVmSettings`).

If you ensure that your network infrastructure is sufficiently redundant and that at least one network path is available at all times, host network

type ClusterDasVmSettingsRestartPriority

type ClusterDasVmSettingsRestartPriority string

The `ClusterDasVmSettingsRestartPriority_enum` enum defines virtual machine restart priority values to resolve resource contention.

The priority determines the preference that HA gives to a virtual machine if sufficient capacity is not available to power on all failed virtual machines. For example, high priority virtual machines on a host get preference over low priority virtual machines.

All priority values are valid for the restart priority specified in a single virtual machine HA configuration (`ClusterDasVmConfigInfo.dasSettings`). All values except for <code>clusterRestartPriority</code> are valid for the cluster-wide default HA configuration for virtual machines

type ClusterDatastoreUpdateSpec added in v0.27.0

type ClusterDatastoreUpdateSpec struct {
	ArrayUpdateSpec

	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

An incremental update to a Datastore list.

type ClusterDependencyRuleInfo added in v0.12.0

type ClusterDependencyRuleInfo struct {
	ClusterRuleInfo

	// Virtual group name.
	//
	// The virtual group may contain one or more virtual
	// machines.
	// `ClusterVmGroup*.*ClusterGroupInfo.name`
	VmGroup string `xml:"vmGroup" json:"vmGroup"`
	// Depdendency virtual group name
	// (`ClusterVmGroup*.*ClusterGroupInfo.name`).
	//
	// The virtual group may contain one or more virtual machines.
	DependsOnVmGroup string `xml:"dependsOnVmGroup" json:"dependsOnVmGroup"`
}

The `ClusterDependencyRuleInfo` data object indentifies VM-to-VM dependencies.

A VM-VM Dependency rule identifies the following groups.

  • A virtual machine group - `ClusterDependencyRuleInfo.vmGroup`
  • A "depends on" virtual machine group - `ClusterDependencyRuleInfo.dependsOnVmGroup`.

The VMs in `ClusterDependencyRuleInfo.vmGroup` depends on the list of VMs specified in `ClusterDependencyRuleInfo.dependsOnVmGroup`.

For example, this rule is used during vSphere HA VM recovery orchestration. vSphere HA will not restart the VMs in `ClusterDependencyRuleInfo.vmGroup` until all the VMs in `ClusterDependencyRuleInfo.dependsOnVmGroup` are deemded "ready" (See `ClusterVmReadiness`).

All the virtual machines referenced by this rule must be in the same cluster.

type ClusterDestroyedEvent

type ClusterDestroyedEvent struct {
	ClusterEvent
}

This event records when a cluster is destroyed.

type ClusterDpmConfigInfo

type ClusterDpmConfigInfo struct {
	DynamicData

	// Flag indicating whether or not the service is enabled.
	//
	// This
	// service can not be enabled, unless DRS is enabled as well.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Specifies the default VMware DPM behavior for
	// hosts.
	//
	// This default behavior can be overridden on a per host
	// basis using the `ClusterDpmHostConfigInfo` object.
	DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty" json:"defaultDpmBehavior,omitempty"`
	// DPM generates only those recommendations that are above the
	// specified rating.
	//
	// Ratings vary from 1 to 5. This setting applies
	// to both manual and automated (@link DpmBehavior) DPM clusters.
	HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty" json:"hostPowerActionRate,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 4.1, use
	// `ClusterDrsConfigInfo.option`.
	//
	// Advanced settings.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

Configuration of the VMware DPM service.

All fields are defined as optional. In case of a reconfiguration, unset fields are not changed.

type ClusterDpmHostConfigInfo

type ClusterDpmHostConfigInfo struct {
	DynamicData

	// Reference to the host.
	//
	// Refers instance of `HostSystem`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Flag to indicate whether or not VirtualCenter is allowed to perform any
	// power related operations or recommendations for this host.
	//
	// If this flag is false, the host is effectively excluded from
	// DPM service.
	//
	// If no individual DPM specification exists for a host,
	// this property defaults to true.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Specifies the particular DPM behavior for this host.
	//
	// See also `ClusterDpmConfigInfo`.
	Behavior DpmBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
}

DPM configuration for a single host.

This makes it possible to override the default behavior for an individual host.

type ClusterDpmHostConfigSpec

type ClusterDpmHostConfigSpec struct {
	ArrayUpdateSpec

	Info *ClusterDpmHostConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
}

The `ClusterDpmHostConfigSpec` data object provides information that the Server uses to update the DPM configuration for a single host (identified by the `ClusterDpmHostConfigInfo.key` property).

The host DPM configuration overrides the cluster default DPM setting (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmConfig`).

The vSphere API defines three update operations (`ArrayUpdateSpec*.*ArrayUpdateSpec.operation`).

  • add: Define DPM behavior for a host. If the cluster configuration already includes a DPM behavior override for the specified host, this operation removes the existing override and adds the new one. The new DPM override will use the cluster default value if you do not specify the behavior property (`ClusterDpmConfigInfo.defaultDpmBehavior`).
  • edit: Perform an incremental update to an existing DPM configuration entry for a host. The reconfigure method changes only the properties that you set in the data object. The entry must exist in the `ClusterConfigSpecEx*.*ClusterConfigSpecEx.dpmHostConfigSpec` array.
  • remove: Remove the DPM override for the specified host. To identify the host to delete, use the `ArrayUpdateSpec.removeKey` property to specify the `ClusterDpmHostConfigInfo.key` in the host override.

Use the `ComputeResource.ReconfigureComputeResource_Task` method to update the DPM configuration. If you set the modify parameter to true, you can use any of the three operations (add, edit, or remove). If you set the modify parameter to false, you can use only the add operation.

type ClusterDrsConfigInfo

type ClusterDrsConfigInfo struct {
	DynamicData

	// Deprecated as of vSphere API 7.0.
	// To disable DRS load balancing, please use the lowest DRS aggressiveness
	// level, setting `ClusterDrsConfigInfo.vmotionRate` to 5, and/or
	// setting `ClusterDrsConfigInfo.defaultVmBehavior` to manual.
	// The former only generates manadatory move recommendations, not load
	// balancing recommendations. The latter only generates recommendations,
	// without executing them.
	// To remove all the child resource pools, please find the root resource
	// pool `ComputeResource.resourcePool`, and destroy all its
	// children `ResourcePool.DestroyChildren`.
	// Vice versa.
	//
	// Flag indicating whether or not DRS service is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Flag that dictates whether DRS Behavior overrides for individual
	// virtual machines (`ClusterDrsVmConfigInfo`) are enabled.
	//
	// The default
	// value is <code>true</code>.
	//
	// When this flag is <code>true</code>, the
	// `ClusterConfigSpecEx*.*ClusterConfigSpecEx.drsVmConfigSpec`
	// values override the `ClusterDrsConfigInfo.defaultVmBehavior`.
	//
	// When this flag is <code>false</code>, the
	// `ClusterDrsConfigInfo.defaultVmBehavior` value applies to all virtual
	// machines, with the following exception: in a cluster that has EVC disabled,
	// you cannot override the virtual machine setting
	// (`ClusterConfigSpecEx.drsVmConfigSpec`)
	// for Fault Tolerance virtual machines.
	EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides" json:"enableVmBehaviorOverrides,omitempty" vim:"4.0"`
	// Specifies the cluster-wide default DRS behavior for virtual machines.
	//
	// You can override the default behavior for a virtual machine
	// by using the `ClusterDrsVmConfigInfo` object.
	DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
	// Threshold for generated `ClusterRecommendation`s.
	//
	// DRS generates only those recommendations that are above the
	// specified vmotionRate. Ratings vary from 1 to 5. This setting applies
	// to manual, partiallyAutomated, and fullyAutomated
	// DRS clusters. See `DrsBehavior_enum`.
	VmotionRate int32 `xml:"vmotionRate,omitempty" json:"vmotionRate,omitempty"`
	// Specifies the scaling behavior of the shares of all resource pools
	// in the cluster.
	//
	// See `ResourceConfigSpecScaleSharesBehavior_enum`
	// for possible values. If any scaling behavior other than
	// `disabled` is specified,
	// the system will scale the CPU and memory shares allocated to each
	// resource pool with the total shares of all powered on virtual machines
	// under each respective pool. The system will also use the
	// `SharesInfo` set on each resource pool as a multiplier for the
	// scale. Setting the
	// `ClusterDrsConfigInfo.scaleDescendantsShares` on the cluster
	// is equivalent to setting the
	// `ResourceConfigSpec.scaleDescendantsShares` on the root
	// resource pool.
	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty" vim:"7.0"`
	// Advanced settings.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

The `ClusterDrsConfigInfo` data object contains configuration information for the VMware DRS service.

All fields are optional. If you set the <code>modify</code> parameter to <code>true</code> when you call `ComputeResource.ReconfigureComputeResource_Task`, an unset property has no effect on the existing property value in the cluster configuration on the Server. If you set the <code>modify</code> parameter to <code>false</code> when you reconfigure a cluster, the cluster configuration is reverted to the default values, then the new configuration values are applied.

type ClusterDrsFaults

type ClusterDrsFaults struct {
	DynamicData

	// A reason code explaining why this set of recommendations were attempted
	// by DRS when it generated the faults.
	Reason string `xml:"reason" json:"reason"`
	// The faults grouped by VMs that DRS was trying to migrate.
	FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr" json:"faultsByVm"`
}

The faults generated by DRS when it tries to make recommendations for rule enforcement, power management, etc., and indexed in a tree structure with reason for recommendations and VM to migrate (optional) as the index keys.

type ClusterDrsFaultsFaultsByVirtualDisk

type ClusterDrsFaultsFaultsByVirtualDisk struct {
	ClusterDrsFaultsFaultsByVm

	// The virtual disk that storage DRS was trying to migrate when it
	// generated the faults.
	//
	// If this property is NULL, the fault is not
	// associated with a particular virtual disk.
	Disk *VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
}

The faults generated by storage DRS when it tries to move a virtual disk.

type ClusterDrsFaultsFaultsByVm

type ClusterDrsFaultsFaultsByVm struct {
	DynamicData

	// The VM that DRS was trying to migrate when it generated the faults.
	//
	// If this property is NULL, the fault is not associated with a particular VM.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The faults generated by DRS when it was trying to move the given VM.
	Fault []LocalizedMethodFault `xml:"fault" json:"fault"`
}

FaultsByVm is the faults generated by DRS when it tries to move a VM.

func (*ClusterDrsFaultsFaultsByVm) GetClusterDrsFaultsFaultsByVm

func (b *ClusterDrsFaultsFaultsByVm) GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm

type ClusterDrsMigration

type ClusterDrsMigration struct {
	DynamicData

	// A unique key that identifies this recommendation.
	//
	// This
	// is used as an argument to
	// ComputeResource.applyRecommendation.
	Key string `xml:"key" json:"key"`
	// The time this recommendation was computed.
	Time time.Time `xml:"time" json:"time"`
	// The virtual machine selected for migration.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Current CPU load for the virtual machine, in MHz.
	//
	// This property is only populated for recommendations.
	CpuLoad int32 `xml:"cpuLoad,omitempty" json:"cpuLoad,omitempty"`
	// Current memory load for the virtual machine, in bytes.
	//
	// This field is only populated for recommendations.
	MemoryLoad int64 `xml:"memoryLoad,omitempty" json:"memoryLoad,omitempty"`
	// Source host.
	//
	// Refers instance of `HostSystem`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// Current CPU load on the source host, in MHz.
	SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty" json:"sourceCpuLoad,omitempty"`
	// Current memory usage on the source host, in bytes.
	SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty" json:"sourceMemoryLoad,omitempty"`
	// Destination host.
	//
	// Refers instance of `HostSystem`.
	Destination ManagedObjectReference `xml:"destination" json:"destination"`
	// Current CPU load on the destination host, in MHz.
	DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty" json:"destinationCpuLoad,omitempty"`
	// Current memory usage on the destination host, in bytes.
	DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty" json:"destinationMemoryLoad,omitempty"`
}

Describes a single virtual machine migration.

type ClusterDrsRecommendation

type ClusterDrsRecommendation struct {
	DynamicData

	// Key to identify the recommendation when calling applyRecommendation.
	Key string `xml:"key" json:"key"`
	// A rating of the recommendation.
	//
	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
	Rating int32 `xml:"rating" json:"rating"`
	// A reason code explaining why this set of migrations is being suggested.
	Reason string `xml:"reason" json:"reason"`
	// Text that provides more information about the reason code for the suggested
	// set of migrations.
	ReasonText string `xml:"reasonText" json:"reasonText"`
	// Deprecated a more general `recommendation` list should be used. This recommendation type
	// and the migrationList is kept for backward compatibility.
	//
	// List of migrations in this recommendation and all the parent
	// recommendations on which this recommendation depends.
	//
	// All the
	// migrations in this list can be constructed from `ClusterRecommendation.prerequisite` and `ClusterRecommendation.action`.
	MigrationList []ClusterDrsMigration `xml:"migrationList" json:"migrationList"`
}

Deprecated as of VI API 2.5 use `ClusterRecommendation`.

DrsRecommendation describes a recommendation to migrate one or more virtual machines.

type ClusterDrsVmConfigInfo

type ClusterDrsVmConfigInfo struct {
	DynamicData

	// Reference to the virtual machine.
	//
	// Refers instance of `VirtualMachine`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Flag to indicate whether or not VirtualCenter is allowed to perform any
	// DRS migration or initial placement recommendations for this virtual
	// machine.
	//
	// If this flag is false, the virtual machine is effectively excluded from
	// DRS.
	//
	// If no individual DRS specification exists for a virtual machine,
	// this property defaults to true.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Specifies the particular DRS behavior for this virtual machine.
	//
	// See also `ClusterDrsConfigInfo`.
	Behavior DrsBehavior `xml:"behavior,omitempty" json:"behavior,omitempty"`
}

DRS configuration for a single virtual machine.

This makes it possible to override the default behavior for an individual virtual machine.

type ClusterDrsVmConfigSpec

type ClusterDrsVmConfigSpec struct {
	ArrayUpdateSpec

	Info *ClusterDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
}

Updates the per-virtual-machine DRS configuration.

To update the DRS configuration of a virtual machine, a copy of this object is included in the `ClusterConfigSpecEx` object passed to the method `ComputeResource.ReconfigureComputeResource_Task`.

If _reconfigureEx_ is used to incrementally update the cluster configuration (i.e., the parameter `*modify*` is true), then three operations are provided for updating the DRS configuration for a virtual machine. These operations are listed below (see `ArrayUpdateSpec` for more information on these operations).

  • add: add a configuration for the virtual machine, overwritting the existing configuration if one exists
  • edit: incrmentally update the existing configuration; an existing configuration must exist
  • remove: remove the existing configuration; an existing configuration must exist

If, instead, this method is used to overwrite the cluster configuration (i.e., the parameter `*modify*` is false) thereby creating a new configuration, only the add operation is allowed. In this case, _add_ creates a DRS configuration for a virtual machine in the new cluster configuration.

type ClusterEVCManagerCheckResult

type ClusterEVCManagerCheckResult struct {
	DynamicData

	// The EVC mode being tested for legal application.
	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
	// A problem that would prevent applying the desired EVC mode.
	Error LocalizedMethodFault `xml:"error" json:"error"`
	// The set of hosts which would generate the fault described by the
	// `ClusterEVCManagerCheckResult.error` property when the desired EVC mode is applied.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

type ClusterEVCManagerEVCState

type ClusterEVCManagerEVCState struct {
	DynamicData

	// All supported EVC modes.
	//
	// Identical to
	// `Capability.supportedEVCMode`.
	SupportedEVCMode []EVCMode `xml:"supportedEVCMode" json:"supportedEVCMode"`
	// If unset, then EVC is disabled.
	//
	// If set, then EVC is enabled, and the
	// value references an EVC mode described in one of the elements of the
	// `ClusterEVCManagerEVCState.supportedEVCMode` array property. The EVC mode determines the
	// set of guaranteed clusterwide CPU features. While EVC is enabled, CPU
	// compatibility issues will not block any VMotion within the cluster
	// (unless some VM is specifically configured to do different CPUID
	// overrides).
	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty"`
	// Deprecated as of vSphere API 6.5 use `ClusterEVCManagerEVCState.featureCapability`.
	//
	// When EVC is enabled, this array contains the CPU feature bits that are
	// guaranteed (by EVC) to be the same among all hosts in the cluster.
	//
	// This property has the same value as the guaranteedCPUFeatures property
	// of the configured EVC mode. On any host in the EVC cluster, the CPU
	// features either naturally match these values because of the CPU
	// hardware, or else CPU feature override is used to mask out differences
	// and enforce a match. This array is empty when EVC is disabled.
	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty"`
	// When EVC is enabled, this array contains the feature capabilities that
	// are guaranteed (by EVC) to be the same among all hosts in the cluster.
	//
	// This property has the same value as the featureCapability property
	// of the configured EVC mode. On any host in the EVC cluster, the feature
	// capabilities either naturally match these values because of the CPU
	// hardware, or else feature masks are used to mask out differences and
	// enforce a match. This array is empty when EVC is disabled.
	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty"`
	// The masks (modifications to a host's feature capabilities) that limit a
	// host's capabilities to that of the EVC mode baseline.
	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty"`
	// The conditions that must be true of a host's feature capabilities in order
	// for the host to meet the minimum requirements of the EVC mode baseline.
	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
}

type ClusterEnterMaintenanceModeRequestType

type ClusterEnterMaintenanceModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The array of hosts to put into maintenance mode.
	//
	// Required privileges: Host.Config.Maintenance
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
	// An array of `OptionValue`
	// options for this query. The specified options override the
	// advanced options in `ClusterDrsConfigInfo`.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

The parameters of `ClusterComputeResource.ClusterEnterMaintenanceMode`.

type ClusterEnterMaintenanceModeResponse

type ClusterEnterMaintenanceModeResponse struct {
	Returnval ClusterEnterMaintenanceResult `xml:"returnval" json:"returnval"`
}

type ClusterEnterMaintenanceResult

type ClusterEnterMaintenanceResult struct {
	DynamicData

	// The list of recommendations for hosts that Virtual Center will
	// be able to evacuate.
	//
	// Each recommendation consists of a host
	// maintenance action `ClusterAction` for a host, along
	// with zero or more vmotions for evacuation. Application of the
	// recommendations is not supported currently. The client will have
	// to put the hosts into maintenance mode by calling the separate
	// method `HostSystem.EnterMaintenanceMode_Task`.
	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
	// The faults that explain why the Virtual Center cannot evacuate
	// some hosts.
	Fault *ClusterDrsFaults `xml:"fault,omitempty" json:"fault,omitempty"`
}

EnterMaintenanceResult is the base class of the result returned to the `ClusterComputeResource.ClusterEnterMaintenanceMode` method.

type ClusterEvent

type ClusterEvent struct {
	Event
}

These are cluster events.

func (*ClusterEvent) GetClusterEvent

func (b *ClusterEvent) GetClusterEvent() *ClusterEvent

type ClusterFailoverHostAdmissionControlInfo

type ClusterFailoverHostAdmissionControlInfo struct {
	ClusterDasAdmissionControlInfo

	// Status of the failover hosts in the cluster.
	HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty" json:"hostStatus,omitempty"`
}

The current admission control related information if the cluster was configured with a FailoverHostAdmissionControlPolicy.

type ClusterFailoverHostAdmissionControlInfoHostStatus

type ClusterFailoverHostAdmissionControlInfoHostStatus struct {
	DynamicData

	// The failover host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The status of the failover host.
	//
	// The status is green for a connected host with no vSphere HA errors and
	// no virtual machines running on it.
	// The status is yellow for a connected host with no vSphere HA errors and
	// some virtual machines running on it.
	// The status red for a disconnected or not responding host, a host that
	// is in maintenance or standby mode or that has a vSphere HA error on it.
	Status ManagedEntityStatus `xml:"status" json:"status"`
}

Data object containing the status of a failover host.

type ClusterFailoverHostAdmissionControlPolicy

type ClusterFailoverHostAdmissionControlPolicy struct {
	ClusterDasAdmissionControlPolicy

	// List of managed object references to failover hosts.
	//
	// Refers instances of `HostSystem`.
	FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty" json:"failoverHosts,omitempty"`
	// Number of host failures that should be tolerated, still guaranteeing
	// sufficient resources to restart virtual machines on available hosts.
	//
	// If not set, we assume 1.
	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty" vim:"6.5"`
}

The `ClusterFailoverHostAdmissionControlPolicy` dedicates one or more hosts for use during failover.

When a host fails with this policy in place, vSphere HA attempts to restart its virtual machines on a dedicated failover host. If this is not possible, for example the failover host itself has failed or it has insufficient resources, HA attempts to restart those virtual machines on another host in the cluster.

To support the availabilty of a failover host, the vCenter Server will prevent users from powering on virtual machines on that host, or from using vMotion to migrate virtual machines to the host. Also, DRS does not use the failover host for load balancing.

To obtain the status of a failover host, use the `ClusterFailoverHostAdmissionControlInfo.hostStatus` property (`ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.admissionControlInfo*.*ClusterFailoverHostAdmissionControlInfo.hostStatus`).

type ClusterFailoverLevelAdmissionControlInfo

type ClusterFailoverLevelAdmissionControlInfo struct {
	ClusterDasAdmissionControlInfo

	// Current failover level.
	//
	// This is the number of physical host failures that
	// can be tolerated without impacting the ability to satisfy the minimums for
	// all running virtual machines. This represents the current value, as
	// opposed to desired value configured by the user.
	CurrentFailoverLevel int32 `xml:"currentFailoverLevel" json:"currentFailoverLevel"`
}

The current admission control related information if the cluster was configured with a FailoverLevelAdmissionControlPolicy.

type ClusterFailoverLevelAdmissionControlPolicy

type ClusterFailoverLevelAdmissionControlPolicy struct {
	ClusterDasAdmissionControlPolicy

	// Number of host failures that should be tolerated, still guaranteeing
	// sufficient resources to restart virtual machines on available hosts.
	FailoverLevel int32 `xml:"failoverLevel" json:"failoverLevel"`
	// A policy for how to compute the slot size.
	//
	// If left unset, the slot is
	// computed using the maximum reservations and memory overhead of any
	// powered on virtual machine in the cluster.
	SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr" json:"slotPolicy,omitempty" vim:"5.1"`
}

The `ClusterFailoverLevelAdmissionControlPolicy` defines the number of host failures that should be tolerated and still guarantee enough unfragmented resources to failover all powered on virtual machines on those failed hosts.

When you use the failover level policy, vSphere HA partitions resources into slots. A slot represents the minimum CPU and memory resources that are required to support any powered-on virtual machine in the cluster.

With the failover level policy in place, HA uses the following slot calculations to control virtual machine migration within the cluster:

  1. Calculate the slot size from CPU and memory reservations. The CPU value is the largest CPU reservation for all powered-on virtual machines in the cluster. The memory value is the largest memory reservation (plus memory overhead).

    If your cluster contains any virtual machines that have much larger reservations than the others, they will distort slot size calculation. To avoid this, you can specify an upper bound for slot sizes; use the configuration editor in the vSphere Client to set the das.slotCpuInMHz and das.slotMemInMB attributes. When you use these attributes, there is a risk that resource fragmentation will cause virtual machines with resource requirements larger than the slot size to be assigned multiple slots. In a cluster that is close to capacity, there might be enough slots in aggregate for HA to successfully failover a virtual machine. However, if those slots are located on multiple hosts, a virtual machine assigned multiple slots cannot use them because a virtual machine can run on only a single host at a time.

  2. Determine how many slots each host in the cluster can hold. HA uses the CPU and memory resources in a host's root resource pool to determine host slot capacity, not the total physical resources of the host. Resources used for virtualization purposes are not included. HA uses connected hosts that are not in maintenance mode and that do not have any HA errors.

    The CPU slot resource is the host CPU resource amount divided by the CPU component of the slot size; the result is rounded down. HA makes the same calculation for host memory resource amount. HA compares the results; the lower of the two numbers is the host slot capacity.

  3. Determine the current failover capacity of the cluster. This is the number of hosts (starting from the largest) that can fail and still leave enough slots to satisfy all of the powered-on virtual machines.

  4. Compare the current failover capacity to the configured `ClusterFailoverLevelAdmissionControlPolicy.failoverLevel`. If the current failover capacity is less than the configured failover level, HA disallows the operation.

type ClusterFailoverResourcesAdmissionControlInfo

type ClusterFailoverResourcesAdmissionControlInfo struct {
	ClusterDasAdmissionControlInfo

	// The percentage of cpu resources in the cluster available for failover.
	CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent" json:"currentCpuFailoverResourcesPercent"`
	// The percentage of memory resources in the cluster available for failover.
	CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent" json:"currentMemoryFailoverResourcesPercent"`
	// The percentage of persistent memory resources in the cluster available
	// for failover.
	CurrentPMemFailoverResourcesPercent int32 `xml:"currentPMemFailoverResourcesPercent,omitempty" json:"currentPMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
}

The current admission control related information if the cluster was configured with a FailoverResourcesAdmissionControlPolicy.

type ClusterFailoverResourcesAdmissionControlPolicy

type ClusterFailoverResourcesAdmissionControlPolicy struct {
	ClusterDasAdmissionControlPolicy

	// Percentage of CPU resources in the cluster to reserve for failover.
	//
	// You can specify up to 100% of CPU resources for failover.
	CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent" json:"cpuFailoverResourcesPercent"`
	// Percentage of memory resources in the cluster to reserve for failover.
	//
	// You can specify up to 100% of memory resources for failover.
	MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent" json:"memoryFailoverResourcesPercent"`
	// Number of host failures that should be tolerated, still guaranteeing
	// sufficient resources to restart virtual machines on available hosts.
	//
	// If not set, we assume 1.
	FailoverLevel int32 `xml:"failoverLevel,omitempty" json:"failoverLevel,omitempty" vim:"6.5"`
	// Flag to enable user input values for
	// `ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent`
	// and
	// `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`
	// By default, this is true and the default calculation is using the
	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel`
	// hosts' resources.
	//
	// If users want to override the percentage values,
	// they must disable the auto-compute by setting this field to false.
	AutoComputePercentages *bool `xml:"autoComputePercentages" json:"autoComputePercentages,omitempty" vim:"6.5"`
	// Percentage of persistent memory resources in the cluster to reserve for
	// the failover.
	//
	// You can specify up to 100% of persistent memory resources for failover.
	PMemFailoverResourcesPercent int32 `xml:"pMemFailoverResourcesPercent,omitempty" json:"pMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
	// Flag to enable user input values for
	// `ClusterFailoverResourcesAdmissionControlPolicy.pMemFailoverResourcesPercent`
	// By default, this is true and the default calculation is done using the
	// `ClusterFailoverResourcesAdmissionControlPolicy.failoverLevel` hosts' resources.
	//
	// If a user wants to override the percentage values, they
	// must disable the auto-compute by setting this field to false.
	AutoComputePMemFailoverResourcesPercent *bool `xml:"autoComputePMemFailoverResourcesPercent" json:"autoComputePMemFailoverResourcesPercent,omitempty" vim:"7.0.2.0"`
}

The `ClusterFailoverResourcesAdmissionControlPolicy` reserves a specified percentage of aggregate cluster resources for failover.

With the resources failover policy in place, vSphere HA uses the following calculations to control virtual machine migration in the cluster.

  1. Calculate the total resource requirements for all powered-on virtual machines in the cluster.
  2. Calculate the total host resources available for virtual machines.
  3. Calculate the Current CPU failover capacity, memory failover capacity and optionally, persistent memory failover capacity for the cluster.
  4. Compare the current CPU failover capacity and current memory failover capacity with the configured resource percentages (`ClusterFailoverResourcesAdmissionControlPolicy.cpuFailoverResourcesPercent` and `ClusterFailoverResourcesAdmissionControlPolicy.memoryFailoverResourcesPercent`). If either current capacity is less than the corresponding configured capacity, HA does not allow the operation.

HA uses the actual reservations of the virtual machines. If a virtual machine does not have reservations, meaning that the reservation is 0, a default of 0MB memory and 256MHz CPU is applied. This is controlled by the same HA advanced options used for the failover level policy (`ClusterFailoverLevelAdmissionControlPolicy`).

type ClusterFixedSizeSlotPolicy

type ClusterFixedSizeSlotPolicy struct {
	ClusterSlotPolicy

	// The cpu component of the slot size (in MHz)
	Cpu int32 `xml:"cpu" json:"cpu"`
	// The memory component of the slot size (in megabytes)
	Memory int32 `xml:"memory" json:"memory"`
}

This policy allows setting a fixed slot size

type ClusterGroupInfo

type ClusterGroupInfo struct {
	DynamicData

	// Unique name of the group.
	Name string `xml:"name" json:"name"`
	// Flag to indicate whether the group is created by the user or the system.
	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty" vim:"5.0"`
	// Unique ID for the group.
	//
	// uniqueID is unique within a cluster.
	// Groups residing in different clusters might share a uniqueID.
	UniqueID string `xml:"uniqueID,omitempty" json:"uniqueID,omitempty" vim:"6.0"`
}

`ClusterGroupInfo` is the base type for all virtual machine and host groups.

All virtual machines and hosts that are part of a group must be part of the same cluster.

func (*ClusterGroupInfo) GetClusterGroupInfo

func (b *ClusterGroupInfo) GetClusterGroupInfo() *ClusterGroupInfo

type ClusterGroupSpec

type ClusterGroupSpec struct {
	ArrayUpdateSpec

	Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
}

An incremental update to the cluster-wide groups.

type ClusterHostGroup

type ClusterHostGroup struct {
	ClusterGroupInfo

	// List of hosts that are part of this group.
	//
	// A host group can contain zero or more hosts.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The `ClusterHostGroup` data object identifies hosts for VM-Host rules.

VM-Host rules determine placement of virtual machines on hosts in a cluster. The logic specified in a `ClusterVmHostRuleInfo` object determines where virtual machines can be powered-on.

type ClusterHostInfraUpdateHaModeAction added in v0.12.0

type ClusterHostInfraUpdateHaModeAction struct {
	ClusterAction

	// Specify the action type.
	//
	// Values are of type
	// `OperationType`.
	OperationType string `xml:"operationType" json:"operationType"`
}

Describes a HostSystem's quarantine or maintenance mode change action.

type ClusterHostInfraUpdateHaModeActionOperationType added in v0.12.0

type ClusterHostInfraUpdateHaModeActionOperationType string

Describes the operation type of the action.

enterexitQuarantine suggests that the host is only exiting the quarantine state (i.e. not the

type ClusterHostPowerAction

type ClusterHostPowerAction struct {
	ClusterAction

	// Specify whether the action is power on or power off
	OperationType HostPowerOperationType `xml:"operationType" json:"operationType"`
	// Estimated power consumption of the host.
	//
	// In case of power-on,
	// this is the projected increase in the cluster's power
	// consumption. In case of power off, this is the projected
	// decrease in the cluster's power consumption
	PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty" json:"powerConsumptionWatt,omitempty"`
	// CPU capacity of the host in units of MHz.
	//
	// In case of power-on
	// action, this is the projected increase in the cluster's CPU
	// capacity. In case of power off, this is the projected decrease
	// in the cluster's CPU capacity.
	CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty" json:"cpuCapacityMHz,omitempty"`
	// Memory capacity of the host in units of MM.
	//
	// In case of power-on
	// action, this is the projected increase in the cluster's memory
	// capacity. In case of power off, this is the projected decrease
	// in the cluster's memory capacity.
	MemCapacityMB int32 `xml:"memCapacityMB,omitempty" json:"memCapacityMB,omitempty"`
}

Describes a single host power action.

type ClusterHostRecommendation

type ClusterHostRecommendation struct {
	DynamicData

	// The recommended host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Rating for the recommendation.
	//
	// Ratings range from 1 to 5, and
	// the higher the rating, the stronger DRS suggests this host is
	// picked for the operation.
	Rating int32 `xml:"rating" json:"rating"`
}

A DRS recommended host for either powering on, resuming or reverting a virtual machine, or migrating a virtual machine from outside the cluster.

type ClusterInfraUpdateHaConfigInfo added in v0.12.0

type ClusterInfraUpdateHaConfigInfo struct {
	DynamicData

	// Flag indicating whether or not the service is enabled.
	//
	// InfraUpdateHA
	// will not be active, unless DRS is enabled as well.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Configured behavior.
	//
	// Values are of type
	// `BehaviorType`.
	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
	// Configured remediation for moderately degraded hosts.
	//
	// Values are of type
	// `RemediationType`.
	// Configuring MaintenanceMode for moderateRemedation and QuarantineMode for
	// severeRemediation is not supported and will throw InvalidArgument.
	ModerateRemediation string `xml:"moderateRemediation,omitempty" json:"moderateRemediation,omitempty"`
	// Configured remediation for severely degraded hosts.
	//
	// Values are of type
	// `RemediationType`.
	SevereRemediation string `xml:"severeRemediation,omitempty" json:"severeRemediation,omitempty"`
	// The list of health update providers configured for this cluster.
	//
	// Providers are identified by their id.
	//
	// When reconfiguring the cluster, a list with a single element {""} will
	// clear the list of providers.
	//
	// If the provider list is empty, InfraUpdateHA will not be active.
	Providers []string `xml:"providers,omitempty" json:"providers,omitempty"`
}

Configuration of the vSphere InfraUpdateHA service.

All fields are defined as optional. In case of a reconfiguration, unset fields are not changed.

type ClusterInfraUpdateHaConfigInfoBehaviorType added in v0.12.0

type ClusterInfraUpdateHaConfigInfoBehaviorType string

type ClusterInfraUpdateHaConfigInfoRemediationType added in v0.12.0

type ClusterInfraUpdateHaConfigInfoRemediationType string

type ClusterInitialPlacementAction

type ClusterInitialPlacementAction struct {
	ClusterAction

	// The host where the virtual machine should be initially placed.
	//
	// Refers instance of `HostSystem`.
	TargetHost ManagedObjectReference `xml:"targetHost" json:"targetHost"`
	// The resource pool to place the virtual machine into in case this
	// action is for migrating from outside cluster.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
}

Describes an initial placement of a single virtual machine

type ClusterIoFilterInfo

type ClusterIoFilterInfo struct {
	IoFilterInfo

	// The operation that was performed for the IO Filter.
	//
	// The set of possible values are described in
	// `IoFilterOperation_enum`.
	// If opType is `uninstall`,
	// and the uninstallation of the filter was sucessful on all the hosts
	// in the cluster, the filter will be removed from the cluster's filter
	// list.
	OpType string `xml:"opType" json:"opType"`
	// The URL of the VIB package that the IO Filter is installed from.
	//
	// The property is unset if the information is not available.
	VibUrl string `xml:"vibUrl,omitempty" json:"vibUrl,omitempty" vim:"6.5"`
}

Information about an IO Filter on a compute resource.

type ClusterMigrationAction

type ClusterMigrationAction struct {
	ClusterAction

	// The details of the migration action
	DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty" json:"drsMigration,omitempty"`
}

Describes a single VM migration action.

type ClusterNetworkConfigSpec added in v0.12.0

type ClusterNetworkConfigSpec struct {
	DynamicData

	// The portgroup that is associated with the VCHA Cluster IP
	// address for VCHA cluster traffic for the second adapter to be
	// added to the Active vCenter.
	//
	// Refers instance of `Network`.
	NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup" json:"networkPortGroup"`
	// VCHA Cluster network configuration of the node.
	//
	// All cluster communication (state replication, heartbeat,
	// cluster messages) happens over this network.
	// Only a single Gateway IPv4 Address is supported.
	// IPAddress and NetMask must be specified or an InvalidArgument
	// exception will be reported.
	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
}

The Cluster network config spec allows specification of the second network adapter is used for communication between the nodes of a VCHA cluster.

type ClusterNotAttemptedVmInfo

type ClusterNotAttemptedVmInfo struct {
	DynamicData

	// The virtual machine that can not be powered on.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The exception returned.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

This data class reports one virtual machine powerOn failure.

type ClusterOrchestrationInfo added in v0.12.0

type ClusterOrchestrationInfo struct {
	DynamicData

	// Cluster-wide defaults for virtual machine readiness
	DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty" json:"defaultVmReadiness,omitempty"`
}

vSphere cluster VM orchestration settings.

Used by vSphere HA when restarting failed VMs. For example, if a host fails, vSphere HA identifies the list of VMs to be restarted. The order in which the failed VMs to be restarted is determined by:

  • VM restart priority setting (`ClusterDasVmSettings.restartPriority`). Lower priority VMs are restarted only after higher priority VMs are restarted and ready (`ClusterVmReadiness`).
  • VM dependency rule (`ClusterDependencyRuleInfo`). If a VM depends on other VMs, then it will be restarted only after all the VMs in its dependency list are ready. Cyclic dependency is not permitted across VMs. Also, higher priority VMs cannot depend on lower priority VMs.

type ClusterOvercommittedEvent

type ClusterOvercommittedEvent struct {
	ClusterEvent
}

This event records when a cluster's host capacity cannot satisfy resource configuration constraints.

func (*ClusterOvercommittedEvent) GetClusterOvercommittedEvent

func (b *ClusterOvercommittedEvent) GetClusterOvercommittedEvent() *ClusterOvercommittedEvent

type ClusterPowerOnVmOption

type ClusterPowerOnVmOption string

type ClusterPowerOnVmResult

type ClusterPowerOnVmResult struct {
	DynamicData

	// The list of virtual machines the Virtual Center has attempted to power on.
	//
	// For a virtual machine not managed by DRS, a task ID is also returned.
	Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty" json:"attempted,omitempty"`
	// The list of virtual machines DRS can not find suitable hosts for powering on.
	//
	// There is one fault associated with each virtual machine.
	NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty" json:"notAttempted,omitempty"`
	// The list of recommendations that need the client to approve manually.
	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
}

PowerOnVmResult is the base class of the result returned to the `Datacenter.PowerOnMultiVM_Task` method.

type ClusterPreemptibleVmPairInfo added in v0.29.0

type ClusterPreemptibleVmPairInfo struct {
	DynamicData

	// Server-assigned unique ID for pairs.
	//
	// When adding a new pair, do not
	// specify this property. The server will assign the key and any assigned
	// value will be ignored.
	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
	// The virtual machine whose failure will cause the virtual machine specified
	// by `ClusterPreemptibleVmPairInfo.preemptibleVm` to be terminated.
	//
	// Refers instance of `VirtualMachine`.
	MonitoredVm ManagedObjectReference `xml:"monitoredVm" json:"monitoredVm"`
	// The preemptible virtual machine associated with the virtual machine
	// specified as `ClusterPreemptibleVmPairInfo.monitoredVm`.
	//
	// Refers instance of `VirtualMachine`.
	PreemptibleVm ManagedObjectReference `xml:"preemptibleVm" json:"preemptibleVm"`
}

The `ClusterPreemptibleVmPairInfo` data object contains the monitored and the preemptible VM pair in a HA-enabled cluster.

Monitored virtual machine is a desired protected virtual machine in HA-enabled cluster when it is powered on. Any failures of this VM will continue to be handled by HA based on the VM's settings in cluster.

Preemptible virtual machine is the desired protected virtual machine in HA when it is powered on. The lowest restart priority "disabled" `ClusterDasVmSettingsRestartPriority_enum` will be enforced for the `ClusterPreemptibleVmPairInfo.preemptibleVm`. A virtual machine can be marked as preemptible irrespective of its `powerState` but its extra configuration should identify it as preemptible.

In case of failure of `ClusterPreemptibleVmPairInfo.monitoredVm`, the `ClusterPreemptibleVmPairInfo.preemptibleVm` will be terminated. This will free up any resources associated with `ClusterPreemptibleVmPairInfo.preemptibleVm`.

In case of insufficient resources for failover of any VM in the cluster, the `ClusterPreemptibleVmPairInfo.preemptibleVm` will be terminated to free up resources.

This data object is intended for VMware use and other usage is not supported. This data object will be removed in a future release.

type ClusterPreemptibleVmPairSpec added in v0.29.0

type ClusterPreemptibleVmPairSpec struct {
	ArrayUpdateSpec

	Info *ClusterPreemptibleVmPairInfo `xml:"info,omitempty" json:"info,omitempty"`
}

Provides monitored and preemptible VM pair along with any of the operations (add, edit or remove) to append, modify or remove this pair info from `ClusterPreemptibleVmPairInfo` list.

This data object is intended for VMware use and other usage is not supported. This data object will be removed in a future release.

type ClusterProactiveDrsConfigInfo added in v0.12.0

type ClusterProactiveDrsConfigInfo struct {
	DynamicData

	// Flag indicating whether or not the service is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
}

type ClusterProfileCompleteConfigSpec

type ClusterProfileCompleteConfigSpec struct {
	ClusterProfileConfigSpec

	// User defined compliance profile for the cluster.
	//
	// If unset, clear the complyProfile.
	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
}

DataObject completely specifying the configuration of the profile.

type ClusterProfileConfigInfo

type ClusterProfileConfigInfo struct {
	ProfileConfigInfo

	// Compliance profile for the cluster
	ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty" json:"complyProfile,omitempty"`
}

type ClusterProfileConfigServiceCreateSpec

type ClusterProfileConfigServiceCreateSpec struct {
	ClusterProfileConfigSpec

	// Type of the service for which the ClusterProfile is being requested.
	//
	// If more than one service is specified, the created ClusterProfile
	// will cater for all the services.
	// Possible values are specified by
	// `ClusterProfileServiceType_enum`.
	// If unset, clear the compliance expressions on the profile.
	ServiceType []string `xml:"serviceType,omitempty" json:"serviceType,omitempty"`
}

DataObject which allows reconfiguration of a profile based on services that will be available on the cluster.

type ClusterProfileConfigSpec

type ClusterProfileConfigSpec struct {
	ClusterProfileCreateSpec
}

DataObject which is a baseclass for other configuration specifications.

func (*ClusterProfileConfigSpec) GetClusterProfileConfigSpec

func (b *ClusterProfileConfigSpec) GetClusterProfileConfigSpec() *ClusterProfileConfigSpec

type ClusterProfileCreateSpec

type ClusterProfileCreateSpec struct {
	ProfileCreateSpec
}

Base class for Cluster CreateSpecs

func (*ClusterProfileCreateSpec) GetClusterProfileCreateSpec

func (b *ClusterProfileCreateSpec) GetClusterProfileCreateSpec() *ClusterProfileCreateSpec

type ClusterProfileServiceType

type ClusterProfileServiceType string

type ClusterRecommendation

type ClusterRecommendation struct {
	DynamicData

	// Key to identify the recommendation when calling applyRecommendation.
	Key string `xml:"key" json:"key"`
	// Type of the recommendation.
	//
	// This differentiates between various
	// of recommendations aimed at achieving different goals.
	Type string `xml:"type" json:"type"`
	// The time this recommendation was computed.
	Time time.Time `xml:"time" json:"time"`
	// A rating of the recommendation.
	//
	// Valid values range from 1 (lowest confidence) to 5 (highest confidence).
	Rating int32 `xml:"rating" json:"rating"`
	// A reason code explaining why this set of migrations is being suggested.
	Reason string `xml:"reason" json:"reason"`
	// Text that provides more information about the reason code for the suggested
	// set of migrations.
	ReasonText string `xml:"reasonText" json:"reasonText"`
	// Text that provides warnings about potential adverse implications of
	// applying this recommendation
	WarningText string `xml:"warningText,omitempty" json:"warningText,omitempty" vim:"6.0"`
	// Warning about potential adverse implications of applying a recommendation
	WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty" json:"warningDetails,omitempty" vim:"6.0"`
	// This recommendation may depend on some other recommendations.
	//
	// The prerequisite recommendations are listed by their keys.
	Prerequisite []string `xml:"prerequisite,omitempty" json:"prerequisite,omitempty"`
	// List of actions that are executed as part of this recommendation
	Action []BaseClusterAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
	// The target object of this recommendation.
	Target *ManagedObjectReference `xml:"target,omitempty" json:"target,omitempty"`
}

Recommendation is the base class for any packaged group of actions that are intended to take the system from one state to another one.

type ClusterReconfiguredEvent

type ClusterReconfiguredEvent struct {
	ClusterEvent

	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records when a cluster is reconfigured.

type ClusterResourceUsageSummary

type ClusterResourceUsageSummary struct {
	DynamicData

	CpuUsedMHz        int32 `xml:"cpuUsedMHz" json:"cpuUsedMHz"`
	CpuCapacityMHz    int32 `xml:"cpuCapacityMHz" json:"cpuCapacityMHz"`
	MemUsedMB         int32 `xml:"memUsedMB" json:"memUsedMB"`
	MemCapacityMB     int32 `xml:"memCapacityMB" json:"memCapacityMB"`
	PMemAvailableMB   int64 `xml:"pMemAvailableMB,omitempty" json:"pMemAvailableMB,omitempty"`
	PMemCapacityMB    int64 `xml:"pMemCapacityMB,omitempty" json:"pMemCapacityMB,omitempty"`
	StorageUsedMB     int64 `xml:"storageUsedMB" json:"storageUsedMB"`
	StorageCapacityMB int64 `xml:"storageCapacityMB" json:"storageCapacityMB"`
}

This class contains cpu, memory and storage usage information at cluster level.

type ClusterRuleInfo

type ClusterRuleInfo struct {
	DynamicData

	// Unique ID for rules.
	//
	// When adding a new rule, do not specify this property.
	// The Server will assign the key.
	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
	// Flag to indicate whether or not the rule is currently satisfied.
	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty"`
	// Flag to indicate whether or not the rule is enabled.
	//
	// Set this property
	// when you configure the rule. The default value is false (disabled).
	// If there is a rule conflict, the Server can override the setting to disable
	// a rule.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Name of the rule.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Flag to indicate whether compliance with this rule is mandatory or optional.
	//
	// The default value is false (optional).
	//     - A mandatory rule will prevent a virtual machine from being powered on
	//       or migrated to a host that does not satisfy the rule.
	//     - An optional rule specifies a preference. DRS takes an optional rule
	//       into consideration when it places a virtual machine in the cluster.
	//       DRS will act on an optional rule as long as it does not impact
	//       the ability of the host to satisfy current CPU or memory requirements
	//       for virtual machines on the system. (As long as the operation does not
	//       cause any host to be more than 100% utilized.)
	Mandatory *bool `xml:"mandatory" json:"mandatory,omitempty" vim:"4.1"`
	// Flag to indicate whether the rule is created by the user or the system.
	UserCreated *bool `xml:"userCreated" json:"userCreated,omitempty" vim:"4.1"`
	// Flag to indicate whether or not the placement of Virtual Machines is currently
	// in compliance with this rule.
	//
	// The Server does not currently use this property.
	InCompliance *bool `xml:"inCompliance" json:"inCompliance,omitempty" vim:"4.1"`
	// UUID for the rule.
	//
	// When adding a new rule, do not specify this
	// property. The Server will assign the key.
	RuleUuid string `xml:"ruleUuid,omitempty" json:"ruleUuid,omitempty" vim:"6.0"`
}

The `ClusterRuleInfo` data object is the base type for affinity and anti-affinity rules.

The affinity and anti-affinity rules are DRS (Distributed Resource Scheduling) rules that affect the placement of virtual machines in a cluster. Hosts and virtual machines referenced in a DRS rule must be in the same cluster.

Note: DRS rules are different than an individual host's CPU affinity rules (`VirtualMachineAffinityInfo`).

The Server uses DRS rule objects to describe the current rule configuration (`ClusterConfigInfoEx*.*ClusterConfigInfoEx.rule`). Your client application uses rule objects to configure the affinity and anti-affinity rules (`ClusterConfigSpecEx*.*ClusterConfigSpecEx.rulesSpec`).

You can create the following types of rules:

  • An affinity rule defines a set of virtual machines that should run on the same host. The `ClusterAffinityRuleSpec` object describes a rule that identifies virtual machines, but does not identify any specific host.
  • An anti-affinity rule defines a set of virtual machines that should run on different hosts. The `ClusterAntiAffinityRuleSpec` object describes a rule that identifies virtual machines, but does not identify any specific host.
  • A VM-Host rule defines affinity and anti-affinity relationships between virtual machines and hosts. The `ClusterVmHostRuleInfo` object describes a rule that identifies a virtual machine group (`ClusterVmGroup`) and affinity and anti-affinity host groups (`ClusterHostGroup`).

Rule configuration is a dynamic process. When you create or modify a DRS rule, the Server applies the rule to the cluster. If the existing cluster configuration violates the rule, the Server attempts to correct the situation. If that is not possible, the Server generates a fault and produces a log event. DRS rules do not have precedence; all rules are applied equally. DRS does not validate one rule against another. If you create conflicting rules, the older rule takes precedence and DRS disables the newer rule.

Improperly used, DRS rules can fragment the cluster and inhibit the proper functioning of DRS, HA, and DPM services. vSphere services never take any actions that would result in the violation of mandatory DRS rules. An operation that violates a mandatory rule would produce the following consequences.

  • DRS does not evacuate virtual machines to place a host in maintenance mode.
  • DRS does not place virtual machines for power-on or load balance virtual machines.
  • HA does not perform failovers.
  • DPM does not optimize power management by placing hosts into standby mode.

To avoid these situations, exercise caution when creating more than one mandatory rule, or consider using only optional rules. Make sure that the number of hosts with which a virtual machine is related by affinity rule is large enough that losing a host does not prevent the virtual machine from running.

For manual and partially automated DRS clusters, the Server produces migration recommendations to satisfy the DRS rules. You are not required to act on the recommendations, but the Server maintains the recommendations until the rules are satisfied.

func (*ClusterRuleInfo) GetClusterRuleInfo

func (b *ClusterRuleInfo) GetClusterRuleInfo() *ClusterRuleInfo

type ClusterRuleSpec

type ClusterRuleSpec struct {
	ArrayUpdateSpec

	Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr" json:"info,omitempty"`
}

An incremental update to the cluster rules.

type ClusterSlotPolicy

type ClusterSlotPolicy struct {
	DynamicData
}

The base class `ClusterSlotPolicy` is used for specifying how the slot size is to be computed for the failover level HA admission control policy.

By default, vSphere HA defines the slot size using the largest memory and cpu reservations of any powered on virtual machine in the cluster. Subclasses of this class define various policies to modify how the slot size is chosen to prevent outlier virtual machines (i.e. those with much larger reservations than the average) from skewing the slot size. If such a policy is chosen, outlier virtual machines will use multiple slots. Using such a policy introduces a risk that vSphere HA will be unable to failover these virtual machines because of resource fragmentation.

func (*ClusterSlotPolicy) GetClusterSlotPolicy

func (b *ClusterSlotPolicy) GetClusterSlotPolicy() *ClusterSlotPolicy

type ClusterStatusChangedEvent

type ClusterStatusChangedEvent struct {
	ClusterEvent

	// The old (`status`).
	OldStatus string `xml:"oldStatus" json:"oldStatus"`
	// The new (`status`).
	NewStatus string `xml:"newStatus" json:"newStatus"`
}

This event records when a cluster's overall status changed.

func (*ClusterStatusChangedEvent) GetClusterStatusChangedEvent

func (b *ClusterStatusChangedEvent) GetClusterStatusChangedEvent() *ClusterStatusChangedEvent

type ClusterSystemVMsConfigInfo added in v0.27.0

type ClusterSystemVMsConfigInfo struct {
	DynamicData

	// The only datastores which can be used for System VMs deployment.
	//
	// Refers instances of `Datastore`.
	AllowedDatastores []ManagedObjectReference `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
	// Datastores which cannot be used for System VMs deployment.
	//
	// Refers instances of `Datastore`.
	NotAllowedDatastores []ManagedObjectReference `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
	// Tag categories identifying datastores, which cannot be used for System VMs
	// deployment.
	DsTagCategoriesToExclude []string `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
	// The System VM deployment mode for vSphere clusters.
	//
	// Supported values are enumerated by the
	// `DeploymentMode`
	// type.
	// An unset value implies SYSTEM\_MANAGED,
	// unless the cluster is put in "Retreat Mode".
	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
}

Configuration for System VMs deployment.

type ClusterSystemVMsConfigInfoDeploymentMode added in v0.31.0

type ClusterSystemVMsConfigInfoDeploymentMode string

type ClusterSystemVMsConfigSpec added in v0.27.0

type ClusterSystemVMsConfigSpec struct {
	DynamicData

	// The only datastores which can be used for System VMs deployment.
	AllowedDatastores []ClusterDatastoreUpdateSpec `xml:"allowedDatastores,omitempty" json:"allowedDatastores,omitempty"`
	// Datastores which cannot be used for System VMs deployment.
	NotAllowedDatastores []ClusterDatastoreUpdateSpec `xml:"notAllowedDatastores,omitempty" json:"notAllowedDatastores,omitempty"`
	// Tag categories identifying datastores, which cannot be used for System VMs
	// deployment.
	DsTagCategoriesToExclude []ClusterTagCategoryUpdateSpec `xml:"dsTagCategoriesToExclude,omitempty" json:"dsTagCategoriesToExclude,omitempty"`
	// The System VM deployment mode for vSphere clusters.
	//
	// Supported values are enumerated by the
	// `DeploymentMode`
	// type.
	// Providing an unset value does not modify deploymentMode.
	DeploymentMode string `xml:"deploymentMode,omitempty" json:"deploymentMode,omitempty" vim:"8.0.2.0"`
}

Configuration for System VMs deployment.

type ClusterTagCategoryUpdateSpec added in v0.27.0

type ClusterTagCategoryUpdateSpec struct {
	ArrayUpdateSpec

	Category string `xml:"category,omitempty" json:"category,omitempty"`
}

An incremental update to a TagCategory list.

type ClusterUsageSummary

type ClusterUsageSummary struct {
	DynamicData

	// Total CPU capacity of the cluster.
	TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz" json:"totalCpuCapacityMhz"`
	// Total memory capacity of the cluster.
	TotalMemCapacityMB int32 `xml:"totalMemCapacityMB" json:"totalMemCapacityMB"`
	// Sum of CPU reservation of all the Resource Pools and powered-on VMs in the cluster.
	CpuReservationMhz int32 `xml:"cpuReservationMhz" json:"cpuReservationMhz"`
	// Sum of memory reservation of all the Resource Pools and powered-on VMs in the cluster.
	MemReservationMB int32 `xml:"memReservationMB" json:"memReservationMB"`
	// Sum of CPU reservation of all the powered-off VMs in the cluster.
	PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty" json:"poweredOffCpuReservationMhz,omitempty"`
	// Sum of memory reservation of all the powered-off VMs in the cluster.
	PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty" json:"poweredOffMemReservationMB,omitempty"`
	// Sum of CPU demand of all the powered-on VMs in the cluster.
	CpuDemandMhz int32 `xml:"cpuDemandMhz" json:"cpuDemandMhz"`
	// Sum of memory demand of all the powered-on VMs in the cluster.
	MemDemandMB int32 `xml:"memDemandMB" json:"memDemandMB"`
	// Generation number of the usage stats.
	//
	// Updated during every DRS load
	// balancing call.
	StatsGenNumber int64 `xml:"statsGenNumber" json:"statsGenNumber"`
	// This is the current CPU entitlement across the cluster
	CpuEntitledMhz int32 `xml:"cpuEntitledMhz" json:"cpuEntitledMhz"`
	// This is the current memory entitlement across the cluster
	MemEntitledMB int32 `xml:"memEntitledMB" json:"memEntitledMB"`
	// The number of powered off VMs in the cluster
	PoweredOffVmCount int32 `xml:"poweredOffVmCount" json:"poweredOffVmCount"`
	// The number of VMs in the cluster
	TotalVmCount int32 `xml:"totalVmCount" json:"totalVmCount"`
}

This class contains cluster usage summary that is populated by DRS and used by Cloud Placement Engine in VCD.

type ClusterVmComponentProtectionSettings

type ClusterVmComponentProtectionSettings struct {
	DynamicData

	// VM storage protection setting for storage failures categorized as All Paths
	// Down (APD).
	//
	// APD is a condition where a storage has become inaccessible
	// for unknown reasons. It only indicates loss of connectivity and does not indicate
	// storage device failure or LUN removal (Permenant Device Loss or PDL). The details
	// of APD and PDL are described in `HostMountInfoInaccessibleReason_enum`.
	//
	// This property is meaningful only when vSphere HA is turned on. Valid values are
	// specified by `ClusterVmComponentProtectionSettingsStorageVmReaction_enum`. The default value is
	// `disabled` for cluster setting and
	// `clusterDefault` for per-VM setting.
	//
	// When an APD condition happens and the host begins timing out I/Os
	// (@link vim.host.MountInfo.InaccessibleReason#AllPathsDown\_Timeout}, VM Component
	// Protection service will react based on the specific value of this property:
	//     - `**disabled**`, no reaction, i.e., no
	//       VM failover and no event reporting for the failures.
	//     - `**warning**`, service will issue events,
	//       alarms and/or config issues for component failures.
	//     - `**restartConservative**`, service will
	//       terminate the impacted VMs after a preconfigured time interval
	//       (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`) if they are to be restarted.
	//     - `**restartAggressive**`, service might
	//       terminate the impacted VMs after a preconfigured time interval
	//       (`ClusterVmComponentProtectionSettings.vmTerminateDelayForAPDSec`). In some cases, a VM is terminated
	//       even if it may not able to be restarted or lose Fault Tolerance redundancy.
	//     - `**clusterDefault**`, service will implement
	//       cluster default.
	VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty" json:"vmStorageProtectionForAPD,omitempty"`
	// This property indicates if APD timeout will be enabled for all the hosts
	// in the cluster when vSphere HA is configured.
	//
	// The details of APD timeout are
	// described in `HostMountInfoInaccessibleReason_enum`.
	//
	// If `ClusterDasConfigInfo.vmComponentProtecting` is `disabled`,
	// the property will be ignored. Otherwise, for each host in the cluster,
	// APD timeout will be enabled. Note that no change will be made for a host if it
	// already had APD timeout enabled.
	//
	// This property is meaningful only for cluster setting. It is ignored if specified at VM level.
	// The default value is false if not specified.
	//
	// Note that this property is not persisted by vSphere backend. It does not impact any cluster
	// reconfiguration or host operation (such as adding a host to a cluster) that might happen later.
	EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts" json:"enableAPDTimeoutForHosts,omitempty"`
	// The time interval after an APD timeout has been declared and before VM Component
	// Protection service will terminate the VM.
	//
	// The value only applies if
	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD` is set to `restartConservative` or
	// `restartAggressive`.
	//
	// The default value is 180 seconds if not specified. To use cluster setting for a VM override,
	// set to -1 in per-VM setting.
	VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty" json:"vmTerminateDelayForAPDSec,omitempty"`
	// Action taken by VM Component Protection service for a powered on VM when APD
	// condition clears after APD timeout.
	//
	// This property is meaningful only when vSphere HA is turned on. Valid values are
	// specified by `ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared_enum`. The default value is
	// `none` for cluster setting and
	// `useClusterDefault` for per-VM setting.
	VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty" json:"vmReactionOnAPDCleared,omitempty"`
	// VM storage protection setting for storage failures categorized as Permenant Device
	// Loss (PDL).
	//
	// PDL indicates storage device failure or LUN removal. In case of PDL,
	// the failed datastore or device is unlikely to recover. The details of PDL are
	// described in `HostMountInfoInaccessibleReason_enum`.
	//
	// This property is meaningful only when vSphere HA is turned on. Valid values are
	// `disabled`, `warning`,
	// `restartAggressive` and `clusterDefault`.
	// The default value is `disabled` for cluster setting and
	// `clusterDefault` for per-VM setting.
	//
	// When set to `restartAggressive`, VM Component Protection service
	// will immediately terminate the VMs impacted by PDL and will attempt to restart the VMs
	// with best effort. When set to the other values, the behavior is the same as described for
	// `ClusterVmComponentProtectionSettings.vmStorageProtectionForAPD`.
	VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty" json:"vmStorageProtectionForPDL,omitempty"`
}

vSphere HA Virtual Machine Component Protection Service settings.

vSphere HA Virtual Machine Component Protection Service detects and reacts to storage failures that do not necessarily cause a virtual machine to go down, but may impact the health or QoS of the virtual machine.

All fields are defined as optional. In case of a reconfiguration, fields left unset are not changed.

type ClusterVmComponentProtectionSettingsStorageVmReaction

type ClusterVmComponentProtectionSettingsStorageVmReaction string

The VM policy settings that determine the response to

type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared

type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string

If an APD condition clears after an APD timeout condition has been declared and before VM Component Protection service terminated the VM, the guestOS and application may no longer be operational.

VM Component Protection may be configured to reset the

type ClusterVmGroup

type ClusterVmGroup struct {
	ClusterGroupInfo

	// List of virtual machines that are part of this group.
	//
	// A virtual machine group can contain zero or more virtual machines.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
}

The `ClusterVmGroup` data object identifies virtual machines for VM-Host rules.

VM-Host rules determine placement of virtual machines on hosts in a cluster. The logic specified in a `ClusterVmHostRuleInfo` object determines where virtual machines can be powered-on.

If a virtual machine is removed from the cluster, it loses its DRS group affiliation. The Server does not restore any group affiliations if the virtual machine is returned to the cluster.

type ClusterVmHostRuleInfo

type ClusterVmHostRuleInfo struct {
	ClusterRuleInfo

	// Virtual group name (`ClusterVmGroup*.*ClusterGroupInfo.name`).
	//
	// The virtual group may contain one or more virtual machines.
	VmGroupName string `xml:"vmGroupName,omitempty" json:"vmGroupName,omitempty"`
	// Name of the affine host group
	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
	//
	// The affine host group identifies hosts on which
	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines can be powered-on.
	// The value of the `ClusterRuleInfo.mandatory` property
	// determines how the Server interprets the rule.
	AffineHostGroupName string `xml:"affineHostGroupName,omitempty" json:"affineHostGroupName,omitempty"`
	// Name of the anti-affine host group
	// (`ClusterHostGroup*.*ClusterGroupInfo.name`).
	//
	// The anti-affine host group identifies hosts on which
	// `ClusterVmHostRuleInfo.vmGroupName` virtual machines should not
	// be powered-on.
	// The value of the `ClusterRuleInfo.mandatory` property
	// determines how the Server interprets the rule.
	AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty" json:"antiAffineHostGroupName,omitempty"`
}

A `ClusterVmHostRuleInfo` object identifies virtual machines and host groups that determine virtual machine placement. The virtual machines and hosts referenced by a VM-Host rule must be in the same cluster.

A VM-Host rule identifies the following groups.

  • A virtual machine group (`ClusterVmGroup`).
  • Two host groups - an affine host group and an anti-affine host group (`ClusterHostGroup`). At least one of the groups must contain one or more hosts.

`ClusterVmHostRuleInfo` stores only the names of the relevant virtual machine and host groups. The group contents are stored in the virtual machine and host group objects.

When you modify a VM-Host rule, only the fields that are specified are set.

type ClusterVmOrchestrationInfo added in v0.12.0

type ClusterVmOrchestrationInfo struct {
	DynamicData

	// Reference to the VM that the ready state is applied to.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Readiness policy that apply to this virtual machine.
	//
	// Values specified in this object override the cluster-wide
	// defaults for virtual machines.
	// `ClusterOrchestrationInfo.defaultVmReadiness`
	VmReadiness ClusterVmReadiness `xml:"vmReadiness" json:"vmReadiness"`
}

The `ClusterVmOrchestrationInfo` data object contains the orchestration configuration for a single virtual machine.

This makes it possible to override the defaut behavior for an individual virtual machine.

type ClusterVmOrchestrationSpec added in v0.12.0

type ClusterVmOrchestrationSpec struct {
	ArrayUpdateSpec

	Info *ClusterVmOrchestrationInfo `xml:"info,omitempty" json:"info,omitempty"`
}

An incremental update to the per-VM orchestration config.

type ClusterVmReadiness added in v0.12.0

type ClusterVmReadiness struct {
	DynamicData

	// Ready condition for a virtual machine.
	//
	// See `ClusterVmReadinessReadyCondition_enum`.
	//
	// If not specified at either the cluster level or the virtual machine
	// level, this will default to `none`.
	ReadyCondition string `xml:"readyCondition,omitempty" json:"readyCondition,omitempty"`
	// Additional delay in seconds after ready condition is met.
	//
	// A VM is
	// considered ready at this point.
	//
	// If not specified in a VM override, cluster default setting is
	// used. Alternatively, set to -1 in per-VM setting to use cluster default
	// value.
	PostReadyDelay int32 `xml:"postReadyDelay,omitempty" json:"postReadyDelay,omitempty"`
}

VM readiness policy specifies when a VM is deemed ready.

This is used in cluster VM orchestration settings. For example, vSphere HA restarts lower priority VMs only after higher priority VMs are ready.

type ClusterVmReadinessReadyCondition added in v0.12.0

type ClusterVmReadinessReadyCondition string

type ClusterVmToolsMonitoringSettings

type ClusterVmToolsMonitoringSettings struct {
	DynamicData

	// Deprecated as of vSphere API 4.1, use `ClusterVmToolsMonitoringSettings.vmMonitoring`.
	//
	// Flag indicating whether or not the Virtual Machine Health Monitoring
	// service is enabled.
	//
	// The Server does not use this property.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Indicates the type of virtual machine monitoring.
	//
	// Specify a string value corresponding to one of the
	// following `ClusterDasConfigInfoVmMonitoringState_enum` values:
	//     - <code>vmMonitoringDisabled</code> (the default value)
	//     - <code>vmMonitoringOnly</code>
	//     - <code>vmAndAppMonitoring</code>
	//
	// The individual VMware Tools setting for virtual machine monitoring depends on
	// the HA Virtual Machine Health Monitoring Service level that is
	// defined for the cluster
	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
	// The following list indicates the supported VMware Tools <code>vmMonitoring</code> values
	// according to the cluster configuration.
	//     - If the cluster configuration specifies <code>vmMonitoringDisabled</code>,
	//       the Service is disabled and the HA Service ignores the VMware Tools monitoring setting.
	//     - If the cluster configuration specifies <code>vmMonitoringOnly</code>,
	//       the Service supports <code>vmMonitoringOnly</code> or <code>vmMonitoringDisabled</code> only.
	//     - If the cluster configuration specifies <code>vmAndAppMonitoring</code>,
	//       you can use any of the `ClusterDasConfigInfoVmMonitoringState_enum` values.
	//
	// The `ClusterVmToolsMonitoringSettings.clusterSettings` value has no
	// effect on the constraint imposed by the HA Virtual Machine Health Monitoring Service
	// level that is defined for the cluster
	// (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.vmMonitoring`).
	//
	// Application monitoring events are generated regardless of the
	// currently configured type of virtual machine monitoring.
	// You can use these events even if monitoring is being disabled
	// or set to <code>vmMonitoringOnly</code>.
	VmMonitoring string `xml:"vmMonitoring,omitempty" json:"vmMonitoring,omitempty" vim:"4.1"`
	// Flag indicating whether to use the cluster settings or the per VM settings.
	//
	// The default value is true.
	ClusterSettings *bool `xml:"clusterSettings" json:"clusterSettings,omitempty"`
	// If no heartbeat has been received for at least the specified number of seconds,
	// the virtual machine is declared as failed.
	//
	// The default value is 30.
	FailureInterval int32 `xml:"failureInterval,omitempty" json:"failureInterval,omitempty"`
	// The number of seconds for the virtual machine's heartbeats to stabilize
	// after the virtual machine has been powered on.
	//
	// This time should include
	// the guest operating system boot-up time. The virtual machine monitoring
	// will begin only after this period.
	//
	// The default value is 120.
	MinUpTime int32 `xml:"minUpTime,omitempty" json:"minUpTime,omitempty"`
	// Maximum number of failures and automated resets allowed during the time that
	// `ClusterVmToolsMonitoringSettings.maxFailureWindow` specifies.
	//
	// If `ClusterVmToolsMonitoringSettings.maxFailureWindow` is -1
	// (no window), this represents the absolute number of failures after which
	// automated response is stopped.
	//
	// If a virtual machine exceeds this threshold, in-depth problem analysis is
	// usually needed.
	//
	// The default value is 3.
	MaxFailures int32 `xml:"maxFailures,omitempty" json:"maxFailures,omitempty"`
	// The number of seconds for the window during which up to `ClusterVmToolsMonitoringSettings.maxFailures`
	// resets can occur before automated responses stop.
	//
	// If set to -1, no failure window is specified.
	//
	// The default value is -1.
	MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty" json:"maxFailureWindow,omitempty"`
}

The `ClusterVmToolsMonitoringSettings` data object contains virtual machine monitoring settings that are used by the Virtual Machine Health Monitoring Service.

The Service checks the VMware Tools heartbeat of a virtual machine. If heartbeats have not been received within a specified time interval, the Service declares the virtual machine as failed and resets the virtual machine.

These settings are applied to individual virtual machines during cluster reconfiguration (`ClusterDasVmConfigInfo*.*ClusterDasVmConfigInfo.dasSettings*.*ClusterDasVmSettings.vmToolsMonitoringSettings`). You can also specify them as default values (`ClusterDasConfigInfo*.*ClusterDasConfigInfo.defaultVmSettings`).

All fields are optional. In case of a reconfiguration, fields left unset are not changed.

type CollectorAddressUnset

type CollectorAddressUnset struct {
	DvsFault
}

The distributed virtual switch received a reconfiguration request to activate ipfix monitoring of the switch traffic.

However, the address and/or the port of the ipfix collector has not been specified.

type CollectorAddressUnsetFault

type CollectorAddressUnsetFault CollectorAddressUnset

type ComplianceFailure

type ComplianceFailure struct {
	DynamicData

	// String uniquely identifying the failure.
	FailureType string `xml:"failureType" json:"failureType"`
	// Message which describes the compliance failures
	// message.key serves as a key to the localized
	// message catalog.
	Message LocalizableMessage `xml:"message" json:"message"`
	// Name of the Expression which generated the ComplianceFailure
	ExpressionName string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
	// If complianceStatus is non-compliant, failureValues will
	// contain values of the non-compliant fields on the host and
	// in the profile.
	FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty" json:"failureValues,omitempty" vim:"6.5"`
}

type ComplianceFailureComplianceFailureValues added in v0.12.0

type ComplianceFailureComplianceFailureValues struct {
	DynamicData

	// Unique key to a message in the localized message catalog,
	// identifying the fields being compared.
	ComparisonIdentifier string `xml:"comparisonIdentifier" json:"comparisonIdentifier"`
	// Name of the profile instance, in case of non-singleton profiles.
	ProfileInstance string `xml:"profileInstance,omitempty" json:"profileInstance,omitempty"`
	// Value of the non-compliant field on the host.
	HostValue AnyType `xml:"hostValue,omitempty,typeattr" json:"hostValue,omitempty"`
	// Value of the non-compliant field in the profile.
	ProfileValue AnyType `xml:"profileValue,omitempty,typeattr" json:"profileValue,omitempty"`
}

type ComplianceLocator

type ComplianceLocator struct {
	DynamicData

	// Exression for which the Locator corresponds to
	ExpressionName string `xml:"expressionName" json:"expressionName"`
	// Complete path to the profile/policy which was responsible for the
	// generation of the ComplianceExpression.
	//
	// \[ProfilePath + policyId\] will uniquely identify a Policy.
	ApplyPath ProfilePropertyPath `xml:"applyPath" json:"applyPath"`
}

This dataObject contains information about location of applyProfile which was responsible for generation of a particular ComplianceExpression.

type ComplianceProfile

type ComplianceProfile struct {
	DynamicData

	// List of expressions that make up the ComplianceChecks.
	Expression []BaseProfileExpression `xml:"expression,typeattr" json:"expression"`
	// Name of the Expression which is the root of the expression tree.
	RootExpression string `xml:"rootExpression" json:"rootExpression"`
}

DataObject contains the verifications that need to be done to make sure the entity is in compliance.

type ComplianceResult

type ComplianceResult struct {
	DynamicData

	// Profile for which the ComplianceResult applies
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
	// Indicates the compliance status of the entity.
	//
	// See @link Status
	ComplianceStatus string `xml:"complianceStatus" json:"complianceStatus"`
	// Entity on which the compliance check was carried out.
	//
	// Entity can be a Cluster, Host and so on.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// Time at which compliance check was last run on the entity
	CheckTime *time.Time `xml:"checkTime" json:"checkTime,omitempty"`
	// If complianceStatus is non-compliant, failure will
	// contain additional information about the compliance errors.
	Failure []ComplianceFailure `xml:"failure,omitempty" json:"failure,omitempty"`
}

DataObject representing the result from a ComplianceCheck

type ComplianceResultStatus

type ComplianceResultStatus string

type CompositeHostProfileRequestType added in v0.18.0

type CompositeHostProfileRequestType struct {
	This                   ManagedObjectReference   `xml:"_this" json:"-"`
	Source                 ManagedObjectReference   `xml:"source" json:"source"`
	Targets                []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
	ToBeMerged             *HostApplyProfile        `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
	ToBeReplacedWith       *HostApplyProfile        `xml:"toBeReplacedWith,omitempty" json:"toBeReplacedWith,omitempty"`
	ToBeDeleted            *HostApplyProfile        `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
	EnableStatusToBeCopied *HostApplyProfile        `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
}

The parameters of `HostProfileManager.CompositeHostProfile_Task`.

type CompositeHostProfile_Task added in v0.18.0

type CompositeHostProfile_Task CompositeHostProfileRequestType

type CompositeHostProfile_TaskResponse added in v0.18.0

type CompositeHostProfile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CompositePolicyOption

type CompositePolicyOption struct {
	PolicyOption

	// List of policy options that are composed and applicable for
	// this composite policy option.
	//
	// The selected PolicyOptions in a CompositePolicyOption will be used in the
	// policy. PolicyOptions need not be specified if they are not desired for
	// the CompositePolicyOption.
	// Order of PolicyOptions in the PolicyOption array is not significant.
	// The host profile policy engine will not respect order of PolicyOptions.
	// It will apply PolicyOptions in a pre-determined order.
	// Clients of the API must produce PolicyOption in the same order as specified
	// in the metadata.
	Option []BasePolicyOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

DataObject represents a composite Policy that is created by the user using different PolicyOptions.

The options set in the CompositePolicyOption should be derived from the possible options as indicated by the CompositePolicyOptionMetadata.

type ComputeDiskPartitionInfoForResizeRequestType

type ComputeDiskPartitionInfoForResizeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The disk partition to resize.
	Partition HostScsiDiskPartition `xml:"partition" json:"partition"`
	// Specifies the desired block range for the resized
	// partition. The start of the block range specified should match
	// that of the current partition.
	BlockRange HostDiskPartitionBlockRange `xml:"blockRange" json:"blockRange"`
	// Specifies the desired partition format to be
	// computed from the block range.
	// If partitionFormat is not specified, the existing partitionFormat
	// on disk is used, if the disk is not blank and mbr otherwise.
	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
}

The parameters of `HostStorageSystem.ComputeDiskPartitionInfoForResize`.

type ComputeDiskPartitionInfoForResizeResponse

type ComputeDiskPartitionInfoForResizeResponse struct {
	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
}

type ComputeDiskPartitionInfoRequestType

type ComputeDiskPartitionInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the device path for the specific disk.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// A data object that describes the disk partition layout.
	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
	// Specifies the desired partition format to be
	// computed from the block range.
	// If partitionFormat is not specified, the existing partitionFormat
	// on disk is used, if the disk is not blank and mbr otherwise.
	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
}

The parameters of `HostStorageSystem.ComputeDiskPartitionInfo`.

type ComputeDiskPartitionInfoResponse

type ComputeDiskPartitionInfoResponse struct {
	Returnval HostDiskPartitionInfo `xml:"returnval" json:"returnval"`
}

type ComputeResourceConfigInfo

type ComputeResourceConfigInfo struct {
	DynamicData

	// Swapfile placement policy for virtual machines within this compute
	// resource.
	//
	// Any policy except for "inherit" is a valid value for this
	// property; the default is "vmDirectory". This setting will be honored
	// for each virtual machine within the compute resource for which the
	// following is true:
	//     - The virtual machine is executing on a host that has the
	//       `perVmSwapFiles` capability.
	//     - The virtual machine configuration's
	//       `swapPlacement` property is set
	//       to "inherit".
	//
	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
	VmSwapPlacement string `xml:"vmSwapPlacement" json:"vmSwapPlacement"`
	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
	// feature is enabled on this compute resource
	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty" vim:"5.0"`
	// Key for Default Hardware Version used on this compute resource
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// This field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of this object and all its children
	// with this field unset.
	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty" vim:"5.1"`
	// Key for Maximum Hardware Version used on this compute resource
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// This field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of this object and all its children
	// with this field unset.
	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
}

Configuration of the compute resource; applies to both standalone hosts and clusters.

func (*ComputeResourceConfigInfo) GetComputeResourceConfigInfo

func (b *ComputeResourceConfigInfo) GetComputeResourceConfigInfo() *ComputeResourceConfigInfo

type ComputeResourceConfigSpec

type ComputeResourceConfigSpec struct {
	DynamicData

	// New setting for the swapfile placement policy.
	//
	// Any change to this
	// policy will affect virtual machines that subsequently power on or
	// resume from a suspended state in this compute resource, or that
	// migrate to a host in this compute resource while powered on; virtual
	// machines that are currently powered on in this compute resource will
	// not yet be affected.
	//
	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
	VmSwapPlacement string `xml:"vmSwapPlacement,omitempty" json:"vmSwapPlacement,omitempty"`
	// Flag indicating whether or not the SPBM(Storage Policy Based Management)
	// feature is enabled on this compute resource
	SpbmEnabled *bool `xml:"spbmEnabled" json:"spbmEnabled,omitempty" vim:"5.0"`
	// Key for Default Hardware Version to be used on this compute resource
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// Setting this field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of this object and all its children
	// with this field unset.
	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty" vim:"5.1"`
	// Desired software spec for the set of physical compute resources.
	//
	// This
	// parameter is only supported in vim.Folder#createClusterEx operation.
	DesiredSoftwareSpec *DesiredSoftwareSpec `xml:"desiredSoftwareSpec,omitempty" json:"desiredSoftwareSpec,omitempty" vim:"7.0"`
	// Key for Maximum Hardware Version to be used on this compute resource
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// Setting this field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of this object and all its children
	// with this field unset.
	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
	// Flag indicating whether or not the vLCM (vSphere Lifecycle Manager)
	// Config Manager feature is enabled on this compute resource.
	//
	// If the
	// flag is not set, the Config Manager feature will be disabled by
	// default. This parameter is only supported in `Folder.CreateClusterEx`
	// operation.
	EnableConfigManager *bool `xml:"enableConfigManager" json:"enableConfigManager,omitempty" vim:"7.0.3.1"`
}

Changes to apply to the compute resource configuration.

func (*ComputeResourceConfigSpec) GetComputeResourceConfigSpec

func (b *ComputeResourceConfigSpec) GetComputeResourceConfigSpec() *ComputeResourceConfigSpec

type ComputeResourceEventArgument

type ComputeResourceEventArgument struct {
	EntityEventArgument

	// The ComputeResource object.
	//
	// Refers instance of `ComputeResource`.
	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
}

The event argument is a ComputeResource object.

type ComputeResourceHostSPBMLicenseInfo

type ComputeResourceHostSPBMLicenseInfo struct {
	DynamicData

	Host         ManagedObjectReference                                 `xml:"host" json:"host"`
	LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState" json:"licenseState"`
}

The `ComputeResourceHostSPBMLicenseInfo` data object encapsulates the SPBM(Storage Policy Based Management) license information for a host.

type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState

type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string

type ComputeResourceHostSeedSpecSingleHostSpec added in v0.31.0

type ComputeResourceHostSeedSpecSingleHostSpec struct {
	DynamicData

	// Connection Spec for a new host.
	NewHostCnxSpec *HostConnectSpec `xml:"newHostCnxSpec,omitempty" json:"newHostCnxSpec,omitempty"`
	// Reference to an existing host.
	//
	// Refers instance of `HostSystem`.
	ExistingHost *ManagedObjectReference `xml:"existingHost,omitempty" json:"existingHost,omitempty"`
}

This data object contains a specification for a single candidate host for the host seeding operation.

If the candidate host is: \- A new host not managed by vCenter Server: A `HostConnectSpec` needs to be provided. \- A host managed by vCenter Server: A `HostSystem` needs to be provided.

type ComputeResourceSummary

type ComputeResourceSummary struct {
	DynamicData

	// Aggregated CPU resources of all hosts, in MHz.
	TotalCpu int32 `xml:"totalCpu" json:"totalCpu"`
	// Aggregated memory resources of all hosts, in bytes.
	TotalMemory int64 `xml:"totalMemory" json:"totalMemory"`
	// Number of physical CPU cores.
	//
	// Physical CPU cores are the processors contained
	// by a CPU package.
	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
	// Aggregated number of CPU threads.
	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
	// Effective CPU resources (in MHz) available to run virtual machines.
	//
	// This is the
	// aggregated effective resource level from all running hosts. Hosts that are in
	// maintenance mode or are unresponsive are not counted. Resources used by the
	// VMware Service Console are not included in the aggregate. This value represents
	// the amount of resources available for the root resource pool for running
	// virtual machines.
	EffectiveCpu int32 `xml:"effectiveCpu" json:"effectiveCpu"`
	// Effective memory resources (in MB) available to run virtual machines.
	//
	// This is the aggregated effective resource level from all running hosts. Hosts
	// that are in maintenance mode or are unresponsive are not counted.
	// Resources used by the VMware Service Console are not included in the aggregate.
	// This value represents the amount of resources available for the root
	// resource pool for running virtual machines.
	EffectiveMemory int64 `xml:"effectiveMemory" json:"effectiveMemory"`
	// Total number of hosts.
	NumHosts int32 `xml:"numHosts" json:"numHosts"`
	// Total number of effective hosts.
	NumEffectiveHosts int32 `xml:"numEffectiveHosts" json:"numEffectiveHosts"`
	// Overall alarm status.
	//
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
}

This data object type encapsulates a typical set of ComputeResource information that is useful for list views and summary pages.

func (*ComputeResourceSummary) GetComputeResourceSummary

func (b *ComputeResourceSummary) GetComputeResourceSummary() *ComputeResourceSummary

type ConcurrentAccess

type ConcurrentAccess struct {
	VimFault
}

A ConcurrentAccess fault is thrown when an operation fails because another operation has modified the datastructure.

For non-transactional operations, such as a recursive delete of a subtree of the inventory, the operation might fail with ConcurrentAccess if another thread has added a new entity to the hierarchy.

type ConcurrentAccessFault

type ConcurrentAccessFault ConcurrentAccess

type ConfigSpecOperation

type ConfigSpecOperation string

type ConfigTarget

type ConfigTarget struct {
	DynamicData

	// Number of logical CPUs that can be used to run virtual machines.
	//
	// If invoked against a cluster, this is the total number of logical CPUs
	// available in the cluster.
	NumCpus int32 `xml:"numCpus" json:"numCpus"`
	// Number of physical CPU cores that are available to run virtual machines.
	//
	// If invoked against a cluster, this is the total number of physical CPUs
	// available in the cluster.
	NumCpuCores int32 `xml:"numCpuCores" json:"numCpuCores"`
	// Number of NUMA nodes.
	//
	// If invoked against a cluster, this is the total number of NUMA nodes
	// available in the cluster.
	NumNumaNodes int32 `xml:"numNumaNodes" json:"numNumaNodes"`
	// Maximum number of CPUs available on a single host.
	//
	// For standalone hosts, this value will be the same as numCpus.
	MaxCpusPerHost int32 `xml:"maxCpusPerHost,omitempty" json:"maxCpusPerHost,omitempty" vim:"7.0"`
	// Presence of System Management Controller, indicates the host is
	// Apple hardware, and thus capable of running Mac OS guest as VM.
	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty" vim:"5.0"`
	// List of datastores available for virtual disks and associated storage.
	Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// List of networks available for virtual network adapters.
	Network []VirtualMachineNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
	// List of opaque networks available for virtual network adapters.
	OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"5.5"`
	// List of networks available from DistributedVirtualSwitch for virtual
	// network adapters.
	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty" vim:"4.0"`
	// List of distributed virtual switch available for virtual network
	// adapters.
	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty" vim:"4.0"`
	// List of CD-ROM devices available for use by virtual CD-ROMs.
	//
	// Used for
	// `VirtualCdromAtapiBackingInfo`.
	CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty" json:"cdRom,omitempty"`
	// List of serial devices available to support virtualization.
	//
	// Used for
	// `VirtualSerialPortDeviceBackingInfo`.
	Serial []VirtualMachineSerialInfo `xml:"serial,omitempty" json:"serial,omitempty"`
	// List of parallel devices available to support virtualization.
	//
	// Used for
	// `VirtualParallelPortDeviceBackingInfo`.
	Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty" json:"parallel,omitempty"`
	// List of sound devices available to support virtualization.
	//
	// Used for
	// `VirtualSoundCardDeviceBackingInfo`.
	Sound []VirtualMachineSoundInfo `xml:"sound,omitempty" json:"sound,omitempty" vim:"2.5"`
	// List of USB devices on the host that are available to support
	// virtualization.
	//
	// Used for
	// `VirtualUSBUSBBackingInfo`.
	Usb []VirtualMachineUsbInfo `xml:"usb,omitempty" json:"usb,omitempty" vim:"2.5"`
	// List of floppy devices available for use by virtual floppies.
	//
	// Used for
	// `VirtualFloppyDeviceBackingInfo`.
	Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty" json:"floppy,omitempty"`
	// Legacy switch names when using the LegacyNetworkBacking types.
	LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty" json:"legacyNetworkInfo,omitempty"`
	// List of generic SCSI devices.
	ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty" json:"scsiPassthrough,omitempty"`
	// List of physical SCSI disks that can be used as targets for raw disk mapping
	// backings.
	ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty" json:"scsiDisk,omitempty"`
	// List of physical IDE disks that can be used as targets for raw disk backings.
	IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty" json:"ideDisk,omitempty"`
	// Maximum recommended memory size, in MB, for creating a new virtual machine.
	MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf" json:"maxMemMBOptimalPerf"`
	// Maximum supported memory size, in MB, for creating a new virtual machine.
	//
	// Maximum allowed size is smaller of this and limit in
	// `GuestOsDescriptor.supportedMaxMemMB`. When invoked on the
	// cluster, maximum size that can be created on at least one host
	// in the cluster is reported.
	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB,omitempty" json:"supportedMaxMemMB,omitempty" vim:"7.0"`
	// Information about the current available resources on the current resource pool
	// for a virtual machine.
	//
	// This field is only populated from an Environment browser
	// obtained from a virtual machine.
	ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
	// Information whether a virtual machine with this ConfigTarget can auto vmotion.
	//
	// This field is only populated from an Environment browser obtained from a
	// virtual machine.
	AutoVmotion *bool `xml:"autoVmotion" json:"autoVmotion,omitempty"`
	// List of generic PCI devices.
	PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr" json:"pciPassthrough,omitempty" vim:"4.0"`
	// List of SRIOV devices.
	Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty" json:"sriov,omitempty" vim:"5.5"`
	// List of vFlash modules.
	VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty" vim:"5.5"`
	// List of shared GPU passthrough types.
	SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty" json:"sharedGpuPassthroughTypes,omitempty" vim:"6.0"`
	// Maximum available persistent memory reservation on a compute resource
	// in MB.
	AvailablePersistentMemoryReservationMB int64 `xml:"availablePersistentMemoryReservationMB,omitempty" json:"availablePersistentMemoryReservationMB,omitempty" vim:"6.7"`
	// List of Dynamic DirectPath PCI devices.
	DynamicPassthrough []VirtualMachineDynamicPassthroughInfo `xml:"dynamicPassthrough,omitempty" json:"dynamicPassthrough,omitempty" vim:"7.0"`
	// Intel SGX information.
	SgxTargetInfo *VirtualMachineSgxTargetInfo `xml:"sgxTargetInfo,omitempty" json:"sgxTargetInfo,omitempty" vim:"7.0"`
	// List of host clock resources available to support virtual precision
	// clock device.
	//
	// Used for
	// `VirtualPrecisionClockSystemClockBackingInfo`
	PrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"precisionClockInfo,omitempty" json:"precisionClockInfo,omitempty" vim:"7.0"`
	// Indicates whether the compute resource is capable of running AMD Secure
	// Encrypted Virtualization (SEV) enabled virtual machines.
	//
	// The compute
	// resource supports SEV when this value is set to true.
	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
	// List of vGPU device capabilities.
	VgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"vgpuDeviceInfo,omitempty" json:"vgpuDeviceInfo,omitempty" vim:"7.0.3.0"`
	// List of vGPU profile attributes.
	VgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"vgpuProfileInfo,omitempty" json:"vgpuProfileInfo,omitempty" vim:"7.0.3.0"`
	// List of PCI Vendor Device Groups.
	VendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"vendorDeviceGroupInfo,omitempty" json:"vendorDeviceGroupInfo,omitempty" vim:"8.0.0.1"`
	// Max SMT (Simultaneous multithreading) threads.
	MaxSimultaneousThreads int32 `xml:"maxSimultaneousThreads,omitempty" json:"maxSimultaneousThreads,omitempty" vim:"8.0.0.1"`
	// List of Device Virtualization Extensions (DVX) classes.
	DvxClassInfo []VirtualMachineDvxClassInfo `xml:"dvxClassInfo,omitempty" json:"dvxClassInfo,omitempty" vim:"8.0.0.1"`
}

The ConfigTarget class contains information about "physical" devices that can be used to back virtual devices.

type ConfigureCryptoKey added in v0.12.0

type ConfigureCryptoKey ConfigureCryptoKeyRequestType

type ConfigureCryptoKeyRequestType added in v0.12.0

type ConfigureCryptoKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key to be used for coredump encryption. If unset, uses
	// existing host or cluster key or new key is generated from
	// the default KMIP server.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
}

The parameters of `HostSystem.ConfigureCryptoKey`.

type ConfigureCryptoKeyResponse added in v0.12.0

type ConfigureCryptoKeyResponse struct {
}

type ConfigureDatastoreIORMRequestType

type ConfigureDatastoreIORMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to be configured.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The configuration spec.
	Spec StorageIORMConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `StorageResourceManager.ConfigureDatastoreIORM_Task`.

type ConfigureDatastoreIORM_Task

type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType

type ConfigureDatastoreIORM_TaskResponse

type ConfigureDatastoreIORM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureDatastorePrincipalRequestType

type ConfigureDatastorePrincipalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore principal user name.
	UserName string `xml:"userName" json:"userName"`
	// Optional password for systems that require password for
	// user impersonation.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
}

The parameters of `HostDatastoreSystem.ConfigureDatastorePrincipal`.

type ConfigureDatastorePrincipalResponse

type ConfigureDatastorePrincipalResponse struct {
}

type ConfigureEvcModeRequestType

type ConfigureEvcModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A key referencing the desired EVC mode.
	EvcModeKey string `xml:"evcModeKey" json:"evcModeKey"`
	// A key referencing the desired EVC Graphics
	// mode `Capability.supportedEVCGraphicsMode`.
	EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty" json:"evcGraphicsModeKey,omitempty" vim:"7.0.1.0"`
}

The parameters of `ClusterEVCManager.ConfigureEvcMode_Task`.

type ConfigureEvcMode_Task

type ConfigureEvcMode_Task ConfigureEvcModeRequestType

type ConfigureEvcMode_TaskResponse

type ConfigureEvcMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureHCIRequestType added in v0.21.0

type ConfigureHCIRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification to configure the cluster,
	// see `ClusterComputeResourceHCIConfigSpec`
	// for details. The `DistributedVirtualSwitch` and
	// `DistributedVirtualPortgroup` objects contained
	// within the specification must be in the same datacenter as the
	// cluster. Specify `ClusterComputeResourceHCIConfigSpec.vSanConfigSpec` only when
	// vSan is enabled on the cluster.
	ClusterSpec ClusterComputeResourceHCIConfigSpec `xml:"clusterSpec" json:"clusterSpec"`
	// Inputs to configure each host in the cluster,
	// see `ClusterComputeResourceHostConfigurationInput`
	// for details. Hosts in this list should be part of the cluster and
	// should be in maintenance mode for them to be configured per
	// specification. If this parameter is not specified, the API
	// operates on all the hosts in the cluster. Hosts which were not
	// configured due to not being in maintenance
	// mode will be returned in `ClusterComputeResourceClusterConfigResult.failedHosts`.
	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
}

The parameters of `ClusterComputeResource.ConfigureHCI_Task`.

type ConfigureHCI_Task added in v0.21.0

type ConfigureHCI_Task ConfigureHCIRequestType

type ConfigureHCI_TaskResponse added in v0.21.0

type ConfigureHCI_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureHostCacheRequestType

type ConfigureHostCacheRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification for solid state drive cache configuration.
	Spec HostCacheConfigurationSpec `xml:"spec" json:"spec"`
}

The parameters of `HostCacheConfigurationManager.ConfigureHostCache_Task`.

type ConfigureHostCache_Task

type ConfigureHostCache_Task ConfigureHostCacheRequestType

type ConfigureHostCache_TaskResponse

type ConfigureHostCache_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureLicenseSourceRequestType

type ConfigureLicenseSourceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host for which the license manager should be reconfigured.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// ServedSource or LocalSource.
	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
}

The parameters of `LicenseManager.ConfigureLicenseSource`.

type ConfigureLicenseSourceResponse

type ConfigureLicenseSourceResponse struct {
}

type ConfigurePowerPolicyRequestType

type ConfigurePowerPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A key from one of the policies in
	// `PowerSystemCapability.availablePolicy`.
	Key int32 `xml:"key" json:"key"`
}

The parameters of `HostPowerSystem.ConfigurePowerPolicy`.

type ConfigurePowerPolicyResponse

type ConfigurePowerPolicyResponse struct {
}

type ConfigureStorageDrsForPodRequestType

type ConfigureStorageDrsForPodRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The storage pod.
	//
	// Required privileges: StoragePod.Config
	//
	// Refers instance of `StoragePod`.
	Pod ManagedObjectReference `xml:"pod" json:"pod"`
	// A set of storage Drs configuration changes to apply to the storage pod.
	// The specification can be a complete set of changes or a partial
	// set of changes, applied incrementally.
	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
	// Flag to specify whether the specification ("spec") should
	// be applied incrementally. If "modify" is false and the
	// operation succeeds, then the configuration of the storage pod
	// matches the specification exactly; in this case any unset
	// portions of the specification will result in unset or
	// default portions of the configuration.
	Modify bool `xml:"modify" json:"modify"`
}

The parameters of `StorageResourceManager.ConfigureStorageDrsForPod_Task`.

type ConfigureStorageDrsForPod_TaskResponse

type ConfigureStorageDrsForPod_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureVFlashResourceExRequestType

type ConfigureVFlashResourceExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of device path names that identify disks.
	// See `ScsiDisk`.
	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
}

The parameters of `HostVFlashManager.ConfigureVFlashResourceEx_Task`.

type ConfigureVFlashResourceEx_TaskResponse

type ConfigureVFlashResourceEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConfigureVchaRequestType added in v0.18.0

type ConfigureVchaRequestType struct {
	This       ManagedObjectReference `xml:"_this" json:"-"`
	ConfigSpec VchaClusterConfigSpec  `xml:"configSpec" json:"configSpec"`
}

type ConfigureVcha_Task added in v0.18.0

type ConfigureVcha_Task ConfigureVchaRequestType

type ConfigureVcha_TaskResponse added in v0.18.0

type ConfigureVcha_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConflictingConfiguration

type ConflictingConfiguration struct {
	DvsFault

	// The configurations that are in conflict.
	ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict" json:"configInConflict"`
}

Thrown if the configurations of the objects are in conflict.

type ConflictingConfigurationConfig

type ConflictingConfigurationConfig struct {
	DynamicData

	// The entity on which the configuration is in conflict.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// The property paths that are in conflict.
	PropertyPath string `xml:"propertyPath" json:"propertyPath"`
}

This class defines the configuration that is in conflict.

type ConflictingConfigurationFault

type ConflictingConfigurationFault ConflictingConfiguration

type ConflictingDatastoreFound

type ConflictingDatastoreFound struct {
	RuntimeFault

	// The name of the datastore.
	Name string `xml:"name" json:"name"`
	// The unique locator for the datastore.
	Url string `xml:"url" json:"url"`
}

ConflictingDatastoreFound is thrown when the conflicting datastores with the same url but backed by different disks are found in the host and the target datacenter.

type ConflictingDatastoreFoundFault

type ConflictingDatastoreFoundFault ConflictingDatastoreFound

type ConnectNvmeController added in v0.23.0

type ConnectNvmeController ConnectNvmeControllerRequestType

type ConnectNvmeControllerExRequestType added in v0.27.0

type ConnectNvmeControllerExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of data objects, each specifying the parameters
	// necessary to connect to an NVMe controller.
	ConnectSpec []HostNvmeConnectSpec `xml:"connectSpec,omitempty" json:"connectSpec,omitempty"`
}

The parameters of `HostStorageSystem.ConnectNvmeControllerEx_Task`.

type ConnectNvmeControllerEx_Task added in v0.27.0

type ConnectNvmeControllerEx_Task ConnectNvmeControllerExRequestType

type ConnectNvmeControllerEx_TaskResponse added in v0.27.0

type ConnectNvmeControllerEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ConnectNvmeControllerRequestType added in v0.23.0

type ConnectNvmeControllerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that specifies the parameters
	// necessary to connect to the controller.
	ConnectSpec HostNvmeConnectSpec `xml:"connectSpec" json:"connectSpec"`
}

The parameters of `HostStorageSystem.ConnectNvmeController`.

type ConnectNvmeControllerResponse added in v0.23.0

type ConnectNvmeControllerResponse struct {
}

type ConnectedIso

type ConnectedIso struct {
	OvfExport

	// The CD-ROM drive that caused the event.
	Cdrom VirtualCdrom `xml:"cdrom" json:"cdrom"`
	// The filename of the ISO
	Filename string `xml:"filename" json:"filename"`
}

type ConnectedIsoFault

type ConnectedIsoFault ConnectedIso

type ConsolidateVMDisksRequestType

type ConsolidateVMDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ConsolidateVMDisks_Task

type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType

type ConsolidateVMDisks_TaskResponse

type ConsolidateVMDisks_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ContinueRetrievePropertiesExRequestType

type ContinueRetrievePropertiesExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the token returned in the previous `RetrieveResult` returned on the same session by the
	// same `PropertyCollector`.
	Token string `xml:"token" json:"token"`
}

The parameters of `PropertyCollector.ContinueRetrievePropertiesEx`.

type ContinueRetrievePropertiesExResponse

type ContinueRetrievePropertiesExResponse struct {
	Returnval RetrieveResult `xml:"returnval" json:"returnval"`
}

type ConvertNamespacePathToUuidPath added in v0.12.0

type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType

type ConvertNamespacePathToUuidPathRequestType added in v0.12.0

type ConvertNamespacePathToUuidPathRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter of the namespace path. Needs to be set
	// when making the call to VC; ignored when the call is
	// made to ESX.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// Namesapce URL of the form
	// > \[ds://\]/vmfs/volumes/\[_datastore-uuid_\]/\[_directory-name_\]/...
	// >
	NamespaceUrl string `xml:"namespaceUrl" json:"namespaceUrl"`
}

The parameters of `DatastoreNamespaceManager.ConvertNamespacePathToUuidPath`.

type ConvertNamespacePathToUuidPathResponse added in v0.12.0

type ConvertNamespacePathToUuidPathResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type CopyDatastoreFileRequestType

type CopyDatastoreFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the source, either a URL or a
	// datastore path referring to the file or folder to be copied.
	SourceName string `xml:"sourceName" json:"sourceName"`
	// If <code>sourceName</code> is a datastore path, the
	// datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>sourceName</code> must be a URL.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
	// The name of the destination, either a
	// URL or a datastore path referring to the destination file
	// or folder.
	DestinationName string `xml:"destinationName" json:"destinationName"`
	// If <code>destinationName</code> is a datastore
	// path, the datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter, it is assumed that
	// the destination path belongs to the source datacenter.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
	// If true, overwrite any identically named file
	// at the destination. If not specified, it is assumed to be false.
	Force *bool `xml:"force" json:"force,omitempty"`
}

The parameters of `FileManager.CopyDatastoreFile_Task`.

type CopyDatastoreFile_Task

type CopyDatastoreFile_Task CopyDatastoreFileRequestType

type CopyDatastoreFile_TaskResponse

type CopyDatastoreFile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CopyVirtualDiskRequestType

type CopyVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the source, either a datastore path
	// or a URL referring to the virtual disk to be copied.
	SourceName string `xml:"sourceName" json:"sourceName"`
	// If <code>sourceName</code> is a datastore path, the
	// datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>sourceName</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
	// The name of the destination, either a datastore path
	// or a URL referring to the virtual disk to be created.
	DestName string `xml:"destName" json:"destName"`
	// If <code>destName</code> is a datastore
	// path, the datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter, it is assumed that
	// the destination path belongs to the source datacenter.
	//
	// Refers instance of `Datacenter`.
	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
	// The specification of the virtual disk to be created.
	// If not specified, a preallocated format and busLogic adapter type is assumed.
	DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr" json:"destSpec,omitempty"`
	// The force flag is currently ignored. The FileAlreadyExists fault is thrown if
	// the destination file already exists.
	Force *bool `xml:"force" json:"force,omitempty"`
}

The parameters of `VirtualDiskManager.CopyVirtualDisk_Task`.

type CopyVirtualDisk_Task

type CopyVirtualDisk_Task CopyVirtualDiskRequestType

type CopyVirtualDisk_TaskResponse

type CopyVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CpuCompatibilityUnknown

type CpuCompatibilityUnknown struct {
	CpuIncompatible
}

Deprecated as of VI API 2.5, use `CpuIncompatible` and its other subclasses, not this one.

Compatibility between the virtual machine's host and its CPU feature requirements cannot be determined, because not enough information is available about the CPU features of the host.

type CpuCompatibilityUnknownFault

type CpuCompatibilityUnknownFault CpuCompatibilityUnknown

type CpuHotPlugNotSupported

type CpuHotPlugNotSupported struct {
	VmConfigFault
}

Thrown when virtual CPUs cannot be hot-added or hot-removed from the virtual machine.

type CpuHotPlugNotSupportedFault

type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported

type CpuIncompatible

type CpuIncompatible struct {
	VirtualHardwareCompatibilityIssue

	// The CpuIdInfo level where a problem was detected.
	//
	// Other levels may
	// also have problems.
	Level int32 `xml:"level" json:"level"`
	// The CpuIdInfo register where a problem was detected.
	//
	// Other registers
	// may also have problems. Possible register names are eax, ebx, ecx, or edx.
	RegisterName string `xml:"registerName" json:"registerName"`
	// The contents of the register on the target host, in CpuIdInfo register
	// format.
	//
	// The '-' character indicates an unknown value.
	RegisterBits string `xml:"registerBits,omitempty" json:"registerBits,omitempty" vim:"2.5"`
	// The desired values for the register's bits.
	//
	// The 'x' character indicates
	// don't-care.
	DesiredBits string `xml:"desiredBits,omitempty" json:"desiredBits,omitempty" vim:"2.5"`
	// The host that is not compatible with the requirements.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
}

Deprecated as of vSphere API 6.5 use `FeatureRequirementsNotMet`.

The host is not compatible with the CPU feature requirements of the virtual machine, for a particular CPUID register.

A subclass of this fault may be used to express the incompatibilities in a more easily understandable format.

func (*CpuIncompatible) GetCpuIncompatible

func (b *CpuIncompatible) GetCpuIncompatible() *CpuIncompatible

type CpuIncompatible1ECX

type CpuIncompatible1ECX struct {
	CpuIncompatible

	// Flag to indicate bit 0 is incompatible.
	Sse3 bool `xml:"sse3" json:"sse3"`
	// Flag to indicate bit 1 is incompatible.
	Pclmulqdq *bool `xml:"pclmulqdq" json:"pclmulqdq,omitempty" vim:"5.0"`
	// Flag to indicate bit 9 is incompatible.
	Ssse3 bool `xml:"ssse3" json:"ssse3"`
	// Flag to indicate bit 19 is incompatible.
	Sse41 bool `xml:"sse41" json:"sse41"`
	// Flag to indicate bit 20 is incompatible.
	Sse42 bool `xml:"sse42" json:"sse42"`
	// Flag to indicate bit 25 is incompatible.
	Aes *bool `xml:"aes" json:"aes,omitempty" vim:"5.0"`
	// Flag to indicate that bits other than 0/1/9/19/20/25 are incompatible.
	//
	// I.e. the detected incompatibilities cannot be completely described by
	// the sse3, pclmulqdq, ssse3, sse41, sse42, and/or aes flags.
	Other bool `xml:"other" json:"other"`
	// Flag to indicate that the sse3, pclmulqdq, ssse3, sse41, sse42, and aes
	// flags are all false, and the "other" flag is true.
	//
	// Purely a convenience
	// property for the client processing this fault.
	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
}

Deprecated as of vSphere API 6.5 use `FeatureRequirementsNotMet`.

Convenience subclass for calling out some named features among the incompatibilities found in CPUID level 1 register ecx.

type CpuIncompatible1ECXFault

type CpuIncompatible1ECXFault CpuIncompatible1ECX

type CpuIncompatible81EDX

type CpuIncompatible81EDX struct {
	CpuIncompatible

	// Flag to indicate bit 20 is incompatible.
	Nx bool `xml:"nx" json:"nx"`
	// Flag to indicate bit 25 is incompatible.
	Ffxsr bool `xml:"ffxsr" json:"ffxsr"`
	// Flag to indicate bit 27 is incompatible.
	Rdtscp bool `xml:"rdtscp" json:"rdtscp"`
	// Flag to indicate bit 29 is incompatible.
	Lm bool `xml:"lm" json:"lm"`
	// Flag to indicate that bits other than 20/25/27/29 are incompatible.
	//
	// I.e. the detected incompatibilities cannot be completely described by
	// the nx, ffxsr, rdtscp, and/or lm flags.
	Other bool `xml:"other" json:"other"`
	// Flag to indicate that the nx, ffxsr, rdtscp, and lm flags are all false,
	// and the "other" flag is true.
	//
	// Purely a convenience property for the
	// client processing this fault.
	OtherOnly bool `xml:"otherOnly" json:"otherOnly"`
}

Deprecated as of vSphere API 6.5 use `FeatureRequirementsNotMet`.

Convenience subclass for calling out some named features among the incompatibilities found in CPUID level 0x80000001 register edx.

type CpuIncompatible81EDXFault

type CpuIncompatible81EDXFault CpuIncompatible81EDX

type CpuIncompatibleFault

type CpuIncompatibleFault BaseCpuIncompatible

type CreateAlarm

type CreateAlarm CreateAlarmRequestType

type CreateAlarmRequestType

type CreateAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity with which the alarm is associated.
	//
	// Required privileges: Alarm.Create
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The specification for the new alarm.
	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `AlarmManager.CreateAlarm`.

type CreateAlarmResponse

type CreateAlarmResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateChildVMRequestType

type CreateChildVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The configuration of the virtual machine hardware.
	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
	// The target host on which the virtual machine will run. This must
	// specify a host that is a member of the ComputeResource indirectly
	// specified by the pool. For a stand-alone host or a cluster with DRS,
	// host can be omitted, and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `ResourcePool.CreateChildVM_Task`.

type CreateChildVM_Task

type CreateChildVM_Task CreateChildVMRequestType

type CreateChildVM_TaskResponse

type CreateChildVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateCluster

type CreateCluster CreateClusterRequestType

type CreateClusterEx

type CreateClusterEx CreateClusterExRequestType

type CreateClusterExRequestType

type CreateClusterExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name for the new cluster.
	Name string `xml:"name" json:"name"`
	// Specification for the cluster.
	Spec ClusterConfigSpecEx `xml:"spec" json:"spec"`
}

The parameters of `Folder.CreateClusterEx`.

type CreateClusterExResponse

type CreateClusterExResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateClusterRequestType

type CreateClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name for the new cluster.
	Name string `xml:"name" json:"name"`
	// Specification for the cluster.
	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `Folder.CreateCluster`.

type CreateClusterResponse

type CreateClusterResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateCollectorForEventsRequestType

type CreateCollectorForEventsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The event query filter.
	Filter EventFilterSpec `xml:"filter" json:"filter"`
}

The parameters of `EventManager.CreateCollectorForEvents`.

type CreateCollectorForEventsResponse

type CreateCollectorForEventsResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateCollectorForTasksRequestType

type CreateCollectorForTasksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification for the task query filter.
	Filter TaskFilterSpec `xml:"filter" json:"filter"`
}

The parameters of `TaskManager.CreateCollectorForTasks`.

type CreateCollectorForTasksResponse

type CreateCollectorForTasksResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateContainerView

type CreateContainerView CreateContainerViewRequestType

type CreateContainerViewRequestType

type CreateContainerViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A reference to an instance of a `Folder`,
	// `Datacenter`, `ComputeResource`,
	// `ResourcePool`, or `HostSystem` object.
	//
	// Required privileges: System.View
	//
	// Refers instance of `ManagedEntity`.
	Container ManagedObjectReference `xml:"container" json:"container"`
	// An optional list of managed entity types. The server
	// associates only objects of the specified type(s) with the view.
	// If you specify an empty array, the server uses all types.
	Type []string `xml:"type,omitempty" json:"type,omitempty"`
	// Whether to include only the immediate children of the
	// container instance, or to include additional objects by
	// following paths beyond the immediate children.
	//
	// When recursive is false, the list of objects contains
	// only immediate children.
	// When recursive is true, the server populates the list
	// by following references beyond the immediate children
	// (using a child's references, and then references in the
	// resulting objects, and so on).
	//
	// Depending on the container type, the server will use the following
	// properties of the container instance to obtain objects for the
	// view's object list:
	//     - `Folder` object - `Folder.childEntity`
	//       property.
	//       If recursive is false, the container list includes the reference
	//       to the child entity in the folder instance.
	//       If recursive is true, the server will follow the child
	//       folder path(s) to collect additional childEntity references.
	//     - `ResourcePool` object - `ResourcePool.vm`
	//       and `ResourcePool.resourcePool` properties.
	//       If recursive is false, the object list will contain references
	//       to the virtual machines associated with this resource pool,
	//       and references to virtual machines associated with the
	//       immediate child resource pools. If recursive is true,
	//       the server will follow all child resource pool paths
	//       extending from the immediate children (and their children,
	//       and so on) to collect additional references to virtual machines.
	//     - `ComputeResource` object - `ComputeResource.host`
	//       and `ComputeResource.resourcePool` properties.
	//       If recursive is false, the object list will contain references
	//       to the host systems associated with this compute resource,
	//       references to virtual machines associated with the
	//       host systems, and references to virtual machines associated
	//       with the immediate child resource pools.
	//       If recursive is true, the server will follow the child
	//       resource pool paths (and their child resource pool paths,
	//       and so on) to collect additional references to virtual machines.
	//     - `Datacenter` object - `Datacenter.vmFolder`,
	//       `Datacenter.hostFolder`,
	//       `Datacenter.datastoreFolder`, and
	//       `Datacenter.networkFolder` properties.
	//       If recursive is set to false, the server uses the
	//       immediate child folders for the virtual machines,
	//       hosts, datastores, and networks associated with this
	//       datacenter. If recursive is set to true, the server
	//       will follow the folder paths to collect references
	//       to additional objects.
	//     - `HostSystem` object - `HostSystem.vm`
	//       property.
	//       The view object list contains references to the virtual machines
	//       associated with this host system. The value of recursive does not
	//       affect this behavior.
	Recursive bool `xml:"recursive" json:"recursive"`
}

The parameters of `ViewManager.CreateContainerView`.

type CreateContainerViewResponse

type CreateContainerViewResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateCustomizationSpecRequestType

type CreateCustomizationSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Item CustomizationSpecItem  `xml:"item" json:"item"`
}

The parameters of `CustomizationSpecManager.CreateCustomizationSpec`.

type CreateCustomizationSpecResponse

type CreateCustomizationSpecResponse struct {
}

type CreateDVPortgroupRequestType

type CreateDVPortgroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification for the portgroup.
	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `DistributedVirtualSwitch.CreateDVPortgroup_Task`.

type CreateDVPortgroup_Task

type CreateDVPortgroup_Task CreateDVPortgroupRequestType

type CreateDVPortgroup_TaskResponse

type CreateDVPortgroup_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateDVSRequestType

type CreateDVSRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The `DVSCreateSpec`
	// to create the distributed virtual switch.
	Spec DVSCreateSpec `xml:"spec" json:"spec"`
}

The parameters of `Folder.CreateDVS_Task`.

type CreateDVS_Task

type CreateDVS_Task CreateDVSRequestType

type CreateDVS_TaskResponse

type CreateDVS_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateDatacenter

type CreateDatacenter CreateDatacenterRequestType

type CreateDatacenterRequestType

type CreateDatacenterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name for the new datacenter. An entity name
	// must be a non-empty string of less than 80 characters.
	// The slash (/), backslash (\\) and percent (%) will be escaped
	// using the URL syntax. For example, %2F.
	Name string `xml:"name" json:"name"`
}

The parameters of `Folder.CreateDatacenter`.

type CreateDatacenterResponse

type CreateDatacenterResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateDefaultProfileRequestType

type CreateDefaultProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Type of profile to create. The profile types
	// are system-defined
	// (`ApplyProfile*.*ApplyProfile.profileTypeName`).
	ProfileType string `xml:"profileType" json:"profileType"`
	// If specified, the method returns a profile object
	// containing data for the named profile. The type name does not have
	// to be system-defined. A user-defined profile can include various
	// dynamically-defined profiles.
	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
	// Base profile used during the operation.
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
}

The parameters of `HostProfileManager.CreateDefaultProfile`.

type CreateDefaultProfileResponse

type CreateDefaultProfileResponse struct {
	Returnval BaseApplyProfile `xml:"returnval,typeattr" json:"returnval"`
}

type CreateDescriptor

type CreateDescriptor CreateDescriptorRequestType

type CreateDescriptorRequestType

type CreateDescriptorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity to export. Supported types are `VirtualMachine`
	// and `VirtualApp`.
	//
	// Required privileges: VApp.Export
	//
	// Refers instance of `ManagedEntity`.
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Parameters to the method, bundled in an instance of
	// CreateDescriptorParams.
	Cdp OvfCreateDescriptorParams `xml:"cdp" json:"cdp"`
}

The parameters of `OvfManager.CreateDescriptor`.

type CreateDescriptorResponse

type CreateDescriptorResponse struct {
	Returnval OvfCreateDescriptorResult `xml:"returnval" json:"returnval"`
}

type CreateDiagnosticPartitionRequestType

type CreateDiagnosticPartitionRequestType struct {
	This ManagedObjectReference            `xml:"_this" json:"-"`
	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDiagnosticSystem.CreateDiagnosticPartition`.

type CreateDiagnosticPartitionResponse

type CreateDiagnosticPartitionResponse struct {
}

type CreateDirectory

type CreateDirectory CreateDirectoryRequestType

type CreateDirectoryRequestType

type CreateDirectoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// datastore on which to create a top-level directory
	//
	// Required privileges: Datastore.Config
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// display name hint for the directory to create
	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty"`
	// opaque storage policy to associate with the directory
	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
	// directory size in MB on vvol/vsan backed object storage.
	// default directory size will be used for vsan backed
	// object storage if not set.
	Size int64 `xml:"size,omitempty" json:"size,omitempty" vim:"7.0.2.0"`
}

The parameters of `DatastoreNamespaceManager.CreateDirectory`.

type CreateDirectoryResponse

type CreateDirectoryResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type CreateDiskFromSnapshotRequestType added in v0.18.0

type CreateDiskFromSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of the virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
	// A user friendly name to be associated with the new disk.
	Name string `xml:"name" json:"name"`
	// SPBM Profile requirement on the new virtual storage object.
	// If not specified datastore default policy would be
	// assigned.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
	// Crypto information of the new disk.
	// If unset and if profile contains an encryption iofilter and
	// if snapshto is unencrypted, then cyrpto will be of
	// type CryptoSpecEncrypt, and filled with keyId that is
	// automatically generated and keyProviderId that is the
	// default kms cluster.
	// If unset and if profile is a default policy and if snapshot
	// is unenrypted, then crypto is treated as CryptoSpecNoOp.
	// If unset and if profile contains an encryption iofilter and
	// if snapshot is encrypted, then cyrpto is treated as
	// CryptoSpecNoOp.
	// If unset and if profile is a default policy and if
	// snapshot is encrypted, then cyrpto is treated as
	// CryptoSpecDecrypt.
	// To recrypt the disk during creating disk, crypto has to be
	// present.
	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
	// Relative location in the specified datastore where disk needs
	// to be created. If not specified disk gets created at the
	// defualt VStorageObject location on the specified datastore.
	Path string `xml:"path,omitempty" json:"path,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.CreateDiskFromSnapshot_Task`.

type CreateDiskFromSnapshot_Task added in v0.18.0

type CreateDiskFromSnapshot_Task CreateDiskFromSnapshotRequestType

type CreateDiskFromSnapshot_TaskResponse added in v0.18.0

type CreateDiskFromSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateDiskRequestType added in v0.12.0

type CreateDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification of the virtual storage object
	// to be created.
	Spec VslmCreateSpec `xml:"spec" json:"spec"`
}

The parameters of `VcenterVStorageObjectManager.CreateDisk_Task`.

type CreateDisk_Task added in v0.12.0

type CreateDisk_Task CreateDiskRequestType

type CreateDisk_TaskResponse added in v0.12.0

type CreateDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateFilter

type CreateFilter CreateFilterRequestType

type CreateFilterRequestType

type CreateFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specifications for the filter.
	Spec PropertyFilterSpec `xml:"spec" json:"spec"`
	// Flag to specify whether a change to a nested property should report
	// only the nested change or the entire specified property value. If the
	// value is true, a change should report only the nested property. If
	// the value is false, a change should report the enclosing property
	// named in the filter.
	PartialUpdates bool `xml:"partialUpdates" json:"partialUpdates"`
}

The parameters of `PropertyCollector.CreateFilter`.

type CreateFilterResponse

type CreateFilterResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateFolder

type CreateFolder CreateFolderRequestType

type CreateFolderRequestType

type CreateFolderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name to be given the new folder. An entity name
	// must be a non-empty string of less than 80 characters.
	// The slash (/), backslash (\\) and percent (%) will be escaped
	// using the URL syntax. For example, %2F. Any percent (%)
	// character used in this parameter must be escaped, unless
	// it is used to start an escape sequence. Clients may also
	// escape any other characters in this parameter.
	Name string `xml:"name" json:"name"`
}

The parameters of `Folder.CreateFolder`.

type CreateFolderResponse

type CreateFolderResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateGroup

type CreateGroup CreateGroupRequestType

type CreateGroupRequestType

type CreateGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification of group being created.
	Group BaseHostAccountSpec `xml:"group,typeattr" json:"group"`
}

The parameters of `HostLocalAccountManager.CreateGroup`.

type CreateGroupResponse

type CreateGroupResponse struct {
}

type CreateImportSpec

type CreateImportSpec CreateImportSpecRequestType

type CreateImportSpecRequestType

type CreateImportSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The OVF descriptor of the entity.
	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
	// The resource pool to import the entity to. May be a
	// vApp.
	//
	// Required privileges: VApp.Import
	//
	// Refers instance of `ResourcePool`.
	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
	// The datastore on which to create the inventory objects
	// of the entity, for example "storage1". The privilege
	// Datastore.AllocateSpace is required on the datastore.
	//
	// Required privileges: Datastore.AllocateSpace
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Additional parameters to the method, bundled in an instance of
	// CreateImportSpecParams.
	Cisp OvfCreateImportSpecParams `xml:"cisp" json:"cisp"`
}

The parameters of `OvfManager.CreateImportSpec`.

type CreateImportSpecResponse

type CreateImportSpecResponse struct {
	Returnval OvfCreateImportSpecResult `xml:"returnval" json:"returnval"`
}

type CreateInventoryView

type CreateInventoryView CreateInventoryViewRequestType

type CreateInventoryViewRequestType

type CreateInventoryViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CreateInventoryViewResponse

type CreateInventoryViewResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateIpPool

type CreateIpPool CreateIpPoolRequestType

type CreateIpPoolRequestType

type CreateIpPoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to create the pool.
	//
	// Required privileges: Datacenter.IpPoolConfig
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The IP pool to create on the server
	Pool IpPool `xml:"pool" json:"pool"`
}

The parameters of `IpPoolManager.CreateIpPool`.

type CreateIpPoolResponse

type CreateIpPoolResponse struct {
	Returnval int32 `xml:"returnval" json:"returnval"`
}

type CreateListView

type CreateListView CreateListViewRequestType

type CreateListViewFromViewRequestType

type CreateListViewFromViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The view that will provide the object list for the
	// new ListView object.
	//
	// Refers instance of `View`.
	View ManagedObjectReference `xml:"view" json:"view"`
}

The parameters of `ViewManager.CreateListViewFromView`.

type CreateListViewFromViewResponse

type CreateListViewFromViewResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateListViewRequestType

type CreateListViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The initial list of objects in the view.
	//
	// Required privileges: System.View
	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
}

The parameters of `ViewManager.CreateListView`.

type CreateListViewResponse

type CreateListViewResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateLocalDatastoreRequestType

type CreateLocalDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of a datastore to create on the local host.
	Name string `xml:"name" json:"name"`
	// The file path for a directory in which the virtual machine data
	// will be stored.
	Path string `xml:"path" json:"path"`
}

The parameters of `HostDatastoreSystem.CreateLocalDatastore`.

type CreateLocalDatastoreResponse

type CreateLocalDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateNasDatastore

type CreateNasDatastore CreateNasDatastoreRequestType

type CreateNasDatastoreRequestType

type CreateNasDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification for creating a network-attached storage volume.
	Spec HostNasVolumeSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDatastoreSystem.CreateNasDatastore`.

type CreateNasDatastoreResponse

type CreateNasDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateNvdimmNamespaceRequestType added in v0.18.0

type CreateNvdimmNamespaceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Parameters to create the required namespace.
	CreateSpec NvdimmNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
}

The parameters of `HostNvdimmSystem.CreateNvdimmNamespace_Task`.

type CreateNvdimmNamespace_Task added in v0.18.0

type CreateNvdimmNamespace_Task CreateNvdimmNamespaceRequestType

type CreateNvdimmNamespace_TaskResponse added in v0.18.0

type CreateNvdimmNamespace_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateNvdimmPMemNamespaceRequestType added in v0.21.0

type CreateNvdimmPMemNamespaceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Parameters to create the required namespace.
	CreateSpec NvdimmPMemNamespaceCreateSpec `xml:"createSpec" json:"createSpec"`
}

The parameters of `HostNvdimmSystem.CreateNvdimmPMemNamespace_Task`.

type CreateNvdimmPMemNamespace_Task added in v0.21.0

type CreateNvdimmPMemNamespace_Task CreateNvdimmPMemNamespaceRequestType

type CreateNvdimmPMemNamespace_TaskResponse added in v0.21.0

type CreateNvdimmPMemNamespace_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateNvmeOverRdmaAdapter added in v0.23.0

type CreateNvmeOverRdmaAdapter CreateNvmeOverRdmaAdapterRequestType

type CreateNvmeOverRdmaAdapterRequestType added in v0.23.0

type CreateNvmeOverRdmaAdapterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device name of the RDMA device
	// to be used to create the software adapter.
	// Can be obtained from `HostRdmaDevice.device`.
	RdmaDeviceName string `xml:"rdmaDeviceName" json:"rdmaDeviceName"`
}

The parameters of `HostStorageSystem.CreateNvmeOverRdmaAdapter`.

type CreateNvmeOverRdmaAdapterResponse added in v0.23.0

type CreateNvmeOverRdmaAdapterResponse struct {
}

type CreateObjectScheduledTaskRequestType

type CreateObjectScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The managed object for which the
	// scheduled task triggers an action. You can
	// schedule tasks on any managed object.
	//
	// Required privileges: ScheduledTask.Create
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// The specification for the new scheduled task.
	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `ScheduledTaskManager.CreateObjectScheduledTask`.

type CreateObjectScheduledTaskResponse

type CreateObjectScheduledTaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreatePassiveNodeRequestType added in v0.18.0

type CreatePassiveNodeRequestType struct {
	This                  ManagedObjectReference    `xml:"_this" json:"-"`
	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
	SourceVcSpec          SourceNodeSpec            `xml:"sourceVcSpec" json:"sourceVcSpec"`
}

type CreatePassiveNode_Task added in v0.18.0

type CreatePassiveNode_Task CreatePassiveNodeRequestType

type CreatePassiveNode_TaskResponse added in v0.18.0

type CreatePassiveNode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreatePerfInterval

type CreatePerfInterval CreatePerfIntervalRequestType

type CreatePerfIntervalRequestType

type CreatePerfIntervalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A custom interval, specified as the number of seconds to hold data in the
	// database, a user-specified unique name, and a sampling period (in
	// seconds).
	IntervalId PerfInterval `xml:"intervalId" json:"intervalId"`
}

The parameters of `PerformanceManager.CreatePerfInterval`.

type CreatePerfIntervalResponse

type CreatePerfIntervalResponse struct {
}

type CreateProfile

type CreateProfile CreateProfileRequestType

type CreateProfileRequestType

type CreateProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification for the profile being created.
	// Usually a derived class CreateSpec can be used to create the Profile.
	CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr" json:"createSpec"`
}

The parameters of `ProfileManager.CreateProfile`.

type CreateProfileResponse

type CreateProfileResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreatePropertyCollectorRequestType

type CreatePropertyCollectorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CreatePropertyCollectorResponse

type CreatePropertyCollectorResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateRegistryKeyInGuestRequestType

type CreateRegistryKeyInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The path to the registry key to be created.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// If true, the key is created in memory and is not
	// preserved across system reboot. Otherwise, it shall
	// persist in the file system.
	IsVolatile bool `xml:"isVolatile" json:"isVolatile"`
	// User defined class type for this key. May be omitted.
	ClassType string `xml:"classType,omitempty" json:"classType,omitempty"`
}

The parameters of `GuestWindowsRegistryManager.CreateRegistryKeyInGuest`.

type CreateRegistryKeyInGuestResponse

type CreateRegistryKeyInGuestResponse struct {
}

type CreateResourcePool

type CreateResourcePool CreateResourcePoolRequestType

type CreateResourcePoolRequestType

type CreateResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the ResourcePool. Any % (percent) character
	// used in this parameter must be escaped, unless it is used
	// to start an escape sequence. Clients may also escape any
	// other characters in this parameter.
	Name string `xml:"name" json:"name"`
	// The spec for the ResourcePool.
	// All values in ResourceAllocationInfo must be specified and
	// are not optional.
	Spec ResourceConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `ResourcePool.CreateResourcePool`.

type CreateResourcePoolResponse

type CreateResourcePoolResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateScheduledTask

type CreateScheduledTask CreateScheduledTaskRequestType

type CreateScheduledTaskRequestType

type CreateScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The managed entity (or entities) for which the
	// scheduled task triggers an action. You can
	// schedule tasks on any managed entity. If the
	// scheduled task is associated with a leaf node in
	// the inventory tree, it applies only to a single
	// entity (virtual machine or host). If the
	// task is associated with a folder, a datacenter, a
	// compute resource, or a resource pool, it applies to
	// the virtual machine or host descendants of the entity.
	//
	// Required privileges: ScheduledTask.Create
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The specification for the new scheduled task.
	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `ScheduledTaskManager.CreateScheduledTask`.

type CreateScheduledTaskResponse

type CreateScheduledTaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateScreenshotRequestType

type CreateScreenshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CreateScreenshot_Task

type CreateScreenshot_Task CreateScreenshotRequestType

type CreateScreenshot_TaskResponse

type CreateScreenshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateSecondaryVMExRequestType

type CreateSecondaryVMExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The host where the secondary virtual machine is to be
	// created and powered on. If no host is specified, a compatible host will be
	// selected by the system. If a host cannot be found for the secondary or the specified
	// host is not suitable, the secondary will not be created and a fault will be returned.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// This parameter `FaultToleranceVMConfigSpec` can
	// be used to specify the storage location of the fault tolerance
	// tie-breaker file, secondary configuration file and secondary
	// disks.
	//
	// If the virtual machine is on a vSAN datastore, then the
	// Fault Tolerance secondary virtual machine and the tie-breaker
	// file also have to be placed on that same vSAN datastore.
	// Conversely, if a primary VM is not using vSAN datastore,
	// then its Fault Tolerance secondary virtual machine can
	// not be placed on a vSAN datastore. Fault Tolerance is not
	// supported for VMs that are using both vSAN and non-vSAN
	// datastores for its configuration and disks.
	//
	// If the virtual machine is using persistent memory for any of
	// its disks, then its corresponding secondary disk placement
	// entry should not be specified in the
	// `FaultToleranceVMConfigSpec`. The system will
	// automatically place the corresponding secondary disk on
	// persistent memory.
	Spec *FaultToleranceConfigSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `VirtualMachine.CreateSecondaryVMEx_Task`.

type CreateSecondaryVMEx_Task

type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType

type CreateSecondaryVMEx_TaskResponse

type CreateSecondaryVMEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateSecondaryVMRequestType

type CreateSecondaryVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The host where the secondary virtual machine is to be
	// created and powered on. If no host is specified, a compatible host will be
	// selected by the system. If a host cannot be found for the secondary or the specified
	// host is not suitable, the secondary will not be created and a fault will be returned.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `VirtualMachine.CreateSecondaryVM_Task`.

type CreateSecondaryVM_Task

type CreateSecondaryVM_Task CreateSecondaryVMRequestType

type CreateSecondaryVM_TaskResponse

type CreateSecondaryVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateSnapshotExRequestType added in v0.12.0

type CreateSnapshotExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name for this snapshot. The name need not be unique for
	// this virtual machine.
	Name string `xml:"name" json:"name"`
	// A description for this snapshot. If omitted, a default
	// description may be provided.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// If TRUE, a dump of the internal state of the virtual machine
	// (basically a memory dump) is included in the snapshot. Memory snapshots
	// consume time and resources, and thus take longer to create.
	// When set to FALSE, the power state of the snapshot is set to powered off.
	//
	// `capabilities`
	// indicates whether or not this virtual machine supports this operation.
	// For a virtual machine in suspended state we always include memory
	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
	// true.
	Memory bool `xml:"memory" json:"memory"`
	// Spec for granular control over quiesce details.
	// If quiesceSpec is set and the virtual machine is powered on when the
	// snapshot is taken, VMware Tools is used to quiesce the file
	// system in the virtual machine. This assures that a disk snapshot
	// represents a consistent state of the guest file systems. If the virtual
	// machine is powered off or VMware Tools are not available, the quiesce
	// spec is ignored. If the spec type is `VirtualMachineGuestQuiesceSpec`, the
	// default quiescing process will be applied. If the spec type is
	// `VirtualMachineWindowsQuiesceSpec` and Guest OS is Windows, the parameters
	// will control the VSS process.
	QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr" json:"quiesceSpec,omitempty"`
}

The parameters of `VirtualMachine.CreateSnapshotEx_Task`.

type CreateSnapshotEx_Task added in v0.12.0

type CreateSnapshotEx_Task CreateSnapshotExRequestType

type CreateSnapshotEx_TaskResponse added in v0.12.0

type CreateSnapshotEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateSnapshotRequestType

type CreateSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name for this snapshot. The name need not be unique for
	// this virtual machine.
	Name string `xml:"name" json:"name"`
	// A description for this snapshot. If omitted, a default
	// description may be provided.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// If TRUE, a dump of the internal state of the virtual machine
	// (basically a memory dump) is included in the snapshot. Memory snapshots
	// consume time and resources, and thus take longer to create. When set to FALSE,
	// the power state of the snapshot is set to powered off.
	//
	// `capabilities`
	// indicates whether or not this virtual machine supports this operation.
	// For a virtual machine in suspended state we always include memory
	// unless `VirtualMachineCapability.diskOnlySnapshotOnSuspendedVMSupported` is
	// true.
	Memory bool `xml:"memory" json:"memory"`
	// If TRUE and the virtual machine is powered on when the
	// snapshot is taken, VMware Tools is used to quiesce the file
	// system in the virtual machine. This assures that a disk snapshot
	// represents a consistent state of the guest file systems. If the virtual machine
	// is powered off or VMware Tools are not available, the quiesce flag is ignored.
	Quiesce bool `xml:"quiesce" json:"quiesce"`
}

The parameters of `VirtualMachine.CreateSnapshot_Task`.

type CreateSnapshot_Task

type CreateSnapshot_Task CreateSnapshotRequestType

type CreateSnapshot_TaskResponse

type CreateSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateSoftwareAdapter added in v0.27.0

type CreateSoftwareAdapter CreateSoftwareAdapterRequestType

type CreateSoftwareAdapterRequestType added in v0.27.0

type CreateSoftwareAdapterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that specifices the parameters necessary
	// to create a software host bus adapter of a specific type.
	Spec BaseHostHbaCreateSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `HostStorageSystem.CreateSoftwareAdapter`.

type CreateSoftwareAdapterResponse added in v0.27.0

type CreateSoftwareAdapterResponse struct {
}

type CreateStoragePod

type CreateStoragePod CreateStoragePodRequestType

type CreateStoragePodRequestType

type CreateStoragePodRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name for the new storage pod.
	Name string `xml:"name" json:"name"`
}

The parameters of `Folder.CreateStoragePod`.

type CreateStoragePodResponse

type CreateStoragePodResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateTask

type CreateTask CreateTaskRequestType

type CreateTaskAction

type CreateTaskAction struct {
	Action

	// Extension registered task type identifier
	// for type of task being created.
	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
	// Whether the task should be cancelable.
	Cancelable bool `xml:"cancelable" json:"cancelable"`
}

This data object type specifies the type of task to be created when this action is triggered.

type CreateTaskRequestType

type CreateTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ManagedObject with which Task will be associated
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Extension registered task type identifier
	// for type of task being created
	TaskTypeId string `xml:"taskTypeId" json:"taskTypeId"`
	// The name of the user on whose behalf the
	// Extension is creating the task
	InitiatedBy string `xml:"initiatedBy,omitempty" json:"initiatedBy,omitempty"`
	// True if the task should be cancelable,
	// false otherwise
	Cancelable bool `xml:"cancelable" json:"cancelable"`
	// Key of the task that is the parent of this task
	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
	// Activation Id is a client-provided token to link an
	// API call with a task. When provided, the activationId is added to the
	// `TaskInfo`
	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
}

The parameters of `TaskManager.CreateTask`.

type CreateTaskResponse

type CreateTaskResponse struct {
	Returnval TaskInfo `xml:"returnval" json:"returnval"`
}

type CreateTemporaryDirectoryInGuestRequestType

type CreateTemporaryDirectoryInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The prefix to be given to the new temporary directory.
	Prefix string `xml:"prefix" json:"prefix"`
	// The suffix to be given to the new temporary directory.
	Suffix string `xml:"suffix" json:"suffix"`
	// The complete path to the directory in which to create the
	// new directory. If unset or an empty string, a guest-specific location
	// will be used.
	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
}

The parameters of `GuestFileManager.CreateTemporaryDirectoryInGuest`.

type CreateTemporaryDirectoryInGuestResponse

type CreateTemporaryDirectoryInGuestResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type CreateTemporaryFileInGuestRequestType

type CreateTemporaryFileInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The prefix to be given to the new temporary file.
	Prefix string `xml:"prefix" json:"prefix"`
	// The suffix to be given to the new temporary file.
	Suffix string `xml:"suffix" json:"suffix"`
	// The complete path to the directory in which to
	// create the file.
	// If unset, or an empty string, a guest-specific location will be used.
	DirectoryPath string `xml:"directoryPath,omitempty" json:"directoryPath,omitempty"`
}

The parameters of `GuestFileManager.CreateTemporaryFileInGuest`.

type CreateTemporaryFileInGuestResponse

type CreateTemporaryFileInGuestResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type CreateUser

type CreateUser CreateUserRequestType

type CreateUserRequestType

type CreateUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification of user being created.
	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
}

The parameters of `HostLocalAccountManager.CreateUser`.

type CreateUserResponse

type CreateUserResponse struct {
}

type CreateVApp

type CreateVApp CreateVAppRequestType

type CreateVAppRequestType

type CreateVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the vApp container in the inventory
	Name string `xml:"name" json:"name"`
	// The resource configuration for the vApp container (same as for a
	// regular resource pool).
	ResSpec ResourceConfigSpec `xml:"resSpec" json:"resSpec"`
	// The specification of the vApp specific meta-data.
	ConfigSpec VAppConfigSpec `xml:"configSpec" json:"configSpec"`
	// The parent folder for the vApp. This must be null if this is
	// a child vApp.
	//
	// Refers instance of `Folder`.
	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
}

The parameters of `ResourcePool.CreateVApp`.

type CreateVAppResponse

type CreateVAppResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateVMRequestType

type CreateVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The configuration of the virtual machine hardware.
	Config VirtualMachineConfigSpec `xml:"config" json:"config"`
	// The resource pool to which the virtual machine will be attached.
	//
	// Required privileges: Resource.AssignVMToPool
	//
	// Refers instance of `ResourcePool`.
	Pool ManagedObjectReference `xml:"pool" json:"pool"`
	// The target host on which the virtual machine will run. This must
	// specify a host that is a member of the ComputeResource indirectly
	// specified by the pool. For a stand-alone host or a cluster with DRS,
	// host can be omitted, and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `Folder.CreateVM_Task`.

type CreateVM_Task

type CreateVM_Task CreateVMRequestType

type CreateVM_TaskResponse

type CreateVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateVirtualDiskRequestType

type CreateVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a
	// URL referring to the virtual disk to be created.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The specification of the virtual disk to be created.
	Spec BaseVirtualDiskSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `VirtualDiskManager.CreateVirtualDisk_Task`.

type CreateVirtualDisk_Task

type CreateVirtualDisk_Task CreateVirtualDiskRequestType

type CreateVirtualDisk_TaskResponse

type CreateVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateVmfsDatastore

type CreateVmfsDatastore CreateVmfsDatastoreRequestType

type CreateVmfsDatastoreRequestType

type CreateVmfsDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification for creating a datastore backed by a VMFS.
	Spec VmfsDatastoreCreateSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDatastoreSystem.CreateVmfsDatastore`.

type CreateVmfsDatastoreResponse

type CreateVmfsDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateVvolDatastore

type CreateVvolDatastore CreateVvolDatastoreRequestType

type CreateVvolDatastoreRequestType

type CreateVvolDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification for creating a Virtual-Volume based datastore.
	Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDatastoreSystem.CreateVvolDatastore`.

type CreateVvolDatastoreResponse

type CreateVvolDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CreateWitnessNodeRequestType added in v0.18.0

type CreateWitnessNodeRequestType struct {
	This                  ManagedObjectReference `xml:"_this" json:"-"`
	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
	SourceVcSpec          SourceNodeSpec         `xml:"sourceVcSpec" json:"sourceVcSpec"`
}

type CreateWitnessNode_Task added in v0.18.0

type CreateWitnessNode_Task CreateWitnessNodeRequestType

type CreateWitnessNode_TaskResponse added in v0.18.0

type CreateWitnessNode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CryptoKeyId added in v0.12.0

type CryptoKeyId struct {
	DynamicData

	// Unique key ID.
	//
	// When creating a key may be replaced with the ID generated by the KMS
	// server.
	// An empty string must be used when encrypting with a Trusted Key Provider,
	// because the key is generated at the time of encryption.
	KeyId string `xml:"keyId" json:"keyId"`
	// The provider holding the key data.
	//
	// May be ignored if the key is known to be stored in another provider.
	ProviderId *KeyProviderId `xml:"providerId,omitempty" json:"providerId,omitempty"`
}

Data Object representing a cryptographic key.

type CryptoKeyPlain added in v0.12.0

type CryptoKeyPlain struct {
	DynamicData

	KeyId     CryptoKeyId `xml:"keyId" json:"keyId"`
	Algorithm string      `xml:"algorithm" json:"algorithm"`
	KeyData   string      `xml:"keyData" json:"keyData"`
}

Data Object representing a plain text cryptographic key.

type CryptoKeyResult added in v0.12.0

type CryptoKeyResult struct {
	DynamicData

	KeyId   CryptoKeyId `xml:"keyId" json:"keyId"`
	Success bool        `xml:"success" json:"success"`
	Reason  string      `xml:"reason,omitempty" json:"reason,omitempty"`
	// Fault which includes details about the error.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"7.0.1.0"`
}

CryptoKeyResult.java -- Data Object representing a cryptographic key operation result.

type CryptoManagerHostDisable added in v0.23.0

type CryptoManagerHostDisable CryptoManagerHostDisableRequestType

type CryptoManagerHostDisableRequestType added in v0.23.0

type CryptoManagerHostDisableRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CryptoManagerHostDisableResponse added in v0.23.0

type CryptoManagerHostDisableResponse struct {
}

type CryptoManagerHostEnable added in v0.18.0

type CryptoManagerHostEnable CryptoManagerHostEnableRequestType

type CryptoManagerHostEnableRequestType added in v0.18.0

type CryptoManagerHostEnableRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key to be used for core dump encryption
	InitialKey CryptoKeyPlain `xml:"initialKey" json:"initialKey"`
}

The parameters of `CryptoManagerHost.CryptoManagerHostEnable`.

type CryptoManagerHostEnableResponse added in v0.18.0

type CryptoManagerHostEnableResponse struct {
}

type CryptoManagerHostKeyManagementType added in v0.31.0

type CryptoManagerHostKeyManagementType string

type CryptoManagerHostKeyStatus added in v0.31.0

type CryptoManagerHostKeyStatus struct {
	DynamicData

	// Crypto key Id.
	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
	// Whether the key is present in key cache for crypto operation.
	Present bool `xml:"present" json:"present"`
	// Key management type.
	//
	// See `CryptoManagerHostKeyManagementType_enum` for valid values.
	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
}

Status of a Crypto key on host.

type CryptoManagerHostPrepare added in v0.18.0

type CryptoManagerHostPrepare CryptoManagerHostPrepareRequestType

type CryptoManagerHostPrepareRequestType added in v0.18.0

type CryptoManagerHostPrepareRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CryptoManagerHostPrepareResponse added in v0.18.0

type CryptoManagerHostPrepareResponse struct {
}

type CryptoManagerKmipCertSignRequest added in v0.31.0

type CryptoManagerKmipCertSignRequest struct {
	DynamicData

	// Common name for the certificate sign request.
	//
	// This is fully qualified domain name that you wish to secure.
	CommonName string `xml:"commonName,omitempty" json:"commonName,omitempty"`
	// Organization name for the certificate sign request.
	//
	// Usually the legal name of a company or entity and
	// should include any suffixes such as Ltd., Inc., or Corp.
	Organization string `xml:"organization,omitempty" json:"organization,omitempty"`
	// Organizational unit name for the certificate sign request.
	//
	// Internal organization department/division name.
	OrganizationUnit string `xml:"organizationUnit,omitempty" json:"organizationUnit,omitempty"`
	// Locality name for the certificate sign request.
	//
	// Town, city, village, etc.
	Locality string `xml:"locality,omitempty" json:"locality,omitempty"`
	// State name for the certificate sign request.
	//
	// Province, region, county or state.
	State string `xml:"state,omitempty" json:"state,omitempty"`
	// Country Name for the certificate sign request.
	//
	// The two-letter ISO code for the country where your
	// organization is located.
	Country string `xml:"country,omitempty" json:"country,omitempty"`
	// Email address for the certificate sign request.
	//
	// The organization contact, usually of the certificate
	// administrator or IT department.
	Email string `xml:"email,omitempty" json:"email,omitempty"`
}

type CryptoManagerKmipCertificateInfo added in v0.12.0

type CryptoManagerKmipCertificateInfo struct {
	DynamicData

	// Subject identifies whom the certificate is issued to.
	Subject string `xml:"subject" json:"subject"`
	// Issuer identifies the party that issued this certificate.
	Issuer string `xml:"issuer" json:"issuer"`
	// The unique serial number of the certificate given by issuer.
	SerialNumber string `xml:"serialNumber" json:"serialNumber"`
	// The beginning time of the period of validity.
	NotBefore time.Time `xml:"notBefore" json:"notBefore"`
	// The ending time of the period of validity.
	NotAfter time.Time `xml:"notAfter" json:"notAfter"`
	// The SSL SHA1 fingerprint of the certificate.
	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
	// The timestamp when the state of the certificate is checked.
	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
	// Total seconds since this certificate has entered valid state.
	//
	// It is the time difference between "now" and "notBefore".
	// If it is negative value, that means the certificate will become
	// valid in a future time.
	SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty" json:"secondsSinceValid,omitempty"`
	// Total seconds before this certificate expires.
	//
	// It is the time difference between "notAfter" and "now".
	// If it is negative value, that means the certificate has already
	// expired.
	SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty" json:"secondsBeforeExpire,omitempty"`
}

Basic information of a certificate.

type CryptoManagerKmipClusterStatus added in v0.12.0

type CryptoManagerKmipClusterStatus struct {
	DynamicData

	// The ID of the KMIP cluster.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// KMS cluster overall status.
	OverallStatus ManagedEntityStatus `xml:"overallStatus,omitempty" json:"overallStatus,omitempty" vim:"7.0"`
	// Key provider management type.
	//
	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty" vim:"7.0"`
	// Status of the KMIP servers in this cluster.
	Servers []CryptoManagerKmipServerStatus `xml:"servers" json:"servers"`
	// The basic information about the client's certificate.
	ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty" json:"clientCertInfo,omitempty"`
}

Status of a KMIP cluster.

type CryptoManagerKmipCryptoKeyStatus added in v0.21.0

type CryptoManagerKmipCryptoKeyStatus struct {
	DynamicData

	// Crypto key Id
	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
	// If the key is available for crypto operation
	KeyAvailable *bool `xml:"keyAvailable" json:"keyAvailable,omitempty"`
	// The reason for key not available, valid when keyAvailable is false.
	//
	// `CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason_enum` lists the set of supported values.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The list of VMs which use that key
	//
	// Refers instances of `VirtualMachine`.
	EncryptedVMs []ManagedObjectReference `xml:"encryptedVMs,omitempty" json:"encryptedVMs,omitempty"`
	// The lists of hosts which use that key as host key
	//
	// Refers instances of `HostSystem`.
	AffectedHosts []ManagedObjectReference `xml:"affectedHosts,omitempty" json:"affectedHosts,omitempty"`
	// The identifier list for the 3rd party who are using the key
	ReferencedByTags []string `xml:"referencedByTags,omitempty" json:"referencedByTags,omitempty"`
}

Status of a Crypto key

type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason added in v0.21.0

type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason string

type CryptoManagerKmipCustomAttributeSpec added in v0.31.0

type CryptoManagerKmipCustomAttributeSpec struct {
	DynamicData

	// Crypto key custom attributes
	Attributes []KeyValue `xml:"attributes,omitempty" json:"attributes,omitempty"`
}

Crypto key custom attribute spec

type CryptoManagerKmipServerCertInfo added in v0.12.0

type CryptoManagerKmipServerCertInfo struct {
	DynamicData

	// The server certificate.
	Certificate string `xml:"certificate" json:"certificate"`
	// The basic information about server's certificate.
	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
	// Whether this KMS server is trusted by local Kmip client.
	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
}

Information about the KMIP server certificate.

type CryptoManagerKmipServerStatus added in v0.12.0

type CryptoManagerKmipServerStatus struct {
	DynamicData

	// Name of the KMIP server.
	Name string `xml:"name" json:"name"`
	// KMIP server status.
	Status ManagedEntityStatus `xml:"status" json:"status"`
	// KMIP server connection status description.
	ConnectionStatus string `xml:"connectionStatus" json:"connectionStatus"`
	// The basic information about the KMIP server's certificate.
	CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty" json:"certInfo,omitempty"`
	// Whether this KMS server is trusted by local Kmip client.
	ClientTrustServer *bool `xml:"clientTrustServer" json:"clientTrustServer,omitempty"`
	// Whether this KMS server trusts the local Kmip client.
	ServerTrustClient *bool `xml:"serverTrustClient" json:"serverTrustClient,omitempty"`
}

Status of a KMIP server.

type CryptoSpec added in v0.12.0

type CryptoSpec struct {
	DynamicData
}

This data object type encapsulates virtual machine or disk encryption settings.

func (*CryptoSpec) GetCryptoSpec added in v0.12.0

func (b *CryptoSpec) GetCryptoSpec() *CryptoSpec

type CryptoSpecDecrypt added in v0.12.0

type CryptoSpecDecrypt struct {
	CryptoSpec
}

This data object type encapsulates virtual machine or disk encryption settings for decryption operation.

type CryptoSpecDeepRecrypt added in v0.12.0

type CryptoSpecDeepRecrypt struct {
	CryptoSpec

	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
}

This data object type encapsulates virtual machine or disk cryptographic settings for deep reencryption operation.

type CryptoSpecEncrypt added in v0.12.0

type CryptoSpecEncrypt struct {
	CryptoSpec

	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
}

This data object type encapsulates virtual machine or disk cryptohraphic settings for encryption operation.

type CryptoSpecNoOp added in v0.12.0

type CryptoSpecNoOp struct {
	CryptoSpec
}

This data object type indicates that the encryption settings of the virtual machine or disk should not be modified by the operation.

func (*CryptoSpecNoOp) GetCryptoSpecNoOp added in v0.12.0

func (b *CryptoSpecNoOp) GetCryptoSpecNoOp() *CryptoSpecNoOp

type CryptoSpecRegister added in v0.12.0

type CryptoSpecRegister struct {
	CryptoSpecNoOp

	// The key the VM/disk is already encrypted with.
	CryptoKeyId CryptoKeyId `xml:"cryptoKeyId" json:"cryptoKeyId"`
}

This data object type indicates that the operation requires keys to be sent but the encryption settings of the virtual machine or disk should not be modified by the operation.

type CryptoSpecShallowRecrypt added in v0.12.0

type CryptoSpecShallowRecrypt struct {
	CryptoSpec

	NewKeyId CryptoKeyId `xml:"newKeyId" json:"newKeyId"`
}

This data object type encapsulates virtual machine or disk cryptographic settings for shallow reencryption operation.

type CryptoUnlockRequestType added in v0.18.0

type CryptoUnlockRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CryptoUnlock_Task added in v0.18.0

type CryptoUnlock_Task CryptoUnlockRequestType

type CryptoUnlock_TaskResponse added in v0.18.0

type CryptoUnlock_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CurrentTime

type CurrentTime CurrentTimeRequestType

type CurrentTimeRequestType

type CurrentTimeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type CurrentTimeResponse

type CurrentTimeResponse struct {
	Returnval time.Time `xml:"returnval" json:"returnval"`
}

type CustomFieldDef

type CustomFieldDef struct {
	DynamicData

	// A unique ID used to reference this custom field in assignments.
	//
	// This
	// ID is unique for the lifetime of the field (even across
	// rename operations).
	Key int32 `xml:"key" json:"key"`
	// Name of the field.
	Name string `xml:"name" json:"name"`
	// Type of the field.
	Type string `xml:"type" json:"type"`
	// Type of object for which the field is valid.
	//
	// If not specified,
	// the field is valid for all managed objects.
	ManagedObjectType string `xml:"managedObjectType,omitempty" json:"managedObjectType,omitempty" vim:"2.5"`
	// The set of privileges to apply on this field definition
	FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty" json:"fieldDefPrivileges,omitempty" vim:"2.5"`
	// The set of privileges to apply on instances of this field
	FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty" json:"fieldInstancePrivileges,omitempty" vim:"2.5"`
}

Describes a custom field.

type CustomFieldDefAddedEvent

type CustomFieldDefAddedEvent struct {
	CustomFieldDefEvent
}

This event records the addition of a custom field definition.

type CustomFieldDefEvent

type CustomFieldDefEvent struct {
	CustomFieldEvent

	// The unique identifier of the custom field definition.
	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
	// The name of the custom field.
	Name string `xml:"name" json:"name"`
}

This event records a custom field definition event.

func (*CustomFieldDefEvent) GetCustomFieldDefEvent

func (b *CustomFieldDefEvent) GetCustomFieldDefEvent() *CustomFieldDefEvent

type CustomFieldDefRemovedEvent

type CustomFieldDefRemovedEvent struct {
	CustomFieldDefEvent
}

This event records the removal of a custom field definition.

type CustomFieldDefRenamedEvent

type CustomFieldDefRenamedEvent struct {
	CustomFieldDefEvent

	NewName string `xml:"newName" json:"newName"`
}

This event records the renaming of a custom field definition.

type CustomFieldEvent

type CustomFieldEvent struct {
	Event
}

These are custom field events.

func (*CustomFieldEvent) GetCustomFieldEvent

func (b *CustomFieldEvent) GetCustomFieldEvent() *CustomFieldEvent

type CustomFieldStringValue

type CustomFieldStringValue struct {
	CustomFieldValue

	// Value assigned to the custom field.
	Value string `xml:"value" json:"value"`
}

Subtype for string values (currently the only supported type).

type CustomFieldValue

type CustomFieldValue struct {
	DynamicData

	// The ID of the field to which this value belongs.
	Key int32 `xml:"key" json:"key"`
}

Base type for storing values.

func (*CustomFieldValue) GetCustomFieldValue

func (b *CustomFieldValue) GetCustomFieldValue() *CustomFieldValue

type CustomFieldValueChangedEvent

type CustomFieldValueChangedEvent struct {
	CustomFieldEvent

	// The entity on which the field value was changed.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The custom field whose value was changed for the entity.
	FieldKey int32 `xml:"fieldKey" json:"fieldKey"`
	// The name of the custom field at the time the value was changed.
	Name string `xml:"name" json:"name"`
	// The new value that was set.
	Value string `xml:"value" json:"value"`
	// The previous service state.
	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
}

This event records a change to a custom field value for a particular entity.

type CustomizationAdapterMapping

type CustomizationAdapterMapping struct {
	DynamicData

	// The MAC address of a network adapter being customized.
	//
	// The client cannot change
	// this value because the guest operating system has no control over the MAC
	// address of a virtual network adapter.
	//
	// This property is optional. If it is not included, the customization process maps
	// the settings from the list of AdapterMappings.IPSettings in the
	// Specification.nicSettingMap to the virtual machine's network adapters, in PCI
	// slot order. The first virtual network adapter on the PCI bus is assigned
	// nicSettingMap\[0\].IPSettings, the second adapter is assigned
	// nicSettingMap\[1\].IPSettings, and so on.
	//
	// In vSphere 7.0 series, the MAC addresses must be specified in the
	// ascending order of pciSlotNumber, otherwise a MAC address mismatch error
	// will be reported. For further details, see the
	// https://kb.vmware.com/s/article/87648
	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
	// The IP settings for the associated virtual network adapter.
	Adapter CustomizationIPSettings `xml:"adapter" json:"adapter"`
}

Data object type to associate a virtual network adapter with its IP settings.

type CustomizationAutoIpV6Generator

type CustomizationAutoIpV6Generator struct {
	CustomizationIpV6Generator
}

Use automatic address configuration to generate linklocal ipv6 addresses

type CustomizationCloudinitPrep added in v0.27.0

type CustomizationCloudinitPrep struct {
	CustomizationIdentitySettings

	// Metadata includes the network, instance id and hostname that cloud-init
	// processes to configure the VM.
	//
	// It is in json or yaml format.
	// The max size of the metadata is 524288 bytes.
	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html#"target="_blank">Instance Metadata</a>.
	Metadata string `xml:"metadata" json:"metadata"`
	// Userdata is the user custom content that cloud-init processes to
	// configure the VM.
	//
	// The max size of the userdata is 524288 bytes.
	// See detail information about <a href="https://cloudinit.readthedocs.io/en/latest/topics/format.html"target="_blank">User-Data formats</a>.
	Userdata string `xml:"userdata,omitempty" json:"userdata,omitempty"`
}

Guest customization settings to customize a Linux guest operating system with raw cloud-init data.

type CustomizationCustomIpGenerator

type CustomizationCustomIpGenerator struct {
	CustomizationIpGenerator

	// An optional argument that is passed to the utility for this IP address.
	//
	// The
	// meaning of this field is user-defined, in the script.
	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
}

Use a command-line program configured with the VirtualCenter server.

type CustomizationCustomIpV6Generator

type CustomizationCustomIpV6Generator struct {
	CustomizationIpV6Generator

	// An optional argument that is passed to the utility for this ipv6 address.
	//
	// The
	// meaning of this field is user-defined, in the script.
	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
}

Use a command-line program configured with the VirtualCenter server.

type CustomizationCustomName

type CustomizationCustomName struct {
	CustomizationName

	// An optional argument that is passed to the utility for this IP address.
	//
	// The
	// meaning of this field is user-defined in the script.
	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
}

Specifies that the VirtualCenter server will launch an external application to generate the (hostname/IP).

The command line for this application must be specified in the server configuration file (vpxd.cfg) in the vpxd/name-ip-generator key.

type CustomizationDhcpIpGenerator

type CustomizationDhcpIpGenerator struct {
	CustomizationIpGenerator
}

Use a DHCP server to configure the virtual network adapter.

type CustomizationDhcpIpV6Generator

type CustomizationDhcpIpV6Generator struct {
	CustomizationIpV6Generator
}

Use a DHCP server to configure ipv6 address

type CustomizationEvent

type CustomizationEvent struct {
	VmEvent

	// The location of the in-guest customization log which will contain
	// details of the customization operation.
	LogLocation string `xml:"logLocation,omitempty" json:"logLocation,omitempty"`
}

Base for customization events.

func (*CustomizationEvent) GetCustomizationEvent

func (b *CustomizationEvent) GetCustomizationEvent() *CustomizationEvent

type CustomizationFailed

type CustomizationFailed struct {
	CustomizationEvent

	// Reason why the customization failed @see CustomizationFailed.ReasonCode .
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"7.0"`
}

The customization sequence in the guest failed.

func (*CustomizationFailed) GetCustomizationFailed

func (b *CustomizationFailed) GetCustomizationFailed() *CustomizationFailed

type CustomizationFailedReasonCode added in v0.23.0

type CustomizationFailedReasonCode string

type CustomizationFault

type CustomizationFault struct {
	VimFault
}

Base for exceptions that can be thrown from the customizer.

func (*CustomizationFault) GetCustomizationFault

func (b *CustomizationFault) GetCustomizationFault() *CustomizationFault

type CustomizationFaultFault

type CustomizationFaultFault BaseCustomizationFault

type CustomizationFixedIp

type CustomizationFixedIp struct {
	CustomizationIpGenerator

	IpAddress string `xml:"ipAddress" json:"ipAddress"`
}

Use a static IP Address for the virtual network adapter.

type CustomizationFixedIpV6

type CustomizationFixedIpV6 struct {
	CustomizationIpV6Generator

	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
	SubnetMask int32  `xml:"subnetMask" json:"subnetMask"`
}

Use a static ipv6 address for the virtual network adapter

type CustomizationFixedName

type CustomizationFixedName struct {
	CustomizationName

	// The virtual machine name specified by the client.
	Name string `xml:"name" json:"name"`
}

A fixed name.

type CustomizationGlobalIPSettings

type CustomizationGlobalIPSettings struct {
	DynamicData

	// List of name resolution suffixes for the virtual network adapter.
	//
	// This list
	// applies to both Windows and Linux guest customization. For Linux, this setting
	// is global, whereas in Windows, this setting is listed on a per-adapter basis,
	// even though the setting is global in Windows.
	DnsSuffixList []string `xml:"dnsSuffixList,omitempty" json:"dnsSuffixList,omitempty"`
	// List of DNS servers, for a virtual network adapter with a static IP address.
	//
	// If
	// this list is empty, then the guest operating system is expected to use a DHCP
	// server to get its DNS server settings. These settings configure the virtual
	// machine to use the specified DNS servers. These DNS server settings are listed
	// in order of preference.
	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
}

A collection of global IP settings for a virtual network adapter.

In Linux, DNS server settings are global. The settings can either be statically set or supplied by a DHCP server.

type CustomizationGuiRunOnce

type CustomizationGuiRunOnce struct {
	DynamicData

	// A list of commands to run at first user logon, after guest customization.
	CommandList []string `xml:"commandList" json:"commandList"`
}

The commands listed in the GuiRunOnce data object type are executed when a user logs on the first time after customization completes.

The logon may be driven by the `AutoLogon` setting.

The GuiRunOnce data object type maps to the GuiRunOnce key in the `sysprep.xml` answer file. These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.

type CustomizationGuiUnattended

type CustomizationGuiUnattended struct {
	DynamicData

	// The new administrator password for the machine.
	//
	// To specify that the password
	// should be set to blank (that is, no password), set the password value to NULL.
	// Because of encryption, "" is NOT a valid value.
	//
	// If password is set to blank and `CustomizationGuiUnattended.autoLogon` is set, the
	// guest customization will fail.
	//
	// If the XML file is generated by the VirtualCenter Customization Wizard, then the
	// password is encrypted. Otherwise, the client should set the plainText attribute
	// to true, so that the customization process does not attempt to decrypt the
	// string.
	Password *CustomizationPassword `xml:"password,omitempty" json:"password,omitempty"`
	// The time zone index for the virtual machine.
	//
	// Numbers correspond to time zones
	// listed at <a href="https://support.microsoft.com/en-us/help/973627/microsoft-time-zone-index-values"target="_blank">Microsoft Time Zone Index Values</a>.
	TimeZone int32 `xml:"timeZone" json:"timeZone"`
	// Flag to determine whether or not the machine automatically logs on as
	// Administrator.
	//
	// See also the password property.
	//
	// If the AutoLogon flag is set, `CustomizationGuiUnattended.password` must not be
	// blank or the guest customization will fail.
	AutoLogon bool `xml:"autoLogon" json:"autoLogon"`
	// If the AutoLogon flag is set, then the AutoLogonCount property specifies the
	// number of times the machine should automatically log on as Administrator.
	//
	// Generally it should be 1, but if your setup requires a number of reboots, you
	// may want to increase it. This number may be determined by the list of commands
	// executed by the `GuiRunOnce` command.
	AutoLogonCount int32 `xml:"autoLogonCount" json:"autoLogonCount"`
}

The GuiUnattended type maps to the GuiUnattended key in the `sysprep.xml` answer file.

These values are plugged directly into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.

type CustomizationIPSettings

type CustomizationIPSettings struct {
	DynamicData

	// Specification to obtain a unique IP address for this virtual network adapter.
	Ip BaseCustomizationIpGenerator `xml:"ip,typeattr" json:"ip"`
	// Subnet mask for this virtual network adapter.
	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
	// For a virtual network adapter with a static IP address, this data object type
	// contains a list of gateways, in order of preference.
	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
	// This contains the IpGenerator, subnet mask and gateway info for all
	// the ipv6 addresses associated with the virtual network adapter.
	IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty" json:"ipV6Spec,omitempty" vim:"4.0"`
	// A list of server IP addresses to use for DNS lookup in a Windows guest operating
	// system.
	//
	// In Windows, these settings are adapter-specific, whereas in Linux, they
	// are global. As a result, the Linux guest customization process ignores this
	// setting and looks for its DNS servers in the globalIPSettings object.
	//
	// Specify these servers in order of preference. If this list is not empty, and if
	// a DHCP IpGenerator is used, then these settings override the DHCP settings.
	DnsServerList []string `xml:"dnsServerList,omitempty" json:"dnsServerList,omitempty"`
	// A DNS domain suffix such as vmware.com.
	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
	// The IP address of the primary WINS server.
	//
	// This property is ignored for Linux
	// guest operating systems.
	PrimaryWINS string `xml:"primaryWINS,omitempty" json:"primaryWINS,omitempty"`
	// The IP address of the secondary WINS server.
	//
	// This property is ignored for Linux
	// guest operating systems.
	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
	// NetBIOS setting for Windows.
	NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty" json:"netBIOS,omitempty"`
}

IP settings for a virtual network adapter.

type CustomizationIPSettingsIpV6AddressSpec

type CustomizationIPSettingsIpV6AddressSpec struct {
	DynamicData

	// ipv6 address generators
	Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr" json:"ip"`
	// gateways
	Gateway []string `xml:"gateway,omitempty" json:"gateway,omitempty"`
}

IPv6 settings

type CustomizationIdentification

type CustomizationIdentification struct {
	DynamicData

	// The workgroup that the virtual machine should join.
	//
	// If this value is supplied,
	// then the domain name and authentication fields must be empty.
	JoinWorkgroup string `xml:"joinWorkgroup,omitempty" json:"joinWorkgroup,omitempty"`
	// The domain that the virtual machine should join.
	//
	// If this value is supplied, then
	// domainAdmin and domainAdminPassword must also be supplied, and the workgroup
	// name must be empty.
	JoinDomain string `xml:"joinDomain,omitempty" json:"joinDomain,omitempty"`
	// This is the domain user account used for authentication if the virtual machine
	// is joining a domain.
	//
	// The user does not need to be a domain administrator, but
	// the account must have the privileges required to add computers to the domain.
	DomainAdmin string `xml:"domainAdmin,omitempty" json:"domainAdmin,omitempty"`
	// This is the password for the domain user account used for authentication if the
	// virtual machine is joining a domain.
	DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty" json:"domainAdminPassword,omitempty"`
	// This is the MachineObjectOU which specifies the full LDAP path name of
	// the OU to which the computer belongs.
	//
	// For example, OU=MyOu,DC=MyDom,DC=MyCompany,DC=com
	// Refer to: https://docs.microsoft.com/en-us/windows-hardware/customize/
	// desktop/unattend/microsoft-windows-unattendedjoin-
	// identification-machineobjectou
	DomainOU string `xml:"domainOU,omitempty" json:"domainOU,omitempty" vim:"8.0.2.0"`
}

The Identification data object type provides information needed to join a workgroup or domain.

The Identification data object type maps to the Identification key in the `sysprep.xml` answer file. These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.

type CustomizationIdentitySettings

type CustomizationIdentitySettings struct {
	DynamicData
}

Base type for sysprep, sysprepText, or linuxPrep object type.

func (*CustomizationIdentitySettings) GetCustomizationIdentitySettings

func (b *CustomizationIdentitySettings) GetCustomizationIdentitySettings() *CustomizationIdentitySettings

type CustomizationIpGenerator

type CustomizationIpGenerator struct {
	DynamicData
}

Base type for the various IP specification possibilities.

func (*CustomizationIpGenerator) GetCustomizationIpGenerator

func (b *CustomizationIpGenerator) GetCustomizationIpGenerator() *CustomizationIpGenerator

type CustomizationIpV6Generator

type CustomizationIpV6Generator struct {
	DynamicData
}

Base type for the various IpV6 specification possibilities

func (*CustomizationIpV6Generator) GetCustomizationIpV6Generator

func (b *CustomizationIpV6Generator) GetCustomizationIpV6Generator() *CustomizationIpV6Generator

type CustomizationLicenseDataMode

type CustomizationLicenseDataMode string

Enumeration of AutoMode values.

type CustomizationLicenseFilePrintData

type CustomizationLicenseFilePrintData struct {
	DynamicData

	// Server licensing mode
	AutoMode CustomizationLicenseDataMode `xml:"autoMode" json:"autoMode"`
	// This key is valid only if AutoMode = PerServer.
	//
	// The integer value indicates the
	// number of client licenses purchased for the VirtualCenter server being
	// installed.
	AutoUsers int32 `xml:"autoUsers,omitempty" json:"autoUsers,omitempty"`
}

The LicenseFilePrintData type maps directly to the LicenseFilePrintData key in the `sysprep.xml` answer file.

These values are transferred into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>. LicenseFilePrintData provides licensing information for Windows server operating systems.

type CustomizationLinuxIdentityFailed

type CustomizationLinuxIdentityFailed struct {
	CustomizationFailed
}

Failed to set Linux identity.

type CustomizationLinuxOptions

type CustomizationLinuxOptions struct {
	CustomizationOptions
}

Base object type for optional operations supported by the customization process for Linux.

type CustomizationLinuxPrep

type CustomizationLinuxPrep struct {
	CustomizationIdentitySettings

	// The network host name of the (Linux) virtual machine.
	HostName BaseCustomizationName `xml:"hostName,typeattr" json:"hostName"`
	// The fully qualified domain name.
	Domain string `xml:"domain" json:"domain"`
	// The case-sensitive timezone, such as Europe/Sofia.
	//
	// <a href="timezone.html"title="Display list of Valid timeZone values...">
	// **Valid timeZone values**</a> are based on the tz (timezone)
	// database used by Linux and other Unix systems.
	// The values are strings (xsd:string) in the form "Area/Location," in which
	// Area is a continent or ocean name, and Location is the city, island, or
	// other regional designation.
	//
	// See the <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2145518"target="_blank">List of supported time zones for different vSphere versions in Linux/Unix systems</a>.
	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty" vim:"4.0"`
	// Specifies whether the hardware clock is in UTC or local time.
	//     - True when the hardware clock is in UTC.
	//     - False when the hardware clock is in local time.
	HwClockUTC *bool `xml:"hwClockUTC" json:"hwClockUTC,omitempty" vim:"4.0"`
	// The script to run before and after GOS customization.
	ScriptText string `xml:"scriptText,omitempty" json:"scriptText,omitempty" vim:"7.0"`
}

This is the Linux counterpart to the Windows Sysprep object.

LinuxPrep contains machine-wide settings that identify a Linux machine in the same way that the Sysprep type identifies a Windows machine.

type CustomizationName

type CustomizationName struct {
	DynamicData
}

A base object type for a virtual machine name that can be either fixed or auto-generated.

func (*CustomizationName) GetCustomizationName

func (b *CustomizationName) GetCustomizationName() *CustomizationName

type CustomizationNetBIOSMode

type CustomizationNetBIOSMode string

NetBIOS setting for Windows.

type CustomizationNetworkSetupFailed

type CustomizationNetworkSetupFailed struct {
	CustomizationFailed
}

Network setup failed in the guest during customization.

type CustomizationOptions

type CustomizationOptions struct {
	DynamicData
}

Base object type for optional operations supported by the customization process.

func (*CustomizationOptions) GetCustomizationOptions

func (b *CustomizationOptions) GetCustomizationOptions() *CustomizationOptions

type CustomizationPassword

type CustomizationPassword struct {
	DynamicData

	// The password string.
	//
	// It is encrypted if the associated plainText flag is false.
	Value string `xml:"value" json:"value"`
	// Flag to specify whether or not the password is in plain text, rather than
	// encrypted.
	PlainText bool `xml:"plainText" json:"plainText"`
}

Contains a password string and a flag that specifies whether the string is in plain text or encrypted.

type CustomizationPending

type CustomizationPending struct {
	CustomizationFault
}

A customization operation is already pending on this virtual machine and is awaiting power-up to complete.

type CustomizationPendingFault

type CustomizationPendingFault CustomizationPending

type CustomizationPrefixName

type CustomizationPrefixName struct {
	CustomizationName

	// Base prefix, to which a unique number is appended.
	Base string `xml:"base" json:"base"`
}

Specifies that a unique name should be generated by concatenating the base string with a number.

Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VirtualCenter tracks the network names of virtual machines as well as hosts. VMware Tools runs in a guest operating system and reports information to VirtualCenter, including the network name of the guest.

type CustomizationSpec

type CustomizationSpec struct {
	DynamicData

	// Optional operations (either LinuxOptions or WinOptions).
	Options BaseCustomizationOptions `xml:"options,omitempty,typeattr" json:"options,omitempty"`
	// Network identity and settings, similar to Microsoft's Sysprep tool.
	//
	// This is a
	// Sysprep, LinuxPrep, CloudinitPrep, or SysprepText object.
	Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr" json:"identity"`
	// Global IP settings constitute the IP settings that are not specific to a
	// particular virtual network adapter.
	GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings" json:"globalIPSettings"`
	// IP settings that are specific to a particular virtual network adapter.
	//
	// The
	// AdapterMapping object maps a network adapter's MAC address to its Adapter
	// settings object. May be empty if there are no network adapters, else should
	// match number of network adapters in the VM.
	NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty" json:"nicSettingMap,omitempty"`
	// Byte array containing the public key used to encrypt any passwords stored in the
	// specification.
	//
	// Both the client and the server can use this to determine if
	// stored passwords can be decrypted by the server or if the passwords need to be
	// re-entered and re-encrypted before the specification can be used.
	EncryptionKey []byte `xml:"encryptionKey,omitempty" json:"encryptionKey,omitempty"`
}

The Specification data object type contains information required to customize a virtual machine when deploying it or migrating it to a new host.

type CustomizationSpecInfo

type CustomizationSpecInfo struct {
	DynamicData

	// Unique name of the specification.
	Name string `xml:"name" json:"name"`
	// Description of the specification.
	Description string `xml:"description" json:"description"`
	// Guest operating system for this specification (Linux or Windows).
	Type string `xml:"type" json:"type"`
	// The changeVersion is a unique identifier for a given version
	// of the configuration.
	//
	// Each change to the configuration will
	// update this value. This is typically implemented as an ever
	// increasing count or a time-stamp. However, a client should
	// always treat this as an opaque string.
	//
	// If specified when updating a specification, the changes will only be
	// applied if the current changeVersion matches the specified changeVersion. This
	// field can be used to guard against updates that has happened
	// between the configInfo was read and until it is applied.
	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
	// Time when the specification was last modified.
	//
	// This time is ignored when
	// the CustomizationSpecItem containing this is used as an input to
	// CustomizationSpecManager.create.
	LastUpdateTime *time.Time `xml:"lastUpdateTime" json:"lastUpdateTime,omitempty"`
}

Information about a specification.

type CustomizationSpecItem

type CustomizationSpecItem struct {
	DynamicData

	// Information about the specification - name, description, and so on.
	Info CustomizationSpecInfo `xml:"info" json:"info"`
	// The customization specification.
	Spec CustomizationSpec `xml:"spec" json:"spec"`
}

Specification information and the Specification object.

type CustomizationSpecItemToXmlRequestType

type CustomizationSpecItemToXmlRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Item CustomizationSpecItem  `xml:"item" json:"item"`
}

The parameters of `CustomizationSpecManager.CustomizationSpecItemToXml`.

type CustomizationSpecItemToXmlResponse

type CustomizationSpecItemToXmlResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type CustomizationStartedEvent

type CustomizationStartedEvent struct {
	CustomizationEvent
}

The customization sequence has started in the VM guest.

type CustomizationStatelessIpV6Generator

type CustomizationStatelessIpV6Generator struct {
	CustomizationIpV6Generator
}

Use stateless autoconfiguration to configure to ipv6 address

type CustomizationSucceeded

type CustomizationSucceeded struct {
	CustomizationEvent
}

The customization sequence completed successfully in the guest.

type CustomizationSysprep

type CustomizationSysprep struct {
	CustomizationIdentitySettings

	// An object representation of the sysprep GuiUnattended key.
	GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended" json:"guiUnattended"`
	// An object representation of the sysprep UserData key.
	UserData CustomizationUserData `xml:"userData" json:"userData"`
	// An object representation of the sysprep GuiRunOnce key.
	GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty" json:"guiRunOnce,omitempty"`
	// An object representation of the sysprep Identification key.
	Identification CustomizationIdentification `xml:"identification" json:"identification"`
	// An object representation of the sysprep LicenseFilePrintData key.
	//
	// Required only
	// for Windows 2000 Server and Windows Server 2003.
	LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty" json:"licenseFilePrintData,omitempty"`
}

An object representation of a Windows `sysprep.xml` answer file.

The sysprep type encloses all the individual keys listed in a `sysprep.xml` file. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.

type CustomizationSysprepFailed

type CustomizationSysprepFailed struct {
	CustomizationFailed

	// The version string for the sysprep files that were included in the
	// customization package.
	SysprepVersion string `xml:"sysprepVersion" json:"sysprepVersion"`
	// The version string for the system
	SystemVersion string `xml:"systemVersion" json:"systemVersion"`
}

Sysprep failed to run in the guest during customization.

This will most like have been caused by the fact that the wrong sysprep was used for the guest, so we include the version information in the event.

type CustomizationSysprepRebootOption

type CustomizationSysprepRebootOption string

A enum constant specifying what should be done to the guest vm after running

type CustomizationSysprepText

type CustomizationSysprepText struct {
	CustomizationIdentitySettings

	// Text for the `sysprep.xml` answer file.
	//
	// For additional details, see <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2151684"target="_blank">Using custom sysprep.xml for vCenter Guest Customization</a> and
	// <a href="https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1029174"target="_blank">Specifying network settings in custom sysprep.xml</a>.
	Value string `xml:"value" json:"value"`
}

An alternate way to specify the `sysprep.xml` answer file.

This string is written to the `sysprep.xml` answer file on the target virtual disk.

type CustomizationUnknownFailure

type CustomizationUnknownFailure struct {
	CustomizationFailed
}

The customization sequence failed unexpectedly in the guest.

type CustomizationUnknownIpGenerator

type CustomizationUnknownIpGenerator struct {
	CustomizationIpGenerator
}

The IP address is left unspecified.

The user must be prompted to supply an IP address.

type CustomizationUnknownIpV6Generator

type CustomizationUnknownIpV6Generator struct {
	CustomizationIpV6Generator
}

The ipv6 address is left unspecified.

The user must be prompted to supply an ipv6 address.

type CustomizationUnknownName

type CustomizationUnknownName struct {
	CustomizationName
}

Indicates that the name is not specified in advance.

The client should prompt the user for the value to complete the specification.

type CustomizationUserData

type CustomizationUserData struct {
	DynamicData

	// User's full name.
	FullName string `xml:"fullName" json:"fullName"`
	// User's organization.
	OrgName string `xml:"orgName" json:"orgName"`
	// The computer name of the (Windows) virtual machine.
	//
	// Computer name may contain
	// letters (A-Z), numbers(0-9) and hyphens (-) but no spaces or periods (.).
	// The name may not consists entirely of digits.
	// Computer name is restricted to 15 characters in length. If the computer
	// name is longer than 15 characters, it will be truncated to 15 characters.
	ComputerName BaseCustomizationName `xml:"computerName,typeattr" json:"computerName"`
	// Microsoft Sysprep requires that a valid serial number be included in the answer
	// file when mini-setup runs.
	//
	// This serial number is ignored if the original guest
	// operating system was installed using a volume-licensed CD.
	ProductId string `xml:"productId" json:"productId"`
}

Personal data pertaining to the owner of the virtual machine.

The UserData data object type maps to the UserData key in the `sysprep.xml` answer file. These values are transferred directly into the `sysprep.xml` file that VirtualCenter stores on the target virtual disk. For more detailed information, see <a href="https://technet.microsoft.com/en-us/library/cc771830(v=ws.10).aspx"target="_blank">Performing Unattended Installations</a>.

type CustomizationVirtualMachineName

type CustomizationVirtualMachineName struct {
	CustomizationName
}

Specifies that VirtualCenter should generate a virtual machine name from a base prefix comprising the virtual machine entity name.

A number is appended, if necessary, to make it unique.

Virtual machine names are unique across the set of hosts and virtual machines known to the VirtualCenter instance. VMware Tools reports the names of existing virtual machines.

type CustomizationWinOptions

type CustomizationWinOptions struct {
	CustomizationOptions

	// The customization process should modify the machine's security identifier (SID).
	//
	// For Vista OS and greater, SID will always be modified and a value of false will
	// generate an error.
	ChangeSID bool `xml:"changeSID" json:"changeSID"`
	// Deprecated as of VI API 2.5, this value is ignored. Removing user accounts
	// during customization is no longer supported. To change the
	// administrator password, set the administrator password to
	// blank in the master vm. Sysprep will then be able to change the
	// password to the one specified by the `CustomizationGuiUnattended.password`.
	//
	// If deleteAccounts is true, then all user accounts are removed from the system as
	// part of the customization.
	//
	// Mini-setup creates a new Administrator account with a
	// blank password.
	DeleteAccounts bool `xml:"deleteAccounts" json:"deleteAccounts"`
	// A value of type SysprepRebootOption specifying the action that should be
	// taken after running sysprep.
	//
	// Defaults to "reboot".
	Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty" json:"reboot,omitempty" vim:"2.5"`
}

Optional operations supported by the customization process for Windows.

type CustomizeGuestRequestType added in v0.23.0

type CustomizeGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Virtual Machine managed object reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// Is a `CustomizationSpec`.
	// It specifies the virtual machine's configuration.
	Spec CustomizationSpec `xml:"spec" json:"spec"`
	// addtional key/value pair list to support
	// third party customization.
	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
}

The parameters of `VirtualMachineGuestCustomizationManager.CustomizeGuest_Task`.

type CustomizeGuest_Task added in v0.23.0

type CustomizeGuest_Task CustomizeGuestRequestType

type CustomizeGuest_TaskResponse added in v0.23.0

type CustomizeGuest_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type CustomizeVMRequestType

type CustomizeVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The customization specification object.
	Spec CustomizationSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.CustomizeVM_Task`.

type CustomizeVM_Task

type CustomizeVM_Task CustomizeVMRequestType

type CustomizeVM_TaskResponse

type CustomizeVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DVPortConfigInfo

type DVPortConfigInfo struct {
	DynamicData

	// The name of the port.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Deprecated as of vSphere API 5.5.
	//
	// The eligible entities that can connect to the port.
	//
	// If unset, there
	// is no restriction on which entity can connect to the port. If set,
	// only the entities in the specified list or their child entities are
	// allowed to connect to the port. If scopes are defined at both port
	// and portgroup level, they are taken as an "AND" relationship. If such
	// a relationship doesn't make sense, the reconfigure operation will
	// raise an exception.
	//
	// Refers instances of `ManagedEntity`.
	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
	// A description string of the port.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The network configuration of the port.
	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
	// The version string of the configuration.
	ConfigVersion string `xml:"configVersion" json:"configVersion"`
}

Management related configuration of a DistributedVirtualPort.

type DVPortConfigSpec

type DVPortConfigSpec struct {
	DynamicData

	// The operation to remove or modify the existing ports.
	//
	// The valid values
	// are:
	//     - `edit`
	//     - `remove`
	Operation string `xml:"operation" json:"operation"`
	// Key of the port to be reconfigured.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The name of the port.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Deprecated as of vSphere API 5.5.
	//
	// The eligible entities that can connect to the port, for detail see
	// `DVPortConfigInfo.scope`.
	//
	// Refers instances of `ManagedEntity`.
	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
	// The description string of the port.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The network setting of the port.
	Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr" json:"setting,omitempty"`
	// The version string of the configuration.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
}

Specification to reconfigure a `DistributedVirtualPort`.

type DVPortNotSupported

type DVPortNotSupported struct {
	DeviceBackingNotSupported
}

The virtual machine is configured to use a DVPort, which is not supported on the host.

This could be because the host does not support VDS at all, or because the host has not joined a VDS.

type DVPortNotSupportedFault

type DVPortNotSupportedFault DVPortNotSupported

type DVPortSetting

type DVPortSetting struct {
	DynamicData

	// Indicates whether this port is blocked.
	//
	// If a port is blocked,
	// packet forwarding is stopped.
	Blocked *BoolPolicy `xml:"blocked,omitempty" json:"blocked,omitempty"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Indicates whether this port is allowed to do VMDirectPath Gen2 network passthrough.
	//
	// Direct path capability is defined at host, switch, and device levels.
	// See the <code>vmDirectPathGen2Supported</code> properties on the
	// `DVSFeatureCapability`,
	// `HostCapability`, `PhysicalNic`,
	// and `VirtualEthernetCardOption` objects.
	VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty" json:"vmDirectPathGen2Allowed,omitempty" vim:"4.1"`
	// Network shaping policy for controlling throughput of inbound traffic.
	InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty" json:"inShapingPolicy,omitempty"`
	// Network shaping policy for controlling throughput of outbound traffic.
	OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty" json:"outShapingPolicy,omitempty"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// Deprecated as of vSphere API 6.0
	// Use `DVPortgroupConfigInfo.vmVnicNetworkResourcePoolKey` instead
	// to reference the virtual NIC network resource pool.
	//
	// The key of user defined network resource pool to be associated with a port.
	//
	// The default value for this property is "-1", indicating that
	// this port is not associated with any network resource pool.
	NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty" json:"networkResourcePoolKey,omitempty" vim:"5.0"`
	// Configuration for Network Filter Policy.
	FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty" json:"filterPolicy,omitempty" vim:"5.5"`
}

The `DVPortSetting` data object describes the network configuration of a `DistributedVirtualPort`.

func (*DVPortSetting) GetDVPortSetting

func (b *DVPortSetting) GetDVPortSetting() *DVPortSetting

type DVPortState

type DVPortState struct {
	DynamicData

	// Run time information of the port.
	//
	// This property is set only when the port is running.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty"`
	// Statistics of the port.
	Stats DistributedVirtualSwitchPortStatistics `xml:"stats" json:"stats"`
	// Opaque binary blob that stores vendor-specific runtime state data.
	VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty" json:"vendorSpecificState,omitempty"`
}

The state of a DistributedVirtualPort.

type DVPortStatus

type DVPortStatus struct {
	DynamicData

	// Indicates whether the port is in linkUp status.
	LinkUp bool `xml:"linkUp" json:"linkUp"`
	// Indicates whether the port is blocked by switch implementation.
	Blocked bool `xml:"blocked" json:"blocked"`
	// VLAN ID of the port.
	VlanIds []NumericRange `xml:"vlanIds,omitempty" json:"vlanIds,omitempty"`
	// True if the port VLAN tagging/stripping is disabled.
	TrunkingMode *bool `xml:"trunkingMode" json:"trunkingMode,omitempty"`
	// Maximum transmission unit (MTU) of the port.
	//
	// You can set the MTU only
	// at the switch level
	// (`VMwareDVSConfigSpec`).
	// If you attempt to change it at the portgroup or port level,
	// the Server throws an exception.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
	// Name of the connected entity.
	LinkPeer string `xml:"linkPeer,omitempty" json:"linkPeer,omitempty"`
	// The MAC address that is used at this port.
	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
	// Additional information regarding the current status of the port.
	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// Indicates whether VMDirectPath Gen 2 is active on this port.
	//
	// If false, the reason(s) for inactivity will be provided in one or
	// more of `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`,
	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`,
	// and `DVPortStatus.vmDirectPathGen2InactiveReasonExtended`.
	//
	// If the host software is not capable of VMDirectPath Gen 2,
	// this property will be unset. See
	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`.
	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
	// populated with reasons for the inactivity that are related to network
	// state or configuration.
	//
	// The reasons are chosen from the
	// `DVPortStatusVmDirectPathGen2InactiveReasonNetwork_enum`
	// values.
	//
	// Other reasons for inactivity will be provided in
	// `DVPortStatus.vmDirectPathGen2InactiveReasonOther`. If there is a reason
	// for inactivity that cannot be described by the available constants,
	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
	// with an additional explanation provided by the platform.
	//
	// Note that this list of reasons is not guaranteed to be exhaustive.
	VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty" json:"vmDirectPathGen2InactiveReasonNetwork,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `DVPortStatus.vmDirectPathGen2Active` is false, this array will be
	// populated with reasons for the inactivity that are not related to
	// network state or configuration.
	//
	// The reasons are chosen from the
	// `DVPortStatusVmDirectPathGen2InactiveReasonOther_enum`
	// values.
	//
	// Network-related reasons for inactivity will be provided in
	// `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`. If there is a reason
	// for inactivity that cannot be described by the available constants,
	// `DVPortStatus.vmDirectPathGen2InactiveReasonExtended` will be populated
	// with an additional explanation provided by the platform.
	//
	// Note that this list of reasons is not guaranteed to be exhaustive.
	//
	// See also `HostCapability.vmDirectPathGen2Supported`.
	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `DVPortStatus.vmDirectPathGen2Active` is false, this property may
	// contain an explanation provided by the platform, beyond the reasons
	// (if any) listed in `DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`
	// and/or `DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty" vim:"4.1"`
}

The `DVPortStatus` data object contains runtime information about a `DistributedVirtualPort`.

type DVPortStatusVmDirectPathGen2InactiveReasonNetwork

type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string

Set of possible values for

type DVPortStatusVmDirectPathGen2InactiveReasonOther

type DVPortStatusVmDirectPathGen2InactiveReasonOther string

Set of possible values for

type DVPortgroupConfigInfo

type DVPortgroupConfigInfo struct {
	DynamicData

	// Key of the portgroup.
	Key string `xml:"key" json:"key"`
	// Name of the portgroup.
	Name string `xml:"name" json:"name"`
	// Number of ports in the portgroup.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// Distributed virtual switch that the portgroup is defined on.
	//
	// This property should always be set unless the user's setting
	// does not have System.Read privilege on the object referred to
	// by this property.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
	// Common network setting for all the ports in the portgroup.
	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
	// Description of the portgroup.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Type of portgroup.
	//
	// See
	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
	// for possible values.
	Type string `xml:"type" json:"type"`
	// Backing type of portgroup.
	//
	// See
	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
	// for possible values.
	// The default value is "standard"
	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
	// Portgroup policy.
	Policy BaseDVPortgroupPolicy `xml:"policy,typeattr" json:"policy"`
	// If set, a name will be automatically generated based on this format
	// string for a port when it is created in or moved into the portgroup.
	//
	// The format string can contain meta tags that will be resolved
	// to the corresponding values in generating a name, if applicable for
	// the port at the time of name generation.
	//
	// To insert a meta tag in the format string,
	// enclose the names defined as meta tag names inside angle brackets.
	// See `DistributedVirtualPortgroupMetaTagName_enum` for a list of
	// currently available meta tags. For example,
	// "redNetwork-&lt;portIndex&gt;" and "&lt;dvsName&gt;-pnic&lt;portIndex&gt;"
	// result in generated port names like "redNetwork-2" and "switch-pnic3".
	//
	// If a meta tag is recognized, but there is no applicable value, the tag
	// will be expanded to empty string. If an arbitrary name appears inside
	// a "&lt;&gt;" pair and is not recognized as one of the defined meta tags,
	// the substring is treated as-is and appear unchanged in the generated name.
	//
	// To prevent a meta tag from being expanded, prefix the meta tag with a
	// '\\' (backslash). For example, the format string "abc\\&lt;portIndex&gt;def"
	// results in the generated port name "abc&lt;portIndex&gt;def".
	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
	// Deprecated as of vSphere API 5.5.
	//
	// Eligible entities that can connect to the portgroup.
	//
	// If unset,
	// there is no restriction on which entity can connect to the portgroup.
	// If set, only the entities in the specified list or their child
	// entities are allowed to connect to the portgroup. If scopes are
	// defined at both port and portgroup level, they are taken as an "AND"
	// relationship. If such a relationship doesn't make sense, the
	// reconfigure operation will raise an exception.
	//
	// Refers instances of `ManagedEntity`.
	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// Configuration version number.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// If set to true, this property ignores the limit on the number of ports in the
	// portgroup.
	//
	// When a Virtual Machine/Host tries to connect to the portgroup and there
	// are no free ports available in the portgroup, new ports will be automatically
	// added to the portgroup. The flag is currently supported only for static portgroups.
	//
	// When this property is set to true, the portgroup becomes a potential candidate for
	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
	// than certain number of free ports. If the portgroup never auto-expanded, then it will
	// never lose any free ports.
	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty" vim:"5.0"`
	// The key of virtual NIC network resource pool to be associated with a portgroup.
	//
	// The default value for this property is unset, indicating that
	// this portgroup is not associated with any virtual NIC network resource pool.
	// To clear the value of this property and revert to unset, set the
	// `DVPortgroupConfigSpec.vmVnicNetworkResourcePoolKey`
	// to "-1" in an update operation.
	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty" vim:"6.0"`
	// Indicates whether the portgroup is an uplink portroup.
	Uplink *bool `xml:"uplink" json:"uplink,omitempty" vim:"6.5"`
	// The UUID of transport zone to be associated with a NSX portgroup.
	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty" vim:"7.0"`
	// The name of transport zone to be associated with a NSX portgroup.
	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty" vim:"7.0"`
	// The logical switch UUID, which is used by NSX portgroup
	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
	// The segment ID of logical switch
	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
}

The `DVPortgroupConfigInfo` data object defines the configuration of a `DistributedVirtualPortgroup`.

type DVPortgroupConfigSpec

type DVPortgroupConfigSpec struct {
	DynamicData

	// Version string of the configuration that this spec is trying to
	// change.
	//
	// This property is required in reconfiguring a portgroup and
	// should be set to the same value as the
	// `DVPortgroupConfigInfo.configVersion`.
	// This property is ignored in creating a portgroup if set.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// Name of the portgroup.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Number of ports in the portgroup.
	//
	// Setting this number larger than the
	// number of existing ports in the portgroup causes new ports to
	// be added to the portgroup to meet the number. Setting this property
	// smaller than the number of existing ports deletes the free ports
	// from the portgroup. If the number cannot be met by deleting free ports,
	// a fault is raised. If new ports are added to the portgroup, they
	// are also added to the switch. For portgroups of type ephemeral this
	// property is ignored.
	NumPorts int32 `xml:"numPorts,omitempty" json:"numPorts,omitempty"`
	// Format of the name of the ports when ports are created in the portgroup.
	//
	// For details see `DVPortgroupConfigInfo.portNameFormat`.
	PortNameFormat string `xml:"portNameFormat,omitempty" json:"portNameFormat,omitempty"`
	// Default network setting for all the ports in the portgroup.
	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
	// Description of the portgroup.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Type of portgroup.
	//
	// See
	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupPortgroupType_enum`
	// for possible values.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// Backing type of portgroup.
	//
	// See
	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
	// for possible values.
	// The default value is "standard"
	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
	// Deprecated as of vSphere API 5.5.
	//
	// Eligible entities that can connect to the port.
	//
	// See
	// `DVPortgroupConfigInfo*.*DVPortgroupConfigInfo.scope`.
	//
	// Refers instances of `ManagedEntity`.
	Scope []ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
	// Portgroup policy.
	Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr" json:"policy,omitempty"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// If set to true, this property ignores the limit on the number of ports in the
	// portgroup.
	//
	// When a Virtual Machine/Host tries to connect to the portgroup and there
	// are no free ports available in the portgroup, new ports will be automatically
	// added to the portgroup. The flag is currently supported only for static portgroups.
	//
	// Setting this property to true makes the portgroup a potential candidate for
	// auto-shrink. Once the portgroup has auto-expanded then its disconnected ports are
	// likely to be deleted automatically, as a part of auto-shrink step, if there are more
	// than certain number of free ports. If the portgroup never auto-expanded, then it will
	// never lose any free ports.
	AutoExpand *bool `xml:"autoExpand" json:"autoExpand,omitempty" vim:"5.0"`
	// The key of virtual NIC network resource pool to be associated with a portgroup.
	//
	// Setting this property to "-1", would mean that this portgroup
	// is not associated with any virtual NIC network resource pool.
	VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty" json:"vmVnicNetworkResourcePoolKey,omitempty" vim:"6.0"`
	// The UUID of transport zone to be associated with a NSX portgroup.
	TransportZoneUuid string `xml:"transportZoneUuid,omitempty" json:"transportZoneUuid,omitempty" vim:"7.0"`
	// The name of transport zone to be associated with a NSX portgroup.
	TransportZoneName string `xml:"transportZoneName,omitempty" json:"transportZoneName,omitempty" vim:"7.0"`
	// The logical switch UUID, which is used by NSX portgroup
	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
	// The segment ID of logical switch
	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
}

The `DVPortgroupConfigSpec` data object contains configuration data for a `DistributedVirtualPortgroup`.

Use the `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task` method to apply the configuration to the portgroup.

type DVPortgroupCreatedEvent

type DVPortgroupCreatedEvent struct {
	DVPortgroupEvent
}

Two distributed virtual portgroup was created.

type DVPortgroupDestroyedEvent

type DVPortgroupDestroyedEvent struct {
	DVPortgroupEvent
}

Two distributed virtual portgroup was destroyed.

type DVPortgroupEvent

type DVPortgroupEvent struct {
	Event
}

DVPortgroup related events.

func (*DVPortgroupEvent) GetDVPortgroupEvent

func (b *DVPortgroupEvent) GetDVPortgroupEvent() *DVPortgroupEvent

type DVPortgroupPolicy

type DVPortgroupPolicy struct {
	DynamicData

	// Allow the `DVPortSetting.blocked` setting
	// of an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	BlockOverrideAllowed bool `xml:"blockOverrideAllowed" json:"blockOverrideAllowed"`
	// Allow the `DVPortSetting.inShapingPolicy` or
	// `DVPortSetting.outShapingPolicy` settings
	// of an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed" json:"shapingOverrideAllowed"`
	// Allow the `DVPortSetting.vendorSpecificConfig`
	// setting of an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed" json:"vendorConfigOverrideAllowed"`
	// Allow a live port to be moved in and out of the portgroup.
	LivePortMovingAllowed bool `xml:"livePortMovingAllowed" json:"livePortMovingAllowed"`
	// If true, reset the port network setting back to the portgroup setting
	// (thus removing the per-port setting) when the port is disconnected from
	// the connectee.
	PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect" json:"portConfigResetAtDisconnect"`
	// Allow the setting of
	// `DVPortSetting.networkResourcePoolKey` of an
	// individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig`
	// of a portgroup.
	NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed" json:"networkResourcePoolOverrideAllowed,omitempty" vim:"5.0"`
	// Allow the setting of
	// `DVPortSetting.filterPolicy`,
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed" json:"trafficFilterOverrideAllowed,omitempty" vim:"5.5"`
}

The DistributedVirtualPortgroup policies.

This field is not applicable when queried directly against an ESX host.

func (*DVPortgroupPolicy) GetDVPortgroupPolicy

func (b *DVPortgroupPolicy) GetDVPortgroupPolicy() *DVPortgroupPolicy

type DVPortgroupReconfiguredEvent

type DVPortgroupReconfiguredEvent struct {
	DVPortgroupEvent

	// The reconfiguration spec.
	ConfigSpec DVPortgroupConfigSpec `xml:"configSpec" json:"configSpec"`
	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

Two distributed virtual portgroup was reconfigured.

type DVPortgroupRenamedEvent

type DVPortgroupRenamedEvent struct {
	DVPortgroupEvent

	// The old portgroup name.
	OldName string `xml:"oldName" json:"oldName"`
	// The new portgroup name.
	NewName string `xml:"newName" json:"newName"`
}

Two distributed virtual portgroup was renamed.

type DVPortgroupRollbackRequestType

type DVPortgroupRollbackRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The backup of Distributed Virtual PortGroup entity.
	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
}

The parameters of `DistributedVirtualPortgroup.DVPortgroupRollback_Task`.

type DVPortgroupRollback_Task

type DVPortgroupRollback_Task DVPortgroupRollbackRequestType

type DVPortgroupRollback_TaskResponse

type DVPortgroupRollback_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DVPortgroupSelection

type DVPortgroupSelection struct {
	SelectionSet

	// vSphere Distributed Switch uuid
	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
	// List of vNetwork Distributed Portgroup keys
	PortgroupKey []string `xml:"portgroupKey" json:"portgroupKey"`
}

Class to specify selection criteria of list of vNetwork Distributed Portgroups.

type DVSBackupRestoreCapability

type DVSBackupRestoreCapability struct {
	DynamicData

	// Indicates whether backup, restore, and rollback are supported.
	BackupRestoreSupported bool `xml:"backupRestoreSupported" json:"backupRestoreSupported"`
}

The `DVSBackupRestoreCapability` data object describes backup, restore, and rollback capabilities for distributed virtual switches and distributed virtual portgroups.

Backup and restore capabilities are indicated for `DistributedVirtualSwitch`. Rollback capability is indicated for `DistributedVirtualSwitch` and `DistributedVirtualPortgroup`.

type DVSCapability

type DVSCapability struct {
	DynamicData

	// Indicates whether this switch allows vCenter users to modify
	// the switch configuration at the switch level,
	// except for host member, policy, and scope operations.
	DvsOperationSupported *bool `xml:"dvsOperationSupported" json:"dvsOperationSupported,omitempty"`
	// Indicates whether this switch allows vCenter users to modify
	// the switch configuration at the portgroup level,
	// except for host member, policy, and scope operations.
	DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported" json:"dvPortGroupOperationSupported,omitempty"`
	// Indicates whether this switch allows vCenter users to modify
	// the switch configuration at the port level,
	// except for host member, policy, and scope operations.
	DvPortOperationSupported *bool `xml:"dvPortOperationSupported" json:"dvPortOperationSupported,omitempty"`
	// List of host component product information that is compatible
	// with the current switch implementation.
	CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty" json:"compatibleHostComponentProductInfo,omitempty"`
	// Indicators for which version-specific distributed virtual switch
	// features are available on this switch.
	//
	// This information is read-only, with the following exception.
	// For a third-party distributed switch implementation, you can
	// set the property
	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`
	// during switch creation or when you call the
	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
	FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr" json:"featuresSupported,omitempty" vim:"4.1"`
}

The `DVSCapability` data object describes the distributed virtual switch features and indicates the level of configuration that is allowed.

type DVSConfigInfo

type DVSConfigInfo struct {
	DynamicData

	// Generated UUID of the switch.
	//
	// Unique across vCenter Server
	// inventory and instances.
	Uuid string `xml:"uuid" json:"uuid"`
	// Name of the switch.
	Name string `xml:"name" json:"name"`
	// Number of standalone ports in the switch.
	//
	// Standalone ports are
	// ports that do not belong to any portgroup.
	NumStandalonePorts int32 `xml:"numStandalonePorts" json:"numStandalonePorts"`
	// Current number of ports, not including conflict ports.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// Maximum number of ports allowed in the switch,
	// not including conflict ports.
	MaxPorts int32 `xml:"maxPorts" json:"maxPorts"`
	// Uplink port policy.
	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr" json:"uplinkPortPolicy"`
	// List of uplink portgroups.
	//
	// When adding host members, the server
	// uses the `DVSConfigInfo.uplinkPortPolicy` to create a number of
	// uplink ports for the host. If portgroups are shown here,
	// those uplink ports will be added to the portgroups, with uplink ports
	// evenly spread among the portgroups.
	//
	// Refers instances of `DistributedVirtualPortgroup`.
	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
	// Default configuration for the ports in the switch, if the port
	// does not inherit configuration from the parent portgroup or has
	// its own configuration.
	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr" json:"defaultPortConfig"`
	// Hosts that join the switch.
	Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty" json:"host,omitempty"`
	// Vendor, product, and version information for the implementation
	// module of the switch.
	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
	// Intended vendor, product, and version information for the
	// implementation module of the switch.
	TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty" json:"targetInfo,omitempty"`
	// Key of the extension registered by the remote server that
	// controls the switch.
	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// Usage policy of the switch.
	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
	// Description string for the switch.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Version string of the configuration.
	ConfigVersion string `xml:"configVersion" json:"configVersion"`
	// Human operator contact information.
	Contact DVSContactInfo `xml:"contact" json:"contact"`
	// IP address for the switch, specified using IPv4 dot notation.
	//
	// The
	// utility of this address is defined by other switch features.
	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty" vim:"5.0"`
	// Create time of the switch.
	CreateTime time.Time `xml:"createTime" json:"createTime"`
	// Boolean to indicate if network I/O control is enabled on the
	// switch.
	NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled" json:"networkResourceManagementEnabled,omitempty" vim:"4.1"`
	// Default host proxy switch maximum port number
	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty" vim:"5.1"`
	// VDS health check configuration.
	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr" json:"healthCheckConfig,omitempty" vim:"5.1"`
	// Host infrastructure traffic class resource configuration.
	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty" vim:"6.0"`
	// Dynamic Host infrastructure traffic class resource configuration.
	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty" vim:"6.7"`
	// Network resource control version of the switch.
	//
	// Possible value can be of
	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty" vim:"6.0"`
	// The Virtual NIC network resource pool information for the switch.
	VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty" json:"vmVnicNetworkResourcePool,omitempty" vim:"6.0"`
	// The percentage of physical nic link speed
	// `PhysicalNicLinkInfo.speedMb`
	// available for infrastructure traffic reservation.
	//
	// If this value is 75, then for a 1Gbps physical nic, only
	// 750Mbps is allowed for all infrastructure traffic reservations.
	PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty" json:"pnicCapacityRatioForReservation,omitempty" vim:"6.0"`
}

Configuration of a `DistributedVirtualSwitch`.

func (*DVSConfigInfo) GetDVSConfigInfo

func (b *DVSConfigInfo) GetDVSConfigInfo() *DVSConfigInfo

type DVSConfigSpec

type DVSConfigSpec struct {
	DynamicData

	// The version string of the configuration that this spec is trying to
	// change.
	//
	// This property is required in reconfiguring a switch
	// and should be set to the same value as
	// `DVSConfigInfo.configVersion`.
	// This property is ignored during switch creation.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// The name of the switch.
	//
	// Must be unique in the parent folder.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The number of standalone ports in the switch.
	//
	// Standalone ports are
	// ports that do not belong to any portgroup. If set to a number larger
	// than number of existing standalone ports in the switch, new ports get
	// created to meet the number. If set to a number smaller than the number
	// of existing standalone ports, free ports (uplink ports excluded) are
	// deleted to meet the number. If the set number cannot be met by
	// deleting free standalone ports, a fault is raised.
	NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty" json:"numStandalonePorts,omitempty"`
	// Deprecated as of vSphere API 5.0
	// The default value of this propoerty is maxint and there is no reason
	// for users to change it to a lower value.
	//
	// The maximum number of DistributedVirtualPorts allowed in the switch.
	//
	// If specified in a reconfigure operation, this number cannot be smaller
	// than the number of existing DistributedVirtualPorts.
	MaxPorts int32 `xml:"maxPorts,omitempty" json:"maxPorts,omitempty"`
	// The uplink port policy.
	UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr" json:"uplinkPortPolicy,omitempty"`
	// The uplink portgroups.
	//
	// Refers instances of `DistributedVirtualPortgroup`.
	UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty" json:"uplinkPortgroup,omitempty"`
	// The default configuration for ports.
	DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr" json:"defaultPortConfig,omitempty"`
	// The host member specification.
	//
	// A particular host should have only one entry
	// in this array. Duplicate entries for the same host will raise a fault.
	// The host version should be compatible with the version of
	// `DistributedVirtualSwitch`. Use
	// `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`
	// to check for compatibility.
	Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty" json:"host,omitempty"`
	// The key of the extension registered by a remote server that
	// controls the switch.
	ExtensionKey string `xml:"extensionKey,omitempty" json:"extensionKey,omitempty"`
	// Set the description string of the switch.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The usage policy of the switch.
	Policy *DVSPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
	// Set the opaque blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// Set the human operator contact information.
	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
	// IP address for the switch, specified using IPv4 dot notation.
	//
	// IPv6 address is not supported for this property.
	// The utility of this address is defined by other switch features.
	// switchIpAddress would be ignored when IPFIX collector uses IPv6.
	SwitchIpAddress string `xml:"switchIpAddress,omitempty" json:"switchIpAddress,omitempty" vim:"5.0"`
	// The default host proxy switch maximum port number
	DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty" json:"defaultProxySwitchMaxNumPorts,omitempty" vim:"5.1"`
	// The host infrastructure traffic resource allocation specification.
	//
	// Only the traffic class resource allocations identified in the list
	// will be updated. The other traffic class resource allocations that are not
	// specified will not change.
	InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty" json:"infrastructureTrafficResourceConfig,omitempty" vim:"6.0"`
	// The dynamic host infrastructure traffic resource allocation
	// specification.
	NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty" json:"netResourcePoolTrafficResourceConfig,omitempty" vim:"6.7"`
	// Indicates the Network Resource Control APIs that are supported on the switch.
	//
	// Possible value can be of
	// `DistributedVirtualSwitchNetworkResourceControlVersion_enum`.
	NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty" json:"networkResourceControlVersion,omitempty" vim:"6.0"`
}

The `DVSConfigSpec` data object contains configuration data for a `DistributedVirtualSwitch`.

Use the `DistributedVirtualSwitch.ReconfigureDvs_Task` method to apply the configuration to the switch.

func (*DVSConfigSpec) GetDVSConfigSpec

func (b *DVSConfigSpec) GetDVSConfigSpec() *DVSConfigSpec

type DVSContactInfo

type DVSContactInfo struct {
	DynamicData

	// The name of the person who is responsible for the switch.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The contact information for the person.
	Contact string `xml:"contact,omitempty" json:"contact,omitempty"`
}

Contact information of a human operator.

type DVSCreateSpec

type DVSCreateSpec struct {
	DynamicData

	// Configuration data.
	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
	// Product information for this switch implementation.
	//
	// If you
	// do not specify this property, the Server will use the latest
	// version to create the `DistributedVirtualSwitch`.
	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
	// Capability of the switch.
	Capability *DVSCapability `xml:"capability,omitempty" json:"capability,omitempty"`
}

Specification to create a `DistributedVirtualSwitch`.

type DVSFailureCriteria

type DVSFailureCriteria struct {
	InheritablePolicy

	// To use link speed as the criteria, _checkSpeed_ must be one of
	// the following values:
	//     - `*exact*`: Use exact speed to detect link failure.
	//       `*speed*` is the configured exact speed in megabits per second.
	//     - `*minimum*`: Use minimum speed to detect failure.
	//       `*speed*` is the configured minimum speed in megabits per second.
	//     - **empty string**: Do not use link speed to detect failure.
	//       `*speed*` is unused in this case.
	CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
	// See also `DVSFailureCriteria.checkSpeed`.
	Speed *IntPolicy `xml:"speed,omitempty" json:"speed,omitempty"`
	// The flag to indicate whether or not to use the link duplex reported
	// by the driver as link selection criteria.
	//
	// If `*checkDuplex*` is true, then fullDuplex is the configured
	// duplex mode. The link is considered bad if the link duplex reported
	// by driver is not the same as fullDuplex.
	//
	// If `*checkDuplex*` is false, then fullDuplex is unused, and
	// link duplexity is not used as a detection method.
	CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty" json:"checkDuplex,omitempty"`
	// See also `DVSFailureCriteria.checkDuplex`.
	FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty" json:"fullDuplex,omitempty"`
	// The flag to indicate whether or not to use link error percentage
	// to detect failure.
	//
	// If `*checkErrorPercent*` is true, then percentage is the configured
	// error percentage that is tolerated. The link is considered bad
	// if error rate exceeds percentage.
	//
	// If `*checkErrorPercent*` is false, percentage is unused, and
	// error percentage is not used as a detection method.
	CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty" json:"checkErrorPercent,omitempty"`
	// See also `DVSFailureCriteria.checkErrorPercent`.
	Percentage *IntPolicy `xml:"percentage,omitempty" json:"percentage,omitempty"`
	// The flag to indicate whether or not to enable this property to
	// enable beacon probing as a method to validate
	// the link status of a physical network adapter.
	//
	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
	// configured to use the beacon. Attempting to set `*checkBeacon*`
	// on a PortGroup or VirtualSwitch that does not have beacon probing
	// configured for the applicable VirtualSwitch results in an error.
	CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty" json:"checkBeacon,omitempty"`
}

This data object type describes the network adapter failover detection algorithm for a network adapter team.

type DVSFeatureCapability

type DVSFeatureCapability struct {
	DynamicData

	// Deprecated as of vSphere API 5.0, use
	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourceManagementSupported`.
	//
	// Indicates whether network I/O control is
	// supported on the vSphere Distributed Switch.
	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Indicates whether VMDirectPath Gen 2 is supported on the
	// distributed virtual switch.
	//
	// See
	// `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
	// and `PhysicalNic*.*PhysicalNic.vmDirectPathGen2Supported`.
	//
	// For a third-party distributed switch implementation, you can
	// specify this property during switch creation or when you call the
	// `DistributedVirtualSwitch.UpdateDvsCapability` method.
	//
	// VMDirectPath Gen 2 is supported in
	// vSphere Distributed Switch Version 4.1 or later.
	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty"`
	// The available teaming modes for the vSphere Distributed Switch.
	//
	// The
	// value can be one or more of
	// `DistributedVirtualSwitchNicTeamingPolicyMode_enum`.
	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
	// Deprecated as of vSphere API 5.0, use
	// <code>networkResourceManagementCapability</code>.`DVSNetworkResourceManagementCapability.networkResourcePoolHighShareValue`.
	//
	// This is the value for `high`
	// in `DVSNetworkResourcePoolAllocationInfo.shares`.
	//
	// This
	// implicitly defines the legal range of share values to be between 1 and this.
	// This also defines values for other level types, such as
	// `normal` being one half of this value and
	// `low` being one fourth of this value.
	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty" json:"networkResourcePoolHighShareValue,omitempty"`
	// Network resource management capabilities supported by a
	// distributed virtual switch.
	NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty" json:"networkResourceManagementCapability,omitempty" vim:"5.0"`
	// Health check capabilities supported by a `VmwareDistributedVirtualSwitch`.
	HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr" json:"healthCheckCapability,omitempty" vim:"5.1"`
	// Host rollback capability.
	//
	// If <code>rollbackCapability</code>.`DVSRollbackCapability.rollbackSupported`
	// is true, network operations that disconnect the the host are rolled back.
	RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty" json:"rollbackCapability,omitempty" vim:"5.1"`
	// Backup, restore, and rollback capabilities.
	//
	// Backup and restore
	// are supported only for `VmwareDistributedVirtualSwitch`.
	// Rollback is supported for `VmwareDistributedVirtualSwitch`
	// and `DistributedVirtualPortgroup`.
	// For information about backup and restore, see the
	// `DistributedVirtualSwitchManager` methods
	// `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` and
	// `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.
	// For information about rollback, see the
	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.DVSRollback_Task`
	// and `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.DVPortgroupRollback_Task`
	// methods.
	BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty" json:"backupRestoreCapability,omitempty" vim:"5.1"`
	// Indicates whether Network Filter feature is
	// supported in vSphere Distributed Switch.
	NetworkFilterSupported *bool `xml:"networkFilterSupported" json:"networkFilterSupported,omitempty" vim:"5.5"`
	// Indicates whether MAC learning feature is
	// supported in vSphere Distributed Switch.
	MacLearningSupported *bool `xml:"macLearningSupported" json:"macLearningSupported,omitempty" vim:"6.7"`
}

The `DVSFeatureCapability` data object represents the capabilities supported by a `DistributedVirtualSwitch`.

These properties are read-only with the exception of `DVSFeatureCapability.vmDirectPathGen2Supported`.

func (*DVSFeatureCapability) GetDVSFeatureCapability

func (b *DVSFeatureCapability) GetDVSFeatureCapability() *DVSFeatureCapability

type DVSHealthCheckCapability

type DVSHealthCheckCapability struct {
	DynamicData
}

Health check capabilities of health check supported by the vSphere Distributed Switch

func (*DVSHealthCheckCapability) GetDVSHealthCheckCapability

func (b *DVSHealthCheckCapability) GetDVSHealthCheckCapability() *DVSHealthCheckCapability

type DVSHealthCheckConfig

type DVSHealthCheckConfig struct {
	DynamicData

	// True if enable health check.
	Enable *bool `xml:"enable" json:"enable,omitempty"`
	// Interval of health check, in minutes.
	Interval int32 `xml:"interval,omitempty" json:"interval,omitempty"`
}

The `DVSHealthCheckConfig` data object defines vSphere Distributed Switch health check configuration.

func (*DVSHealthCheckConfig) GetDVSHealthCheckConfig

func (b *DVSHealthCheckConfig) GetDVSHealthCheckConfig() *DVSHealthCheckConfig

type DVSHostLocalPortInfo

type DVSHostLocalPortInfo struct {
	DynamicData

	// UUID of the vSphere Distributed Switch that management interface is connected to.
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// Portkey of the DVPort that management interface is now connected to.
	PortKey string `xml:"portKey" json:"portKey"`
	// The configuration of the new host local port.
	Setting BaseDVPortSetting `xml:"setting,typeattr" json:"setting"`
	// The Virtual NIC device connected to this port
	Vnic string `xml:"vnic" json:"vnic"`
}

This data object type describes the information about the host local port.

A host local port is created to resurrect the management network connection on a VMkernel Virtual NIC.

type DVSMacLearningPolicy added in v0.18.0

type DVSMacLearningPolicy struct {
	InheritablePolicy

	// The flag to indicate if source MAC address learning is allowed.
	Enabled bool `xml:"enabled" json:"enabled"`
	// The flag to allow flooding of unlearned MAC for ingress traffic.
	AllowUnicastFlooding *bool `xml:"allowUnicastFlooding" json:"allowUnicastFlooding,omitempty"`
	// The maximum number of MAC addresses that can be learned.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
	// The default switching policy after MAC limit is exceeded.
	//
	// See `DVSMacLimitPolicyType_enum`
	// for valid values.
	LimitPolicy string `xml:"limitPolicy,omitempty" json:"limitPolicy,omitempty"`
}

This data object type describes MAC learning policy of a port.

type DVSMacLimitPolicyType added in v0.18.0

type DVSMacLimitPolicyType string

type DVSMacManagementPolicy added in v0.18.0

type DVSMacManagementPolicy struct {
	InheritablePolicy

	// The flag to indicate whether or not all traffic is seen
	// on the port.
	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
	// The flag to indicate whether or not the Media Access
	// Control (MAC) address can be changed.
	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
	// The flag to indicate whether or not the virtual network adapter
	// should be allowed to send network traffic with a different MAC
	// address than that of the virtual network adapter.
	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
	// The MAC learning policy.
	MacLearningPolicy *DVSMacLearningPolicy `xml:"macLearningPolicy,omitempty" json:"macLearningPolicy,omitempty"`
}

This data object type describes MAC management policy of a port.

type DVSManagerDvsConfigTarget

type DVSManagerDvsConfigTarget struct {
	DynamicData

	// List of any DistributedVirtualPortgroup available for host Virtual NIC connection.
	DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
	// List of any DistributedVirtualSwitch available for host Virtual NIC connection.
	DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
}

Configuration specification for a DistributedVirtualSwitch or DistributedVirtualPortgroup.

type DVSManagerExportEntityRequestType

type DVSManagerExportEntityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The selection criteria for a set of
	// entities to export the configuration.
	SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr" json:"selectionSet"`
}

The parameters of `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`.

type DVSManagerExportEntity_Task

type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType

type DVSManagerExportEntity_TaskResponse

type DVSManagerExportEntity_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DVSManagerImportEntityRequestType

type DVSManagerImportEntityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Configuration of one or more entities to be imported.
	// The entity backup configuration is returned
	// by the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` method.
	EntityBackup []EntityBackupConfig `xml:"entityBackup" json:"entityBackup"`
	// Specifies whether to create a new configuration
	// or restore a previous configuration. See `EntityImportType_enum` for valid values.
	ImportType string `xml:"importType" json:"importType"`
}

The parameters of `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`.

type DVSManagerImportEntity_Task

type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType

type DVSManagerImportEntity_TaskResponse

type DVSManagerImportEntity_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DVSManagerLookupDvPortGroupRequestType

type DVSManagerLookupDvPortGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The UUID of the `DistributedVirtualSwitch`.
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// The key that identifies a
	// `DistributedVirtualPortgroup`.
	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
}

The parameters of `DistributedVirtualSwitchManager.DVSManagerLookupDvPortGroup`.

type DVSManagerLookupDvPortGroupResponse

type DVSManagerLookupDvPortGroupResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type DVSManagerPhysicalNicsList added in v0.29.0

type DVSManagerPhysicalNicsList struct {
	DynamicData

	Host         ManagedObjectReference `xml:"host" json:"host"`
	PhysicalNics []PhysicalNic          `xml:"physicalNics,omitempty" json:"physicalNics,omitempty"`
}

This class is used to store valid PhysicalNics for a specific host

type DVSNameArrayUplinkPortPolicy

type DVSNameArrayUplinkPortPolicy struct {
	DVSUplinkPortPolicy

	// The uniform name of uplink ports on each host.
	UplinkPortName []string `xml:"uplinkPortName" json:"uplinkPortName"`
}

The uplink port policy specifies an array of uniform names for the uplink ports across the hosts.

The size of the array indicates the number of uplink ports that will be created for each host in the switch.

When the names in this array change, the uplink ports on all the hosts are automatically renamed accordingly. Increasing the number of names in the array automatically creates additional uplink ports bearing the added name on each host. Decreasing the number of name automatically deletes the unused uplink ports on each host. Decreasing beyond the number of unused uplink port raises a fault.

This policy overrides the portgroup port naming format (`DVPortgroupConfigSpec*.*DVPortgroupConfigSpec.portNameFormat`), if both are defined and the uplink ports are created in a uplink portgroup.

type DVSNetworkResourceManagementCapability

type DVSNetworkResourceManagementCapability struct {
	DynamicData

	// Indicates whether network I/O control is
	// supported on the vSphere Distributed Switch.
	//
	// Network I/O control
	// is supported in vSphere Distributed Switch Version 4.1 or later.
	NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported" json:"networkResourceManagementSupported"`
	// High share level (`SharesLevel_enum*.*high`)
	// for `DVSNetworkResourcePoolAllocationInfo*.*DVSNetworkResourcePoolAllocationInfo.shares`.
	//
	// The <code>networkResourcePoolHighshareValue</code> property implicitly defines
	// the legal range of share values to be between 1 and this value.
	// This property also defines values for other level types, such as
	// `normal` being one half of this value and
	// `low` being one fourth of this value.
	// This feature is supported in vSphere Distributed
	// Switch Version 4.1 or later.
	NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue" json:"networkResourcePoolHighShareValue"`
	// Indicates whether Qos Tag(802.1p priority tag)is supported on the
	// vSphere Distributed Switch.
	//
	// Qos Tag is supported in vSphere
	// Distributed Switch Version 5.0 or later.
	QosSupported bool `xml:"qosSupported" json:"qosSupported"`
	// Indicates whether the switch supports creating user defined resource
	// pools.
	//
	// This feature is supported in vSphere Distributed
	// Switch Version 5.0 or later.
	UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported" json:"userDefinedNetworkResourcePoolsSupported"`
	// Flag to indicate whether Network Resource Control version 3 is supported.
	//
	// The API supported by Network Resouce Control version 3 include:
	// 1. VM virtual NIC network resource specification
	//        `VirtualEthernetCardResourceAllocation`
	// 2. VM virtual NIC network resource pool specification
	//        `DVSVmVnicNetworkResourcePool`
	// 3. Host infrastructure traffic network resource specification
	//        `DvsHostInfrastructureTrafficResource`
	//
	// Network Resource Control version 3 is supported for Switch Version 6.0 or later.
	NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported" json:"networkResourceControlVersion3Supported,omitempty" vim:"6.0"`
	// Indicates whether user defined infrastructure traffic pool
	// supported in vSphere Distributed Switch.
	UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported" json:"userDefinedInfraTrafficPoolSupported,omitempty" vim:"6.7"`
}

Dataobject representing the feature capabilities of network resource management supported by the vSphere Distributed Switch.

type DVSNetworkResourcePool

type DVSNetworkResourcePool struct {
	DynamicData

	// Key of the network resource pool.
	Key string `xml:"key" json:"key"`
	// Name of the network resource pool.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Description of the network resource pool.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Configuration version for the network resource pool.
	ConfigVersion string `xml:"configVersion" json:"configVersion"`
	// Resource settings of the resource pool.
	AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo" json:"allocationInfo"`
}

Deprecated as of vSphere API 6.0 Use `DvsHostInfrastructureTrafficResource` to manage resource allocation for host infrastructure traffic. Use `DVSVmVnicNetworkResourcePool` to manage resource allocation for user defined pools.

The `DVSNetworkResourcePool` data object describes the resource configuration and management of network resource pools.

type DVSNetworkResourcePoolAllocationInfo

type DVSNetworkResourcePoolAllocationInfo struct {
	DynamicData

	// Maximum allowed usage for network clients belonging to
	// this resource pool per host.
	//
	// The utilization of network clients belonging to this resource pool
	// will not exceed the specified limit even if there are available
	// network resources. If set to -1, then there is no limit on the network
	// resource usage for clients belonging to this resource pool. Units are
	// in Mbits/sec. When setting the allocation of a particular resource
	// pool, if the property is unset, it is treated as no change and the
	// property is not updated. An unset limit value while reading back the
	// allocation information of a network resource pool indicates that
	// there is no limit on the network resource usage for the clients
	// belonging to this resource group.
	Limit *int64 `xml:"limit" json:"limit,omitempty"`
	// Share settings associated with the network resource pool to
	// facilitate proportional sharing of the physical network resources.
	//
	// If the property is unset when setting the allocation of a particular
	// resource pool, it is treated as unset and the property is not updated.
	// The property is always set when reading back the allocation
	// information of a network resource pool.
	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
	// 802.1p tag to be used for this resource pool.
	//
	// The tag is a priority value
	// in the range 0..7 for Quality of Service operations on network traffic.
	PriorityTag int32 `xml:"priorityTag,omitempty" json:"priorityTag,omitempty" vim:"5.0"`
}

Resource allocation information for a network resource pool.

type DVSNetworkResourcePoolConfigSpec

type DVSNetworkResourcePoolConfigSpec struct {
	DynamicData

	// Key of the network resource pool.
	//
	// The property is ignored for
	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
	// operations.
	Key string `xml:"key" json:"key"`
	// Unique identifier for a given version
	// of the configuration.
	//
	// Each change to the configuration will
	// update this value. This is typically implemented as a
	// non-decreasing count or a time-stamp. However, a client should
	// always treat this as an opaque string.
	//
	// If you specify the configuration version when you update
	// the resource configuration, the Server will apply the changes
	// only if the specified identifier matches the current
	// `DVSNetworkResourcePool*.*DVSNetworkResourcePool.configVersion`
	// value. You can use this field to guard against updates
	// that may have occurred between the time when the client
	// reads `DVSNetworkResourcePool.configVersion`
	// and when the configuration is applied.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// Network resource allocation for the network resource pool.
	AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
	// User defined name for the resource pool.
	//
	// The property is required for
	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.AddNetworkResourcePool`
	// operations.
	Name string `xml:"name,omitempty" json:"name,omitempty" vim:"5.0"`
	// User-defined description for the resource pool.
	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"5.0"`
}

The `DVSNetworkResourcePoolConfigSpec` data object contains properties to create or update a network resource pool for a distributed virtual switch.

type DVSPolicy

type DVSPolicy struct {
	DynamicData

	// Whether downloading a new proxy VirtualSwitch module to the host is
	// allowed to be automatically executed by the switch.
	AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed" json:"autoPreInstallAllowed,omitempty"`
	// Whether upgrading of the switch is allowed to be automatically
	// executed by the switch.
	AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed" json:"autoUpgradeAllowed,omitempty"`
	// Whether to allow upgrading a switch when some of the hosts failed to
	// install the needed module.
	//
	// The vCenter Server will reattempt the
	// pre-install operation of the host module on those failed hosts,
	// whenever they reconnect to vCenter.
	PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed" json:"partialUpgradeAllowed,omitempty"`
}

The switch usage policy types

type DVSRollbackCapability

type DVSRollbackCapability struct {
	DynamicData

	// Indicates whether rollback is supported on the distributed switch.
	RollbackSupported bool `xml:"rollbackSupported" json:"rollbackSupported"`
}

The `DVSRollbackCapability` data object describes the rollback capabilities for a `DistributedVirtualSwitch`.

type DVSRollbackRequestType

type DVSRollbackRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Backup of a distributed virtual switch, returned by
	// the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`
	// method.
	EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty" json:"entityBackup,omitempty"`
}

The parameters of `DistributedVirtualSwitch.DVSRollback_Task`.

type DVSRollback_Task

type DVSRollback_Task DVSRollbackRequestType

type DVSRollback_TaskResponse

type DVSRollback_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DVSRuntimeInfo

type DVSRuntimeInfo struct {
	DynamicData

	// Runtime information of the hosts that joined the switch.
	HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty" json:"hostMemberRuntime,omitempty"`
	// The bandwidth reservation information for the switch.
	ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty" json:"resourceRuntimeInfo,omitempty" vim:"6.0"`
}

The `DVSRuntimeInfo` data object defines runtime information for a vSphere Distributed Switch.

type DVSSecurityPolicy

type DVSSecurityPolicy struct {
	InheritablePolicy

	// The flag to indicate whether or not all traffic is seen
	// on the port.
	AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty" json:"allowPromiscuous,omitempty"`
	// The flag to indicate whether or not the Media Access
	// Control (MAC) address can be changed.
	MacChanges *BoolPolicy `xml:"macChanges,omitempty" json:"macChanges,omitempty"`
	// The flag to indicate whether or not the virtual network adapter
	// should be allowed to send network traffic with a different MAC
	// address than that of the virtual network adapter.
	ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty" json:"forgedTransmits,omitempty"`
}

This data object type describes security policy governing ports.

type DVSSelection

type DVSSelection struct {
	SelectionSet

	// vSphere Distributed Switch uuid
	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
}

Class to specify selection criteria of vSphere Distributed Switch.

type DVSSummary

type DVSSummary struct {
	DynamicData

	// The name of the switch.
	Name string `xml:"name" json:"name"`
	// The generated UUID of the switch.
	Uuid string `xml:"uuid" json:"uuid"`
	// Current number of ports, not including conflict ports.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// The product information for the implementation of the switch.
	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
	// The names of the hosts that join the switch.
	//
	// Refers instances of `HostSystem`.
	HostMember []ManagedObjectReference `xml:"hostMember,omitempty" json:"hostMember,omitempty"`
	// The Virtual Machines with Virtual NICs that connect to the switch.
	//
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The hosts with Virtual NICs that connect to the switch.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The names of the portgroups that are defined on the switch.
	PortgroupName []string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
	// A description string of the switch.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The human operator contact information.
	Contact *DVSContactInfo `xml:"contact,omitempty" json:"contact,omitempty"`
	// The number of hosts in the switch.
	//
	// The value of this property
	// is not affected by the privileges granted to the current user.
	NumHosts int32 `xml:"numHosts,omitempty" json:"numHosts,omitempty" vim:"5.5"`
}

Summary of the distributed switch configuration.

type DVSTrafficShapingPolicy

type DVSTrafficShapingPolicy struct {
	InheritablePolicy

	// The flag to indicate whether or not traffic shaper is enabled on
	// the port.
	Enabled *BoolPolicy `xml:"enabled,omitempty" json:"enabled,omitempty"`
	// The average bandwidth in bits per second if shaping is enabled on
	// the port.
	AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
	// The peak bandwidth during bursts in bits per second if traffic
	// shaping is enabled on the port.
	PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
	// The maximum burst size allowed in bytes if shaping is enabled on
	// the port.
	BurstSize *LongPolicy `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
}

This data object type describes traffic shaping policy.

type DVSUplinkPortPolicy

type DVSUplinkPortPolicy struct {
	DynamicData
}

The base class for uplink port policy.

func (*DVSUplinkPortPolicy) GetDVSUplinkPortPolicy

func (b *DVSUplinkPortPolicy) GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy

type DVSVendorSpecificConfig

type DVSVendorSpecificConfig struct {
	InheritablePolicy

	// An opaque binary blob that stores vendor specific configuration.
	KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty" json:"keyValue,omitempty"`
}

This data object type describes vendor specific configuration.

type DVSVmVnicNetworkResourcePool

type DVSVmVnicNetworkResourcePool struct {
	DynamicData

	// The key of the virtual NIC network resource pool.
	Key string `xml:"key" json:"key"`
	// The name of the virtual NIC network resource pool.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The description of the virtual NIC network resource pool.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The config version for the virtual NIC network resource pool.
	ConfigVersion string `xml:"configVersion" json:"configVersion"`
	// The resource settings of the virtual NIC network resource pool.
	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
}

DataObject describing the resource configuration and management of virtual NIC network resource pools.

type DailyTaskScheduler

type DailyTaskScheduler struct {
	HourlyTaskScheduler

	// The hour at which the `RecurrentTaskScheduler` runs the task.
	//
	// Use UTC (Coordinated Universal Time) values in the range
	// 0 to 23, where 0 = 12:00 a.m. (UTC) and 12 = 12:00 p.m. (UTC).
	//
	// For vCenter 2.x and prior releases, use the server's local time.
	// For example, use Eastern Standard Time (EST) or Pacific Daylight Time (PDT),
	// rather than UTC.
	Hour int32 `xml:"hour" json:"hour"`
}

The `DailyTaskScheduler` data object sets the time for daily task execution.

You set the hour and the inherited minute property to complete the schedule. By default, the scheduled task will run once every day at the specified hour and minute.

If you set the interval to a value greater than 1, the task will execute at the specified daily interval. (For example, an interval of 2 will cause the task to execute at the specified hour and minute every 2 days.)

func (*DailyTaskScheduler) GetDailyTaskScheduler

func (b *DailyTaskScheduler) GetDailyTaskScheduler() *DailyTaskScheduler

type DasAdmissionControlDisabledEvent

type DasAdmissionControlDisabledEvent struct {
	ClusterEvent
}

This event records when admission control checks have been disabled in a HA cluster.

type DasAdmissionControlEnabledEvent

type DasAdmissionControlEnabledEvent struct {
	ClusterEvent
}

This event records when admission control checks have been enabled in a HA cluster.

type DasAgentFoundEvent

type DasAgentFoundEvent struct {
	ClusterEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that VirtualCenter has re-established contact with a primary host in this HA cluster.

type DasAgentUnavailableEvent

type DasAgentUnavailableEvent struct {
	ClusterEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that VirtualCenter cannot contact any primary host in this HA cluster.

HA designates some hosts as primary hosts in the HA cluster. When adding a new host to an existing cluster, HA needs to contact one of the primary hosts to finish the configuration. VirtualCenter has lost contact with all primary nodes in the connected state. Attempts to configure HA on a host in this cluster will fail until a DasAgentFoundEvent is logged or unless this is the first node to be configured. For example, if all the other hosts are disconnected first.

type DasClusterIsolatedEvent

type DasClusterIsolatedEvent struct {
	ClusterEvent
}

This event records that all hosts have been isolated from the network in a HA cluster.

type DasConfigFault

type DasConfigFault struct {
	VimFault

	// The reason why the HA configuration failed, if known.
	//
	// Values should come from `DasConfigFaultDasConfigFaultReason_enum`.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
	// The output (stdout/stderr) from executing the configuration.
	Output string `xml:"output,omitempty" json:"output,omitempty" vim:"4.0"`
	// The list of events containing details why the configuration failed, if known.
	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty" vim:"4.0"`
}

This fault indicates that some error has occurred during the configuration of the host for HA.

This may be subclassed by a more specific fault.

type DasConfigFaultDasConfigFaultReason

type DasConfigFaultDasConfigFaultReason string

type DasConfigFaultFault

type DasConfigFaultFault DasConfigFault

type DasDisabledEvent

type DasDisabledEvent struct {
	ClusterEvent
}

This event records when a cluster has been disabled for HA.

type DasEnabledEvent

type DasEnabledEvent struct {
	ClusterEvent
}

This event records when a cluster has been enabled for HA.

type DasHeartbeatDatastoreInfo

type DasHeartbeatDatastoreInfo struct {
	DynamicData

	Datastore ManagedObjectReference   `xml:"datastore" json:"datastore"`
	Hosts     []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Class for the selection of heartbeat datastores

type DasHostFailedEvent

type DasHostFailedEvent struct {
	ClusterEvent

	// The host that failed.
	FailedHost HostEventArgument `xml:"failedHost" json:"failedHost"`
}

This event records when a host failure has been detected by HA.

type DasHostIsolatedEvent

type DasHostIsolatedEvent struct {
	ClusterEvent

	// The host that was isolated.
	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
}

This event records that a host has been isolated from the network in a HA cluster.

Since an isolated host cannot be distinguished from a failed host except by the isolated host itself, this event is logged when the isolated host regains network connectivity.

type DasVmPriority

type DasVmPriority string

Deprecated as of VI API 2.5, use `ClusterDasVmSettingsRestartPriority_enum`.

The priority of the virtual machine determines the preference given to it if sufficient capacity is not available to power on all failed virtual machines.

For example, high priority virtual machines on a host get preference over low priority virtual machines.

type DatabaseError

type DatabaseError struct {
	RuntimeFault
}

A DatabaseError exception is thrown if an operation failed when accessing the external database.

This typically is because the database is (temporarily) unavailable or because of network problems.

type DatabaseErrorFault

type DatabaseErrorFault DatabaseError

type DatabaseSizeEstimate

type DatabaseSizeEstimate struct {
	DynamicData

	// The estimated size required in MB
	Size int64 `xml:"size" json:"size"`
}

DatabaseSizeEstimate contains information about the size required to by the database.

type DatabaseSizeParam

type DatabaseSizeParam struct {
	DynamicData

	// Object to capture inventory description
	InventoryDesc InventoryDescription `xml:"inventoryDesc" json:"inventoryDesc"`
	// Object to capture performance statistics
	// related parameters
	PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty" json:"perfStatsDesc,omitempty"`
}

DatabaseSizeParam contains information about a sample inventory.

Using this information, database size requirements for that sample inventory can be computed. Depending on the accuracy of estimate desired, users can choose to specify the number of different types of managed entities. The numHosts and numVirtualMachines are the only two required fields. Rest are all optional fields filled up by Virtual Center based on some heuristics. These parameters need not represent a real inventory. The user can use these parameters to estimate the database size required by a hypothetical VirtualCenter setup.

type DatacenterBasicConnectInfo added in v0.21.0

type DatacenterBasicConnectInfo struct {
	DynamicData

	// Target host.
	Hostname string `xml:"hostname,omitempty" json:"hostname,omitempty"`
	// Error encountered while querying the host.
	//
	// See
	// `Datacenter.QueryConnectionInfo` for the list of exceptions which can
	// be represented here.
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// IP address of the VirtualCenter already managing this host, if any.
	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
	// Specifies the number of VMs on the host.
	NumVm int32 `xml:"numVm,omitempty" json:"numVm,omitempty"`
	// Specifies the number of powered-on VMs on the host.
	NumPoweredOnVm int32 `xml:"numPoweredOnVm,omitempty" json:"numPoweredOnVm,omitempty"`
	// Information about the software running on the host.
	HostProductInfo *AboutInfo `xml:"hostProductInfo,omitempty" json:"hostProductInfo,omitempty"`
	// Hardware vendor identification.
	HardwareVendor string `xml:"hardwareVendor,omitempty" json:"hardwareVendor,omitempty"`
	// System model identification.
	HardwareModel string `xml:"hardwareModel,omitempty" json:"hardwareModel,omitempty"`
}

BasicConnectInfo consists of essential information about the host.

This is a subset of `HostConnectInfo` and contains the information which is relevant when it comes to dealing with a set of hosts.

type DatacenterConfigInfo

type DatacenterConfigInfo struct {
	DynamicData

	// Key for Default Hardware Version used on this datacenter
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// This field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of all its children
	// with this field unset.
	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
	// Key for Maximum Hardware Version used on this datacenter
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// This field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of all its children
	// with this field unset.
	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
}

Configuration of the datacenter.

type DatacenterConfigSpec

type DatacenterConfigSpec struct {
	DynamicData

	// Key for Default Hardware Version to be used on this datacenter
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// Setting this field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of all its children
	// with this field unset.
	DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty" json:"defaultHardwareVersionKey,omitempty"`
	// Key for Maximum Hardware Version to be used on this datacenter
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	//
	// Setting this field affects
	// `VirtualMachineConfigOptionDescriptor.defaultConfigOption` returned
	// by `ComputeResource.environmentBrowser` of all its children
	// with this field unset.
	MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty" json:"maximumHardwareVersionKey,omitempty" vim:"7.0.2.0"`
}

Changes to apply to the datacenter configuration.

type DatacenterCreatedEvent

type DatacenterCreatedEvent struct {
	DatacenterEvent

	// The folder where the datacenter is created.
	Parent FolderEventArgument `xml:"parent" json:"parent"`
}

type DatacenterEvent

type DatacenterEvent struct {
	Event
}

These are datacenter events.

func (*DatacenterEvent) GetDatacenterEvent

func (b *DatacenterEvent) GetDatacenterEvent() *DatacenterEvent

type DatacenterEventArgument

type DatacenterEventArgument struct {
	EntityEventArgument

	// The Datacenter object.
	//
	// Refers instance of `Datacenter`.
	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
}

The event argument is a Datacenter object.

type DatacenterMismatch

type DatacenterMismatch struct {
	MigrationFault

	// The list of invalid arguments.
	InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument" json:"invalidArgument"`
	// The expected datacenter for the arguments.
	//
	// Refers instance of `Datacenter`.
	ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter" json:"expectedDatacenter"`
}

The input arguments had entities that did not belong to the same datacenter.

type DatacenterMismatchArgument

type DatacenterMismatchArgument struct {
	DynamicData

	// The invalid input entity.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The datacenter for this entity.
	//
	// Refers instance of `Datacenter`.
	InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty" json:"inputDatacenter,omitempty"`
}

An input entity argument that belongs to a mismatched datacenter.

type DatacenterMismatchFault

type DatacenterMismatchFault DatacenterMismatch

type DatacenterRenamedEvent

type DatacenterRenamedEvent struct {
	DatacenterEvent

	// The old datacenter name.
	OldName string `xml:"oldName" json:"oldName"`
	// The new datacenter name.
	NewName string `xml:"newName" json:"newName"`
}

type DatastoreAccessible

type DatastoreAccessible string

type DatastoreCapability

type DatastoreCapability struct {
	DynamicData

	// Indicates whether or not directories can be created on this datastore.
	DirectoryHierarchySupported bool `xml:"directoryHierarchySupported" json:"directoryHierarchySupported"`
	// Indicates whether or not raw disk mappings can be created on this datastore.
	RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported" json:"rawDiskMappingsSupported"`
	// Indicates whether or not the datastore supports thin provisioning on a per file
	// basis.
	//
	// When thin provisioning is used, backing storage is lazily allocated.
	//
	// This is supported by VMFS3. VMFS2 always allocates storage eagerly. Thus, this
	// value is false for VMFS2. Most NAS systems always use thin provisioning.
	// They do not support configuring this on a per file basis, so for NAS systems
	// this value is also false.
	PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported" json:"perFileThinProvisioningSupported"`
	// Indicates whether the datastore supports Storage I/O Resource Management.
	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty" vim:"4.1"`
	// Indicates whether the datastore supports native snapshot feature which is
	// based on Copy-On-Write.
	NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported" json:"nativeSnapshotSupported,omitempty" vim:"5.1"`
	// Indicates whether the datastore supports traditional top-level
	// directory creation.
	//
	// See also `DatastoreNamespaceManager`.
	TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported" json:"topLevelDirectoryCreateSupported,omitempty" vim:"5.5"`
	// Indicates whether the datastore supports the Flex-SE(SeSparse) feature.
	SeSparseSupported *bool `xml:"seSparseSupported" json:"seSparseSupported,omitempty" vim:"5.5"`
	// Indicates whether the datastore supports the vmfsSparse feature.
	//
	// True for VMFS3/VMFS5/NFS/NFS41, False for VMFS6.
	// If value is undefined, then it should be read as supported.
	VmfsSparseSupported *bool `xml:"vmfsSparseSupported" json:"vmfsSparseSupported,omitempty" vim:"6.5"`
	// Indicates whether the datastore supports the vsanSparse feature.
	VsanSparseSupported *bool `xml:"vsanSparseSupported" json:"vsanSparseSupported,omitempty" vim:"6.5"`
	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
	//
	// Indicates whether the datastore supports the upit feature.
	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty" vim:"6.5"`
	// On certain datastores (e.g.
	//
	// 2016 PMEM datastore) VMDK expand is not supported.
	// This field tells user if VMDK on this datastore can be expanded or not.
	// If value is undefined, then it should be read as supported.
	VmdkExpandSupported *bool `xml:"vmdkExpandSupported" json:"vmdkExpandSupported,omitempty" vim:"6.7"`
	// Indicates whether the datastore supports clustered VMDK feature.
	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty" vim:"7.0"`
}

Information about the capabilities of this datastore.

type DatastoreCapacityIncreasedEvent

type DatastoreCapacityIncreasedEvent struct {
	DatastoreEvent

	// The old datastore capacity.
	OldCapacity int64 `xml:"oldCapacity" json:"oldCapacity"`
	// The new datastore capacity.
	NewCapacity int64 `xml:"newCapacity" json:"newCapacity"`
}

This event records when increase in a datastore's capacity is observed.

It may happen due to different reasons, like extending or expanding a datastore.

type DatastoreDestroyedEvent

type DatastoreDestroyedEvent struct {
	DatastoreEvent
}

This event records when a datastore is removed from VirtualCenter.

type DatastoreDiscoveredEvent

type DatastoreDiscoveredEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
}

This event records when a host is added to VirtualCenter and datastores are discovered.

type DatastoreDuplicatedEvent

type DatastoreDuplicatedEvent struct {
	DatastoreEvent
}

This event records when a duplicate datastore name is found.

This event is used in VirtualCenter 1.x and is included for backward compatibility.

type DatastoreEnterMaintenanceModeRequestType

type DatastoreEnterMaintenanceModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DatastoreEnterMaintenanceModeResponse

type DatastoreEnterMaintenanceModeResponse struct {
	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
}

type DatastoreEvent

type DatastoreEvent struct {
	Event

	// The associated datastore.
	Datastore *DatastoreEventArgument `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

These are datastore events.

func (*DatastoreEvent) GetDatastoreEvent

func (b *DatastoreEvent) GetDatastoreEvent() *DatastoreEvent

type DatastoreEventArgument

type DatastoreEventArgument struct {
	EntityEventArgument

	// The Datastore object.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The event argument is a Datastore object.

type DatastoreExitMaintenanceModeRequestType

type DatastoreExitMaintenanceModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DatastoreExitMaintenanceMode_TaskResponse

type DatastoreExitMaintenanceMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DatastoreFileCopiedEvent

type DatastoreFileCopiedEvent struct {
	DatastoreFileEvent

	// Source datastore.
	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
	// Datastore path of the source file or directory.
	SourceFile string `xml:"sourceFile" json:"sourceFile"`
}

This event records copy of a file or directory.

type DatastoreFileDeletedEvent

type DatastoreFileDeletedEvent struct {
	DatastoreFileEvent
}

This event records deletion of a file or directory.

type DatastoreFileEvent

type DatastoreFileEvent struct {
	DatastoreEvent

	// Datastore path of the target file or directory.
	TargetFile string `xml:"targetFile" json:"targetFile"`
	// Identifier of the initiator of the file operation.
	SourceOfOperation string `xml:"sourceOfOperation,omitempty" json:"sourceOfOperation,omitempty" vim:"6.5"`
	// Indicator whether the datastore file operation succeeded.
	Succeeded *bool `xml:"succeeded" json:"succeeded,omitempty" vim:"6.5"`
}

Base class for events related to datastore file and directory operations.

Property _datastore_ inherited from DatastoreEvent refers to the destination datastore in case there is more than datastore involved in the operation.

func (*DatastoreFileEvent) GetDatastoreFileEvent

func (b *DatastoreFileEvent) GetDatastoreFileEvent() *DatastoreFileEvent

type DatastoreFileMovedEvent

type DatastoreFileMovedEvent struct {
	DatastoreFileEvent

	// Source datastore.
	SourceDatastore DatastoreEventArgument `xml:"sourceDatastore" json:"sourceDatastore"`
	// Datastore path of the source file or directory.
	SourceFile string `xml:"sourceFile" json:"sourceFile"`
}

This event records move of a file or directory.

type DatastoreHostMount

type DatastoreHostMount struct {
	DynamicData

	// The host associated with this datastore.
	//
	// Refers instance of `HostSystem`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Host-specific information about the mount.
	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
}

Host-specific datastore information.

type DatastoreIORMReconfiguredEvent

type DatastoreIORMReconfiguredEvent struct {
	DatastoreEvent
}

This event records that the configuration of storage I/O resource management for a datastore has changed.

type DatastoreInfo

type DatastoreInfo struct {
	DynamicData

	// The name of the datastore.
	Name string `xml:"name" json:"name"`
	// The unique locator for the datastore.
	Url string `xml:"url" json:"url"`
	// Free space of this datastore, in bytes.
	//
	// The server periodically updates this
	// value. It can be explicitly refreshed with the Refresh operation.
	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
	// The maximum size of a file that can reside on this file system volume.
	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
	// The maximum capacity of a virtual disk which can be created on this volume.
	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty" vim:"5.5"`
	// The maximum size of a snapshot or a swap file that can reside on this file system volume.
	MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty" json:"maxMemoryFileSize,omitempty" vim:"6.0"`
	// Time when the free-space and capacity values in `DatastoreInfo` and
	// `DatastoreSummary` were updated.
	Timestamp *time.Time `xml:"timestamp" json:"timestamp,omitempty" vim:"4.0"`
	// The unique container ID of the datastore, if applicable.
	ContainerId string `xml:"containerId,omitempty" json:"containerId,omitempty" vim:"5.5"`
	// vSAN datastore container that this datastore is alias of.
	//
	// If this
	// field is unset then this datastore is not alias of any other vSAN
	// datastore.
	// See `DatastoreInfo.containerId`.
	AliasOf string `xml:"aliasOf,omitempty" json:"aliasOf,omitempty" vim:"6.7.1"`
}

Detailed information about a datastore.

This is a base type for derived types that have more specific details about a datastore.

See also `HostVmfsVolume`, `HostNasVolume`, `HostLocalFileSystemVolume`.

func (*DatastoreInfo) GetDatastoreInfo

func (b *DatastoreInfo) GetDatastoreInfo() *DatastoreInfo

type DatastoreMountPathDatastorePair

type DatastoreMountPathDatastorePair struct {
	DynamicData

	// Old file path where file system volume is mounted, which
	// should be `path` value in
	// `HostMountInfo`
	OldMountPath string `xml:"oldMountPath" json:"oldMountPath"`
	// The resignatured or remounted datastore corresponding to the oldMountPath
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

Contains a mapping of an old mount path and its corresponding resignatured or remounted datastore

type DatastoreNamespaceManagerDirectoryInfo added in v0.31.0

type DatastoreNamespaceManagerDirectoryInfo struct {
	DynamicData

	// Size in MB of underlying object.
	Capacity int64 `xml:"capacity" json:"capacity"`
	// Used size in MB in the VMFS volume.
	Used int64 `xml:"used" json:"used"`
}

type DatastoreNotWritableOnHost

type DatastoreNotWritableOnHost struct {
	InvalidDatastore

	// The target host on which the datastore is not writable.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

This exception is thrown if a datastore is not writable on the target host.

func (*DatastoreNotWritableOnHost) GetDatastoreNotWritableOnHost

func (b *DatastoreNotWritableOnHost) GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost

type DatastoreNotWritableOnHostFault

type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost

type DatastoreOption

type DatastoreOption struct {
	DynamicData

	// The type of file system volumes on which this virtual machine cannot have
	// its disk and configuration files.
	UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty" json:"unsupportedVolumes,omitempty"`
}

The DatastoreOption data object describes datastore options for a virtual machine.

type DatastorePrincipalConfigured

type DatastorePrincipalConfigured struct {
	HostEvent

	DatastorePrincipal string `xml:"datastorePrincipal" json:"datastorePrincipal"`
}

This event records that a datastore principal was configured on a host.

type DatastoreRemovedOnHostEvent

type DatastoreRemovedOnHostEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
}

This event records when a datastore is removed from a host but not from VirtualCenter.

type DatastoreRenamedEvent

type DatastoreRenamedEvent struct {
	DatastoreEvent

	// The old datastore name.
	OldName string `xml:"oldName" json:"oldName"`
	// The new datastore name.
	NewName string `xml:"newName" json:"newName"`
}

This event records the renaming of a datastore.

type DatastoreRenamedOnHostEvent

type DatastoreRenamedOnHostEvent struct {
	HostEvent

	// The old datastore name.
	OldName string `xml:"oldName" json:"oldName"`
	// The new datastore name.
	NewName string `xml:"newName" json:"newName"`
}

This event records when a datastore is added to VirtualCenter and is renamed by VirtualCenter because this datastore already exists in VirtualCenter with a different name, or because the name conflicts with another datastore in VirtualCenter.

type DatastoreSummary

type DatastoreSummary struct {
	DynamicData

	// The reference to the managed object.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// The name of the datastore.
	Name string `xml:"name" json:"name"`
	// The unique locator for the datastore.
	//
	// This property is guaranteed to be valid
	// only if `DatastoreSummary.accessible` is true.
	Url string `xml:"url" json:"url"`
	// Maximum capacity of this datastore, in bytes.
	//
	// This value is updated
	// periodically by the server. It can be explicitly refreshed with the Refresh
	// operation. This property is guaranteed to be valid only if `DatastoreSummary.accessible`
	// is true.
	Capacity int64 `xml:"capacity" json:"capacity"`
	// Available space of this datastore, in bytes.
	//
	// The server periodically
	// updates this value. It can be explicitly refreshed with the Refresh operation.
	// This property is guaranteed to be valid only if `DatastoreSummary.accessible` is true.
	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
	// Total additional storage space, in bytes, potentially used by all
	// virtual machines on this datastore.
	//
	// The server periodically updates this
	// value.
	// It can be explicitly refreshed with the `Datastore.RefreshDatastoreStorageInfo` operation.
	// This property is valid only if `DatastoreSummary.accessible` is true.
	Uncommitted int64 `xml:"uncommitted,omitempty" json:"uncommitted,omitempty" vim:"4.0"`
	// The connectivity status of this datastore.
	//
	// If this is set to false, meaning the
	// datastore is not accessible, this datastore's capacity and freespace properties
	// cannot be validated. Furthermore, if this property is set to false, some of the
	// properties in this summary and in `DatastoreInfo` should not be
	// used. Refer to the documentation for the property of your interest.
	// For datastores accessed from multiple hosts, vCenter Server reports
	// `DatastoreSummary.accessible` as an aggregated value of the
	// properties reported in `HostMountInfo`. For instance,
	// if a datastore is accessible through a subset of hosts, then the value of
	// `DatastoreSummary.accessible` will be reported as true by
	// vCenter Server. And the reason for a daastore being inaccessible from a host
	// will be reported in `HostMountInfo.inaccessibleReason`
	Accessible bool `xml:"accessible" json:"accessible"`
	// More than one host in the datacenter has been configured with access to the
	// datastore.
	//
	// This is only provided by VirtualCenter.
	MultipleHostAccess *bool `xml:"multipleHostAccess" json:"multipleHostAccess,omitempty"`
	// Type of file system volume, such as VMFS or NFS.
	//
	// See also `HostFileSystemVolume.type`.
	Type string `xml:"type" json:"type"`
	// The current maintenance mode state of the datastore.
	//
	// The set of
	// possible values is described in `DatastoreSummaryMaintenanceModeState_enum`.
	MaintenanceMode string `xml:"maintenanceMode,omitempty" json:"maintenanceMode,omitempty" vim:"5.0"`
}

Summary information about the datastore.

The status fields and managed object reference is not set when an object of this type is created. These fields and references are typically set later when these objects are associated with a host.

type DatastoreSummaryMaintenanceModeState

type DatastoreSummaryMaintenanceModeState string

type DatastoreVVolContainerFailoverPair added in v0.12.0

type DatastoreVVolContainerFailoverPair struct {
	DynamicData

	// Storage container on the source side.
	SrcContainer string `xml:"srcContainer,omitempty" json:"srcContainer,omitempty"`
	// Storage container on the target side.
	TgtContainer string `xml:"tgtContainer" json:"tgtContainer"`
	// Mapping of VVol IDs from source to target corresponding to the
	// given set of containers.
	VvolMapping []KeyValue `xml:"vvolMapping,omitempty" json:"vvolMapping,omitempty"`
}

A pair of source and target VVol containers and mapping of VVol IDs from source to target.

type DateTimeProfile

type DateTimeProfile struct {
	ApplyProfile
}

The `DateTimeProfile` data object represents host date and time configuration.

Use the `ApplyProfile.policy` list for access to configuration data for the date and time profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

type DayOfWeek

type DayOfWeek string

type DecodeLicense

type DecodeLicense DecodeLicenseRequestType

type DecodeLicenseRequestType

type DecodeLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A license. E.g. a serial license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
}

The parameters of `LicenseManager.DecodeLicense`.

type DecodeLicenseResponse

type DecodeLicenseResponse struct {
	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
}

type DefragmentAllDisks

type DefragmentAllDisks DefragmentAllDisksRequestType

type DefragmentAllDisksRequestType

type DefragmentAllDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DefragmentAllDisksResponse

type DefragmentAllDisksResponse struct {
}

type DefragmentVirtualDiskRequestType

type DefragmentVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk that should be defragmented.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.DefragmentVirtualDisk_Task`.

type DefragmentVirtualDisk_Task

type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType

type DefragmentVirtualDisk_TaskResponse

type DefragmentVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteCustomizationSpecRequestType

type DeleteCustomizationSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Name string                 `xml:"name" json:"name"`
}

The parameters of `CustomizationSpecManager.DeleteCustomizationSpec`.

type DeleteCustomizationSpecResponse

type DeleteCustomizationSpecResponse struct {
}

type DeleteDatastoreFileRequestType

type DeleteDatastoreFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the file or folder, either a URL or a datastore path
	// referring to the file or folder to be deleted.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `FileManager.DeleteDatastoreFile_Task`.

type DeleteDatastoreFile_Task

type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType

type DeleteDatastoreFile_TaskResponse

type DeleteDatastoreFile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteDirectory

type DeleteDirectory DeleteDirectoryRequestType

type DeleteDirectoryInGuestRequestType

type DeleteDirectoryInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the directory to be deleted.
	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
	// If true, all subdirectories are also deleted.
	// If false, the directory must be empty for the operation to succeed.
	Recursive bool `xml:"recursive" json:"recursive"`
}

The parameters of `GuestFileManager.DeleteDirectoryInGuest`.

type DeleteDirectoryInGuestResponse

type DeleteDirectoryInGuestResponse struct {
}

type DeleteDirectoryRequestType

type DeleteDirectoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter of the datastore path. Needs to be set
	// when making the call to VC; ignored when the call is
	// made to ESX.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// Stable vmfs path of the directory to delete.
	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
}

The parameters of `DatastoreNamespaceManager.DeleteDirectory`.

type DeleteDirectoryResponse

type DeleteDirectoryResponse struct {
}

type DeleteFile

type DeleteFile DeleteFileRequestType

type DeleteFileInGuest

type DeleteFileInGuest DeleteFileInGuestRequestType

type DeleteFileInGuestRequestType

type DeleteFileInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the file or symbolic link to be deleted.
	FilePath string `xml:"filePath" json:"filePath"`
}

The parameters of `GuestFileManager.DeleteFileInGuest`.

type DeleteFileInGuestResponse

type DeleteFileInGuestResponse struct {
}

type DeleteFileRequestType

type DeleteFileRequestType struct {
	This          ManagedObjectReference `xml:"_this" json:"-"`
	DatastorePath string                 `xml:"datastorePath" json:"datastorePath"`
}

The parameters of `HostDatastoreBrowser.DeleteFile`.

type DeleteFileResponse

type DeleteFileResponse struct {
}

type DeleteHostSpecification added in v0.12.0

type DeleteHostSpecification DeleteHostSpecificationRequestType

type DeleteHostSpecificationRequestType added in v0.12.0

type DeleteHostSpecificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specified host for which the specification will be
	// deleted.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostSpecificationManager.DeleteHostSpecification`.

type DeleteHostSpecificationResponse added in v0.12.0

type DeleteHostSpecificationResponse struct {
}

type DeleteHostSubSpecification added in v0.12.0

type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType

type DeleteHostSubSpecificationRequestType added in v0.12.0

type DeleteHostSubSpecificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specified host for which the sub specification will be
	// deleted.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The name of the host sub specification to be deleted.
	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
}

The parameters of `HostSpecificationManager.DeleteHostSubSpecification`.

type DeleteHostSubSpecificationResponse added in v0.12.0

type DeleteHostSubSpecificationResponse struct {
}

type DeleteNvdimmBlockNamespacesRequestType added in v0.18.0

type DeleteNvdimmBlockNamespacesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DeleteNvdimmBlockNamespaces_Task added in v0.18.0

type DeleteNvdimmBlockNamespaces_Task DeleteNvdimmBlockNamespacesRequestType

type DeleteNvdimmBlockNamespaces_TaskResponse added in v0.18.0

type DeleteNvdimmBlockNamespaces_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteNvdimmNamespaceRequestType added in v0.18.0

type DeleteNvdimmNamespaceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Details of namespace to be deleted.
	DeleteSpec NvdimmNamespaceDeleteSpec `xml:"deleteSpec" json:"deleteSpec"`
}

The parameters of `HostNvdimmSystem.DeleteNvdimmNamespace_Task`.

type DeleteNvdimmNamespace_Task added in v0.18.0

type DeleteNvdimmNamespace_Task DeleteNvdimmNamespaceRequestType

type DeleteNvdimmNamespace_TaskResponse added in v0.18.0

type DeleteNvdimmNamespace_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteRegistryKeyInGuestRequestType

type DeleteRegistryKeyInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The path to the registry key to be deleted.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// If true, the key is deleted along with any subkeys (if
	// present). Otherwise, it shall only delete the key if it
	// has no subkeys.
	Recursive bool `xml:"recursive" json:"recursive"`
}

The parameters of `GuestWindowsRegistryManager.DeleteRegistryKeyInGuest`.

type DeleteRegistryKeyInGuestResponse

type DeleteRegistryKeyInGuestResponse struct {
}

type DeleteRegistryValueInGuestRequestType

type DeleteRegistryValueInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The registry value name to be deleted.
	// The Value "name" (specified in
	// `GuestRegValueNameSpec`)
	// can be empty. If "name" is empty, it deletes the value
	// for the unnamed or default value of the given key.
	ValueName GuestRegValueNameSpec `xml:"valueName" json:"valueName"`
}

The parameters of `GuestWindowsRegistryManager.DeleteRegistryValueInGuest`.

type DeleteRegistryValueInGuestResponse

type DeleteRegistryValueInGuestResponse struct {
}

type DeleteScsiLunState

type DeleteScsiLunState DeleteScsiLunStateRequestType

type DeleteScsiLunStateRequestType

type DeleteScsiLunStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The 'canonicalName' of the ScsiLun
	// whose state needs to be deleted.
	LunCanonicalName string `xml:"lunCanonicalName" json:"lunCanonicalName"`
}

The parameters of `HostStorageSystem.DeleteScsiLunState`.

type DeleteScsiLunStateResponse

type DeleteScsiLunStateResponse struct {
}

type DeleteSnapshotRequestType added in v0.18.0

type DeleteSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `VcenterVStorageObjectManager.DeleteSnapshot_Task`.

type DeleteSnapshot_Task added in v0.18.0

type DeleteSnapshot_Task DeleteSnapshotRequestType

type DeleteSnapshot_TaskResponse added in v0.18.0

type DeleteSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteVStorageObjectExRequestType added in v0.26.0

type DeleteVStorageObjectExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be deleted.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.DeleteVStorageObjectEx_Task`.

type DeleteVStorageObjectEx_Task added in v0.26.0

type DeleteVStorageObjectEx_Task DeleteVStorageObjectExRequestType

type DeleteVStorageObjectEx_TaskResponse added in v0.26.0

type DeleteVStorageObjectEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteVStorageObjectRequestType added in v0.12.0

type DeleteVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be deleted.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.DeleteVStorageObject_Task`.

type DeleteVStorageObject_Task added in v0.12.0

type DeleteVStorageObject_Task DeleteVStorageObjectRequestType

type DeleteVStorageObject_TaskResponse added in v0.12.0

type DeleteVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteVffsVolumeStateRequestType

type DeleteVffsVolumeStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The VFFS UUID.
	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
}

The parameters of `HostStorageSystem.DeleteVffsVolumeState`.

type DeleteVffsVolumeStateResponse

type DeleteVffsVolumeStateResponse struct {
}

type DeleteVirtualDiskRequestType

type DeleteVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk to be deleted.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.DeleteVirtualDisk_Task`.

type DeleteVirtualDisk_Task

type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType

type DeleteVirtualDisk_TaskResponse

type DeleteVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DeleteVmfsVolumeStateRequestType

type DeleteVmfsVolumeStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The VMFS UUID.
	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.DeleteVmfsVolumeState`.

type DeleteVmfsVolumeStateResponse

type DeleteVmfsVolumeStateResponse struct {
}

type DeleteVsanObjects

type DeleteVsanObjects DeleteVsanObjectsRequestType

type DeleteVsanObjectsRequestType

type DeleteVsanObjectsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of object UUIDs to be deleted.
	Uuids []string `xml:"uuids" json:"uuids"`
	// Optional force delete.
	Force *bool `xml:"force" json:"force,omitempty"`
}

The parameters of `HostVsanInternalSystem.DeleteVsanObjects`.

type DeleteVsanObjectsResponse

type DeleteVsanObjectsResponse struct {
	Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval" json:"returnval"`
}

type DeltaDiskFormatNotSupported

type DeltaDiskFormatNotSupported struct {
	VmConfigFault

	// The datastores which do not support the specified format.
	//
	// Refers instances of `Datastore`.
	Datastore []ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// The format not supported.
	//
	// See `DeltaDiskFormat`.
	DeltaDiskFormat string `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
}

Thrown on an attempt to use an unsupported delta disk format.

type DeltaDiskFormatNotSupportedFault

type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported

type DeployVchaRequestType added in v0.18.0

type DeployVchaRequestType struct {
	This           ManagedObjectReference    `xml:"_this" json:"-"`
	DeploymentSpec VchaClusterDeploymentSpec `xml:"deploymentSpec" json:"deploymentSpec"`
}

type DeployVcha_Task added in v0.18.0

type DeployVcha_Task DeployVchaRequestType

type DeployVcha_TaskResponse added in v0.18.0

type DeployVcha_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type Description

type Description struct {
	DynamicData

	// Display label.
	Label string `xml:"label" json:"label"`
	// Summary description.
	Summary string `xml:"summary" json:"summary"`
}

Static strings used for describing an object or property.

func (*Description) GetDescription

func (b *Description) GetDescription() *Description

type DeselectVnic

type DeselectVnic DeselectVnicRequestType

type DeselectVnicForNicTypeRequestType

type DeselectVnicForNicTypeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The type of VirtualNic that would be deselected
	NicType string `xml:"nicType" json:"nicType"`
	// The device that uniquely identifies the VirtualNic.
	Device string `xml:"device" json:"device"`
}

The parameters of `HostVirtualNicManager.DeselectVnicForNicType`.

type DeselectVnicForNicTypeResponse

type DeselectVnicForNicTypeResponse struct {
}

type DeselectVnicRequestType

type DeselectVnicRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DeselectVnicResponse

type DeselectVnicResponse struct {
}

type DesiredSoftwareSpec added in v0.23.0

type DesiredSoftwareSpec struct {
	DynamicData

	// Describes a specific base-image spec for the ESX host.
	BaseImageSpec DesiredSoftwareSpecBaseImageSpec `xml:"baseImageSpec" json:"baseImageSpec"`
	// Vendor add-on info for desired software spec.
	VendorAddOnSpec *DesiredSoftwareSpecVendorAddOnSpec `xml:"vendorAddOnSpec,omitempty" json:"vendorAddOnSpec,omitempty"`
	// Additional components which should be part of the desired software
	// spec.
	//
	// These components would override the components present in
	// `DesiredSoftwareSpec.vendorAddOnSpec` and `DesiredSoftwareSpec.baseImageSpec`.
	Components []DesiredSoftwareSpecComponentSpec `xml:"components,omitempty" json:"components,omitempty" vim:"7.0.2.0"`
}

Desired Software Spec is defined as combination of base-image and add-on component which user wants to install on ESX host or cluster.

type DesiredSoftwareSpecBaseImageSpec added in v0.23.0

type DesiredSoftwareSpecBaseImageSpec struct {
	DynamicData

	// Version of the base-image.
	Version string `xml:"version" json:"version"`
}

Describes base-image spec for the ESX host.

type DesiredSoftwareSpecComponentSpec added in v0.26.0

type DesiredSoftwareSpecComponentSpec struct {
	DynamicData

	// Name of the component.
	Name string `xml:"name" json:"name"`
	// Version of the component.
	//
	// This field is required in the
	// current release.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

Component information for the ESX host.

type DesiredSoftwareSpecVendorAddOnSpec added in v0.23.0

type DesiredSoftwareSpecVendorAddOnSpec struct {
	DynamicData

	// Vendor add-on name.
	Name string `xml:"name" json:"name"`
	// Vendor add-on version.
	Version string `xml:"version" json:"version"`
}

Vendor specific add-on info for ESX host.

type DestinationSwitchFull

type DestinationSwitchFull struct {
	CannotAccessNetwork
}

For one of the networks that the virtual machine is using, the corresponding switch on the host is full.

If returned as part of migration checks, this is an error if either of the following is true, a warning otherwise:

  • The virtual ethernet card device backing is a distributed virtual switch
  • The virtual ethernet card device backing is a standard network and the the device is connected

type DestinationSwitchFullFault

type DestinationSwitchFullFault DestinationSwitchFull

type DestinationVsanDisabled

type DestinationVsanDisabled struct {
	CannotMoveVsanEnabledHost

	// Name of the disabled destination `ClusterComputeResource`.
	//
	// See also `ManagedEntity.name`.
	DestinationCluster string `xml:"destinationCluster" json:"destinationCluster"`
}

Fault thrown for the case that an attempt is made to move a host which is enabled for VSAN into a `ClusterComputeResource` which is disabled for VSAN.

See also `CannotMoveVsanEnabledHost`.

type DestinationVsanDisabledFault

type DestinationVsanDisabledFault DestinationVsanDisabled

type DestroyChildren

type DestroyChildren DestroyChildrenRequestType

type DestroyChildrenRequestType

type DestroyChildrenRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyChildrenResponse

type DestroyChildrenResponse struct {
}

type DestroyCollector

type DestroyCollector DestroyCollectorRequestType

type DestroyCollectorRequestType

type DestroyCollectorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyCollectorResponse

type DestroyCollectorResponse struct {
}

type DestroyDatastore

type DestroyDatastore DestroyDatastoreRequestType

type DestroyDatastoreRequestType

type DestroyDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyDatastoreResponse

type DestroyDatastoreResponse struct {
}

type DestroyIpPool

type DestroyIpPool DestroyIpPoolRequestType

type DestroyIpPoolRequestType

type DestroyIpPoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to find the pool
	//
	// Required privileges: Datacenter.IpPoolConfig
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The unique ID of the pool
	Id int32 `xml:"id" json:"id"`
	// If true, the pool will be destroyed even if it is in use
	Force bool `xml:"force" json:"force"`
}

The parameters of `IpPoolManager.DestroyIpPool`.

type DestroyIpPoolResponse

type DestroyIpPoolResponse struct {
}

type DestroyNetwork

type DestroyNetwork DestroyNetworkRequestType

type DestroyNetworkRequestType

type DestroyNetworkRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyNetworkResponse

type DestroyNetworkResponse struct {
}

type DestroyProfile

type DestroyProfile DestroyProfileRequestType

type DestroyProfileRequestType

type DestroyProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyProfileResponse

type DestroyProfileResponse struct {
}

type DestroyPropertyCollectorRequestType

type DestroyPropertyCollectorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyPropertyCollectorResponse

type DestroyPropertyCollectorResponse struct {
}

type DestroyPropertyFilterRequestType

type DestroyPropertyFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyPropertyFilterResponse

type DestroyPropertyFilterResponse struct {
}

type DestroyRequestType

type DestroyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyVchaRequestType added in v0.18.0

type DestroyVchaRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyVcha_Task added in v0.18.0

type DestroyVcha_Task DestroyVchaRequestType

type DestroyVcha_TaskResponse added in v0.18.0

type DestroyVcha_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DestroyVffs

type DestroyVffs DestroyVffsRequestType

type DestroyVffsRequestType

type DestroyVffsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VFFS to destroy. See `FileSystemMountInfo`.
	VffsPath string `xml:"vffsPath" json:"vffsPath"`
}

The parameters of `HostStorageSystem.DestroyVffs`.

type DestroyVffsResponse

type DestroyVffsResponse struct {
}

type DestroyView

type DestroyView DestroyViewRequestType

type DestroyViewRequestType

type DestroyViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DestroyViewResponse

type DestroyViewResponse struct {
}

type Destroy_Task

type Destroy_Task DestroyRequestType

type Destroy_TaskResponse

type Destroy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DetachDiskRequestType added in v0.12.0

type DetachDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be operated. See
	// `ID`
	DiskId ID `xml:"diskId" json:"diskId"`
}

The parameters of `VirtualMachine.DetachDisk_Task`.

type DetachDisk_Task added in v0.12.0

type DetachDisk_Task DetachDiskRequestType

type DetachDisk_TaskResponse added in v0.12.0

type DetachDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DetachScsiLun

type DetachScsiLun DetachScsiLunRequestType

type DetachScsiLunExRequestType

type DetachScsiLunExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies UUID of LUN to be detached.
	LunUuid []string `xml:"lunUuid" json:"lunUuid"`
}

The parameters of `HostStorageSystem.DetachScsiLunEx_Task`.

type DetachScsiLunEx_Task

type DetachScsiLunEx_Task DetachScsiLunExRequestType

type DetachScsiLunEx_TaskResponse

type DetachScsiLunEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DetachScsiLunRequestType

type DetachScsiLunRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The uuid of the ScsiLun device to detach.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
}

The parameters of `HostStorageSystem.DetachScsiLun`.

type DetachScsiLunResponse

type DetachScsiLunResponse struct {
}

type DetachTagFromVStorageObject added in v0.12.0

type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType

type DetachTagFromVStorageObjectRequestType added in v0.12.0

type DetachTagFromVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The identifier(ID) of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The category to which the tag belongs.
	Category string `xml:"category" json:"category"`
	// The tag which has to be disassociated with the virtual storage
	// object.
	Tag string `xml:"tag" json:"tag"`
}

The parameters of `VcenterVStorageObjectManager.DetachTagFromVStorageObject`.

type DetachTagFromVStorageObjectResponse added in v0.12.0

type DetachTagFromVStorageObjectResponse struct {
}

type DeviceBackedVirtualDiskSpec

type DeviceBackedVirtualDiskSpec struct {
	VirtualDiskSpec

	// The deviceName of the backing device
	//
	// See also `ScsiLun`.
	Device string `xml:"device" json:"device"`
}

Specification used to create a host device backed virtual disk

type DeviceBackingNotSupported

type DeviceBackingNotSupported struct {
	DeviceNotSupported

	// The type of the backing.
	Backing string `xml:"backing" json:"backing"`
}

The device is backed by a backing type which is not supported for this particular device.

If this fault is returned as a subfault of DisallowedMigrationDeviceAttached, this indicates that although this backing for the device may be supported on the destination host, the hosts do not support the requested migration of the virtual machine while using this device with this backing.

func (*DeviceBackingNotSupported) GetDeviceBackingNotSupported

func (b *DeviceBackingNotSupported) GetDeviceBackingNotSupported() *DeviceBackingNotSupported

type DeviceBackingNotSupportedFault

type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported

type DeviceControllerNotSupported

type DeviceControllerNotSupported struct {
	DeviceNotSupported

	// The type of the controller.
	Controller string `xml:"controller" json:"controller"`
}

The device in question is supported, but the device-controller combination is not supported.

If this fault is returned as a subfault of DisallowedMigrationDeviceAttached, this indicates that although this device-controller combination may be supported on the destination host, the hosts do not support the requested migration of the virtual machine while using this device and controller.

type DeviceControllerNotSupportedFault

type DeviceControllerNotSupportedFault DeviceControllerNotSupported

type DeviceGroupId added in v0.12.0

type DeviceGroupId struct {
	DynamicData

	// ID of the device group.
	Id string `xml:"id" json:"id"`
}

Identifier of a replication device group.

type DeviceHotPlugNotSupported

type DeviceHotPlugNotSupported struct {
	InvalidDeviceSpec
}

A DeviceHotPlugNotSupported exception is thrown if the specified device cannot be hot-added or hot-removed from the virtual machine at this time.

type DeviceHotPlugNotSupportedFault

type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported

type DeviceNotFound

type DeviceNotFound struct {
	InvalidDeviceSpec
}

A DeviceNotFound exception is thrown if a device to be edited or removed cannot be found.

Most likely, the client incorrectly passed the device key.

type DeviceNotFoundFault

type DeviceNotFoundFault DeviceNotFound

type DeviceNotSupported

type DeviceNotSupported struct {
	VirtualHardwareCompatibilityIssue

	// The label of the device.
	Device string `xml:"device" json:"device"`
	// The specific reason why the device is not supported.
	//
	// Values should come from `DeviceNotSupportedReason_enum`.
	// This might not be set if we're not sure of the reason, or
	// if this doesn't make sense in the context. For example,
	// in the `DisallowedMigrationDeviceAttached` context
	// we already know the problem.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"2.5"`
}

The virtual machine uses a device type that is not supported on the host.

If this fault is returned as a subfault of `DisallowedMigrationDeviceAttached`, this indicates that although this device may be supported on the destination host, the hosts do not support the requested migration of the virtual machine while using this device.

func (*DeviceNotSupported) GetDeviceNotSupported

func (b *DeviceNotSupported) GetDeviceNotSupported() *DeviceNotSupported

type DeviceNotSupportedFault

type DeviceNotSupportedFault BaseDeviceNotSupported

type DeviceNotSupportedReason

type DeviceNotSupportedReason string

type DeviceProtocol added in v0.31.0

type DeviceProtocol string

The list of Device Protocols.

type DeviceUnsupportedForVmPlatform

type DeviceUnsupportedForVmPlatform struct {
	InvalidDeviceSpec
}

A DeviceUnsupportedForVmPlatform exception is thrown if the specified device is not supported on the platform on which the virtual machine is being created/configured.

For example, this exception might be thrown if a client incorrectly attempts to add a device supported only on ESX Server to a virtual machine on a hosted product.

type DeviceUnsupportedForVmPlatformFault

type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform

type DeviceUnsupportedForVmVersion

type DeviceUnsupportedForVmVersion struct {
	InvalidDeviceSpec

	// The current version of the virtual machine.
	CurrentVersion string `xml:"currentVersion" json:"currentVersion"`
	// The minimum expected virtual mahcine version needed to
	// support this device.
	ExpectedVersion string `xml:"expectedVersion" json:"expectedVersion"`
}

A DeviceUnsupportedForVmVersion exception is thrown if a specific device is not supported for a given version of the virtual machine.

type DeviceUnsupportedForVmVersionFault

type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion

type DiagnosticManagerAuditRecordResult added in v0.27.0

type DiagnosticManagerAuditRecordResult struct {
	DynamicData

	// Zero or more audit records returned.
	//
	// Each audit record is a UTF-8 string in RFC 5424 format. See RFC 5424,
	// page 8, for the ABNF grammar.
	//
	// The HOSTNAME and MSGID fields are set to "-", the structured data
	// contains the audit record parameters, no unstructured data will be
	// present, and each record is terminated with an ASCII LF (newline).
	Records []string `xml:"records,omitempty" json:"records,omitempty"`
	// The token to be used for subsequent read operations.
	//
	// The string is "opaque"; the format of this data changes over time.
	NextToken string `xml:"nextToken" json:"nextToken"`
}

type DiagnosticManagerBundleInfo

type DiagnosticManagerBundleInfo struct {
	DynamicData

	// The host to which this diagnostic bundle belongs.
	//
	// If this is for the default server, then it is not set.
	//
	// Refers instance of `HostSystem`.
	System *ManagedObjectReference `xml:"system,omitempty" json:"system,omitempty"`
	// The location from which the diagnostic bundle can be downloaded.
	//
	// The host part of the URL is returned as '\*' if the hostname to be used
	// is the name of the server to which the call was made. For example, if
	// the call is made to vcsrv1.domain1.com, and the bundle is available
	// for download from http://vcsrv1.domain1.com/diagnostics/bundle.zip,
	// the URL returned may be http:// \* /diagnostics/bundle.zip. The client
	// replaces the asterisk with the server name on which it invoked the
	// call.
	Url string `xml:"url" json:"url"`
}

Describes a location of a diagnostic bundle and the server to which it belongs.

This is a return type for the generateLogBundles operation.

type DiagnosticManagerLogCreator

type DiagnosticManagerLogCreator string

Pre-defined constants for possible creators of log files.

type DiagnosticManagerLogDescriptor

type DiagnosticManagerLogDescriptor struct {
	DynamicData

	// A key to identify the log file for browsing and download operations.
	Key string `xml:"key" json:"key"`
	// The filename of the log.
	FileName string `xml:"fileName" json:"fileName"`
	// The application that generated the log file.
	//
	// For more information on currently supported creators, see
	// `DiagnosticManagerLogCreator_enum`.
	Creator string `xml:"creator" json:"creator"`
	// Describes the format of the log file.
	//
	// For more information on currently supported formats, see
	// `DiagnosticManagerLogFormat_enum`.
	Format string `xml:"format" json:"format"`
	// Describes the mime-type of the returned file.
	//
	// Typical
	// mime-types include:
	//     - text/plain - for a plain log file
	MimeType string `xml:"mimeType" json:"mimeType"`
	// Localized description of log file.
	Info BaseDescription `xml:"info,typeattr" json:"info"`
}

Describes a log file that is available on a server.

type DiagnosticManagerLogFormat

type DiagnosticManagerLogFormat string

Constants for defined formats.

For more information, see the comment for the format property.

type DiagnosticManagerLogHeader

type DiagnosticManagerLogHeader struct {
	DynamicData

	// The first line of this log segment.
	LineStart int32 `xml:"lineStart" json:"lineStart"`
	// The last line of this log segment.
	LineEnd int32 `xml:"lineEnd" json:"lineEnd"`
	// Log entries, listed by line, for this log segment.
	LineText []string `xml:"lineText,omitempty" json:"lineText,omitempty"`
}

A header that is returned with a set of log entries.

This header describes where entries are located in the log file. Log files typically grow dynamically, so indexes based on line numbers may become inaccurate.

type DiagnosticPartitionStorageType

type DiagnosticPartitionStorageType string

Type of partition indicating the type of storage on which the partition resides.

If the diagnostic partition is local only, it will only need one slot. If the diagnostic partition is on shared storage, it could be used by multiple hosts. As a result, it will need multiple slots.

type DiagnosticPartitionType

type DiagnosticPartitionType string

The type of diagnostic partition.

Private diagnostic partition has one slot, so can only be used by one host. Shared diagnostic parititon needs multiple slots so to be usable by multiple hosts.

type DigestNotSupported

type DigestNotSupported struct {
	DeviceNotSupported
}

The digest file of the specified virtual disk is not supported.

Typically, this fault is returned as part of a parent fault like `VmConfigIncompatibleForFaultTolerance`, indicating that the virtual disk's digest file needs to be changed before fault tolerance can be enabled on the associated virtual machine.

type DigestNotSupportedFault

type DigestNotSupportedFault DigestNotSupported

type DirectoryNotEmpty

type DirectoryNotEmpty struct {
	FileFault
}

This fault is thrown when an operation fails because the specified directory is not empty.

type DirectoryNotEmptyFault

type DirectoryNotEmptyFault DirectoryNotEmpty

type DisableAdminNotSupported

type DisableAdminNotSupported struct {
	HostConfigFault
}

Fault thrown when an attempt is made to move a disk with associated snapshots to a destination host.

If such a move were to occur, snapshots associated with the disk would be irrevocably lost. This is always an error.

type DisableAdminNotSupportedFault

type DisableAdminNotSupportedFault DisableAdminNotSupported

type DisableAlarm added in v0.23.0

type DisableAlarm DisableAlarmRequestType

type DisableAlarmRequestType added in v0.23.0

type DisableAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Alarm being disabled.
	//
	// Required privileges: Alarm.ToggleEnableOnEntity
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// The ManagedEntity on which to disable the alarm.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `AlarmManager.DisableAlarm`.

type DisableAlarmResponse added in v0.23.0

type DisableAlarmResponse struct {
}

type DisableClusteredVmdkSupport added in v0.23.0

type DisableClusteredVmdkSupport DisableClusteredVmdkSupportRequestType

type DisableClusteredVmdkSupportRequestType added in v0.23.0

type DisableClusteredVmdkSupportRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore on which clustered vmdk should be
	// disabled.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.DisableClusteredVmdkSupport`.

type DisableClusteredVmdkSupportResponse added in v0.23.0

type DisableClusteredVmdkSupportResponse struct {
}

type DisableEvcModeRequestType

type DisableEvcModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DisableEvcMode_Task

type DisableEvcMode_Task DisableEvcModeRequestType

type DisableEvcMode_TaskResponse

type DisableEvcMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DisableFeature

type DisableFeature DisableFeatureRequestType

type DisableFeatureRequestType

type DisableFeatureRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to act on if LicenseManager is not on a host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// key of the feature to disable.
	FeatureKey string `xml:"featureKey" json:"featureKey"`
}

The parameters of `LicenseManager.DisableFeature`.

type DisableFeatureResponse

type DisableFeatureResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type DisableHyperThreadingRequestType

type DisableHyperThreadingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DisableHyperThreadingResponse

type DisableHyperThreadingResponse struct {
}

type DisableMultipathPathRequestType

type DisableMultipathPathRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the path to disable.
	PathName string `xml:"pathName" json:"pathName"`
}

The parameters of `HostStorageSystem.DisableMultipathPath`.

type DisableMultipathPathResponse

type DisableMultipathPathResponse struct {
}

type DisableRuleset

type DisableRuleset DisableRulesetRequestType

type DisableRulesetRequestType

type DisableRulesetRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Id   string                 `xml:"id" json:"id"`
}

The parameters of `HostFirewallSystem.DisableRuleset`.

type DisableRulesetResponse

type DisableRulesetResponse struct {
}

type DisableSecondaryVMRequestType

type DisableSecondaryVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The secondary virtual machine specified will be disabed.
	// This field must specify a secondary virtual machine that is part of the fault
	// tolerant group that this virtual machine is currently associated with. It can
	// only be invoked from the primary virtual machine in the group.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The parameters of `VirtualMachine.DisableSecondaryVM_Task`.

type DisableSecondaryVM_Task

type DisableSecondaryVM_Task DisableSecondaryVMRequestType

type DisableSecondaryVM_TaskResponse

type DisableSecondaryVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DisableSmartCardAuthenticationRequestType

type DisableSmartCardAuthenticationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DisableSmartCardAuthenticationResponse

type DisableSmartCardAuthenticationResponse struct {
}

type DisallowedChangeByService

type DisallowedChangeByService struct {
	RuntimeFault

	// The service that has disallowed the change.
	ServiceName string `xml:"serviceName" json:"serviceName"`
	// The change this is not allowed, the set of possible values is
	// described in `DisallowedChangeByServiceDisallowedChange_enum`.
	DisallowedChange string `xml:"disallowedChange,omitempty" json:"disallowedChange,omitempty"`
}

Fault thrown if the disallowed operation is invoked by the client.

The change is disallowed because it conflicts with target state maintained by a service. The corresponding method is usually not disabled because only a subset of changes carried out by the method is disallowed. For example, an online extend executed via virtual machine reconfigure method is not allowed if replication is enabled on a virtual machine.

type DisallowedChangeByServiceDisallowedChange

type DisallowedChangeByServiceDisallowedChange string

type DisallowedChangeByServiceFault

type DisallowedChangeByServiceFault DisallowedChangeByService

type DisallowedDiskModeChange

type DisallowedDiskModeChange struct {
	InvalidDeviceSpec
}

Thrown when the `VirtualMachine.ReconfigVM_Task` operation includes a change to the `VirtualDiskMode_enum` property.

This property cannot be changed as long as a virtual machine has an existing snapshot.

type DisallowedDiskModeChangeFault

type DisallowedDiskModeChangeFault DisallowedDiskModeChange

type DisallowedMigrationDeviceAttached

type DisallowedMigrationDeviceAttached struct {
	MigrationFault

	// A fault specifies the particular device issue.
	//
	// This is typically
	// a subclass of VirtualHardwareCompatibilityIssue, such as
	// RawDiskNotSupported, RemoteDeviceNotSupported, or SharedBusControllerNotSupported
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

The virtual machine is using a type of device that prevents migration.

type DisallowedMigrationDeviceAttachedFault

type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached

type DisallowedOperationOnFailoverHost

type DisallowedOperationOnFailoverHost struct {
	RuntimeFault

	// The failover host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Name of the failover host.
	Hostname string `xml:"hostname" json:"hostname"`
}

Fault thrown when an attempt is made to perform a disallowed operation on a host that has been configured as a failover host in an cluster that has High Availability enabled.

See `ClusterFailoverHostAdmissionControlPolicy`. Examples of such operations are destroying a host, moving a host out of a cluster, or powering on a virtual machine on a specific host.

type DisallowedOperationOnFailoverHostFault

type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost

type DisconnectHostRequestType

type DisconnectHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DisconnectHost_Task

type DisconnectHost_Task DisconnectHostRequestType

type DisconnectHost_TaskResponse

type DisconnectHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DisconnectNvmeController added in v0.23.0

type DisconnectNvmeController DisconnectNvmeControllerRequestType

type DisconnectNvmeControllerExRequestType added in v0.27.0

type DisconnectNvmeControllerExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of data objects, each specifying the parameters
	// necessary to disconnect an NVMe controller.
	DisconnectSpec []HostNvmeDisconnectSpec `xml:"disconnectSpec,omitempty" json:"disconnectSpec,omitempty"`
}

The parameters of `HostStorageSystem.DisconnectNvmeControllerEx_Task`.

type DisconnectNvmeControllerEx_Task added in v0.27.0

type DisconnectNvmeControllerEx_Task DisconnectNvmeControllerExRequestType

type DisconnectNvmeControllerEx_TaskResponse added in v0.27.0

type DisconnectNvmeControllerEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DisconnectNvmeControllerRequestType added in v0.23.0

type DisconnectNvmeControllerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that specifies the parameters
	// necessary to perform the disconnection.
	DisconnectSpec HostNvmeDisconnectSpec `xml:"disconnectSpec" json:"disconnectSpec"`
}

The parameters of `HostStorageSystem.DisconnectNvmeController`.

type DisconnectNvmeControllerResponse added in v0.23.0

type DisconnectNvmeControllerResponse struct {
}

type DisconnectedHostsBlockingEVC

type DisconnectedHostsBlockingEVC struct {
	EVCConfigFault
}

An attempt to enable Enhanced VMotion Compatibility on a cluster, or to select a less-featureful EVC mode for a cluster where EVC is already enabled, has failed because the cluster contains one or more disconnected hosts.

type DisconnectedHostsBlockingEVCFault

type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC

type DiscoverFcoeHbas

type DiscoverFcoeHbas DiscoverFcoeHbasRequestType

type DiscoverFcoeHbasRequestType

type DiscoverFcoeHbasRequestType struct {
	This     ManagedObjectReference      `xml:"_this" json:"-"`
	FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec" json:"fcoeSpec"`
}

The parameters of `HostStorageSystem.DiscoverFcoeHbas`.

type DiscoverFcoeHbasResponse

type DiscoverFcoeHbasResponse struct {
}

type DiscoverNvmeControllers added in v0.23.0

type DiscoverNvmeControllers DiscoverNvmeControllersRequestType

type DiscoverNvmeControllersRequestType added in v0.23.0

type DiscoverNvmeControllersRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that specifies the parameters
	// necessary to retrieve the Discovery Log.
	DiscoverSpec HostNvmeDiscoverSpec `xml:"discoverSpec" json:"discoverSpec"`
}

The parameters of `HostStorageSystem.DiscoverNvmeControllers`.

type DiscoverNvmeControllersResponse added in v0.23.0

type DiscoverNvmeControllersResponse struct {
	Returnval HostNvmeDiscoveryLog `xml:"returnval" json:"returnval"`
}

type DiskChangeExtent

type DiskChangeExtent struct {
	DynamicData

	// Start offset (in bytes) of modified area
	Start int64 `xml:"start" json:"start"`
	// Length (in bytes) of modified area
	Length int64 `xml:"length" json:"length"`
}

An area of the disk flagged as modified

type DiskChangeInfo

type DiskChangeInfo struct {
	DynamicData

	// Start offset (in bytes) of disk area described by this data structure.
	StartOffset int64 `xml:"startOffset" json:"startOffset"`
	// Length (in bytes) of disk area described by this data structure.
	Length int64 `xml:"length" json:"length"`
	// Modified disk areas.
	//
	// Might be empty if no parts of the disk between
	// startOffset and startOffset + length were modified.
	ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty" json:"changedArea,omitempty"`
}

Data structure to describe areas in a disk associated with this VM that have been modified since a well-defined point in the past.

Returned by `VirtualMachine.QueryChangedDiskAreas`. This data structure describes a subset of the disk identified by startOffset and length. All areas that have been modified within this interval are listed under changedArea.

type DiskCryptoSpec added in v0.23.0

type DiskCryptoSpec struct {
	DynamicData

	// The parent in the chain.
	Parent *DiskCryptoSpec `xml:"parent,omitempty" json:"parent,omitempty"`
	// Crypto information of the current disk.
	Crypto BaseCryptoSpec `xml:"crypto,typeattr" json:"crypto"`
}

This data object type contains the crypto information of all disks along the chain

type DiskHasPartitions

type DiskHasPartitions struct {
	VsanDiskFault
}

Fault used for disks which have existing, non-VSAN partitions.

See also `HostStorageSystem.UpdateDiskPartitions`, `HostVsanSystem.QueryDisksForVsan`.

type DiskHasPartitionsFault

type DiskHasPartitionsFault DiskHasPartitions

type DiskIsLastRemainingNonSSD

type DiskIsLastRemainingNonSSD struct {
	VsanDiskFault
}

Fault thrown for the case that an attempt is made to delete the last `VsanHostDiskMapping.nonSsd` from a `VsanHostDiskMapping`.

See also `HostVsanSystem.RemoveDisk_Task`, `HostVsanSystem.RemoveDiskMapping_Task`.

type DiskIsLastRemainingNonSSDFault

type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD

type DiskIsNonLocal

type DiskIsNonLocal struct {
	VsanDiskFault
}

Fault used for disks which are ineligible for VSAN because they are considered non-local.

See also `HostVsanSystem.QueryDisksForVsan`.

type DiskIsNonLocalFault

type DiskIsNonLocalFault DiskIsNonLocal

type DiskIsUSB

type DiskIsUSB struct {
	VsanDiskFault
}

Fault used for disks which are ineligible for VSAN because they are USB disks.

See also `HostVsanSystem.QueryDisksForVsan`.

type DiskIsUSBFault

type DiskIsUSBFault DiskIsUSB

type DiskMoveTypeNotSupported

type DiskMoveTypeNotSupported struct {
	MigrationFault
}

Specifying non-standard disk movement types is not supported.

See also `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.

type DiskMoveTypeNotSupportedFault

type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported

type DiskNotSupported

type DiskNotSupported struct {
	VirtualHardwareCompatibilityIssue

	// The ID of disk that is not supported.
	Disk int32 `xml:"disk" json:"disk"`
}

The host does not support the backings for the disks specified by the virtual machine.

For example, this fault is thrown if a virtual machine is created from a template that specifies backings that the host does not have. Similarly, this fault is thrown if a virtual machine is registered on a host that does not support the specified backings.

func (*DiskNotSupported) GetDiskNotSupported

func (b *DiskNotSupported) GetDiskNotSupported() *DiskNotSupported

type DiskNotSupportedFault

type DiskNotSupportedFault BaseDiskNotSupported

type DiskTooSmall

type DiskTooSmall struct {
	VsanDiskFault
}

Fault used for disks which are too small for usage by VSAN.

type DiskTooSmallFault

type DiskTooSmallFault DiskTooSmall

type DissociateProfile

type DissociateProfile DissociateProfileRequestType

type DissociateProfileRequestType

type DissociateProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of entities. The vCenter Server will remove the associations
	// that the profile has with the entities in the list. If unset,
	// the Server removes all the associations that the profile has with any
	// managed entities in the inventory.
	// If the specified entity is not associated with the profile,
	// the Server does not perform any action.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `Profile.DissociateProfile`.

type DissociateProfileResponse

type DissociateProfileResponse struct {
}

type DistributedVirtualPort

type DistributedVirtualPort struct {
	DynamicData

	// Port key.
	Key string `xml:"key" json:"key"`
	// Port configuration, including identifying information, network
	// settings, and the set of entities that can connect to the port.
	Config DVPortConfigInfo `xml:"config" json:"config"`
	// UUID of the `DistributedVirtualSwitch` to which the port belongs.
	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
	// Key of the portgroup `DistributedVirtualPortgroup` to which
	// the port belongs, if any.
	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
	// `HostSystem` that services this port.
	//
	// Refers instance of `HostSystem`.
	ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty" json:"proxyHost,omitempty"`
	// Entity that connects to the port.
	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
	// Specifies whether the port is a conflict port.
	//
	// A port could be marked
	// as conflict if an entity is discovered connecting to a port that is
	// already occupied, or if the host creates a port without conferring
	// with vCenter Server.
	//
	// The distributed virtual switch does not persist the runtime state
	// of a conflict port. Also, the port cannot move away from the host.
	// vCenter Server will not move a virtual machine (VMotion) that is
	// using a conflict port.
	Conflict bool `xml:"conflict" json:"conflict"`
	// If the port is marked conflict in the case of two entities connecting to
	// the same port (see
	// `DistributedVirtualPort.conflict`), this is the
	// key of the port which the connected entity is contending for.
	ConflictPortKey string `xml:"conflictPortKey,omitempty" json:"conflictPortKey,omitempty"`
	// Runtime state of the port.
	State *DVPortState `xml:"state,omitempty" json:"state,omitempty"`
	// Cookie representing the current instance of association between a
	// port and a virtual or physical NIC.
	//
	// See `DistributedVirtualSwitchPortConnection`.
	// The same cookie is present in the physical or virtual NIC configuration
	// (`DistributedVirtualSwitchPortConnection*.*DistributedVirtualSwitchPortConnection.connectionCookie`)
	// so that the Server can verify that the entity is the rightful
	// connectee of the port.
	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
	// The last time the
	// `DistributedVirtualPort.state*.*DVPortState.runtimeInfo`
	// value was changed.
	LastStatusChange time.Time `xml:"lastStatusChange" json:"lastStatusChange"`
	// Specifies whether the port is a host local port.
	//
	// A host local port is created
	// to resurrect the management network connection on a VMkernel virtual NIC.
	// You cannot use vCenter Server to reconfigure this port and you cannot
	// reassign the port.
	HostLocalPort *bool `xml:"hostLocalPort" json:"hostLocalPort,omitempty" vim:"5.1"`
	// Populate the Id assigned to vmknic or vnic by external management plane
	// to port, if the port is connected to the nics.
	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"7.0"`
	// Populate the segmentPortId assigned to LSP.
	SegmentPortId string `xml:"segmentPortId,omitempty" json:"segmentPortId,omitempty" vim:"7.0"`
}

The `DistributedVirtualPort` data object represents a port in a `DistributedVirtualSwitch`.

Virtual ports are part of a distributed virtual portgroup. Servers create virtual ports according to the portgroup type (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`). See `DistributedVirtualPortgroupPortgroupType_enum`.

  • To configure host network access by port, set the distributed virtual port in the host virtual NIC specification (`HostVirtualNicSpec*.*HostVirtualNicSpec.distributedVirtualPort*.*DistributedVirtualSwitchPortConnection.portKey`).
  • To configure virtual machine network access by port, set the port in the virtual Ethernet card backing (`VirtualEthernetCard*.*VirtualDevice.backing*.*VirtualEthernetCardDistributedVirtualPortBackingInfo.port*.*DistributedVirtualSwitchPortConnection.portKey`).

type DistributedVirtualPortgroupBackingType added in v0.23.0

type DistributedVirtualPortgroupBackingType string

The `DistributedVirtualPortgroupBackingType_enum` enum defines

type DistributedVirtualPortgroupInfo

type DistributedVirtualPortgroupInfo struct {
	DynamicData

	// The name of the switch.
	SwitchName string `xml:"switchName" json:"switchName"`
	// The UUID of the switch.
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// The name of the portgroup.
	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
	// The key of the portgroup.
	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
	// The type of portgroup.
	//
	// See `DistributedVirtualPortgroupPortgroupType_enum`
	PortgroupType string `xml:"portgroupType" json:"portgroupType"`
	// Whether this portgroup is an uplink portgroup.
	UplinkPortgroup bool `xml:"uplinkPortgroup" json:"uplinkPortgroup"`
	// The portgroup.
	//
	// Refers instance of `DistributedVirtualPortgroup`.
	Portgroup ManagedObjectReference `xml:"portgroup" json:"portgroup"`
	// Indicates whether network bandwidth reservation is supported on
	// the portgroup
	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
	// Backing type of portgroup.
	//
	// See
	// `DistributedVirtualPortgroup*.*DistributedVirtualPortgroupBackingType_enum`
	// for possible values.
	// The default value is "standard".
	BackingType string `xml:"backingType,omitempty" json:"backingType,omitempty" vim:"7.0"`
	// The logical switch UUID, which is used by NSX portgroup
	LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty" json:"logicalSwitchUuid,omitempty" vim:"7.0"`
	// The segment ID of logical switch, which is used by NSX portroup
	SegmentId string `xml:"segmentId,omitempty" json:"segmentId,omitempty" vim:"7.0"`
}

This class describes a DistributedVirtualPortgroup that a device backing can be attached to.

type DistributedVirtualPortgroupMetaTagName

type DistributedVirtualPortgroupMetaTagName string

The meta tag names recognizable in the

type DistributedVirtualPortgroupNsxPortgroupOperationResult added in v0.23.0

type DistributedVirtualPortgroupNsxPortgroupOperationResult struct {
	DynamicData

	// The management object of NSX port group.
	//
	// For add operation, it indicates the port groups created successfully.
	// For reconfigure operation, it indicates the port groups updated
	// successfully.
	// For delete operation, it indicates the port groups failed deleted.
	//
	// Refers instances of `DistributedVirtualPortgroup`.
	Portgroups []ManagedObjectReference `xml:"portgroups,omitempty" json:"portgroups,omitempty"`
	// The failed port group operation details.
	Problems []DistributedVirtualPortgroupProblem `xml:"problems,omitempty" json:"problems,omitempty"`
}

The `DistributedVirtualPortgroupNsxPortgroupOperationResult` data object defines the result of NSX port group operations, including create, reconfigure and delete.

type DistributedVirtualPortgroupPortgroupType

type DistributedVirtualPortgroupPortgroupType string

The `DistributedVirtualPortgroupPortgroupType_enum` enum defines the distributed virtual portgroup types (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).

Early binding specifies a static set of ports that are created when you create the distributed virtual portgroup. An ephemeral portgroup uses dynamic

type DistributedVirtualPortgroupProblem added in v0.23.0

type DistributedVirtualPortgroupProblem struct {
	DynamicData

	// The problematic logical switch UUID
	LogicalSwitchUuid string `xml:"logicalSwitchUuid" json:"logicalSwitchUuid"`
	// The failure reason for each problematic logical switch UUID
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

The `DistributedVirtualPortgroupProblem` data object defines the error while excuting NSX port group operations.

type DistributedVirtualSwitchHostInfrastructureTrafficClass

type DistributedVirtualSwitchHostInfrastructureTrafficClass string

type DistributedVirtualSwitchHostMember

type DistributedVirtualSwitchHostMember struct {
	DynamicData

	// Host member runtime state.
	RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty" json:"runtimeState,omitempty" vim:"5.0"`
	// Host member configuration.
	Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config" json:"config"`
	// Vendor, product and version information for the proxy switch
	// module.
	ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
	// Port keys of the uplink ports created for the host member.
	//
	// These ports
	// will be deleted after the host leaves the switch.
	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
	// Deprecated as of vSphere API 5.1, use
	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.status` instead.
	//
	// The host DistributedVirtualSwitch component status.
	//
	// See
	// `HostComponentState` for valid values.
	Status string `xml:"status" json:"status"`
	// Deprecated as of vSphere API 5.1, use
	// `HostMemberRuntimeInfo*.*HostMemberRuntimeInfo.statusDetail` instead.
	//
	// Additional information regarding the host's current status.
	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
}

The `DistributedVirtualSwitchHostMember` data object represents an ESXi host that is a member of a distributed virtual switch.

When you add a host to a switch (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`), the Server creates a proxy switch (`HostProxySwitch`). The host member object contains information about the configuration and state of the proxy.

type DistributedVirtualSwitchHostMemberBacking

type DistributedVirtualSwitchHostMemberBacking struct {
	DynamicData
}

Base class.

func (*DistributedVirtualSwitchHostMemberBacking) GetDistributedVirtualSwitchHostMemberBacking

func (b *DistributedVirtualSwitchHostMemberBacking) GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking

type DistributedVirtualSwitchHostMemberConfigInfo

type DistributedVirtualSwitchHostMemberConfigInfo struct {
	DynamicData

	// ESXi host.
	//
	// This property should always be set unless the user's setting
	// does not have System.Read privilege on the object referred to
	// by this property.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Maximum number of ports than can be created in the proxy switch.
	//
	// _ESXi 5.0 and earlier hosts_:
	// If you change the maximum number of ports, you must reboot
	// the host for the new value to take effect.
	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts" json:"maxProxySwitchPorts"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
	// Host membership backing, specifying physical NIC, portgroup, and port
	// bindings for the proxy switch.
	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr" json:"backing"`
	// Indicate whether the proxy switch is used by NSX on this particular
	// host member of the VDS.
	NsxSwitch *bool `xml:"nsxSwitch" json:"nsxSwitch,omitempty" vim:"7.0"`
	// Indicate if ENS is enabled for this particular host member of
	// the VDS.
	//
	// It is read only.
	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty" vim:"7.0"`
	// Indicate if ENS interrupt mode is enabled for this particular host
	// member of the VDS.
	//
	// It is read only.
	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
	// Indicate which transport zones this host joins by this VDS.
	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty" vim:"7.0"`
	// Indicate which uplink ports are used by NSX-T.
	NsxtUsedUplinkNames []string `xml:"nsxtUsedUplinkNames,omitempty" json:"nsxtUsedUplinkNames,omitempty" vim:"7.0"`
	// Indicate if network offloading is enabled for this particular host
	// member of the VDS.
	//
	// Unset implies that network offloading is disabled.
	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
}

The `DistributedVirtualSwitchHostMemberConfigInfo` data object contains membership configuration information for the ESXi host.

type DistributedVirtualSwitchHostMemberConfigSpec

type DistributedVirtualSwitchHostMemberConfigSpec struct {
	DynamicData

	// Host member operation type.
	//
	// See
	// `ConfigSpecOperation_enum` for valid values.
	Operation string `xml:"operation" json:"operation"`
	// Identifies a host member of a `DistributedVirtualSwitch`
	// for a `Folder.CreateDVS_Task` or
	// `DistributedVirtualSwitch*.*DistributedVirtualSwitch.ReconfigureDvs_Task` operation.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Specifies the physical NICs to use as backing for the proxy switch
	// on the host.
	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
	// Maximum number of ports allowed in the `HostProxySwitch`.
	//
	// _ESXi 5.0 and earlier hosts_: If you are reconfiguring an existing
	// host membership, that is, the proxy switch already exists, you must reboot
	// the host for the new setting to take effect.
	MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty" json:"maxProxySwitchPorts,omitempty"`
	// Opaque binary blob that stores vendor specific configuration.
	VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty" json:"vendorSpecificConfig,omitempty"`
}

Specification to create or reconfigure ESXi host membership in a `DistributedVirtualSwitch`.

type DistributedVirtualSwitchHostMemberHostComponentState

type DistributedVirtualSwitchHostMemberHostComponentState string

type DistributedVirtualSwitchHostMemberHostUplinkStateState added in v0.31.0

type DistributedVirtualSwitchHostMemberHostUplinkStateState string

Describe the runtime state of the uplink.

type DistributedVirtualSwitchHostMemberPnicBacking

type DistributedVirtualSwitchHostMemberPnicBacking struct {
	DistributedVirtualSwitchHostMemberBacking

	// List of physical NIC specifications.
	//
	// Each entry identifies
	// a pNIC to the proxy switch and optionally specifies uplink
	// portgroup and port connections for the pNIC.
	PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty" json:"pnicSpec,omitempty"`
}

The `DistributedVirtualSwitchHostMemberPnicBacking` data object specifies a set of physical NICs to use for a proxy switch.

When you add a host to a distributed virtual switch (`DistributedVirtualSwitchHostMemberConfigSpec*.*DistributedVirtualSwitchHostMemberConfigSpec.host`), the host creates a proxy switch that will use the pNICs as uplinks.

type DistributedVirtualSwitchHostMemberPnicSpec

type DistributedVirtualSwitchHostMemberPnicSpec struct {
	DynamicData

	// Name of the physical NIC to be added to the proxy switch.
	//
	// See `PhysicalNic*.*PhysicalNic.device`.
	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
	// Key of the port to be connected to the physical NIC.
	UplinkPortKey string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
	// Key of the portgroup to be connected to the physical NIC.
	UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty" json:"uplinkPortgroupKey,omitempty"`
	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
	// instance for the port.
	//
	// The cookie value is generated by the
	// Server. The Server ignores any value set by an SDK client.
	//
	// The same cookie is present in the distributed virtual port configuration
	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
	// so that the Server can verify that the entity is the rightful
	// connectee of the port.
	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
}

Specification for an individual physical NIC.

type DistributedVirtualSwitchHostMemberRuntimeState

type DistributedVirtualSwitchHostMemberRuntimeState struct {
	DynamicData

	// Current maximum number of ports allowed to be created in the
	// proxy switch.
	CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts" json:"currentMaxProxySwitchPorts"`
}

Runtime state of a host member.

type DistributedVirtualSwitchHostMemberTransportZoneInfo added in v0.23.0

type DistributedVirtualSwitchHostMemberTransportZoneInfo struct {
	DynamicData

	// The UUID of transport zone.
	Uuid string `xml:"uuid" json:"uuid"`
	// The type of transport zone.
	//
	// See `DistributedVirtualSwitchHostMemberTransportZoneType_enum` for valid values.
	Type string `xml:"type" json:"type"`
}

Transport zone information.

type DistributedVirtualSwitchHostMemberTransportZoneType added in v0.23.0

type DistributedVirtualSwitchHostMemberTransportZoneType string

type DistributedVirtualSwitchHostProductSpec

type DistributedVirtualSwitchHostProductSpec struct {
	DynamicData

	// The product-line name.
	ProductLineId string `xml:"productLineId,omitempty" json:"productLineId,omitempty"`
	// Dot-separated version string.
	//
	// For example, "1.2".
	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

This data object type is a subset of `AboutInfo`.

An object of this type can be used to describe the specification for a host.

type DistributedVirtualSwitchInfo

type DistributedVirtualSwitchInfo struct {
	DynamicData

	// The name of the switch.
	SwitchName string `xml:"switchName" json:"switchName"`
	// The UUID of the switch.
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// The switch.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
	// Indicates whether network bandwidth reservation is supported on
	// the switch
	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
}

This class describes a DistributedVirtualSwitch that a device backing can attached to its ports.

type DistributedVirtualSwitchKeyedOpaqueBlob

type DistributedVirtualSwitchKeyedOpaqueBlob struct {
	DynamicData

	// A key that identifies the opaque binary blob.
	Key string `xml:"key" json:"key"`
	// The opaque data.
	//
	// It is recommended that base64 encoding be used for binary
	// data.
	OpaqueData string `xml:"opaqueData" json:"opaqueData"`
}

This class defines a data structure to hold opaque binary data identified by a key.

type DistributedVirtualSwitchManagerCompatibilityResult

type DistributedVirtualSwitchManagerCompatibilityResult struct {
	DynamicData

	// The host for which results are annotated.
	//
	// The whole object will be
	// filtered out if the caller did not have view permissions on the
	// host entity.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// This property contains the faults that makes the host not compatible
	// with a given DvsProductSpec.
	//
	// For example, a host might not be compatible
	// because it's an older version of ESX that doesn't support DVS.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

This is the return type for the checkCompatibility method.

This object has a host property and optionally a fault which would be populated only if that host is not compatible with a given dvsProductSpec. If the host is compatible then the error property would be unset.

type DistributedVirtualSwitchManagerDvsProductSpec

type DistributedVirtualSwitchManagerDvsProductSpec struct {
	DynamicData

	// The ProductSpec for new DVS
	NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty" json:"newSwitchProductSpec,omitempty"`
	// Get ProductSpec from the existing DVS
	//
	// Refers instance of `DistributedVirtualSwitch`.
	DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
}

This class is used to specify ProductSpec for the DVS.

The two properties are strictly mutually exclusive. If both properties are set, then an InvalidArgument fault would be thrown.

type DistributedVirtualSwitchManagerHostArrayFilter

type DistributedVirtualSwitchManagerHostArrayFilter struct {
	DistributedVirtualSwitchManagerHostDvsFilterSpec

	// List of hosts to consider.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

Check host compatibility against all hosts specified in the array.

type DistributedVirtualSwitchManagerHostContainer

type DistributedVirtualSwitchManagerHostContainer struct {
	DynamicData

	// Check compatibility of hosts in this container.
	//
	// The supported container
	// types are Datacenter, Folder, and ComputeResource.
	//
	// Refers instance of `ManagedEntity`.
	Container ManagedObjectReference `xml:"container" json:"container"`
	// If true, include hosts of all levels in the hierarchy with
	// container as root of the tree.
	//
	// In case of container being a `Datacenter`,
	// the recursive flag is applied to its HostFolder.
	Recursive bool `xml:"recursive" json:"recursive"`
}

Check host compatibility for all hosts in the container.

If the recursive flag is true, then check hosts at all levels within this container, otherwise check only at the container level. In case of container being a `Datacenter`, the recursive flag is applied to its HostFolder.

type DistributedVirtualSwitchManagerHostContainerFilter

type DistributedVirtualSwitchManagerHostContainerFilter struct {
	DistributedVirtualSwitchManagerHostDvsFilterSpec

	// Container of hosts that are part of the filter.
	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
}

Check host compatibility against all hosts in this `DistributedVirtualSwitchManagerHostContainer`

type DistributedVirtualSwitchManagerHostDvsFilterSpec

type DistributedVirtualSwitchManagerHostDvsFilterSpec struct {
	DynamicData

	// If this flag is true, then the filter returns the hosts in the
	// `DistributedVirtualSwitchManagerHostContainer`
	// that satisfy the criteria specified by this filter, otherwise
	// it returns hosts that don't meet the criteria.
	Inclusive bool `xml:"inclusive" json:"inclusive"`
}

Base class for filters to check host compatibility.

func (*DistributedVirtualSwitchManagerHostDvsFilterSpec) GetDistributedVirtualSwitchManagerHostDvsFilterSpec

func (b *DistributedVirtualSwitchManagerHostDvsFilterSpec) GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec

type DistributedVirtualSwitchManagerHostDvsMembershipFilter

type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct {
	DistributedVirtualSwitchManagerHostDvsFilterSpec

	DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch" json:"distributedVirtualSwitch"`
}

Check host compatibility against all hosts in the DVS (or not in the DVS if inclusive flag in base class is false)

type DistributedVirtualSwitchManagerImportResult

type DistributedVirtualSwitchManagerImportResult struct {
	DynamicData

	// List of distributed virtual switches.
	//
	// Refers instances of `DistributedVirtualSwitch`.
	DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty" json:"distributedVirtualSwitch,omitempty"`
	// List of distributed virtual portgroups.
	//
	// Refers instances of `DistributedVirtualPortgroup`.
	DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty" json:"distributedVirtualPortgroup,omitempty"`
	// Faults that occurred on the entities during the import operation.
	ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty" json:"importFault,omitempty"`
}

The `DistributedVirtualSwitchManagerImportResult` data object represents the results of a `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task` operation.

It contains lists of the switches and portgroups that were created. It also contains a list of faults that occurred during the operation.

type DistributedVirtualSwitchNetworkOffloadSpec added in v0.29.0

type DistributedVirtualSwitchNetworkOffloadSpec struct {
	DynamicData

	// Identifier of the specification.
	Id string `xml:"id" json:"id"`
	// Name of the specification.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// DPU types supported in the specification.
	Types []string `xml:"types,omitempty" json:"types,omitempty"`
}

Describe the network offload specification of a `VmwareDistributedVirtualSwitch`.

type DistributedVirtualSwitchNetworkResourceControlVersion

type DistributedVirtualSwitchNetworkResourceControlVersion string

type DistributedVirtualSwitchNicTeamingPolicyMode

type DistributedVirtualSwitchNicTeamingPolicyMode string

List of possible teaming modes supported by the vNetwork Distributed Switch.

The different policy modes define the way traffic is routed

type DistributedVirtualSwitchPortConnectee

type DistributedVirtualSwitchPortConnectee struct {
	DynamicData

	// The connected entity.
	//
	// This property should always be set unless the user's setting
	// does not have System.Read privilege on the object referred to
	// by this property.
	//
	// Refers instance of `ManagedEntity`.
	ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty" json:"connectedEntity,omitempty"`
	// The key of the virtual NIC that connects to this port.
	NicKey string `xml:"nicKey,omitempty" json:"nicKey,omitempty"`
	// The type of the connectee.
	//
	// See `ConnecteeType` for valid values.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// A hint on address information of the NIC that connects to this port.
	AddressHint string `xml:"addressHint,omitempty" json:"addressHint,omitempty"`
}

Information about the entity that connects to a DistributedVirtualPort.

type DistributedVirtualSwitchPortConnecteeConnecteeType

type DistributedVirtualSwitchPortConnecteeConnecteeType string

type DistributedVirtualSwitchPortConnection

type DistributedVirtualSwitchPortConnection struct {
	DynamicData

	// UUID of the switch (`DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`).
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// Key of the portgroup.
	//
	// If specified, the connection object represents a connection
	// or an association between a `DistributedVirtualPortgroup`
	// and a Virtual NIC or physical NIC.
	// In this case, setting the `DistributedVirtualSwitchPortConnection.portKey` is not necessary for a
	// early-binding portgroup and is not allowed for a late-binding portgroup.
	// The `DistributedVirtualSwitchPortConnection.portKey` property will be populated by the implementation
	// at the time of port binding.
	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
	// Key of the port.
	//
	// If specified, this object represents a connection
	// or an association between an individual `DistributedVirtualPort`
	// and a Virtual NIC or physical NIC. See `DistributedVirtualSwitchPortConnection.portgroupKey` for more information on populating
	// this property.
	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
	// Cookie that represents this `DistributedVirtualSwitchPortConnection`
	// instance for the port.
	//
	// The cookie value is generated by the
	// Server. The Server ignores any value set by an SDK client.
	//
	// The same cookie is present in the distributed virtual port configuration
	// (`DistributedVirtualPort*.*DistributedVirtualPort.connectionCookie`)
	// so that the Server can verify that the entity is the rightful
	// connectee of the port.
	ConnectionCookie int32 `xml:"connectionCookie,omitempty" json:"connectionCookie,omitempty"`
}

The `DistributedVirtualSwitchPortConnection` data object represents a connection or association between a `DistributedVirtualPortgroup` or a `DistributedVirtualPort` and one of the following entities:

  • Virtual machine virtual NIC (`VirtualEthernetCardDistributedVirtualPortBackingInfo`)
  • Host virtual NIC (`HostVirtualNic`)
  • Physical NIC (`HostNetworkInfo*.*HostNetworkInfo.pnic`)

type DistributedVirtualSwitchPortCriteria

type DistributedVirtualSwitchPortCriteria struct {
	DynamicData

	// If set, only the connected ports are qualified.
	Connected *bool `xml:"connected" json:"connected,omitempty"`
	// If set, only the active ports are qualified.
	Active *bool `xml:"active" json:"active,omitempty"`
	// If set to true, only the uplink ports are qualified.
	//
	// If set to false, only
	// non-uplink ports are qualified.
	UplinkPort *bool `xml:"uplinkPort" json:"uplinkPort,omitempty"`
	// If set to true, only the NSX ports are qualified.
	//
	// If set to false, only
	// non-NSX ports are qualified.
	// NSX ports are ports of NSX port group.
	NsxPort *bool `xml:"nsxPort" json:"nsxPort,omitempty" vim:"7.0"`
	// Deprecated as of vSphere API 5.5.
	//
	// If set, only the ports of which the scope covers the entity are
	// qualified.
	//
	// Refers instance of `ManagedEntity`.
	Scope *ManagedObjectReference `xml:"scope,omitempty" json:"scope,omitempty"`
	// The keys of the portgroup that is used for the scope of `DistributedVirtualSwitchPortCriteria.inside`.
	//
	// If this property is unset, it means any portgroup. If `DistributedVirtualSwitchPortCriteria.inside`
	// is unset, this property is ignored.
	PortgroupKey []string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
	// If unset, all ports in the switch are qualified.
	//
	// If set to true, only ports inside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
	// portgroup, if not set, are qualified.
	// If set to false, only ports outside `DistributedVirtualSwitchPortCriteria.portgroupKey` or any
	// portgroup, if not set, are qualified.
	Inside *bool `xml:"inside" json:"inside,omitempty"`
	// If set, only the ports of which the key is in the array are
	// qualified.
	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
	// If set, only the ports that are present in one of the host are qualified.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"6.5"`
}

The criteria specification for selecting ports.

type DistributedVirtualSwitchPortStatistics

type DistributedVirtualSwitchPortStatistics struct {
	DynamicData

	// The number of multicast packets received.
	PacketsInMulticast int64 `xml:"packetsInMulticast" json:"packetsInMulticast"`
	// The number of multicast packets forwarded.
	PacketsOutMulticast int64 `xml:"packetsOutMulticast" json:"packetsOutMulticast"`
	// The number of bytes received from multicast packets.
	BytesInMulticast int64 `xml:"bytesInMulticast" json:"bytesInMulticast"`
	// The number of bytes forwarded from multicast packets.
	BytesOutMulticast int64 `xml:"bytesOutMulticast" json:"bytesOutMulticast"`
	// The number of unicast packets received.
	PacketsInUnicast int64 `xml:"packetsInUnicast" json:"packetsInUnicast"`
	// The number of unicast packets forwarded.
	PacketsOutUnicast int64 `xml:"packetsOutUnicast" json:"packetsOutUnicast"`
	// The number of bytes received from unicast packets.
	BytesInUnicast int64 `xml:"bytesInUnicast" json:"bytesInUnicast"`
	// The number of bytes forwarded from unicast packets.
	BytesOutUnicast int64 `xml:"bytesOutUnicast" json:"bytesOutUnicast"`
	// The number of broadcast packets received.
	PacketsInBroadcast int64 `xml:"packetsInBroadcast" json:"packetsInBroadcast"`
	// The number of broadcast packets forwarded.
	PacketsOutBroadcast int64 `xml:"packetsOutBroadcast" json:"packetsOutBroadcast"`
	// The number of bytes received from broadcast packets.
	BytesInBroadcast int64 `xml:"bytesInBroadcast" json:"bytesInBroadcast"`
	// The number of bytes forwarded from broadcast packets.
	BytesOutBroadcast int64 `xml:"bytesOutBroadcast" json:"bytesOutBroadcast"`
	// The number of received packets dropped.
	PacketsInDropped int64 `xml:"packetsInDropped" json:"packetsInDropped"`
	// The number of packets to be forwarded dropped.
	PacketsOutDropped int64 `xml:"packetsOutDropped" json:"packetsOutDropped"`
	// The number of packets received that cause an exception.
	PacketsInException int64 `xml:"packetsInException" json:"packetsInException"`
	// The number of packets to be forwarded that cause an exception.
	PacketsOutException int64 `xml:"packetsOutException" json:"packetsOutException"`
	// The number of bytes received at a pnic on the behalf of a port's
	// connectee (inter-host rx).
	BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty" json:"bytesInFromPnic,omitempty" vim:"6.5"`
	// The number of bytes transmitted at a pnic on the behalf of a port's
	// connectee (inter-host tx).
	BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty" json:"bytesOutToPnic,omitempty" vim:"6.5"`
}

Statistic data of a DistributedVirtualPort.

type DistributedVirtualSwitchProductSpec

type DistributedVirtualSwitchProductSpec struct {
	DynamicData

	// Short form of the product name.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Name of the vendor of this product.
	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
	// Dot-separated version string.
	//
	// For example, "1.2".
	Version string `xml:"version,omitempty" json:"version,omitempty"`
	// Build string for the server on which this call is made.
	//
	// For example, x.y.z-num.
	// This string does not apply to the API.
	Build string `xml:"build,omitempty" json:"build,omitempty"`
	// Forwarding class of the distributed virtual switch.
	ForwardingClass string `xml:"forwardingClass,omitempty" json:"forwardingClass,omitempty"`
	// The ID of the bundle if a host component bundle needs to be installed on
	// the host members to support the functionality of the switch.
	BundleId string `xml:"bundleId,omitempty" json:"bundleId,omitempty"`
	// The URL of the bundle that VMware Update Manager will use to install
	// the bundle on the host members, if `DistributedVirtualSwitchProductSpec.bundleId` is set.
	BundleUrl string `xml:"bundleUrl,omitempty" json:"bundleUrl,omitempty"`
}

This data object type is a subset of `AboutInfo`.

An object of this type can be used to describe the specification for a proxy switch module of a `DistributedVirtualSwitch`.

type DistributedVirtualSwitchProductSpecOperationType

type DistributedVirtualSwitchProductSpecOperationType string

type DoesCustomizationSpecExistRequestType

type DoesCustomizationSpecExistRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Name string                 `xml:"name" json:"name"`
}

The parameters of `CustomizationSpecManager.DoesCustomizationSpecExist`.

type DoesCustomizationSpecExistResponse

type DoesCustomizationSpecExistResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type DomainNotFound

type DomainNotFound struct {
	ActiveDirectoryFault

	// The domain that cannot be accessed.
	DomainName string `xml:"domainName" json:"domainName"`
}

Fault indicating that the domain controller for domainName cannot be reached.

type DomainNotFoundFault

type DomainNotFoundFault DomainNotFound

type DownloadDescriptionTree added in v0.23.0

type DownloadDescriptionTree DownloadDescriptionTreeRequestType

type DownloadDescriptionTreeRequestType added in v0.23.0

type DownloadDescriptionTreeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type DownloadDescriptionTreeResponse added in v0.23.0

type DownloadDescriptionTreeResponse struct {
	Returnval []byte `xml:"returnval" json:"returnval"`
}

type DpmBehavior

type DpmBehavior string

type DpuStatusInfo added in v0.29.0

type DpuStatusInfo struct {
	HostHardwareElementInfo

	// Uniquely identify this DPU.
	//
	// Should be the VMware identifier
	// which can be composed from pci and other identifying elements.
	DpuId string `xml:"dpuId" json:"dpuId"`
	// The FRU this sensor monitors, if any.
	Fru     *HostFru                       `xml:"fru,omitempty" json:"fru,omitempty"`
	Sensors []DpuStatusInfoOperationalInfo `xml:"sensors,omitempty" json:"sensors,omitempty"`
}

Data object describing the operational status of various DPU elements.

type DpuStatusInfoOperationalInfo added in v0.29.0

type DpuStatusInfoOperationalInfo struct {
	DynamicData

	// This string uniquely identifies a sensor in the DPU.
	SensorId string `xml:"sensorId" json:"sensorId"`
	// The health state of the element indicated by the sensor.
	//
	// See also `HostNumericSensorHealthState_enum`.
	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
	// A description of the state of the sensor
	// such as: N watts, Y RPM, or other measurement.
	Reading string `xml:"reading" json:"reading"`
	// If provided by underying API, the base units in which the sensor
	// reading is specified, "RPM", "WATTS" and so forth.
	Units string `xml:"units,omitempty" json:"units,omitempty"`
	// Reports the ISO 8601 Timestamp when this sensor was last updated by
	// management controller if the this sensor is capable of tracking
	// when it was last updated.
	//
	// Property timeStampRaw, which comes from
	// vendor firmware is convertible to DateTime, it will be provided.
	TimeStamp *time.Time `xml:"timeStamp" json:"timeStamp,omitempty"`
}

Sensor information provided by DPU that provides health status.

type DropConnections added in v0.24.0

type DropConnections DropConnectionsRequestType

type DropConnectionsRequestType added in v0.24.0

type DropConnectionsRequestType struct {
	This              ManagedObjectReference         `xml:"_this" json:"-"`
	ListOfConnections []BaseVirtualMachineConnection `xml:"listOfConnections,omitempty,typeattr" json:"listOfConnections,omitempty"`
}

The parameters of `VirtualMachine.DropConnections`.

type DropConnectionsResponse added in v0.24.0

type DropConnectionsResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type DrsBehavior

type DrsBehavior string

type DrsDisabledEvent

type DrsDisabledEvent struct {
	ClusterEvent
}

This event records when DRS is disabled on a cluster.

type DrsDisabledOnVm

type DrsDisabledOnVm struct {
	VimFault
}

This fault is thrown when DRS cannot move a virtual machine because DRS is disabled on it (i.e., it is pinned on its registered host).

type DrsDisabledOnVmFault

type DrsDisabledOnVmFault DrsDisabledOnVm

type DrsEnabledEvent

type DrsEnabledEvent struct {
	ClusterEvent

	// The DRS automation level in (`DrsBehavior`)
	Behavior string `xml:"behavior" json:"behavior"`
}

This event records when DRS is enabled on a cluster.

type DrsEnteredStandbyModeEvent

type DrsEnteredStandbyModeEvent struct {
	EnteredStandbyModeEvent
}

This event records that the host has successfully entered standby mode initiated by Distributed Power Management.

A host in this mode has no running virtual machines and no provisioning operations are occurring.

type DrsEnteringStandbyModeEvent

type DrsEnteringStandbyModeEvent struct {
	EnteringStandbyModeEvent
}

This event records that a host has begun the process of entering standby mode initiated by Distributed Power Management.

type DrsExitStandbyModeFailedEvent

type DrsExitStandbyModeFailedEvent struct {
	ExitStandbyModeFailedEvent
}

This event records that Distributed Power Management tried to bring a host out from standby mode, but the host failed to exit standby mode.

type DrsExitedStandbyModeEvent

type DrsExitedStandbyModeEvent struct {
	ExitedStandbyModeEvent
}

This event records that Distributed Power Management brings this host out from standby mode.

type DrsExitingStandbyModeEvent

type DrsExitingStandbyModeEvent struct {
	ExitingStandbyModeEvent
}

This event records that a host has begun the process of exiting standby mode initiated by Distributed Power Management.

type DrsInjectorWorkloadCorrelationState

type DrsInjectorWorkloadCorrelationState string

Correlation state as computed by storageRM

type DrsInvocationFailedEvent

type DrsInvocationFailedEvent struct {
	ClusterEvent
}

This event records DRS invocation failure.

type DrsRecommendationReasonCode

type DrsRecommendationReasonCode string

Deprecated as of VI API 2.5 use `RecommendationReasonCode_enum`.

List of defined migration reason codes:

type DrsRecoveredFromFailureEvent

type DrsRecoveredFromFailureEvent struct {
	ClusterEvent
}

This event records that DRS has recovered from failure.

It is triggered by a successful DRS invocation after repeated failure.

type DrsResourceConfigureFailedEvent

type DrsResourceConfigureFailedEvent struct {
	HostEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records when resource configuration specification synchronization fails on a host.

type DrsResourceConfigureSyncedEvent

type DrsResourceConfigureSyncedEvent struct {
	HostEvent
}

This event records when resource configuration specification returns to synchronized from previous failure.

type DrsRuleComplianceEvent

type DrsRuleComplianceEvent struct {
	VmEvent
}

This event records when a virtual machine comes into compliance with DRS rules.

type DrsRuleViolationEvent

type DrsRuleViolationEvent struct {
	VmEvent
}

This event records when a virtual machine violates a DRS VM-Host rule.

type DrsSoftRuleViolationEvent

type DrsSoftRuleViolationEvent struct {
	VmEvent
}

This event records when a virtual machine violates a soft VM-Host rule.

type DrsVmMigratedEvent

type DrsVmMigratedEvent struct {
	VmMigratedEvent
}

This event records a virtual machine migration that was recommended by DRS.

type DrsVmPoweredOnEvent

type DrsVmPoweredOnEvent struct {
	VmPoweredOnEvent
}

This event records when a virtual machine is powered on by DRS.

type DrsVmotionIncompatibleFault

type DrsVmotionIncompatibleFault struct {
	VirtualHardwareCompatibilityIssue

	// The host that is incompatible with a given virtual machine.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

This fault is thrown when DRS tries to migrate a virtual machine to a host, but finds that the host is incompatible with the given virtual machine.

type DrsVmotionIncompatibleFaultFault

type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault

type DuplicateCustomizationSpecRequestType

type DuplicateCustomizationSpecRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	Name    string                 `xml:"name" json:"name"`
	NewName string                 `xml:"newName" json:"newName"`
}

The parameters of `CustomizationSpecManager.DuplicateCustomizationSpec`.

type DuplicateCustomizationSpecResponse

type DuplicateCustomizationSpecResponse struct {
}

type DuplicateDisks

type DuplicateDisks struct {
	VsanDiskFault
}

Fault used to denote a duplicate set of disks were incorrectly specified for a given operation.

See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.

type DuplicateDisksFault

type DuplicateDisksFault DuplicateDisks

type DuplicateIpDetectedEvent

type DuplicateIpDetectedEvent struct {
	HostEvent

	// The Duplicate IP address detected.
	DuplicateIP string `xml:"duplicateIP" json:"duplicateIP"`
	// The MAC associated with duplicate IP.
	MacAddress string `xml:"macAddress" json:"macAddress"`
}

This event records that a duplicate IP address has been observed in conflict with the vmotion or IP storage interface configured on the host.

type DuplicateName

type DuplicateName struct {
	VimFault

	// The name that is already bound in the name space.
	Name string `xml:"name" json:"name"`
	// Managed object that already holds the name.
	Object ManagedObjectReference `xml:"object" json:"object"`
}

A DuplicateName exception is thrown because a name already exists in the same name space.

type DuplicateNameFault

type DuplicateNameFault DuplicateName

type DuplicateVsanNetworkInterface

type DuplicateVsanNetworkInterface struct {
	VsanFault

	// The network interface name found to be duplicated.
	Device string `xml:"device" json:"device"`
}

Fault thrown for cases that duplicate network interface names are incorrectly specified for a VSAN operation.

See also `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.

type DuplicateVsanNetworkInterfaceFault

type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface

type DvpgImportEvent

type DvpgImportEvent struct {
	DVPortgroupEvent

	// The type of restore operation.
	//
	// See `EntityImportType_enum` for valid values
	ImportType string `xml:"importType" json:"importType"`
}

This event is generated when an import operation is performed on a distributed virtual portgroup

type DvpgRestoreEvent

type DvpgRestoreEvent struct {
	DVPortgroupEvent
}

This event is generated when a restore operation is performed on a distributed virtual portgroup

type DvsAcceptNetworkRuleAction

type DvsAcceptNetworkRuleAction struct {
	DvsNetworkRuleAction
}

This class defines network rule action to accept packets.

type DvsApplyOperationFault

type DvsApplyOperationFault struct {
	DvsFault

	// Faults occurred on the host during a DistributedVirtualSwitch operation.
	ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault" json:"objectFault"`
}

Thrown if a vSphere Distributed Switch apply operation failed to set or remove some of the specified objects.

type DvsApplyOperationFaultFault

type DvsApplyOperationFaultFault DvsApplyOperationFault

type DvsApplyOperationFaultFaultOnObject

type DvsApplyOperationFaultFaultOnObject struct {
	DynamicData

	// The object identifier.
	//
	// It should be UUID for vSphere Distributed Switches,
	// keys for vNetwork distributed portgroups and ports.
	ObjectId string `xml:"objectId" json:"objectId"`
	// The Type of the objects.
	Type string `xml:"type" json:"type"`
	// The fault that occurred.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

The fault occurred during an apply operation.

type DvsCopyNetworkRuleAction

type DvsCopyNetworkRuleAction struct {
	DvsNetworkRuleAction
}

This class defines network rule action to copy the packet to an associated slow-path service Virtual Machine and let the original frame continue.

type DvsCreatedEvent

type DvsCreatedEvent struct {
	DvsEvent

	// The folder where the DistributedVirtualSwitch is created.
	Parent FolderEventArgument `xml:"parent" json:"parent"`
}

A distributed virtual switch was created.

type DvsDestroyedEvent

type DvsDestroyedEvent struct {
	DvsEvent
}

A distributed virtual switch was destroyed.

type DvsDropNetworkRuleAction

type DvsDropNetworkRuleAction struct {
	DvsNetworkRuleAction
}

This class defines network rule action to drop packets.

type DvsEvent

type DvsEvent struct {
	Event
}

These are dvs-related events.

func (*DvsEvent) GetDvsEvent

func (b *DvsEvent) GetDvsEvent() *DvsEvent

type DvsEventArgument

type DvsEventArgument struct {
	EntityEventArgument

	// The distributed virtual switch object.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
}

The event argument is a Host object.

type DvsEventPortBlockState added in v0.12.0

type DvsEventPortBlockState string

type DvsFault

type DvsFault struct {
	VimFault
}

Base class for faults that can be thrown while invoking a distributed virtual switch operation.

func (*DvsFault) GetDvsFault

func (b *DvsFault) GetDvsFault() *DvsFault

type DvsFaultFault

type DvsFaultFault BaseDvsFault

type DvsFilterConfig

type DvsFilterConfig struct {
	InheritablePolicy

	// The key of Network Filter Config.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The name of the network traffic filter agent.
	AgentName string `xml:"agentName,omitempty" json:"agentName,omitempty"`
	// The slot number of the network filter agent.
	SlotNumber string `xml:"slotNumber,omitempty" json:"slotNumber,omitempty"`
	// Network Filter Parameter
	Parameters *DvsFilterParameter `xml:"parameters,omitempty" json:"parameters,omitempty"`
	// This property specifies whether to allow all traffic or to deny all
	// traffic when a Network Filter fails to configure.
	//
	// Please see `DvsFilterOnFailure_enum`
	// for more details.
	OnFailure string `xml:"onFailure,omitempty" json:"onFailure,omitempty"`
}

This class defines Network Filter configuration.

** Supported Qualifier and Actions ** <table border="1"width="100%"> <tr> <th>Network Filter Config</th> <th>Supported classes</th> </tr> <tr> <td>Qualifiers supported</td> <td>`SingleIp`, `IpRange`, `SingleMac`, `MacRange`, `DvsSingleIpPort`, `DvsSystemTrafficNetworkRuleQualifier` </td> </tr> <tr> <td>Actions Supported</td> <td>`DvsDropNetworkRuleAction`, `DvsAcceptNetworkRuleAction`, `DvsPuntNetworkRuleAction`, `DvsCopyNetworkRuleAction`, `DvsMacRewriteNetworkRuleAction`, `DvsGreEncapNetworkRuleAction`, `DvsLogNetworkRuleAction`, `DvsUpdateTagNetworkRuleAction`, `DvsRateLimitNetworkRuleAction` </td> </tr>

func (*DvsFilterConfig) GetDvsFilterConfig

func (b *DvsFilterConfig) GetDvsFilterConfig() *DvsFilterConfig

type DvsFilterConfigSpec

type DvsFilterConfigSpec struct {
	DvsFilterConfig

	// Operation type.
	//
	// See `ConfigSpecOperation_enum` for valid values.
	Operation string `xml:"operation" json:"operation"`
}

The specification to reconfigure Network Filter.

This specification allows the user to do fine-grained updates for the Filter in the port settings. If the operation is `remove`, only the `DistributedVirtualPort.key` needs to be specified. If other fields are specified, they will be ignored. We cannot remove an inherited element. Only when the inherited flag is set to false and parent does not have an element with same key this operation succeeds. If the operation is `add`, then `DistributedVirtualPort.key` should not be specified and other fields need to be specified. The inherited flag should be set to false. If the operation is `edit`, then `DistributedVirtualPort.key` needs be specified and specify the other properties that need modification. If the inherited flag is set to true, a `DvsFilterConfig` object of same key must exist at the parent's level. The property values in the spec object will be ignored and use the values from the parent's `DvsFilterConfig` object instead. If inherited flag is set to false, then the new modifications will be applied.

type DvsFilterOnFailure

type DvsFilterOnFailure string

Network Filter on Failure Type.

It specifies whether all the packets will be allowed or all the packets will be denied when

type DvsFilterParameter

type DvsFilterParameter struct {
	DynamicData

	// List of parameters for a Network Filter.
	Parameters []string `xml:"parameters,omitempty" json:"parameters,omitempty"`
}

This class defines Network Filter parameter.

type DvsFilterPolicy

type DvsFilterPolicy struct {
	InheritablePolicy

	// List of Network Filter Configurations.
	//
	// In an update operation, the array can contain all
	// `DvsTrafficFilterConfigSpec` objects
	// or all `DvsFilterConfig` and
	// `DvsTrafficFilterConfig`
	// object, but not mixed of Config and Spec objects. If array of
	// `DvsFilterConfigSpec` and `DvsTrafficFilterConfigSpec` is used
	// for updating Network Filter then only the Network Filters
	// matching `DistributedVirtualPort.key` /
	// `DistributedVirtualPort.key`
	// is updated.
	// If array of `DvsFilterConfig` and
	// `DvsTrafficFilterConfig`
	// is used for updating port settings, the Network Filter
	// settings will be overridden with the new array specified. The
	// specified array should only contain `DvsFilterConfig` and
	// `DvsTrafficFilterConfig` objects with `InheritablePolicy.inherited` /
	// `InheritablePolicy.inherited` set to false.
	// `DvsFilterConfig*/*DvsTrafficFilterConfig` objects with
	// `InheritablePolicy.inherited*/*InheritablePolicy.inherited` as
	// true in the specified array will be ignored. The updated result will
	// include `DvsFilterConfig*/*DvsTrafficFilterConfig` objects
	// inherited from parent, if any.
	FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr" json:"filterConfig,omitempty"`
}

This class defines Network Filter Policy.

type DvsGreEncapNetworkRuleAction

type DvsGreEncapNetworkRuleAction struct {
	DvsNetworkRuleAction

	// Single IP address.
	//
	// Only IPv4 is supported for vSphere API 5.5.
	EncapsulationIp SingleIp `xml:"encapsulationIp" json:"encapsulationIp"`
}

This class defines network rule action to GRE Encapsulate a packet.

type DvsHealthStatusChangeEvent

type DvsHealthStatusChangeEvent struct {
	HostEvent

	// UUID of the DVS the host is connected to.
	SwitchUuid string `xml:"switchUuid" json:"switchUuid"`
	// Health check status.
	HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr" json:"healthResult,omitempty"`
}

Health check status of an switch is changed.

func (*DvsHealthStatusChangeEvent) GetDvsHealthStatusChangeEvent

func (b *DvsHealthStatusChangeEvent) GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent

type DvsHostBackInSyncEvent

type DvsHostBackInSyncEvent struct {
	DvsEvent

	// The host that was synchronized.
	HostBackInSync HostEventArgument `xml:"hostBackInSync" json:"hostBackInSync"`
}

The DVS configuration on the host was synchronized with that of the Virtual Center Server and the configuration is the same on the host and Virtual Center Server.

type DvsHostInfrastructureTrafficResource

type DvsHostInfrastructureTrafficResource struct {
	DynamicData

	// The key of the host infrastructure resource.
	//
	// Possible value can be of
	// `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`.
	Key string `xml:"key" json:"key"`
	// The description of the host infrastructure resource.
	//
	// This property is ignored for update operation.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// The allocation settings of the host infrastructure resource.
	AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo" json:"allocationInfo"`
}

This class defines the resource allocation for a host infrastructure traffic class on a physical NIC

type DvsHostInfrastructureTrafficResourceAllocation

type DvsHostInfrastructureTrafficResourceAllocation struct {
	DynamicData

	// The maximum allowed usage for a traffic class belonging to
	// this resource pool per host physical NIC.
	//
	// The utilization of a traffic class will not exceed the specified limit
	// even if there are available network resources. If this value is unset
	// or set to -1 in an update operation, then there is no limit on the network
	// resource usage (only bounded by available resource and shares).
	// Units are in Mbits/sec.
	Limit *int64 `xml:"limit" json:"limit,omitempty"`
	// Network share.
	//
	// The value is used as a relative weight in competing for
	// shared bandwidth, in case of resource contention.
	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
	// Amount of bandwidth resource that is guaranteed available
	// to the host infrastructure traffic class.
	//
	// If the utilization is less than the reservation, the extra bandwidth
	// is used for other host infrastructure traffic class types. Reservation is not
	// allowed to exceed the value of
	// `DvsHostInfrastructureTrafficResourceAllocation.limit`, if
	// `DvsHostInfrastructureTrafficResourceAllocation.limit` is set.
	// Unit is Mbits/sec.
	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
}

Resource allocation information for a host infrastructure traffic class.

type DvsHostJoinedEvent

type DvsHostJoinedEvent struct {
	DvsEvent

	// The host that joined DVS.
	HostJoined HostEventArgument `xml:"hostJoined" json:"hostJoined"`
}

A host joined the distributed virtual switch.

type DvsHostLeftEvent

type DvsHostLeftEvent struct {
	DvsEvent

	// The host that left DVS.
	HostLeft HostEventArgument `xml:"hostLeft" json:"hostLeft"`
}

A host left the distributed virtual switch.

type DvsHostStatusUpdated

type DvsHostStatusUpdated struct {
	DvsEvent

	// The host.
	HostMember HostEventArgument `xml:"hostMember" json:"hostMember"`
	// Host's old status.
	OldStatus string `xml:"oldStatus,omitempty" json:"oldStatus,omitempty"`
	// Host's new status.
	NewStatus string `xml:"newStatus,omitempty" json:"newStatus,omitempty"`
	// Comments regarding host's old status.
	OldStatusDetail string `xml:"oldStatusDetail,omitempty" json:"oldStatusDetail,omitempty"`
	// Comments regarding host's new status.
	NewStatusDetail string `xml:"newStatusDetail,omitempty" json:"newStatusDetail,omitempty"`
}

A host has it's status or statusDetail updated.

type DvsHostVNicProfile

type DvsHostVNicProfile struct {
	DvsVNicProfile
}

The `DvsHostVNicProfile` data object describes the IP configuration for a host Virtual NIC connected to a distributed virtual switch.

The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address. If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type DvsHostWentOutOfSyncEvent

type DvsHostWentOutOfSyncEvent struct {
	DvsEvent

	// The host that went out of sync.
	HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
}

The DVS configuration on the host diverged from that of the Virtual Center Server.

type DvsImportEvent

type DvsImportEvent struct {
	DvsEvent

	// The type of restore operation.
	//
	// See `EntityImportType_enum` for valid values
	ImportType string `xml:"importType" json:"importType"`
}

This event is generated when a import operation is performed on a distributed virtual switch

type DvsIpNetworkRuleQualifier

type DvsIpNetworkRuleQualifier struct {
	DvsNetworkRuleQualifier

	// IP qualifier for source.
	//
	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
	SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
	// IP qualifier for destination.
	//
	// If this property is NULL, it will match "any IPv4 or any IPv6 address".
	DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
	// Protocols like TCP, UDP, ICMP etc.
	//
	// The valid value for a protocol
	// is got from IANA assigned value for the protocol. This can be got
	// from RFC 5237 and IANA website section related to protocol numbers.
	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
	// Source IP Port.
	SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr" json:"sourceIpPort,omitempty"`
	// Destination IP Port.
	DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr" json:"destinationIpPort,omitempty"`
	// TCP flags.
	//
	// The valid values can be found at RFC 3168.
	// TCP flags are not supported by Traffic Filtering
	TcpFlags *IntExpression `xml:"tcpFlags,omitempty" json:"tcpFlags,omitempty"`
}

This class defines the IP Rule Qualifier.

Here IP addresses of source and destination will be used for classifying packets.

type DvsIpPort

type DvsIpPort struct {
	NegatableExpression
}

Base class for specifying Ports.

Objects of the base class represent any port (single/range/list).

func (*DvsIpPort) GetDvsIpPort

func (b *DvsIpPort) GetDvsIpPort() *DvsIpPort

type DvsIpPortRange

type DvsIpPortRange struct {
	DvsIpPort

	// Starting port number of the ports range.
	StartPortNumber int32 `xml:"startPortNumber" json:"startPortNumber"`
	// Ending port number of the ports range.
	EndPortNumber int32 `xml:"endPortNumber" json:"endPortNumber"`
}

This class defines a range of Ports.

type DvsLogNetworkRuleAction

type DvsLogNetworkRuleAction struct {
	DvsNetworkRuleAction
}

This class defines network rule action to just log the rule.

type DvsMacNetworkRuleQualifier

type DvsMacNetworkRuleQualifier struct {
	DvsNetworkRuleQualifier

	// MAC address for source.
	//
	// If this property is NULL, it will match "any MAC address".
	SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr" json:"sourceAddress,omitempty"`
	// MAC address for destination.
	//
	// If this property is NULL, it will match "any MAC address".
	DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr" json:"destinationAddress,omitempty"`
	// Protocol used.
	//
	// This corresponds to the EtherType field in Ethernet
	// frame. The valid values can be found from IEEE list at:
	// http://standards.ieee.org/regauth/ as mentioned in RFC 5342.
	Protocol *IntExpression `xml:"protocol,omitempty" json:"protocol,omitempty"`
	// vlan id.
	VlanId *IntExpression `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
}

This class defines the MAC Rule Qualifier.

Here MAC addresses of source and destination will be used for classifying packets.

type DvsMacRewriteNetworkRuleAction

type DvsMacRewriteNetworkRuleAction struct {
	DvsNetworkRuleAction

	// Rewrite Destination MAC with this MAC address.
	RewriteMac string `xml:"rewriteMac" json:"rewriteMac"`
}

This class defines network rule action to MAC Rewrite.

type DvsMergedEvent

type DvsMergedEvent struct {
	DvsEvent

	// The source DVS.
	SourceDvs DvsEventArgument `xml:"sourceDvs" json:"sourceDvs"`
	// The destination DVS.
	DestinationDvs DvsEventArgument `xml:"destinationDvs" json:"destinationDvs"`
}

Two distributed virtual switches was merged.

type DvsNetworkRuleAction

type DvsNetworkRuleAction struct {
	DynamicData
}

This class is the base class for network rule action.

func (*DvsNetworkRuleAction) GetDvsNetworkRuleAction

func (b *DvsNetworkRuleAction) GetDvsNetworkRuleAction() *DvsNetworkRuleAction

type DvsNetworkRuleDirectionType

type DvsNetworkRuleDirectionType string

Network Traffic Rule direction types.

It specifies whether rule

type DvsNetworkRuleQualifier

type DvsNetworkRuleQualifier struct {
	DynamicData

	// The key of the Qualifier
	Key string `xml:"key,omitempty" json:"key,omitempty"`
}

This class is the base class for identifying network traffic.

func (*DvsNetworkRuleQualifier) GetDvsNetworkRuleQualifier

func (b *DvsNetworkRuleQualifier) GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier

type DvsNotAuthorized

type DvsNotAuthorized struct {
	DvsFault

	// The extension key associated with the user-session.
	SessionExtensionKey string `xml:"sessionExtensionKey,omitempty" json:"sessionExtensionKey,omitempty"`
	// The value of `DVSConfigInfo.extensionKey`.
	DvsExtensionKey string `xml:"dvsExtensionKey,omitempty" json:"dvsExtensionKey,omitempty"`
}

Thrown if `DVSCapability.dvsOperationSupported` is false and `DVSConfigInfo.extensionKey` is not same as the extension key of the login-session.

type DvsNotAuthorizedFault

type DvsNotAuthorizedFault DvsNotAuthorized

type DvsOperationBulkFault

type DvsOperationBulkFault struct {
	DvsFault

	// Faults occurred on the host during a DistributedVirtualSwitch operation.
	HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault" json:"hostFault"`
}

Thrown if a DistributedVirtualSwitch operation failed on some of the host members.

type DvsOperationBulkFaultFault

type DvsOperationBulkFaultFault DvsOperationBulkFault

type DvsOperationBulkFaultFaultOnHost

type DvsOperationBulkFaultFaultOnHost struct {
	DynamicData

	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The fault that occurred.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

The fault occurred on the host during an operation.

type DvsOutOfSyncHostArgument

type DvsOutOfSyncHostArgument struct {
	DynamicData

	// The host.
	OutOfSyncHost HostEventArgument `xml:"outOfSyncHost" json:"outOfSyncHost"`
	// The DVS configuration parameters that are different between
	// Virtual Center server and the host.
	ConfigParamters []string `xml:"configParamters" json:"configParamters"`
}

The host on which the DVS configuration is different from that of Virtual Center server.

type DvsPortBlockedEvent

type DvsPortBlockedEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// Reason for port's current status
	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty" vim:"4.1"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
	// Previous state of the DvsPort.
	//
	// See `DvsEventPortBlockState_enum`
	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty" vim:"6.5"`
}

A port is blocked in the distributed virtual switch.

type DvsPortConnectedEvent

type DvsPortConnectedEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port's connectee.
	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
}

A port is connected in the distributed virtual switch.

type DvsPortCreatedEvent

type DvsPortCreatedEvent struct {
	DvsEvent

	// The key of the ports that are created.
	PortKey []string `xml:"portKey" json:"portKey"`
}

New ports are created in the distributed virtual switch.

type DvsPortDeletedEvent

type DvsPortDeletedEvent struct {
	DvsEvent

	// The key of the ports that are deleted.
	PortKey []string `xml:"portKey" json:"portKey"`
}

Existing ports are deleted in the distributed virtual switch.

type DvsPortDisconnectedEvent

type DvsPortDisconnectedEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port's formal connectee.
	Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty" json:"connectee,omitempty"`
}

A port is disconnected in the distributed virtual switch.

type DvsPortEnteredPassthruEvent

type DvsPortEnteredPassthruEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
}

A port has entered passthrough mode on the distributed virtual switch.

type DvsPortExitedPassthruEvent

type DvsPortExitedPassthruEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
}

A port has exited passthrough mode on the distributed virtual switch.

type DvsPortJoinPortgroupEvent

type DvsPortJoinPortgroupEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The portgroup key.
	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
	// The portgroup name.
	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
}

A port was moved into the distributed virtual portgroup.

type DvsPortLeavePortgroupEvent

type DvsPortLeavePortgroupEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The portgroup key.
	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
	// The portgroup name.
	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
}

A port was moved out of the distributed virtual portgroup.

type DvsPortLinkDownEvent

type DvsPortLinkDownEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
}

A port of which link status is changed to down in the distributed virtual switch.

type DvsPortLinkUpEvent

type DvsPortLinkUpEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
}

A port of which link status is changed to up in the distributed virtual switch.

type DvsPortReconfiguredEvent

type DvsPortReconfiguredEvent struct {
	DvsEvent

	// The key of the ports that are reconfigured.
	PortKey []string `xml:"portKey" json:"portKey"`
	// The configuration values changed during the reconfiguration.
	ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

Existing ports are reconfigured in the distributed virtual switch.

type DvsPortRuntimeChangeEvent

type DvsPortRuntimeChangeEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The new port runtime information.
	RuntimeInfo DVPortStatus `xml:"runtimeInfo" json:"runtimeInfo"`
}

A port of which runtime information is changed in the vNetwork Distributed Switch.

type DvsPortUnblockedEvent

type DvsPortUnblockedEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
	// The port runtime information.
	RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty" json:"runtimeInfo,omitempty" vim:"5.1"`
	// Previous state of the DvsPort.
	//
	// See `DvsEventPortBlockState_enum`
	PrevBlockState string `xml:"prevBlockState,omitempty" json:"prevBlockState,omitempty" vim:"6.5"`
}

A port is unblocked in the distributed virtual switch.

type DvsPortVendorSpecificStateChangeEvent

type DvsPortVendorSpecificStateChangeEvent struct {
	DvsEvent

	// The port key.
	PortKey string `xml:"portKey" json:"portKey"`
}

A port of which vendor specific state is changed in the vNetwork Distributed Switch.

type DvsProfile

type DvsProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// Unique identifier for the distributed virtual switch.
	Name string `xml:"name" json:"name"`
	// List of subprofiles that map physical NICs to uplink ports.
	//
	// Use the `PnicUplinkProfile.key` property to access
	// subprofiles in the list.
	Uplink []PnicUplinkProfile `xml:"uplink,omitempty" json:"uplink,omitempty"`
}

The `DvsProfile` data object represents the distributed virtual switch to which this host is connected.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type DvsPuntNetworkRuleAction

type DvsPuntNetworkRuleAction struct {
	DvsNetworkRuleAction
}

This class defines network rule action to punt.

i.e, forward packets to an associated slow-path service Virtual Machine.

type DvsRateLimitNetworkRuleAction

type DvsRateLimitNetworkRuleAction struct {
	DvsNetworkRuleAction

	// Rate limit value specified in packets per second.
	PacketsPerSecond int32 `xml:"packetsPerSecond" json:"packetsPerSecond"`
}

This class defines network rule action to ratelimit packets.

type DvsReconfigureVmVnicNetworkResourcePoolRequestType

type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Virtual NIC network resource pool configuration specification and operation type.
	ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
}

The parameters of `DistributedVirtualSwitch.DvsReconfigureVmVnicNetworkResourcePool_Task`.

type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse

type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type DvsReconfiguredEvent

type DvsReconfiguredEvent struct {
	DvsEvent

	// The reconfiguration spec.
	ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr" json:"configSpec"`
	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

A distributed virtual switch was reconfigured.

type DvsRenamedEvent

type DvsRenamedEvent struct {
	DvsEvent

	// The old DistributedVirtualSwitch name.
	OldName string `xml:"oldName" json:"oldName"`
	// The new DistributedVirtualSwitch name.
	NewName string `xml:"newName" json:"newName"`
}

A distributed virtual switch was renamed.

type DvsResourceRuntimeInfo

type DvsResourceRuntimeInfo struct {
	DynamicData

	// Capacity: Total Reservation allocated for Virtual Machine
	// Traffic for this switch.
	//
	// Units in Mbits/s.
	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
	// usage: Current total usage.
	//
	// This is the sum of all reservations
	// allocated to `DVSVmVnicNetworkResourcePool` on this switch and the
	// sum of reservation taken by `VirtualEthernetCard` whose
	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`.
	// Units in Mbits/s.
	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
	// Available: Current available resource for reservation (capacity - usage).
	//
	// Units in Mbits/s.
	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
	// The reservation taken by `VirtualEthernetCard` of which the
	// backing is not associdated with any `DVSVmVnicNetworkResourcePool`
	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
	// The runtime information of `DVSVmVnicNetworkResourcePool`.
	VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty" json:"vmVnicNetworkResourcePoolRuntime,omitempty"`
}

This class defines the bandwidth reservation information for the vSphere Distributed Switch.

type DvsRestoreEvent

type DvsRestoreEvent struct {
	DvsEvent
}

This event is generated when a restore operation is performed on a distributed virtual switch

type DvsScopeViolated

type DvsScopeViolated struct {
	DvsFault

	// The configured scope.
	//
	// Refers instances of `ManagedEntity`.
	Scope []ManagedObjectReference `xml:"scope" json:"scope"`
	// The entity that violates the scope.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

Deprecated as of vSphere API 5.5.

Thrown if a entity trying to connect to a port or portgroup but it is not in the port or portgroup's scope.

type DvsScopeViolatedFault

type DvsScopeViolatedFault DvsScopeViolated

type DvsServiceConsoleVNicProfile

type DvsServiceConsoleVNicProfile struct {
	DvsVNicProfile
}

The `DvsServiceConsoleVNicProfile` data object describes the IP configuration for a service console Virtual NIC connected to a distributed virtual switch.

The `DvsVNicProfile.ipConfig` property contains the Virtual NIC IP address. If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type DvsSingleIpPort

type DvsSingleIpPort struct {
	DvsIpPort

	// The IP port number.
	PortNumber int32 `xml:"portNumber" json:"portNumber"`
}

This class defines a Single Port

type DvsSystemTrafficNetworkRuleQualifier

type DvsSystemTrafficNetworkRuleQualifier struct {
	DvsNetworkRuleQualifier

	// Type of system traffic.
	//
	// See `DistributedVirtualSwitchHostInfrastructureTrafficClass_enum`
	// for valid values.
	TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty" json:"typeOfSystemTraffic,omitempty"`
}

This class defines the System Traffic Qualifier.

Here the type of traffic will be used for classifying packets.

type DvsTrafficFilterConfig

type DvsTrafficFilterConfig struct {
	DvsFilterConfig

	// Network Traffic Ruleset
	TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty" json:"trafficRuleset,omitempty"`
}

This class defines Traffic Filter configuration.

** Supported Qualifier and Actions ** <table border="1"width="100%"> <tr> <th>Traffic Filter Config</th> <th>Supported classes</th> </tr> <tr> <td>Qualifiers supported</td> <td>`SingleIp`, `IpRange`, `SingleMac`, `MacRange`, `DvsSingleIpPort`, `DvsSystemTrafficNetworkRuleQualifier` </td> </tr> <tr> <td>Actions Supported</td> <td>`DvsDropNetworkRuleAction`, `DvsAcceptNetworkRuleAction`, `DvsPuntNetworkRuleAction`, `DvsCopyNetworkRuleAction`, `DvsMacRewriteNetworkRuleAction`, `DvsGreEncapNetworkRuleAction`, `DvsLogNetworkRuleAction`, `DvsUpdateTagNetworkRuleAction`, `DvsRateLimitNetworkRuleAction` </td> </tr>

func (*DvsTrafficFilterConfig) GetDvsTrafficFilterConfig

func (b *DvsTrafficFilterConfig) GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig

type DvsTrafficFilterConfigSpec

type DvsTrafficFilterConfigSpec struct {
	DvsTrafficFilterConfig

	// Operation type.
	//
	// See `ConfigSpecOperation_enum` for valid values.
	Operation string `xml:"operation" json:"operation"`
}

The specification to reconfigure Traffic Filter.

This specification allows the user to do fine-grained updates for the Traffic Filter in the port settings. If the operation is `remove`, only the `DistributedVirtualPort.key` needs to be specified. If other fields are specified, they will be ignored. We cannot remove an inherited element. Only when the inherited flag is set to false and parent does not have an element with same key this operation succeeds. If the operation is `add`, then `DistributedVirtualPort.key` should not be specified and other fields need to be specified. The inherited flag should be set to false. If the operation is `edit`, then `DistributedVirtualPort.key` needs be specified and specify the other properties that need modification. If the inherited flag is set to true, a `DvsTrafficFilterConfig` object of same key must exist at the parent's level. The property values in the spec object will be ignored and use the values from the parent's `DvsTrafficFilterConfig` object instead. If inherited flag is set to false, then the new modifications will be applied.

type DvsTrafficRule

type DvsTrafficRule struct {
	DynamicData

	// The key of the rule
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// Description of the rule
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Sequence of this rule.
	//
	// i.e, the order in which this rule appears
	// in the ruleset.
	Sequence int32 `xml:"sequence,omitempty" json:"sequence,omitempty"`
	// List of Network rule qualifiers.
	//
	// 'AND' of this array of
	// network rule qualifiers is applied as one network traffic rule.
	// If the TrafficRule belongs to
	// `DvsFilterPolicy` :
	// There can be a maximum of 1 `DvsIpNetworkRuleQualifier`,
	// 1 `DvsMacNetworkRuleQualifier` and
	// 1 `DvsSystemTrafficNetworkRuleQualifier` for a total of
	// 3 `DvsTrafficRule.qualifier`
	Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr" json:"qualifier,omitempty"`
	// Action to be applied for this rule.
	Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr" json:"action,omitempty"`
	// Whether this rule needs to be applied to incoming packets,
	// to outgoing packets or both.
	//
	// See `DvsNetworkRuleDirectionType_enum` for valid values.
	Direction string `xml:"direction,omitempty" json:"direction,omitempty"`
}

This class defines a single rule that will be applied to network traffic.

type DvsTrafficRuleset

type DvsTrafficRuleset struct {
	DynamicData

	// The key of the ruleset.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// Whether ruleset is enabled or not.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Precedence of the ruleset.
	//
	// Rulesets for a port will be executed
	// in the order of their precedence.
	Precedence int32 `xml:"precedence,omitempty" json:"precedence,omitempty"`
	// List of rules belonging to this ruleset.
	Rules []DvsTrafficRule `xml:"rules,omitempty" json:"rules,omitempty"`
}

This class defines a ruleset(set of rules) that will be applied to network traffic.

type DvsUpdateTagNetworkRuleAction

type DvsUpdateTagNetworkRuleAction struct {
	DvsNetworkRuleAction

	// QOS tag.
	//
	// IEEE 802.1p supports 3 bit Priority Code Point (PCP).
	// The valid values are between 0-7. Please refer the IEEE 802.1p
	// documentation for more details about what each value represents.
	// If qosTag is set to 0 then the tag on the packets will be cleared.
	QosTag int32 `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
	// DSCP tag.
	//
	// The valid values for DSCP tag can be found in
	// 'Differentiated Services Field Codepoints' section of IANA website.
	// The information can also be got from reading all of the below RFC:
	// RFC 2474, RFC 2597, RFC 3246, RFC 5865.
	// If the dscpTag is set to 0 then the dscp tag on packets will be cleared.
	DscpTag int32 `xml:"dscpTag,omitempty" json:"dscpTag,omitempty"`
}

This class defines network rule action to tag packets(qos,dscp) or clear tags(clear qos, dscp tags) on packets.

One or both of qos and dscp may be specified.

type DvsUpgradeAvailableEvent

type DvsUpgradeAvailableEvent struct {
	DvsEvent

	// The product info of the upgrade.
	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
}

An upgrade for the distributed virtual switch is available.

type DvsUpgradeInProgressEvent

type DvsUpgradeInProgressEvent struct {
	DvsEvent

	// The product info of the upgrade.
	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
}

An upgrade for the distributed virtual switch is in progress.

type DvsUpgradeRejectedEvent

type DvsUpgradeRejectedEvent struct {
	DvsEvent

	// The product info of the upgrade.
	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
}

An upgrade for the distributed virtual switch is rejected.

type DvsUpgradedEvent

type DvsUpgradedEvent struct {
	DvsEvent

	// The product info of the upgrade.
	ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo" json:"productInfo"`
}

The distributed virtual switch was upgraded.

type DvsVNicProfile

type DvsVNicProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// IP address for the Virtual NIC belonging to a distributed virtual switch.
	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
}

The `DvsVNicProfile` data object is the base object for host and service console Virtual NIC subprofiles.

If a profile plug-in defines additional policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the configuration data.

func (*DvsVNicProfile) GetDvsVNicProfile

func (b *DvsVNicProfile) GetDvsVNicProfile() *DvsVNicProfile

type DvsVmVnicNetworkResourcePoolRuntimeInfo

type DvsVmVnicNetworkResourcePoolRuntimeInfo struct {
	DynamicData

	// The key of the virtual NIC network resource pool
	Key string `xml:"key" json:"key"`
	// The name of the virtual NIC network resource pool
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Capacity: Reservation allocated for this Network Resource Pool.
	//
	// Units in Mbits/s.
	Capacity int32 `xml:"capacity,omitempty" json:"capacity,omitempty"`
	// usage: Reservation taken by all `VirtualEthernetCard` for which the
	// backing is associdated with this `DVSVmVnicNetworkResourcePool`.
	//
	// Units in Mbits/s.
	Usage int32 `xml:"usage,omitempty" json:"usage,omitempty"`
	// Available: Current available resource for reservation (capacity - usage).
	//
	// Units in Mbits/s.
	Available int32 `xml:"available,omitempty" json:"available,omitempty"`
	// The status of the virtual NIC network resource pool
	// See `ManagedEntityStatus_enum` for possible values
	//
	// `red` indicates that the
	// reservations used by all the virtual network adapters belonging
	// to this resource pool exceeds the total reservation quota allocated to the
	// resource pool. This can happen due to failure of one or more uplink
	// or if the user bypasses VirtualCenter and powers on VMs directly on host.
	// The reservation of one or more virtual network adapters cannot be guaranteed
	// and corrective action needs to be taken by the user.
	//
	// `green` indicates that the resource pool
	// is in good state. The reservations for all virtual network adapters can
	// be fulfilled.
	Status string `xml:"status" json:"status"`
	// The virtual network adapaters that
	// are currently associated with the resource pool
	AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty" json:"allocatedResource,omitempty"`
}

This class defines the runtime information for the virtual NIC network resource pool

type DvsVmVnicResourceAllocation

type DvsVmVnicResourceAllocation struct {
	DynamicData

	// Quota for the total amount of virtual machine nic reservation in this pool.
	//
	// Unit in Mbits/sec.
	ReservationQuota int64 `xml:"reservationQuota,omitempty" json:"reservationQuota,omitempty"`
}

Resource allocation information for a virtual NIC network resource pool.

type DvsVmVnicResourcePoolConfigSpec

type DvsVmVnicResourcePoolConfigSpec struct {
	DynamicData

	// The type of operation on the virtual NIC network resource pool
	// Possible value can be of
	// `ConfigSpecOperation_enum`
	Operation string `xml:"operation" json:"operation"`
	// The key of the network resource pool.
	//
	// The property is ignored for add
	// operations.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The configVersion is a unique identifier for a given version
	// of the configuration.
	//
	// Each change to the configuration will
	// update this value. This is typically implemented as a
	// non-decreasing count or a time-stamp. However, a client should
	// always treat this as an opaque string.
	//
	// If specified when updating the resource configuration, the
	// changes will only be applied if the current configVersion matches the
	// specified configVersion. This field can be used to guard against
	// updates that that may have occurred between the time when configVersion
	// was read and when it is applied.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// The resource allocation for the virtual NIC network resource pool.
	AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty" json:"allocationInfo,omitempty"`
	// The name for the virtual NIC network resource pool.
	//
	// The property is required for Add operations.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The description for the virtual NIC network resource pool.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

The configuration specification data object to update the resource configuration for a virtual NIC network resource pool.

type DvsVnicAllocatedResource

type DvsVnicAllocatedResource struct {
	DynamicData

	// The virtual machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The virtual NIC key
	VnicKey string `xml:"vnicKey" json:"vnicKey"`
	// The reservation specification on the virtual NIC.
	//
	// Units in Mbits/s
	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
}

This class defines the allocated resource information on a virtual NIC

type DynamicArray

type DynamicArray struct {
	// Array of dynamic values.
	Val []AnyType `xml:"val,typeattr" json:"val"`
}

DynamicArray is a data object type that represents an array of dynamically-typed objects.

A client should only see a DynamicArray object when the element type is unknown (meaning the type is newer than the client). Otherwise, a client would see the type as T\[\] where T is known.

type DynamicData

type DynamicData struct {
}

func (*DynamicData) GetDynamicData

func (b *DynamicData) GetDynamicData() *DynamicData

type DynamicProperty

type DynamicProperty struct {
	// Path to the property.
	Name string `xml:"name" json:"name"`
	// Value of the property.
	Val AnyType `xml:"val,typeattr" json:"val"`
}

The DynamicProperty data object type represents a name-value pair.

type EVCAdmissionFailed

type EVCAdmissionFailed struct {
	NotSupportedHostInCluster

	// The faults that caused this EVC test to fail
	// (e.g.
	//
	// FeatureRequirementsNotMet faults).
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty" vim:"5.1"`
}

The host does not satisfy the admission requirements for the Enhanced VMotion Compatibility mode of the cluster.

func (*EVCAdmissionFailed) GetEVCAdmissionFailed

func (b *EVCAdmissionFailed) GetEVCAdmissionFailed() *EVCAdmissionFailed

type EVCAdmissionFailedCPUFeaturesForMode

type EVCAdmissionFailedCPUFeaturesForMode struct {
	EVCAdmissionFailed

	// The Enhanced VMotion Compatibility mode that is currently in effect for
	// the cluster.
	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
}

The host's CPU hardware is a family/model that should support the Enhanced VMotion Compatibility mode of the cluster, but some necessary CPU features are not present.

type EVCAdmissionFailedCPUFeaturesForModeFault

type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode

type EVCAdmissionFailedCPUModel

type EVCAdmissionFailedCPUModel struct {
	EVCAdmissionFailed
}

The host's CPU hardware is a family/model that does not support any Enhanced VMotion Compatibility mode.

type EVCAdmissionFailedCPUModelFault

type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel

type EVCAdmissionFailedCPUModelForMode

type EVCAdmissionFailedCPUModelForMode struct {
	EVCAdmissionFailed

	// The Enhanced VMotion Compatibility mode that is currently in effect for
	// the cluster.
	CurrentEVCModeKey string `xml:"currentEVCModeKey" json:"currentEVCModeKey"`
}

The host's CPU hardware is a family/model that does not support the Enhanced VMotion Compatibility mode of the cluster.

type EVCAdmissionFailedCPUModelForModeFault

type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode

type EVCAdmissionFailedCPUVendor

type EVCAdmissionFailedCPUVendor struct {
	EVCAdmissionFailed

	// The CPU vendor required for entering the cluster.
	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
	// The CPU vendor of the host.
	HostCPUVendor string `xml:"hostCPUVendor" json:"hostCPUVendor"`
}

The host's CPU vendor does not match the required CPU vendor for the Enhanced VMotion Compatibility mode of the cluster.

type EVCAdmissionFailedCPUVendorFault

type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor

type EVCAdmissionFailedCPUVendorUnknown

type EVCAdmissionFailedCPUVendorUnknown struct {
	EVCAdmissionFailed
}

The host's CPU vendor is unknown, which prevents admission into an Enhanced VMotion Compatibility cluster.

type EVCAdmissionFailedCPUVendorUnknownFault

type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown

type EVCAdmissionFailedFault

type EVCAdmissionFailedFault BaseEVCAdmissionFailed

type EVCAdmissionFailedHostDisconnected

type EVCAdmissionFailedHostDisconnected struct {
	EVCAdmissionFailed
}

The host is not connected, which prevents admission into an Enhanced VMotion Compatibility cluster.

type EVCAdmissionFailedHostDisconnectedFault

type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected

type EVCAdmissionFailedHostSoftware

type EVCAdmissionFailedHostSoftware struct {
	EVCAdmissionFailed
}

The host's software does not support any Enhanced VMotion Compatibility mode.

type EVCAdmissionFailedHostSoftwareFault

type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware

type EVCAdmissionFailedHostSoftwareForMode

type EVCAdmissionFailedHostSoftwareForMode struct {
	EVCAdmissionFailed
}

The host's software does not support the Enhanced VMotion Compatibility mode of the cluster.

type EVCAdmissionFailedHostSoftwareForModeFault

type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode

type EVCAdmissionFailedVmActive

type EVCAdmissionFailedVmActive struct {
	EVCAdmissionFailed
}

An attempt to move or add a host into an Enhanced VMotion Compatibility cluster has failed for the following reason:

  • The host exposes additional compatibility-relevant CPU features beyond those present in the baseline mandated by the cluster's EVC mode.
  • The host has powered-on or suspended virtual machines.

Therefore the host may not be admitted into the cluster, since its virtual machines may be using CPU features suppressed in the cluster.

Note that in rare cases, this may occur even if the host's `maxEVCModeKey` corresponds to the EVC mode of the cluster. This means that even though that EVC mode is the best match for the host's hardware, the host still has some features beyond those present in the baseline for that EVC mode.

type EVCAdmissionFailedVmActiveFault

type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive

type EVCConfigFault

type EVCConfigFault struct {
	VimFault

	// The faults that caused this EVC test to fail,
	// such as `FeatureRequirementsNotMet` faults.
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty" vim:"5.1"`
}

An attempt to enable Enhanced VMotion Compatibility on a cluster has failed.

func (*EVCConfigFault) GetEVCConfigFault

func (b *EVCConfigFault) GetEVCConfigFault() *EVCConfigFault

type EVCConfigFaultFault

type EVCConfigFaultFault BaseEVCConfigFault

type EVCMode

type EVCMode struct {
	ElementDescription

	// Deprecated as of vSphere API 6.5 use `EVCMode.featureCapability`.
	//
	// Describes the CPU feature baseline associated with the EVC mode.
	//
	// On the cluster where a particular EVC mode is configured,
	// those CPU features are guaranteed, either because the host
	// hardware naturally matches those features or because CPU feature override
	// is used to mask out differences and enforce a match.
	GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty" json:"guaranteedCPUFeatures,omitempty" vim:"4.1"`
	// Describes the feature capability baseline associated with the EVC mode.
	//
	// On the cluster where a particular EVC mode is configured,
	// these features capabilities are guaranteed, either because the host
	// hardware naturally matches those features or because feature masks
	// are used to mask out differences and enforce a match.
	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"5.1"`
	// The masks (modifications to a host's feature capabilities) that limit a
	// host's capabilities to that of the EVC mode baseline.
	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty" vim:"5.1"`
	// The conditions that must be true of a host's feature capabilities in order
	// for the host to meet the minimum requirements of the EVC mode baseline.
	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"5.1"`
	// CPU hardware vendor required for this mode.
	Vendor string `xml:"vendor" json:"vendor"`
	// Identifiers for feature groups that are at least partially present in
	// the `EVCMode.guaranteedCPUFeatures` array for this mode.
	//
	// Use this property to compare track values from two modes.
	// Do not use this property to determine the presence or absence of
	// specific features.
	Track []string `xml:"track,omitempty" json:"track,omitempty" vim:"4.1"`
	// Index for ordering the set of modes that apply to a given CPU vendor.
	//
	// Use this property to compare vendor tier values from two modes.
	// Do not use this property to determine the presence or absence
	// of specific features.
	VendorTier int32 `xml:"vendorTier" json:"vendorTier"`
}

The `EVCMode` data object describes an Enhanced vMotion Compatibility mode.

An EVC mode is associated with a set of CPU features. A vCenter Server defines the available EVC modes. You use them to establish a common set of features for compatibility between hosts in a cluster. An EVC-enabled cluster supports safe vMotion of virtual machines across a range of CPU generations. You must use the vSphere Client to configure EVC.

When you add a host to an EVC-enabled cluster, the vCenter Server determines the CPU compatibility to preserve vMotion compatibility within the cluster. If the host CPU is compatible with those already in the cluster, the Server adds the host to the cluster and configures it for compatible operation. Hosts that are not compatible are not allowed to join the cluster.

The inherited `ElementDescription.key` property is a string value that uniquely identifies an EVC mode. The vCenter Server assigns the key value; the vSphere API uses the key to identify modes in summary and information objects:

  • `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCModeKey`
  • `HostListSummary*.*HostListSummary.currentEVCModeKey`
  • `HostListSummary*.*HostListSummary.maxEVCModeKey`
  • `VirtualMachineRuntimeInfo*.*VirtualMachineRuntimeInfo.minRequiredEVCModeKey`

The inherited `Description.label` and `Description.summary` properties are human-readable strings.

You can use the `EVCMode.track` and `EVCMode.vendorTier` properties to determine feature-superset relationships between modes without examining the individual feature bits in `EVCMode.guaranteedCPUFeatures`. The CPU feature baseline of mode A is a superset of mode B's baseline if and only if:

  • modeA.track is the same as or a superset of modeB.track
  • modeA.vendorTier is equal to or greater than modeB.vendorTier

Use the `EVCMode.track` and `EVCMode.vendorTier` properties only for the purpose of feature-superset calculations as described above. Do not use them to infer the presence or absence of specific features. The property values for a given mode may change across releases as the set of available EVC modes changes, to better represent mode relationships.

type EVCModeIllegalByVendor

type EVCModeIllegalByVendor struct {
	EVCConfigFault

	// The CPU vendor in use in the cluster.
	ClusterCPUVendor string `xml:"clusterCPUVendor" json:"clusterCPUVendor"`
	// The CPU vendor for the requested EVC mode.
	ModeCPUVendor string `xml:"modeCPUVendor" json:"modeCPUVendor"`
}

An attempt to enable Enhanced VMotion Compatibility on a cluster, or change the EVC configuration on an EVC-enabled cluster, has failed because the selected EVC mode is not legal for the CPU hardware vendor of the hosts currently in the cluster.

type EVCModeIllegalByVendorFault

type EVCModeIllegalByVendorFault EVCModeIllegalByVendor

type EVCModeUnsupportedByHosts

type EVCModeUnsupportedByHosts struct {
	EVCConfigFault

	// The requested EVC mode.
	EvcMode string `xml:"evcMode,omitempty" json:"evcMode,omitempty"`
	// The set of hosts which are blocking EVC because their CPU hardware does
	// not support the requested EVC mode.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The names of the hosts in the host array.
	HostName []string `xml:"hostName,omitempty" json:"hostName,omitempty"`
}

An attempt to enable Enhanced VMotion Compatibility on a cluster has failed because there are hosts in the cluster with a CPU feature baseline below the desired EVC mode.

type EVCModeUnsupportedByHostsFault

type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts

type EVCUnsupportedByHostHardware

type EVCUnsupportedByHostHardware struct {
	EVCConfigFault

	// The set of hosts which are blocking EVC because their CPU hardware does
	// not support CPUID override.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
	// The names of the hosts in the host array.
	HostName []string `xml:"hostName" json:"hostName"`
}

An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has failed because one or more hosts in the cluster do not match the desired featureset and lack hardware support for EVC.

type EVCUnsupportedByHostHardwareFault

type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware

type EVCUnsupportedByHostSoftware

type EVCUnsupportedByHostSoftware struct {
	EVCConfigFault

	// The set of hosts which are blocking EVC because their virtualization
	// software does not support CPUID override.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
	// The names of the hosts in the host array.
	HostName []string `xml:"hostName" json:"hostName"`
}

An attempt to enable Enhanced VMotion Compatibility (EVC) on a cluster has failed because one or more hosts in the cluster lack software support for EVC.

type EVCUnsupportedByHostSoftwareFault

type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware

type EagerZeroVirtualDiskRequestType

type EagerZeroVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk that should be inflated.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.EagerZeroVirtualDisk_Task`.

type EagerZeroVirtualDisk_Task

type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType

type EagerZeroVirtualDisk_TaskResponse

type EagerZeroVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type EightHostLimitViolated

type EightHostLimitViolated struct {
	VmConfigFault
}

Only virtual machines on eight different hosts can have a single virtual disk backing opened for read at once.

This fault occurs when moving or powering on this virtual machine would cause a violation of the above constraint. This only occurs when multiple virtual machines are sharing a single disk backing.

Note that there is no limit on the number of virtual machines who share a disk backings, so long as they are running on eight or fewer hosts.

type EightHostLimitViolatedFault

type EightHostLimitViolatedFault EightHostLimitViolated

type ElementDescription

type ElementDescription struct {
	Description

	// Enumeration or literal ID being described.
	Key string `xml:"key" json:"key"`
}

Static strings used for describing an object model string or enumeration.

func (*ElementDescription) GetElementDescription

func (b *ElementDescription) GetElementDescription() *ElementDescription

type EmitSyslogMark added in v0.31.0

type EmitSyslogMark EmitSyslogMarkRequestType

type EmitSyslogMarkRequestType added in v0.31.0

type EmitSyslogMarkRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The string to be used.
	Message string `xml:"message" json:"message"`
}

The parameters of `DiagnosticManager.EmitSyslogMark`.

type EmitSyslogMarkResponse added in v0.31.0

type EmitSyslogMarkResponse struct {
}

type EnableAlarm added in v0.23.0

type EnableAlarm EnableAlarmRequestType

type EnableAlarmActions

type EnableAlarmActions EnableAlarmActionsRequestType

type EnableAlarmActionsRequestType

type EnableAlarmActionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The managed entity on which to set a schedule.
	//
	// Required privileges: Alarm.DisableActions
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// true, if alarms are enabled during the schedule.
	Enabled bool `xml:"enabled" json:"enabled"`
}

The parameters of `AlarmManager.EnableAlarmActions`.

type EnableAlarmActionsResponse

type EnableAlarmActionsResponse struct {
}

type EnableAlarmRequestType added in v0.23.0

type EnableAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Alarm being enabled.
	//
	// Required privileges: Alarm.ToggleEnableOnEntity
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// The ManagedEntity on which to enable the alarm.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `AlarmManager.EnableAlarm`.

type EnableAlarmResponse added in v0.23.0

type EnableAlarmResponse struct {
}

type EnableClusteredVmdkSupport added in v0.23.0

type EnableClusteredVmdkSupport EnableClusteredVmdkSupportRequestType

type EnableClusteredVmdkSupportRequestType added in v0.23.0

type EnableClusteredVmdkSupportRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore on which clustered vmdk should be
	// enabled
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.EnableClusteredVmdkSupport`.

type EnableClusteredVmdkSupportResponse added in v0.23.0

type EnableClusteredVmdkSupportResponse struct {
}

type EnableCrypto added in v0.12.0

type EnableCrypto EnableCryptoRequestType

type EnableCryptoRequestType added in v0.12.0

type EnableCryptoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key to be used for coredump encryption
	KeyPlain CryptoKeyPlain `xml:"keyPlain" json:"keyPlain"`
}

The parameters of `HostSystem.EnableCrypto`.

type EnableCryptoResponse added in v0.12.0

type EnableCryptoResponse struct {
}

type EnableFeature

type EnableFeature EnableFeatureRequestType

type EnableFeatureRequestType

type EnableFeatureRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to act on if LicenseManager is not on a host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Name of the feature to enable.
	FeatureKey string `xml:"featureKey" json:"featureKey"`
}

The parameters of `LicenseManager.EnableFeature`.

type EnableFeatureResponse

type EnableFeatureResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type EnableHyperThreadingRequestType

type EnableHyperThreadingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type EnableHyperThreadingResponse

type EnableHyperThreadingResponse struct {
}

type EnableMultipathPath

type EnableMultipathPath EnableMultipathPathRequestType

type EnableMultipathPathRequestType

type EnableMultipathPathRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the path to enable.
	PathName string `xml:"pathName" json:"pathName"`
}

The parameters of `HostStorageSystem.EnableMultipathPath`.

type EnableMultipathPathResponse

type EnableMultipathPathResponse struct {
}

type EnableNetworkResourceManagementRequestType

type EnableNetworkResourceManagementRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If true, enables I/O control. If false,
	// disables network I/O control.
	Enable bool `xml:"enable" json:"enable"`
}

The parameters of `DistributedVirtualSwitch.EnableNetworkResourceManagement`.

type EnableNetworkResourceManagementResponse

type EnableNetworkResourceManagementResponse struct {
}

type EnableRuleset

type EnableRuleset EnableRulesetRequestType

type EnableRulesetRequestType

type EnableRulesetRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Id   string                 `xml:"id" json:"id"`
}

The parameters of `HostFirewallSystem.EnableRuleset`.

type EnableRulesetResponse

type EnableRulesetResponse struct {
}

type EnableSecondaryVMRequestType

type EnableSecondaryVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The secondary virtual machine specified will be enabled.
	// This field must specify a secondary virtual machine that is part of the fault
	// tolerant group that this virtual machine is currently associated with. It can
	// only be invoked from the primary virtual machine in the group.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The host on which the secondary virtual machine is to be
	// enabled and possibly powered on. If no host is specified, a compatible host
	// will be selected by the system. If the secondary virtual machine is not
	// compatible with the specified host, the secondary will not be re-enabled
	// and a fault will be returned.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `VirtualMachine.EnableSecondaryVM_Task`.

type EnableSecondaryVM_Task

type EnableSecondaryVM_Task EnableSecondaryVMRequestType

type EnableSecondaryVM_TaskResponse

type EnableSecondaryVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type EnableSmartCardAuthenticationRequestType

type EnableSmartCardAuthenticationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type EnableSmartCardAuthenticationResponse

type EnableSmartCardAuthenticationResponse struct {
}

type EncryptionKeyRequired added in v0.18.0

type EncryptionKeyRequired struct {
	InvalidState

	// A list of required key identifiers.
	RequiredKey []CryptoKeyId `xml:"requiredKey,omitempty" json:"requiredKey,omitempty"`
}

An EncryptionKeyRequired fault occurs when an operation fails due to one or more required encryption keys.

type EncryptionKeyRequiredFault added in v0.18.0

type EncryptionKeyRequiredFault EncryptionKeyRequired

type EnterLockdownMode

type EnterLockdownMode EnterLockdownModeRequestType

type EnterLockdownModeRequestType

type EnterLockdownModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type EnterLockdownModeResponse

type EnterLockdownModeResponse struct {
}

type EnterMaintenanceModeRequestType

type EnterMaintenanceModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The task completes when the host successfully enters maintenance
	// mode or the timeout expires, and in the latter case the task
	// contains a Timeout fault. If the timeout is less than or equal to
	// zero, there is no timeout. The timeout is specified in seconds.
	Timeout int32 `xml:"timeout" json:"timeout"`
	// This is a parameter only supported by VirtualCenter.
	// If set to true, for a DRS disabled cluster, the task will not
	// succeed unless all powered-off virtual machines have been manually
	// reregistered; for a DRS enabled cluster, VirtualCenter will
	// automatically reregister powered-off virtual machines and a
	// powered-off virtual machine may remain at the host only for two
	// reasons: (a) no compatible host found for reregistration, (b) DRS
	// is disabled for the virtual machine. If set to false, powered-off
	// virtual machines do not need to be moved.
	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty" vim:"2.5"`
	// Any additional actions to be taken by the host upon
	// entering maintenance mode. If omitted, default actions will
	// be taken as documented in the `HostMaintenanceSpec`.
	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"5.5"`
}

The parameters of `HostSystem.EnterMaintenanceMode_Task`.

type EnterMaintenanceMode_Task

type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType

type EnterMaintenanceMode_TaskResponse

type EnterMaintenanceMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type EnteredMaintenanceModeEvent

type EnteredMaintenanceModeEvent struct {
	HostEvent
}

This event records that the host has completely entered maintenance mode.

A host in this mode has no running virtual machines and no provisioning operations are occurring.

type EnteredStandbyModeEvent

type EnteredStandbyModeEvent struct {
	HostEvent
}

This event records that the host has successfully entered standby mode.

A host in this mode has no running virtual machines and no provisioning operations are occurring.

func (*EnteredStandbyModeEvent) GetEnteredStandbyModeEvent

func (b *EnteredStandbyModeEvent) GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent

type EnteringMaintenanceModeEvent

type EnteringMaintenanceModeEvent struct {
	HostEvent
}

This event records that a host has begun the process of entering maintenance mode.

All virtual machine operations are blocked, except the following:

  • MigrateVM
  • PowerOffVM
  • SuspendVM
  • ShutdownGuest
  • StandbyGuest

type EnteringStandbyModeEvent

type EnteringStandbyModeEvent struct {
	HostEvent
}

This event records that a host has begun the process of entering standby mode.

All virtual machine operations are blocked, except the following:

  • MigrateVM
  • PowerOffVM
  • SuspendVM
  • ShutdownGuest
  • StandbyGuest

func (*EnteringStandbyModeEvent) GetEnteringStandbyModeEvent

func (b *EnteringStandbyModeEvent) GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent

type EntityBackup

type EntityBackup struct {
	DynamicData
}

`EntityBackup` is an abstract data object that contains the related entity backup and restore elements for virtual distributed switches and virtual distributed portgroups.

See the following elements:

  • `EntityBackupConfig`
  • `EntityImportType_enum`
  • `EntityType_enum`

type EntityBackupConfig

type EntityBackupConfig struct {
	DynamicData

	// Type of the exported entity
	// (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
	//
	// See `EntityType_enum`
	// for valid values.
	EntityType string `xml:"entityType" json:"entityType"`
	// Opaque blob that contains the configuration of the entity.
	ConfigBlob []byte `xml:"configBlob" json:"configBlob"`
	// Unique identifier of the exported entity or the entity to be restored
	// through an import operation.
	//     - If you are importing a virtual distributed switch and the import type is
	//       `applyToEntitySpecified`,
	//       set the <code>key</code> to
	//       `DistributedVirtualSwitch*.*DistributedVirtualSwitch.uuid`.
	//     - If you are importing a virtual distributed portgroup and the import type is
	//       `applyToEntitySpecified`,
	//       set the <code>key</code> to
	//       `DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.key`.
	//
	// The Server ignores the key value when the import operation creates a new entity.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// Name of the exported entity or the entity to be restored with the backup configuration.
	//
	// If you are importing an entity and the import type is
	// `applyToEntitySpecified`,
	// the Server will use this value to rename the existing entity.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Container for this entity.
	//
	// If `EntityBackupConfig.entityType` is "distributedVirtualSwitch",
	// the container type is `Folder`. If `EntityBackupConfig.entityType`
	// is "distributedVirtualPortgroup", the container type is
	// `DistributedVirtualSwitch`.
	//
	// Refers instance of `ManagedEntity`.
	Container *ManagedObjectReference `xml:"container,omitempty" json:"container,omitempty"`
	// Configuration version.
	ConfigVersion string `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
}

The `EntityBackupConfig` data object contains `VmwareDistributedVirtualSwitch` or `DistributedVirtualPortgroup` backup configuration data produced by the `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` method.

It also contains properties that support `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task` operations.

A `DistributedVirtualSwitchManager.DVSManagerExportEntity_Task` operation sets properties that identify the entity instance (`EntityBackupConfig.entityType`, `EntityBackupConfig.key`, and `EntityBackupConfig.name`) and inventory location (`EntityBackupConfig.container`). When you import a backup configuration, you can set the <code>key</code>, <code>name</code>, and <code>container</code> properties in accordance with the <code>importType</code> specified in the call to `DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`. See `EntityImportType_enum`.

type EntityEventArgument

type EntityEventArgument struct {
	EventArgument

	// Name of the entity, including its full path from the root of the inventory.
	Name string `xml:"name" json:"name"`
}

The event argument is a managed entity object.

Subclasses of this type distinguish the different managed entities referenced in event objects.

func (*EntityEventArgument) GetEntityEventArgument

func (b *EntityEventArgument) GetEntityEventArgument() *EntityEventArgument

type EntityImportType

type EntityImportType string

The `EntityImportType_enum` enum defines the import type for a `DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`

type EntityPrivilege

type EntityPrivilege struct {
	DynamicData

	// The entity on which the privileges are checked.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// whether a set of privileges are granted for the managed entity.
	PrivAvailability []PrivilegeAvailability `xml:"privAvailability" json:"privAvailability"`
}

This class defines whether a set of privileges are granted for a managed entity.

type EntityType

type EntityType string

The `EntityType_enum` enum identifies the type of entity that was exported

type EnumDescription

type EnumDescription struct {
	DynamicData

	// Type of enumeration being described.
	Key string `xml:"key" json:"key"`
	// Element descriptions of all the tags for that enumerated type.
	Tags []BaseElementDescription `xml:"tags,typeattr" json:"tags"`
}

Static strings used for describing an enumerated type.

type EnvironmentBrowserConfigOptionQuerySpec

type EnvironmentBrowserConfigOptionQuerySpec struct {
	DynamicData

	// The key found in the VirtualMachineConfigOptionDescriptor,
	// obtained by invoking the
	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The host whose ConfigOption is requested.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The Guest OS IDs whose `VirtualMachineConfigOption` is requested
	// `GuestOsIdentifier`
	GuestId []string `xml:"guestId,omitempty" json:"guestId,omitempty"`
}

Represent search criteria and filters on a `VirtualMachineConfigOption` object.

type ErrorUpgradeEvent

type ErrorUpgradeEvent struct {
	UpgradeEvent
}

This event is a general error event from upgrade.

type EstimateDatabaseSizeRequestType

type EstimateDatabaseSizeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// `DatabaseSizeParam`
	// Contains the summary of an inventory for which the database size
	// requirements are to be computed. It also contains
	// the historic interval setting for which the database
	// computations are to be done. This is an optional parameter and
	// the current virtual center historical settings are used by default.
	// There are many other optional fields in the dbSizeParam structure
	// that are appropriately filled up based on some heuristics.
	DbSizeParam DatabaseSizeParam `xml:"dbSizeParam" json:"dbSizeParam"`
}

The parameters of `ResourcePlanningManager.EstimateDatabaseSize`.

type EstimateDatabaseSizeResponse

type EstimateDatabaseSizeResponse struct {
	Returnval DatabaseSizeEstimate `xml:"returnval" json:"returnval"`
}

type EstimateStorageForConsolidateSnapshotsRequestType

type EstimateStorageForConsolidateSnapshotsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type EstimateStorageForConsolidateSnapshots_TaskResponse

type EstimateStorageForConsolidateSnapshots_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type EsxAgentHostManagerUpdateConfigRequestType

type EsxAgentHostManagerUpdateConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// configuration of agent virtual machine resources
	ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo" json:"configInfo"`
}

The parameters of `HostEsxAgentHostManager.EsxAgentHostManagerUpdateConfig`.

type EsxAgentHostManagerUpdateConfigResponse

type EsxAgentHostManagerUpdateConfigResponse struct {
}

type EvacuateVsanNodeRequestType

type EvacuateVsanNodeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the data evacuation mode. See `HostMaintenanceSpec`.
	// If unspecified, the default mode chosen will be
	// `ensureObjectAccessibility`.
	MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec" json:"maintenanceSpec"`
	// Time to wait for the task to complete in seconds.
	// If the value is less than or equal to zero, there
	// is no timeout. The operation fails with a Timedout
	// exception if it timed out.
	Timeout int32 `xml:"timeout" json:"timeout"`
}

The parameters of `HostVsanSystem.EvacuateVsanNode_Task`.

type EvacuateVsanNode_Task

type EvacuateVsanNode_Task EvacuateVsanNodeRequestType

type EvacuateVsanNode_TaskResponse

type EvacuateVsanNode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type EvaluationLicenseSource

type EvaluationLicenseSource struct {
	LicenseSource

	// The number of remaining hours before product evaluation expires
	RemainingHours int64 `xml:"remainingHours,omitempty" json:"remainingHours,omitempty"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

Specify an evaluation license source.

Feature licensing is not required while the remaining hours is greater than zero.

type EvcManager

type EvcManager EvcManagerRequestType

type EvcManagerRequestType

type EvcManagerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type EvcManagerResponse

type EvcManagerResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type Event

type Event struct {
	DynamicData

	// The event ID.
	Key int32 `xml:"key" json:"key"`
	// The parent or group ID.
	ChainId int32 `xml:"chainId" json:"chainId"`
	// The time the event was created.
	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
	// The user who caused the event.
	UserName string `xml:"userName" json:"userName"`
	// The Datacenter object of the event.
	Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The ComputeResource object of the event.
	ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty" json:"computeResource,omitempty"`
	// The Host object of the event.
	Host *HostEventArgument `xml:"host,omitempty" json:"host,omitempty"`
	// The VirtualMachine object of the event.
	Vm *VmEventArgument `xml:"vm,omitempty" json:"vm,omitempty"`
	// The Datastore object of the event.
	Ds *DatastoreEventArgument `xml:"ds,omitempty" json:"ds,omitempty" vim:"4.0"`
	// The Network object of the event.
	Net *NetworkEventArgument `xml:"net,omitempty" json:"net,omitempty" vim:"4.0"`
	// The DistributedVirtualSwitch object of the event.
	Dvs *DvsEventArgument `xml:"dvs,omitempty" json:"dvs,omitempty" vim:"4.0"`
	// A formatted text message describing the event.
	//
	// The message may be localized.
	FullFormattedMessage string `xml:"fullFormattedMessage,omitempty" json:"fullFormattedMessage,omitempty"`
	// The user entered tag to identify the operations and their side effects
	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty" vim:"4.0"`
}

This event is the base data object type from which all events inherit.

All event objects are data structures that describe events. While event data objects are data structures that describe events, event data type documentation may describe what the event records, rather than the data structure, itself.

func (*Event) GetEvent

func (b *Event) GetEvent() *Event

type EventAlarmExpression

type EventAlarmExpression struct {
	AlarmExpression

	// The attributes/values to compare.
	Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty" json:"comparisons,omitempty" vim:"4.0"`
	// Deprecated use <code>eventTypeId</code> instead.
	//
	// The type of the event to trigger the alarm on.
	EventType string `xml:"eventType" json:"eventType"`
	// The eventTypeId of the event to match.
	//
	// The semantics of how eventTypeId matching is done is as follows:
	//     - If the event being matched is of type `EventEx`
	//       or `ExtendedEvent`, then we match this value
	//       against the <code>eventTypeId</code> (for <code>EventEx</code>) or
	//       <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
	//     - Otherwise, we match it against the type of the Event itself.
	//
	// Either <code>eventType</code> or <code>eventTypeId</code> _must_
	// be set.
	EventTypeId string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty"`
	// Name of the type of managed object on which the event is logged.
	//
	// An event alarm defined on a `ManagedEntity`
	// is propagated to child entities in the VirtualCenter inventory depending
	// on the value of this attribute. If objectType is any of the following,
	// the alarm is propagated down to all children of that type:
	//     - A datacenter: `Datacenter`.
	//     - A cluster of host systems: `ClusterComputeResource`.
	//     - A single host system: `HostSystem`.
	//     - A resource pool representing a set of physical resources on a single host:
	//       `ResourcePool`.
	//     - A virtual machine: `VirtualMachine`.
	//     - A datastore: `Datastore`.
	//     - A network: `Network`.
	//     - A distributed virtual switch: `DistributedVirtualSwitch`.
	//
	// If objectType is unspecified or not contained in the above list,
	// the event alarm is not propagated down to child entities in the
	// VirtualCenter inventory.
	//
	// It is possible to specify an event alarm containing two (or more) different
	// EventAlarmExpression's which contain different objectTypes. In such a case,
	// the event is propagated to all child entities with specified type(s).
	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty" vim:"4.0"`
	// The alarm's new state when this condition is evaluated and satisfied.
	//
	// If not specified then there is no change to alarm status, and all
	// actions are fired (rather than those for the transition).
	Status ManagedEntityStatus `xml:"status,omitempty" json:"status,omitempty" vim:"4.0"`
}

An alarm expression that uses the event stream to trigger the alarm.

This alarm is triggered when an event matching this expression gets logged.

type EventAlarmExpressionComparison

type EventAlarmExpressionComparison struct {
	DynamicData

	// The attribute of the event to compare
	AttributeName string `xml:"attributeName" json:"attributeName"`
	// An operator from the list above
	Operator string `xml:"operator" json:"operator"`
	// The value to compare against
	Value string `xml:"value" json:"value"`
}

Encapsulates Comparison of an event's attribute to a value.

type EventAlarmExpressionComparisonOperator

type EventAlarmExpressionComparisonOperator string

type EventArgDesc

type EventArgDesc struct {
	DynamicData

	// The name of the argument
	Name string `xml:"name" json:"name"`
	// The type of the argument.
	Type string `xml:"type" json:"type"`
	// The localized description of the event argument.
	//
	// The key holds
	// the localization prefix for the argument, which is decided by
	// the Event type that it is actually declared in, which may be a
	// base type of this event type.
	Description BaseElementDescription `xml:"description,omitempty,typeattr" json:"description,omitempty"`
}

Describes an available event argument name for an Event type, which can be used in `EventAlarmExpression`.

type EventArgument

type EventArgument struct {
	DynamicData
}

This is the base type for event argument types.

Event argument objects, which inherit from a common subtype, are used to manage supplementary properties of different kinds of event objects.

func (*EventArgument) GetEventArgument

func (b *EventArgument) GetEventArgument() *EventArgument

type EventCategory

type EventCategory string

type EventDescription

type EventDescription struct {
	DynamicData

	// *Event Category enum*
	Category []BaseElementDescription `xml:"category,typeattr" json:"category"`
	// The event class description details.
	EventInfo []EventDescriptionEventDetail `xml:"eventInfo" json:"eventInfo"`
	// Localized descriptions of all enumerated types that are used for
	// member declarations in event classes.
	EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty" json:"enumeratedTypes,omitempty" vim:"4.0"`
}

This data object provides static, locale-specific strings for event objects.

type EventDescriptionEventDetail

type EventDescriptionEventDetail struct {
	DynamicData

	// Type of event being described.
	Key string `xml:"key" json:"key"`
	// A string that is a short human-parseable description of the event.
	//
	// This is not the full message string (which may contain details
	// of the arguments, etc.), but merely a more understandable, and
	// localized, description of what the event stands for. It is meant
	// for contexts where the _name_ of the event has to be displayed
	// to end-users, e.g. when creating Event-based Alarms.
	// \` \*
	//
	// E.g., for `VmPoweredOnEvent`, the eventDescription
	// in English might say "VM Powered On".
	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"4.0"`
	// A category of events.
	Category string `xml:"category" json:"category"`
	// A string that is appropriate in the context of a specific
	// Datacenter.
	//
	// For example, a renaming event in this context produces
	// the following string:
	//
	// "Renamed {vm.name} from {oldName} to {newName}"
	//
	// where `oldName` and
	// `newName` are properties of the
	// VmRenamedEvent object.
	FormatOnDatacenter string `xml:"formatOnDatacenter" json:"formatOnDatacenter"`
	// A string that is appropriate in the context of a specific cluster.
	//
	// For example, a powering on event in this context produces the
	// following string:
	//
	// "{vm.name} on {host.name} is powered on".
	FormatOnComputeResource string `xml:"formatOnComputeResource" json:"formatOnComputeResource"`
	// A string that is appropriate in the context
	// of a specific Host.
	//
	// For example, a powering on event in this
	// context produces the following string:
	//
	// "{vm.name} is powered on"
	FormatOnHost string `xml:"formatOnHost" json:"formatOnHost"`
	// A string that is appropriate for the context of a specific
	// virtual machine.
	//
	// For example, a powering on event in this context
	// produces the following string:
	//
	// "Virtual machine on {host.name} is powered on"
	FormatOnVm string `xml:"formatOnVm" json:"formatOnVm"`
	// A string whose context is not entity-specific.
	//
	// For example, a
	// powering on event produces the following string:
	//
	// "{vm.name} on {host.name} in {datacenter.name} is powered on"
	FullFormat string `xml:"fullFormat" json:"fullFormat"`
	// A detailed description of the event.
	//
	// It includes common causes
	// and actions to remediate them. It may also include links to kb
	// articles and other diagnostic information.
	// For example, the BadUserNameSessionEvent may produce the
	// following string:
	//
	//              <EventLongDescription id="vim.event.BadUserNameSessionEvent">
	//                 <description>
	//                    The user could not be logged in because of an unknown or invalid
	//                    user name.
	//                 </description>
	//                 <cause>
	//                    <description>The user name was unknown to the system</description>
	//                    <action>Use a user name known to the system user directory</action>
	//                    <action>(On Linux) Check if the user directory is correctly
	//                            configured.</action>
	//                    <action>Check the health of the domain controller (if you are using
	//                            Active Directory)</action>
	//                 </cause>
	//                 <cause>
	//                    <description>The user provided an invalid password</description>
	//                    <action>Supply the correct password</action>
	//                 </cause>
	//              </EventLongDescription>
	LongDescription string `xml:"longDescription,omitempty" json:"longDescription,omitempty" vim:"4.1"`
}

Each Event object provides an automatic event message string through its `fullFormattedMessage` property.

However, you can use the EventDetail object's properties to format an event message string that is appropriate when viewed from a specific context. The variable information (vm.name, and so on) is derived from the Event object's event arguments (`VmEventArgument`, and so on).

type EventEventSeverity

type EventEventSeverity string

type EventEx

type EventEx struct {
	Event

	// The type of the event.
	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
	// The severity level of the message: null=&gt;info.
	//
	// See also `EventEventSeverity_enum`.
	Severity string `xml:"severity,omitempty" json:"severity,omitempty"`
	// An arbitrary message string, not localized.
	Message string `xml:"message,omitempty" json:"message,omitempty"`
	// The event arguments associated with the event
	Arguments []KeyAnyValue `xml:"arguments,omitempty" json:"arguments,omitempty"`
	// The ID of the object (VM, Host, Folder..) which the event pertains to.
	//
	// Federated or local inventory path.
	ObjectId string `xml:"objectId,omitempty" json:"objectId,omitempty"`
	// the type of the object, if known to the VirtualCenter inventory
	ObjectType string `xml:"objectType,omitempty" json:"objectType,omitempty"`
	// The name of the object
	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty" vim:"4.1"`
	// The fault that triggered the event, if any
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty" vim:"4.1"`
}

EventEx is a dynamically typed Event class, whose type is indicated by its eventTypeId property.

A collection of eventTypeIds is registered by Extensions, which can now pass in optional type information for each eventTypeId which indicates the applicable argument names and types, among other properties.

EventEx allows event arguments of any type, though today, the system only supports "string" and "moid" (a string which can be interpreted as an object ID in the system) as argument types. In the future, the system may optionally strongly check the types of the arguments in the event against the declared type information, based on how the event type is declared.

EventEx also allows arbitrary "event object"s - the object which the event refers to. You can put in any object identifier as the objectId, but objectType should be filled in only if the object is actually present in the VC Server's ManagedEntity inventory.

type EventFilterSpec

type EventFilterSpec struct {
	DynamicData

	// The filter specification for retrieving events by managed entity.
	//
	// If the property is not set, then events attached to all managed entities
	// are collected.
	Entity *EventFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
	// The filter specification for retrieving tasks by time.
	//
	// If the property is not set, then events with any time stamp are collected.
	Time *EventFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
	// The filter specification for retrieving events by username.
	//
	// If the property is not set, then events belonging to any user are collected.
	UserName *EventFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
	// The filter specification for retrieving events by chain ID.
	//
	// If the property is not set, events with any chain ID are collected.
	EventChainId int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty"`
	// This property, if set, limits the set of collected events to those
	// associated with the specified alarm.
	//
	// If the property is not set, events are collected regardless of their
	// association with alarms.
	//
	// Refers instance of `Alarm`.
	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
	// This property, if set, limits the set of collected events to those
	// associated with the specified scheduled task.
	//
	// If the property is not set, events are collected regardless of their
	// association with any scheduled task.
	//
	// Refers instance of `ScheduledTask`.
	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
	// Flag to specify whether or not to prepare the full formatted message
	// for each event.
	//
	// If the property is not set, the collected events do not include
	// the full formatted message.
	DisableFullMessage *bool `xml:"disableFullMessage" json:"disableFullMessage,omitempty"`
	// This property, if set, limits the set of collected events to those
	// associated with the specified category.
	//
	// If the property is not set, events are collected regardless of their
	// association with any category.
	// "category" here is the same as Event.severity.
	Category []string `xml:"category,omitempty" json:"category,omitempty"`
	// Deprecated as of vSphere API 4.0, use `EventFilterSpec.eventTypeId` instead.
	//
	// This property, if set, limits the set of collected events to those
	// specified types.
	//
	// If the property is not set, events are collected regardless of their
	// types.
	Type []string `xml:"type,omitempty" json:"type,omitempty"`
	// This property, if set, limits the set of filtered events to those that
	// have it.
	//
	// If not set, or the size of it 0, the tag of an event is
	// disregarded. A blank string indicates events without tags.
	Tag []string `xml:"tag,omitempty" json:"tag,omitempty" vim:"4.0"`
	// This property, if set, limits the set of collected events to those
	// specified types.
	//
	// Note: if both `EventFilterSpec.eventTypeId` and `EventFilterSpec.type` are specified, an
	// exception may be thrown by `EventManager.CreateCollectorForEvents`.
	//
	// The semantics of how eventTypeId matching is done is as follows:
	//     - If the event being collected is of type `EventEx`
	//       or `ExtendedEvent`, then we match against the
	//       <code>eventTypeId</code> (for <code>EventEx</code>) or
	//       <code>eventId</code> (for <code>ExtendedEvent</code>) member of the Event.
	//     - Otherwise, we match against the type of the Event itself.
	//
	// If neither this property, nor <code>type</code>, is set, events are
	// collected regardless of their types.
	EventTypeId []string `xml:"eventTypeId,omitempty" json:"eventTypeId,omitempty" vim:"4.0"`
	// This property, if set, specifies the maximum number of returned events.
	//
	// If unset, the default maximum number will be used.
	// Using this property with `EventManager.CreateCollectorForEvents` is more
	// efficient than a call to `HistoryCollector.SetCollectorPageSize`.
	MaxCount int32 `xml:"maxCount,omitempty" json:"maxCount,omitempty" vim:"6.5"`
}

Event filter used to query events in the history collector database.

The client creates an event history collector with a filter specification, then retrieves the events from the event history collector.

type EventFilterSpecByEntity

type EventFilterSpecByEntity struct {
	DynamicData

	// The managed entity to which the event pertains.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Specification of related managed entities in the inventory hierarchy.
	Recursion EventFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
}

This option specifies a managed entity used to filter event history.

If the specified managed entity is a Folder or a ResourcePool, the query will actually be performed on the entities contained within that Folder or ResourcePool, so you cannot query for events on Folders and ResourcePools themselves this way.

type EventFilterSpecByTime

type EventFilterSpecByTime struct {
	DynamicData

	// The beginning of the time range.
	//
	// If this property is not set, then events are collected from
	// the earliest time in the database.
	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
	// The end of the time range.
	//
	// If this property is not specified, then events are collected up to
	// the latest time in the database.
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
}

This option specifies a time range used to filter event history.

type EventFilterSpecByUsername

type EventFilterSpecByUsername struct {
	DynamicData

	// filter by system user
	// true for system user event
	SystemUser bool `xml:"systemUser" json:"systemUser"`
	// all interested username list
	// If this property is not set, then all regular user events are
	// collected
	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
}

This option specifies users used to filter event history.

type EventFilterSpecRecursionOption

type EventFilterSpecRecursionOption string

This option specifies how to select events based on child relationships in the inventory hierarchy.

If a managed entity has children, their events can be retrieved with this filter option.

type ExecuteHostProfile

type ExecuteHostProfile ExecuteHostProfileRequestType

type ExecuteHostProfileRequestType

type ExecuteHostProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host on which to execute the profile.
	// The host does not have to be associated with the profile.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Additional configuration data to be applied to the host.
	// This should contain all of the host-specific data, including data from from
	// previous calls to the method.
	DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty" json:"deferredParam,omitempty"`
}

The parameters of `HostProfile.ExecuteHostProfile`.

type ExecuteHostProfileResponse

type ExecuteHostProfileResponse struct {
	Returnval BaseProfileExecuteResult `xml:"returnval,typeattr" json:"returnval"`
}

type ExecuteSimpleCommandRequestType

type ExecuteSimpleCommandRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An arbitrary collection of arguments.
	Arguments []string `xml:"arguments,omitempty" json:"arguments,omitempty"`
}

The parameters of `SimpleCommand.ExecuteSimpleCommand`.

type ExecuteSimpleCommandResponse

type ExecuteSimpleCommandResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type ExitLockdownMode

type ExitLockdownMode ExitLockdownModeRequestType

type ExitLockdownModeRequestType

type ExitLockdownModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExitLockdownModeResponse

type ExitLockdownModeResponse struct {
}

type ExitMaintenanceModeEvent

type ExitMaintenanceModeEvent struct {
	HostEvent
}

This event records that the host is no longer in maintenance mode.

type ExitMaintenanceModeRequestType

type ExitMaintenanceModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Number of seconds to wait for the exit maintenance mode to
	// succeed. If the timeout is less than or equal to zero, there
	// is no timeout.
	Timeout int32 `xml:"timeout" json:"timeout"`
}

The parameters of `HostSystem.ExitMaintenanceMode_Task`.

type ExitMaintenanceMode_Task

type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType

type ExitMaintenanceMode_TaskResponse

type ExitMaintenanceMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExitStandbyModeFailedEvent

type ExitStandbyModeFailedEvent struct {
	HostEvent
}

This event records that the host failed to exit standby mode.

func (*ExitStandbyModeFailedEvent) GetExitStandbyModeFailedEvent

func (b *ExitStandbyModeFailedEvent) GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent

type ExitedStandbyModeEvent

type ExitedStandbyModeEvent struct {
	HostEvent
}

This event records that the host is no longer in standby mode.

func (*ExitedStandbyModeEvent) GetExitedStandbyModeEvent

func (b *ExitedStandbyModeEvent) GetExitedStandbyModeEvent() *ExitedStandbyModeEvent

type ExitingStandbyModeEvent

type ExitingStandbyModeEvent struct {
	HostEvent
}

This event records that a host has begun the process of exiting standby mode.

func (*ExitingStandbyModeEvent) GetExitingStandbyModeEvent

func (b *ExitingStandbyModeEvent) GetExitingStandbyModeEvent() *ExitingStandbyModeEvent

type ExpandVmfsDatastore

type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType

type ExpandVmfsDatastoreRequestType

type ExpandVmfsDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore whose capacity should be increased.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification describing which extent of the VMFS
	// datastore to expand.
	Spec VmfsDatastoreExpandSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDatastoreSystem.ExpandVmfsDatastore`.

type ExpandVmfsDatastoreResponse

type ExpandVmfsDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExpandVmfsExtent

type ExpandVmfsExtent ExpandVmfsExtentRequestType

type ExpandVmfsExtentRequestType

type ExpandVmfsExtentRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VMFS to expand. See `FileSystemMountInfo`.
	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
	// The disk partition corresponding to the extent to be
	// expanded.
	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
}

The parameters of `HostStorageSystem.ExpandVmfsExtent`.

type ExpandVmfsExtentResponse

type ExpandVmfsExtentResponse struct {
}

type ExpiredAddonLicense

type ExpiredAddonLicense struct {
	ExpiredFeatureLicense
}

An ExpiredAddonLicense fault is thrown if an attempt to acquire an Addon license 'feature failed for count 'count'.

type ExpiredAddonLicenseFault

type ExpiredAddonLicenseFault ExpiredAddonLicense

type ExpiredEditionLicense

type ExpiredEditionLicense struct {
	ExpiredFeatureLicense
}

An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license 'feature failed for count 'count'.

type ExpiredEditionLicenseFault

type ExpiredEditionLicenseFault ExpiredEditionLicense

type ExpiredFeatureLicense

type ExpiredFeatureLicense struct {
	NotEnoughLicenses

	Feature        string    `xml:"feature" json:"feature"`
	Count          int32     `xml:"count" json:"count"`
	ExpirationDate time.Time `xml:"expirationDate" json:"expirationDate"`
}

An ExpiredFeatureLicense fault is thrown if an attempt to acquire an Addon license 'feature failed for count 'count'.

func (*ExpiredFeatureLicense) GetExpiredFeatureLicense

func (b *ExpiredFeatureLicense) GetExpiredFeatureLicense() *ExpiredFeatureLicense

type ExpiredFeatureLicenseFault

type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense

type ExportAnswerFileRequestType

type ExportAnswerFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host with which the answer file is associated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.ExportAnswerFile_Task`.

type ExportAnswerFile_Task

type ExportAnswerFile_Task ExportAnswerFileRequestType

type ExportAnswerFile_TaskResponse

type ExportAnswerFile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExportProfile

type ExportProfile ExportProfileRequestType

type ExportProfileRequestType

type ExportProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExportProfileResponse

type ExportProfileResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type ExportSnapshot

type ExportSnapshot ExportSnapshotRequestType

type ExportSnapshotRequestType

type ExportSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExportSnapshotResponse

type ExportSnapshotResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExportVApp

type ExportVApp ExportVAppRequestType

type ExportVAppRequestType

type ExportVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExportVAppResponse

type ExportVAppResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExportVm

type ExportVm ExportVmRequestType

type ExportVmRequestType

type ExportVmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExportVmResponse

type ExportVmResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExtExtendedProductInfo

type ExtExtendedProductInfo struct {
	DynamicData

	// URL to extension vendor.
	CompanyUrl string `xml:"companyUrl,omitempty" json:"companyUrl,omitempty"`
	// URL to vendor's description of this extension.
	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
	// URL to management UI for this extension.
	ManagementUrl string `xml:"managementUrl,omitempty" json:"managementUrl,omitempty"`
	// The VirtualMachine or VirtualApp that is running this extension.
	//
	// Refers instance of `ManagedEntity`.
	Self *ManagedObjectReference `xml:"self,omitempty" json:"self,omitempty"`
}

This data object encapsulates extended product information for an extension.

type ExtManagedEntityInfo

type ExtManagedEntityInfo struct {
	DynamicData

	// Managed entity type, as defined by the extension.
	//
	// This matches the
	// `type` field in the configuration
	// about a virtual machine or vApp.
	Type string `xml:"type" json:"type"`
	// The URL to a 16x16 pixel icon in PNG format for entities of this
	// type managed by this extension.
	//
	// The design of the icon should
	// allow for the possibility of it being badged with the power state
	// of the entity by the vSphere client. If you do not provide this
	// icon, the icon at
	// `iconUrl`, if found, is
	// scaled down to 16x16 pixels.
	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
	// The URL to an icon in PNG format that is no larger than 256x256
	// pixels.
	//
	// This icon will be scaled to 16x16, 32x32, 64x64, and
	// 128x128 if needed. The icon is shown for all entities of this type
	// managed by this extension.
	IconUrl string `xml:"iconUrl,omitempty" json:"iconUrl,omitempty" vim:"5.1"`
	// Description of this managed entity type.
	//
	// This is typically displayed
	// by clients, and should provide users with information about the
	// function of entities of this type.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

This data object contains information about entities managed by this extension.

The data can be used by clients to show extra information about managed virtual machines or vApps, such as a custom icon and a description of the entity.

type ExtSolutionManagerInfo

type ExtSolutionManagerInfo struct {
	DynamicData

	// Deprecated as of vSphere API 5.1, see client documentation for the
	// preferred way to integrate custom user interfaces.
	//
	// List of tabs that must be shown in the Solution Manager for this extension.
	//
	// Tabs are shown ordered by their position in this array.
	Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty" json:"tab,omitempty"`
	// URL for an icon for this extension.
	//
	// The icon will be shown in the Solution
	// Manager for this extension. The icon must be 16x16, and should be in PNG
	// format.
	SmallIconUrl string `xml:"smallIconUrl,omitempty" json:"smallIconUrl,omitempty"`
}

This data object encapsulates the Solution Manager configuration for this extension.

type ExtSolutionManagerInfoTabInfo

type ExtSolutionManagerInfoTabInfo struct {
	DynamicData

	// The name of the tab.
	Label string `xml:"label" json:"label"`
	// The URL for the webpage to show in the tab.
	//
	// Extra parameters will be added
	// to this URL when vSphere Client loads it. See the "Customizing the vSphere
	// Client" technical note for more information.
	Url string `xml:"url" json:"url"`
}

Deprecated as of vSphere API 5.1.

This data object contains information about a tab to show in the Solution Manager for this extension.

type ExtendDiskRequestType added in v0.12.0

type ExtendDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be extended.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new capacity of the virtual disk in MB.
	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
}

The parameters of `VcenterVStorageObjectManager.ExtendDisk_Task`.

type ExtendDisk_Task added in v0.12.0

type ExtendDisk_Task ExtendDiskRequestType

type ExtendDisk_TaskResponse added in v0.12.0

type ExtendDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExtendHCIRequestType added in v0.21.0

type ExtendHCIRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Inputs to configure specified set of hosts in the
	// cluster. See
	// `ClusterComputeResourceHostConfigurationInput`
	// for details. Hosts in this list should be part of the cluster and
	// should be in maintenance mode for them to be configured per
	// specification. Hosts which were not configured due to not
	// being in maintenance mode will be returned in
	// `ClusterComputeResourceClusterConfigResult.failedHosts`. Specify
	// `ClusterComputeResourceHostConfigurationInput.hostVmkNics` only if `dvsSetting`
	// is set.
	HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty" json:"hostInputs,omitempty"`
	// Specification to configure vSAN on specified set of
	// hosts. See vim.vsan.ReconfigSpec for details. This parameter
	// should be specified only when vSan is enabled on the cluster.
	VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty" json:"vSanConfigSpec,omitempty"`
}

The parameters of `ClusterComputeResource.ExtendHCI_Task`.

type ExtendHCI_Task added in v0.21.0

type ExtendHCI_Task ExtendHCIRequestType

type ExtendHCI_TaskResponse added in v0.21.0

type ExtendHCI_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExtendVffs

type ExtendVffs ExtendVffsRequestType

type ExtendVffsRequestType

type ExtendVffsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VFFS to extend. See `FileSystemMountInfo`.
	VffsPath string `xml:"vffsPath" json:"vffsPath"`
	// Device path of the SSD disk.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// A data object that describes the SSD disk partition
	// information. If this property is not provided, partition
	// information will be computed and generated.
	Spec *HostDiskPartitionSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostStorageSystem.ExtendVffs`.

type ExtendVffsResponse

type ExtendVffsResponse struct {
}

type ExtendVirtualDiskRequestType

type ExtendVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk whose capacity should be expanded.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The new capacty of the virtual disk in Kb.
	NewCapacityKb int64 `xml:"newCapacityKb" json:"newCapacityKb"`
	// If true, the extended part of the disk will be
	// explicitly filled with zeroes.
	EagerZero *bool `xml:"eagerZero" json:"eagerZero,omitempty" vim:"4.0"`
}

The parameters of `VirtualDiskManager.ExtendVirtualDisk_Task`.

type ExtendVirtualDisk_Task

type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType

type ExtendVirtualDisk_TaskResponse

type ExtendVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExtendVmfsDatastore

type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType

type ExtendVmfsDatastoreRequestType

type ExtendVmfsDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore whose capacity should be increased.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification describing what extents to add to a
	// VMFS datastore.
	Spec VmfsDatastoreExtendSpec `xml:"spec" json:"spec"`
}

The parameters of `HostDatastoreSystem.ExtendVmfsDatastore`.

type ExtendVmfsDatastoreResponse

type ExtendVmfsDatastoreResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ExtendedDescription

type ExtendedDescription struct {
	Description

	// Key to the localized message string in the catalog.
	//
	// If the localized string contains parameters, values to the
	// parameters will be provided in #messageArg.
	// E.g: If the message in the catalog is
	// "IP address is {address}", value for "address"
	// will be provided by #messageArg.
	// Both summary and label in Description will have a corresponding
	// entry in the message catalog with the keys
	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
	// respectively.
	// Description.summary and Description.label will contain
	// the strings in server locale.
	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
	// Provides named arguments that can be used to localize the
	// message in the catalog.
	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
}

type ExtendedElementDescription

type ExtendedElementDescription struct {
	ElementDescription

	// Key to the localized message string in the catalog.
	//
	// If the localized string contains parameters, values to the
	// parameters will be provided in #messageArg.
	// E.g: If the message in the catalog is
	// "IP address is {address}", value for "address"
	// will be provided by #messageArg.
	// Both summary and label in ElementDescription will have a corresponding
	// entry in the message catalog with the keys
	// &lt;messageCatalogKeyPrefix&gt;.summary and &lt;messageCatalogKeyPrefix&gt;.label
	// respectively.
	// ElementDescription.summary and ElementDescription.label will contain
	// the strings in server locale.
	MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix" json:"messageCatalogKeyPrefix"`
	// Provides named arguments that can be used to localize the
	// message in the catalog.
	MessageArg []KeyAnyValue `xml:"messageArg,omitempty" json:"messageArg,omitempty"`
}

type ExtendedEvent

type ExtendedEvent struct {
	GeneralEvent

	// The id of the type of extended event.
	EventTypeId string `xml:"eventTypeId" json:"eventTypeId"`
	// The object on which the event was logged.
	ManagedObject ManagedObjectReference `xml:"managedObject" json:"managedObject"`
	// Key/value pairs associated with event.
	Data []ExtendedEventPair `xml:"data,omitempty" json:"data,omitempty"`
}

This event is the base class for extended events.

type ExtendedEventPair

type ExtendedEventPair struct {
	DynamicData

	Key   string `xml:"key" json:"key"`
	Value string `xml:"value" json:"value"`
}

key/value pair

type ExtendedFault

type ExtendedFault struct {
	VimFault

	// The id of the type of extended fault.
	FaultTypeId string `xml:"faultTypeId" json:"faultTypeId"`
	// Key/value pairs associated with fault.
	Data []KeyValue `xml:"data,omitempty" json:"data,omitempty"`
}

This fault is the container for faults logged by extensions.

type ExtendedFaultFault

type ExtendedFaultFault ExtendedFault

type Extension

type Extension struct {
	DynamicData

	// Description of extension.
	Description BaseDescription `xml:"description,typeattr" json:"description"`
	// Extension key.
	//
	// Should follow java package naming conventions
	// for uniqueness (e.g. "com.example.management").
	//
	// Extension names can only contain characters belonging to the
	// lower ASCII character set (UTF-7) with the exception of the
	// following characters:
	// 1. All whitespace characters ("space" - ascii character 0x20 is allowed)
	// 2. Control characters
	// 3. Comma (ascii 0x2c), Forward slash (ascii 0x2f), Backward slash (ascii 0x5c),
	//        Hash/Pound (ascii 0x23), Plus (ascii 0x2b), Greater (ascii 0x3e), Lesser (ascii 0x3c),
	//        Equals (ascii 0x3d), Semi-colon (ascii 0x3b) and Double quote (ascii 0x22).
	Key string `xml:"key" json:"key"`
	// Company information.
	Company string `xml:"company,omitempty" json:"company,omitempty" vim:"4.0"`
	// Type of extension (example may include CP-DVS, NUOVA-DVS, etc.).
	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"4.0"`
	// Extension version number as a dot-separated string.
	//
	// For example, "1.0.0"
	Version string `xml:"version" json:"version"`
	// Subject name from client certificate.
	SubjectName string `xml:"subjectName,omitempty" json:"subjectName,omitempty"`
	// Servers for this extension.
	Server []ExtensionServerInfo `xml:"server,omitempty" json:"server,omitempty"`
	// Clients for this extension.
	Client []ExtensionClientInfo `xml:"client,omitempty" json:"client,omitempty"`
	// Definitions of tasks defined by this extension.
	TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty" json:"taskList,omitempty"`
	// Definitions of events defined by this extension.
	EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty" json:"eventList,omitempty"`
	// Definitions of faults defined by this extension.
	FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty" json:"faultList,omitempty"`
	// Definitions privileges defined by this extension.
	PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
	// Resource data for all locales
	ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty" json:"resourceList,omitempty"`
	// Last extension heartbeat time.
	LastHeartbeatTime time.Time `xml:"lastHeartbeatTime" json:"lastHeartbeatTime"`
	// Health specification provided by this extension.
	HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty" json:"healthInfo,omitempty" vim:"4.0"`
	// OVF consumer specification provided by this extension.
	OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty" json:"ovfConsumerInfo,omitempty" vim:"5.0"`
	// Extended product information, such as URLs to vendor, product, etc.
	ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty" json:"extendedProductInfo,omitempty" vim:"5.0"`
	// Information about entities managed by this extension.
	//
	// An extension can
	// register virtual machines as managed by itself, by setting the
	// `managedBy` property of the virtual
	// machine.
	ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty" json:"managedEntityInfo,omitempty" vim:"5.0"`
	// Opt-in to the Solution Manager.
	//
	// If set to true, this extension will be
	// shown in the Solution Manager. If not set, or set to false, this extension
	// is not shown in the Solution Manager.
	ShownInSolutionManager *bool `xml:"shownInSolutionManager" json:"shownInSolutionManager,omitempty" vim:"5.0"`
	// Solution Manager configuration for this extension.
	SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty" json:"solutionManagerInfo,omitempty" vim:"5.0"`
}

This data object type contains all information about an extension.

An extension may contain zero or more server interfaces and zero or more clients.

type ExtensionClientInfo

type ExtensionClientInfo struct {
	DynamicData

	// Client version number as a dot-separated string.
	//
	// For example, "1.0.0"
	Version string `xml:"version" json:"version"`
	// Description of client.
	Description BaseDescription `xml:"description,typeattr" json:"description"`
	// Company information.
	Company string `xml:"company" json:"company"`
	// Type of client (examples may include win32, .net, linux, etc.).
	Type string `xml:"type" json:"type"`
	// Plugin url.
	Url string `xml:"url" json:"url"`
}

This data object type describes a client of the extension.

type ExtensionEventTypeInfo

type ExtensionEventTypeInfo struct {
	DynamicData

	// The ID of the event type.
	//
	// Should follow java package
	// naming conventions for uniqueness.
	EventID string `xml:"eventID" json:"eventID"`
	// Optional XML descriptor for the EventType.
	//
	// The structure of this descriptor is:
	//
	//          <EventType>
	//            <eventTypeID>eventID</eventTypeID>
	//            <description>Optional description for event eventID</description>
	//            <-- Optional arguments: -->
	//            <arguments>
	//               <-- Zero or more of: -->
	//               <argument>
	//                 <name>argName</name>
	//                 <type>argtype</name>
	//               </argument>
	//            </arguments>
	//          </EventType>
	// where _argtype_ can be one of the following:
	//     - This is an example list and should be considered as incomplete.
	// <!-- -->
	//     - Primitive types:
	//       - _string_
	//       - _bool_
	//       - _int_
	//       - _long_
	//       - _float_
	//       - _moid_
	//     - Entity reference types:
	//       - _vm_
	//       - _host_
	//       - _resourcepool_
	//       - _computeresource_
	//       - _datacenter_
	//       - _datastore_
	//       - _network_
	//       - _dvs_
	EventTypeSchema string `xml:"eventTypeSchema,omitempty" json:"eventTypeSchema,omitempty" vim:"4.0"`
}

This data object type describes event types defined by the extension.

type ExtensionFaultTypeInfo

type ExtensionFaultTypeInfo struct {
	DynamicData

	// The ID of the fault type.
	//
	// Should follow java package
	// naming conventions for uniqueness.
	FaultID string `xml:"faultID" json:"faultID"`
}

This data object type describes fault types defined by the extension.

type ExtensionHealthInfo

type ExtensionHealthInfo struct {
	DynamicData

	Url string `xml:"url" json:"url"`
}

This data object encapsulates the health specification for the extension.

type ExtensionManagerIpAllocationUsage

type ExtensionManagerIpAllocationUsage struct {
	DynamicData

	// Key of the extension whose usage is being
	// reported.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// Number of IP addresses allocated from IP pools.
	NumAddresses int32 `xml:"numAddresses" json:"numAddresses"`
}

This data object type contains usage information about an extension's IP allocation usage.

type ExtensionOvfConsumerInfo

type ExtensionOvfConsumerInfo struct {
	DynamicData

	// Callback url for the OVF consumer.
	//
	// This URL must point to a SOAP API
	// implementing the OVF consumer interface.
	//
	// Example: https://extension-host:8081/
	//
	// This callback is for internal use only.
	CallbackUrl string `xml:"callbackUrl" json:"callbackUrl"`
	// A list of fully qualified OVF section types that this consumer handles.
	//
	// Fully qualified means that each section type must be prefixed with its namespace
	// enclosed in curly braces. See the examples below.
	//
	// An InvalidArgument error is thrown if there is overlap between OVF consumers,
	// meaning that the same section type appears in the sectionType list of more than
	// one OVF consumer.
	//
	// Example: \[ "{http://www.vmware.com/schema/vServiceManager}vServiceDependency",
	// "{http://www.vmware.com/schema/vServiceManager}vServiceBinding" \]
	SectionType []string `xml:"sectionType" json:"sectionType"`
}

This data object contains configuration for extensions that also extend the OVF functionality of vCenter server.

`*Note:*` This feature is for internal use only.

type ExtensionPrivilegeInfo

type ExtensionPrivilegeInfo struct {
	DynamicData

	// The ID of the privilege.
	//
	// The format should be
	// &quot;&lt;group name&gt;.&lt;privilege name&gt;&quot;.
	// The group name should be the same as the privGroupName
	// property.
	//
	// The privilege name should follow java package naming
	// conventions for uniqueness. The set of characters allowed
	// follow the same rules as `Extension.key`.
	PrivID string `xml:"privID" json:"privID"`
	// Hierarchical group name.
	//
	// Each level of the grouping hierarchy is
	// separated by a "." so group names may not include a ".".
	// `AuthorizationPrivilege.privGroupName`.
	PrivGroupName string `xml:"privGroupName" json:"privGroupName"`
}

This data object type describes privileges defined by the extension.

type ExtensionResourceInfo

type ExtensionResourceInfo struct {
	DynamicData

	Locale string `xml:"locale" json:"locale"`
	// Module for a resource type and other message or fault resources.
	//
	// Examples: "task" for task, "event" for event and "auth" for "privilege".
	Module string     `xml:"module" json:"module"`
	Data   []KeyValue `xml:"data" json:"data"`
}

This data object encapsulates the message resources for all locales.

type ExtensionServerInfo

type ExtensionServerInfo struct {
	DynamicData

	// Server url.
	Url string `xml:"url" json:"url"`
	// Server description.
	Description BaseDescription `xml:"description,typeattr" json:"description"`
	// Company information.
	Company string `xml:"company" json:"company"`
	// Type of server (examples may include SOAP, REST, HTTP, etc.).
	Type string `xml:"type" json:"type"`
	// Extension administrator email addresses.
	AdminEmail []string `xml:"adminEmail" json:"adminEmail"`
	// Thumbprint of the extension server certificate presented to clients
	ServerThumbprint string `xml:"serverThumbprint,omitempty" json:"serverThumbprint,omitempty" vim:"4.1"`
	// X.509 certificate of the extension server presented to clients in PEM
	// format according to RFC 7468
	ServerCertificate string `xml:"serverCertificate,omitempty" json:"serverCertificate,omitempty" vim:"8.0.2.0"`
}

This data object type describes a server for the extension.

type ExtensionTaskTypeInfo

type ExtensionTaskTypeInfo struct {
	DynamicData

	// The ID of the task type.
	//
	// Should follow java package
	// naming conventions for uniqueness.
	TaskID string `xml:"taskID" json:"taskID"`
}

This data object type describes task types defined by the extension.

type ExtractOvfEnvironmentRequestType

type ExtractOvfEnvironmentRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ExtractOvfEnvironmentResponse

type ExtractOvfEnvironmentResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type FailToEnableSPBM

type FailToEnableSPBM struct {
	NotEnoughLicenses

	// The compute resource
	//
	// Refers instance of `ComputeResource`.
	Cs ManagedObjectReference `xml:"cs" json:"cs"`
	// The computer resource name
	CsName string `xml:"csName" json:"csName"`
	// Array of `ComputeResourceHostSPBMLicenseInfo` that
	// contains SPBM license information for all hosts in the compute resource
	HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates" json:"hostLicenseStates"`
}

Fault type that could be thrown when enabling SPBM(Storage Policy Based Management) feature of a compute resource.

type FailToEnableSPBMFault

type FailToEnableSPBMFault FailToEnableSPBM

type FailToLockFaultToleranceVMs

type FailToLockFaultToleranceVMs struct {
	RuntimeFault

	// The name of the vm to be locked.
	VmName string `xml:"vmName" json:"vmName"`
	// The vm to be locked, this can be a Fault Tolerance primary or secondary VM
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The vm that is already locked, this can be a Fault Tolerance primary or secondary VM
	//
	// Refers instance of `VirtualMachine`.
	AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm" json:"alreadyLockedVm"`
}

Thrown when trying to state lock a Fault Tolerance VM, and the other VM in the same Fault Tolerance pair is already locked.

type FailToLockFaultToleranceVMsFault

type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs

type FailoverLevelRestored

type FailoverLevelRestored struct {
	ClusterEvent
}

This event records that the amount of cluster resources has increased and is now sufficient to satisfy the configured HA failover level.

type FailoverNodeInfo added in v0.12.0

type FailoverNodeInfo struct {
	DynamicData

	// VCHA Cluster network configuration of the node.
	//
	// All cluster communication (state replication, heartbeat,
	// cluster messages) happens over this network.
	ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings" json:"clusterIpSettings"`
	// Failover IP address that this node will assume after the failover
	// to serve client requests.
	//
	// Each failover node can have a different
	// failover IP address.
	FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty" json:"failoverIp,omitempty"`
	// BIOS UUID for the node.
	//
	// It is set only if the VCHA Cluster was
	// formed using automatic provisioning by the deploy API.
	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
}

type FaultDomainId added in v0.12.0

type FaultDomainId struct {
	DynamicData

	// ID of the fault domain.
	Id string `xml:"id" json:"id"`
}

Represents the identity of a replication fault domain.

Fault domains IDs are globally unique.

type FaultToleranceAntiAffinityViolated

type FaultToleranceAntiAffinityViolated struct {
	MigrationFault

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

More than one VM in the same fault tolerance group are placed on the same host

type FaultToleranceAntiAffinityViolatedFault

type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated

type FaultToleranceCannotEditMem

type FaultToleranceCannotEditMem struct {
	VmConfigFault

	// The name of the VM.
	VmName string `xml:"vmName" json:"vmName"`
	// The VM.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The memory size, reservation, limit or shares of a virtual machine cannot be edited if Fault Tolerance is turned on

type FaultToleranceCannotEditMemFault

type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem

type FaultToleranceConfigInfo

type FaultToleranceConfigInfo struct {
	DynamicData

	// The index of the current VM in instanceUuids array starting from 1, so
	// 1 means that it is the primary VM.
	Role int32 `xml:"role" json:"role"`
	// The instanceUuid of all the VMs in this fault tolerance group.
	//
	// The
	// first element is the instanceUuid of the primary VM.
	InstanceUuids []string `xml:"instanceUuids" json:"instanceUuids"`
	// The configuration file path for all the VMs in this fault tolerance
	// group.
	ConfigPaths []string `xml:"configPaths" json:"configPaths"`
	// Indicates whether a secondary VM is orphaned (no longer associated with
	// the primary VM).
	Orphaned *bool `xml:"orphaned" json:"orphaned,omitempty" vim:"6.0"`
}

FaultToleranceConfigInfo is a data object type containing Fault Tolerance settings for this virtual machine.

role, instanceUuids and configPaths contain information about the whole fault tolerance group.

func (*FaultToleranceConfigInfo) GetFaultToleranceConfigInfo

func (b *FaultToleranceConfigInfo) GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo

type FaultToleranceConfigSpec

type FaultToleranceConfigSpec struct {
	DynamicData

	// Metadata file information
	MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty" json:"metaDataPath,omitempty"`
	// Placement information for secondary
	SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty" json:"secondaryVmSpec,omitempty"`
}

FaultToleranceConfigSpec contains information about the metadata file and vmdk files for a fault tolerant VM pair.

type FaultToleranceCpuIncompatible

type FaultToleranceCpuIncompatible struct {
	CpuIncompatible

	// Flag to indicate CPU model is incompatible.
	Model bool `xml:"model" json:"model"`
	// Flag to indicate CPU family is incompatible.
	Family bool `xml:"family" json:"family"`
	// Flag to indicate CPU stepping is incompatible.
	Stepping bool `xml:"stepping" json:"stepping"`
}

Convenience subclass for calling out some named features among the incompatibilities found in CPUID level 1 register ecx for FT vms.

type FaultToleranceCpuIncompatibleFault

type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible

type FaultToleranceDiskSpec

type FaultToleranceDiskSpec struct {
	DynamicData

	// Disk Managed Object
	Disk BaseVirtualDevice `xml:"disk,typeattr" json:"disk"`
	// Destination location for disk
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

FaultToleranceDiskSpec contains disk managed object and destination datastore of disks associated with a VM.

type FaultToleranceMetaSpec

type FaultToleranceMetaSpec struct {
	DynamicData

	// Datastore for the metadata file
	//
	// Refers instance of `Datastore`.
	MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore" json:"metaDataDatastore"`
}

This data object encapsulates the Datastore for the shared metadata file for a fault tolerant pair of VMs.

type FaultToleranceNeedsThickDisk

type FaultToleranceNeedsThickDisk struct {
	MigrationFault

	// The name of the VM.
	VmName string `xml:"vmName" json:"vmName"`
}

Fault Tolerance VM requires thick disks

type FaultToleranceNeedsThickDiskFault

type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk

type FaultToleranceNotLicensed

type FaultToleranceNotLicensed struct {
	VmFaultToleranceIssue

	// The host name
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
}

This fault is thrown when fault tolerance has not been licensed on the source or destination host.

It must be licensed on both hosts.

type FaultToleranceNotLicensedFault

type FaultToleranceNotLicensedFault FaultToleranceNotLicensed

type FaultToleranceNotSameBuild

type FaultToleranceNotSameBuild struct {
	MigrationFault

	// The string.
	Build string `xml:"build" json:"build"`
}

The destination host does not have the same build or Fault Tolerance feature version number as the source host.

type FaultToleranceNotSameBuildFault

type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild

type FaultTolerancePrimaryConfigInfo

type FaultTolerancePrimaryConfigInfo struct {
	FaultToleranceConfigInfo

	Secondaries []ManagedObjectReference `xml:"secondaries" json:"secondaries"`
}

FaultTolerancePrimaryConfigInfo is a data object type containing Fault Tolerance settings for a primary virtual machine in a fault tolerance group

type FaultTolerancePrimaryPowerOnNotAttempted

type FaultTolerancePrimaryPowerOnNotAttempted struct {
	VmFaultToleranceIssue

	// The secondary virtual machine that was not attempted
	//
	// Refers instance of `VirtualMachine`.
	SecondaryVm ManagedObjectReference `xml:"secondaryVm" json:"secondaryVm"`
	// The corresponding primary virtual machine
	//
	// Refers instance of `VirtualMachine`.
	PrimaryVm ManagedObjectReference `xml:"primaryVm" json:"primaryVm"`
}

This fault is used to report that VirtualCenter did not attempt to power on a Fault Tolerance secondary virtual machine because it was unable to power on the corresponding Fault Tolerance primary virtual machine.

type FaultTolerancePrimaryPowerOnNotAttemptedFault

type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted

type FaultToleranceSecondaryConfigInfo

type FaultToleranceSecondaryConfigInfo struct {
	FaultToleranceConfigInfo

	PrimaryVM ManagedObjectReference `xml:"primaryVM" json:"primaryVM"`
}

FaultToleranceSecondaryConfigInfo is a data object type containing Fault Tolerance settings for a secondary virtual machine in a fault tolerance group

type FaultToleranceSecondaryOpResult

type FaultToleranceSecondaryOpResult struct {
	DynamicData

	// The Secondary VirtualMachine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Whether an attempt was made to power on the secondary.
	//
	// If
	// an attempt was made, `FaultToleranceSecondaryOpResult.powerOnResult` will report the
	// status of this attempt.
	PowerOnAttempted bool `xml:"powerOnAttempted" json:"powerOnAttempted"`
	// The powerOnResult property reports the outcome of powering on the
	// Secondary VirtualMachine if a power on was required.
	//
	// A power on will
	// be attempted if the Primary Virtual Machine is powered on when the
	// operation is performed. This object is only reported if `FaultToleranceSecondaryOpResult.powerOnAttempted` is true. If the outcome of the power-on attempt
	// is not successful, the returned `ClusterPowerOnVmResult`
	// object will include an instance of `ClusterNotAttemptedVmInfo`
	// whereas if the attempt was successful, then an instance of
	// `ClusterAttemptedVmInfo` is returned. When
	// `ClusterAttemptedVmInfo` is returned, its
	// `ClusterAttemptedVmInfo.task` property is only set if the cluster
	// is a HA-only cluster.
	PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty" json:"powerOnResult,omitempty"`
}

FaultToleranceSecondaryOpResult is a data object that reports on the outcome of the `VirtualMachine.CreateSecondaryVM_Task` or `VirtualMachine.EnableSecondaryVM_Task` operation.

type FaultToleranceVMConfigSpec

type FaultToleranceVMConfigSpec struct {
	DynamicData

	// Datastore for the configuration file for the virtual machine, e.g., the
	// .vmx file.
	//
	// This also implicitly defines the configuration directory.
	//
	// Refers instance of `Datastore`.
	VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
	// Array of disks associated with the VM
	Disks []FaultToleranceDiskSpec `xml:"disks,omitempty" json:"disks,omitempty"`
}

FaultToleranceVMConfigSpec contains information about placement of fault tolerant VM.

type FaultToleranceVmNotDasProtected

type FaultToleranceVmNotDasProtected struct {
	VimFault

	// The Fault Toelrance primary VM
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the VM
	VmName string `xml:"vmName" json:"vmName"`
}

A FaultToleranceVmNotDasProtected fault occurs when an Fault Tolerance VM is not protected by HA and the operation for terminating the primary VM or secondary VM is invoked.

type FaultToleranceVmNotDasProtectedFault

type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected

type FaultsByHost added in v0.18.0

type FaultsByHost struct {
	DynamicData

	// The Host in the cluster for which faults were generated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The array of faults related to the given Host.
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
}

Group of faults associated with Host.

This Class is used in e.g. `HostEnterMaintenanceResult`.

type FaultsByVM added in v0.18.0

type FaultsByVM struct {
	DynamicData

	// The VM for which faults were generated.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The array of faults related to the given VM.
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
}

VM specific faults.

This Class is used in e.g. `HostEnterMaintenanceResult`.

type FcoeConfig

type FcoeConfig struct {
	DynamicData

	// 802.1p priority class used for FCoE traffic.
	PriorityClass int32 `xml:"priorityClass" json:"priorityClass"`
	// Source MAC address used for FCoE traffic.
	//
	// This MAC address is associated with the logical construct that is a
	// physical NIC's associated underlying FCoE Controller, as defined in the
	// FC-BB-5 standard.
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x' is
	// a hexadecimal digit. Valid MAC addresses are unicast addresses.
	SourceMac string `xml:"sourceMac" json:"sourceMac"`
	// VLAN ranges associated with this FcoeConfig.
	VlanRange []FcoeConfigVlanRange `xml:"vlanRange" json:"vlanRange"`
	// Settable capabilities for this FcoeConfig.
	Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities" json:"capabilities"`
	// Indicates whether this FcoeConfig is "active" (has been used in
	// conjunction with a parent physical network adapter for FCoE
	// discovery).
	FcoeActive bool `xml:"fcoeActive" json:"fcoeActive"`
}

This data object type describes an FCoE configuration as it pertains to an underlying physical NIC.

Terminology is borrowed from T11's working draft of the Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found at http://www.t11.org.

type FcoeConfigFcoeCapabilities

type FcoeConfigFcoeCapabilities struct {
	DynamicData

	PriorityClass    bool `xml:"priorityClass" json:"priorityClass"`
	SourceMacAddress bool `xml:"sourceMacAddress" json:"sourceMacAddress"`
	VlanRange        bool `xml:"vlanRange" json:"vlanRange"`
}

Flags which indicate what parameters are settable for this FcoeConfig.

type FcoeConfigFcoeSpecification

type FcoeConfigFcoeSpecification struct {
	DynamicData

	// The name of this FcoeSpecification's underlying PhysicalNic
	UnderlyingPnic string `xml:"underlyingPnic" json:"underlyingPnic"`
	// 802.1p priority class to use for FCoE traffic.
	PriorityClass int32 `xml:"priorityClass,omitempty" json:"priorityClass,omitempty"`
	// Source MAC address to use for FCoE traffic.
	//
	// This MAC address is associated with the logical construct that is a
	// physical NIC's associated underlying FCoE Controller, as defined in
	// the FC-BB-5 standard.
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where 'x'
	// is a hexadecimal digit. Valid MAC addresses are unicast addresses.
	SourceMac string `xml:"sourceMac,omitempty" json:"sourceMac,omitempty"`
	// VLAN ranges to use for FCoE traffic.
	VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty" json:"vlanRange,omitempty"`
}

An FcoeSpecification contains values relevant to issuing FCoE discovery.

Non-mandatory values are denoted '@optional'.

type FcoeConfigVlanRange

type FcoeConfigVlanRange struct {
	DynamicData

	VlanLow  int32 `xml:"vlanLow" json:"vlanLow"`
	VlanHigh int32 `xml:"vlanHigh" json:"vlanHigh"`
}

Used to represent inclusive intervals of VLAN IDs.

Valid VLAN IDs fall within the range \[0,4094\], and the low value of a VlanRange must be less than or equal to the high value.

type FcoeFault

type FcoeFault struct {
	VimFault
}

Deprecated as of vSphere API 8.0. Software FCoE not supported.

Base class for faults that can be thrown while invoking FCoE management operations.

func (*FcoeFault) GetFcoeFault

func (b *FcoeFault) GetFcoeFault() *FcoeFault

type FcoeFaultFault

type FcoeFaultFault BaseFcoeFault

type FcoeFaultPnicHasNoPortSet

type FcoeFaultPnicHasNoPortSet struct {
	FcoeFault

	NicDevice string `xml:"nicDevice" json:"nicDevice"`
}

Deprecated as of vSphere API 8.0. Software FCoE not supported.

This fault indicates the given Software Fcoe NIC has no uplink ports that is required for initiating a discovery.

type FcoeFaultPnicHasNoPortSetFault

type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet

type FeatureEVCMode added in v0.24.0

type FeatureEVCMode struct {
	ElementDescription

	// The masks (modifications to a host's feature capabilities) that limit a
	// host's capabilities to that of the EVC mode baseline.
	Mask []HostFeatureMask `xml:"mask,omitempty" json:"mask,omitempty"`
	// Describes the feature capability baseline associated with the EVC mode.
	//
	// On the cluster where a particular EVC mode is configured,
	// these features capabilities are guaranteed, either because the host
	// hardware naturally matches those features or because feature masks
	// are used to mask out differences and enforce a match.
	Capability []HostFeatureCapability `xml:"capability,omitempty" json:"capability,omitempty"`
	// The conditions that must be true of a host's feature capabilities in order
	// for the host to meet the minimum requirements of the EVC mode baseline.
	Requirement []VirtualMachineFeatureRequirement `xml:"requirement,omitempty" json:"requirement,omitempty"`
}

The `FeatureEVCMode` data object describes an Enhanced vMotion Compatibility mode for VMFeature.

An Feature EVC mode is associated with a set of features. This object is modeled after EVCMode, which is more CPU-centric. Members that are specific to CPU are removed in favor of VMFeature EVC properties. For more information about EVC interaction, see `EVCMode`.

The inherited `ElementDescription.key` property is a string value that uniquely identifies an EVC mode. The vCenter Server assigns the key value; the vSphere API uses the key to identify modes in summary and information objects, for example:

  • `ClusterComputeResourceSummary*.*ClusterComputeResourceSummary.currentEVCGraphicsModeKey`
  • `HostListSummary*.*HostListSummary.currentEVCGraphicsModeKey`

The inherited `Description.label` and `Description.summary` properties are human-readable strings.

type FeatureRequirementsNotMet

type FeatureRequirementsNotMet struct {
	VirtualHardwareCompatibilityIssue

	// The feature requirements that were not met.
	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty"`
	// The virtual machine whose feature requirements were not met.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The host whose capabilities did not meet the virtual machine's feature requirements.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The host does not meet feature requirements of the virtual machine.

type FeatureRequirementsNotMetFault

type FeatureRequirementsNotMetFault FeatureRequirementsNotMet

type FetchAuditRecords added in v0.27.0

type FetchAuditRecords FetchAuditRecordsRequestType

type FetchAuditRecordsRequestType added in v0.27.0

type FetchAuditRecordsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The token to be used for the operation. The first call must
	// be made without a token. All subsequent calls use the token
	// returned in AuditRecordStatus.
	Token string `xml:"token,omitempty" json:"token,omitempty"`
}

The parameters of `DiagnosticManager.FetchAuditRecords`.

type FetchAuditRecordsResponse added in v0.27.0

type FetchAuditRecordsResponse struct {
	Returnval DiagnosticManagerAuditRecordResult `xml:"returnval" json:"returnval"`
}

type FetchDVPortKeys

type FetchDVPortKeys FetchDVPortKeysRequestType

type FetchDVPortKeysRequestType

type FetchDVPortKeysRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The port selection criteria. If unset, the operation
	// returns the keys of all the ports in the switch.
	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
}

The parameters of `DistributedVirtualSwitch.FetchDVPortKeys`.

type FetchDVPortKeysResponse

type FetchDVPortKeysResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FetchDVPorts

type FetchDVPorts FetchDVPortsRequestType

type FetchDVPortsRequestType

type FetchDVPortsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The port selection criteria. If unset, the operation
	// returns the keys of all the ports in the portgroup.
	Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty" json:"criteria,omitempty"`
}

The parameters of `DistributedVirtualSwitch.FetchDVPorts`.

type FetchDVPortsResponse

type FetchDVPortsResponse struct {
	Returnval []DistributedVirtualPort `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FetchSoftwarePackages added in v0.18.0

type FetchSoftwarePackages FetchSoftwarePackagesRequestType

type FetchSoftwarePackagesRequestType added in v0.18.0

type FetchSoftwarePackagesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type FetchSoftwarePackagesResponse added in v0.18.0

type FetchSoftwarePackagesResponse struct {
	Returnval []SoftwarePackage `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FetchSystemEventLog added in v0.12.0

type FetchSystemEventLog FetchSystemEventLogRequestType

type FetchSystemEventLogRequestType added in v0.12.0

type FetchSystemEventLogRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type FetchSystemEventLogResponse added in v0.12.0

type FetchSystemEventLogResponse struct {
	Returnval []SystemEventInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FetchUserPrivilegeOnEntities added in v0.12.0

type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType

type FetchUserPrivilegeOnEntitiesRequestType added in v0.12.0

type FetchUserPrivilegeOnEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// are the entities to retrieve privileges on
	//
	// Required privileges: System.View
	//
	// Refers instances of `ManagedEntity`.
	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
	// is the user to retrieve privileges for
	UserName string `xml:"userName" json:"userName"`
}

The parameters of `AuthorizationManager.FetchUserPrivilegeOnEntities`.

type FetchUserPrivilegeOnEntitiesResponse added in v0.12.0

type FetchUserPrivilegeOnEntitiesResponse struct {
	Returnval []UserPrivilegeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FibreChannelPortType

type FibreChannelPortType string

The operating mode of the adapter.

type FileAlreadyExists

type FileAlreadyExists struct {
	FileFault
}

This fault is thrown when an operation attempts to create a file using the name of an existing file.

type FileAlreadyExistsFault

type FileAlreadyExistsFault FileAlreadyExists

type FileBackedPortNotSupported

type FileBackedPortNotSupported struct {
	DeviceNotSupported
}

The virtual machine has a port (either a SerialPort or a ParallelPort) which is backed by a file.

This is an error when migrating a virtual machine with the device connected, and can be returned as a subfault of DisallowedMigrationDeviceAttached.

type FileBackedPortNotSupportedFault

type FileBackedPortNotSupportedFault FileBackedPortNotSupported

type FileBackedVirtualDiskSpec

type FileBackedVirtualDiskSpec struct {
	VirtualDiskSpec

	// Specify the capacity of the virtual disk in Kb.
	CapacityKb int64 `xml:"capacityKb" json:"capacityKb"`
	// Virtual Disk Profile requirement.
	//
	// Profiles are solution specifics.
	// Profile Based Storage Management is a vSphere server extension.
	// The API users who want to provision VMs using Storage Profiles, need to
	// interact with it.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
	// Encryption options for the new virtual disk.
	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"6.5"`
}

Specification used to create a file based virtual disk

func (*FileBackedVirtualDiskSpec) GetFileBackedVirtualDiskSpec

func (b *FileBackedVirtualDiskSpec) GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec

type FileFault

type FileFault struct {
	VimFault

	// The file in question.
	File string `xml:"file" json:"file"`
}

The common base type for all file-related exceptions.

func (*FileFault) GetFileFault

func (b *FileFault) GetFileFault() *FileFault

type FileFaultFault

type FileFaultFault BaseFileFault

type FileInfo

type FileInfo struct {
	DynamicData

	// The path relative to the folder path in the search results.
	Path string `xml:"path" json:"path"`
	// User friendly name.
	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty" vim:"6.5"`
	// The size of the file in bytes.
	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty"`
	// The last date and time the file was modified.
	Modification *time.Time `xml:"modification" json:"modification,omitempty"`
	// The user name of the owner of the file.
	Owner string `xml:"owner,omitempty" json:"owner,omitempty" vim:"4.0"`
}

This data object type contains rudimentary information about a file in a datastore.

The information here is not meant to cover all information in traditional file systems, but rather to provide sufficient information for files that are associated with virtual machines. Derived types describe the known file types for a datastore.

func (*FileInfo) GetFileInfo

func (b *FileInfo) GetFileInfo() *FileInfo

type FileLockInfo added in v0.31.0

type FileLockInfo struct {
	DynamicData

	FilePath  string `xml:"filePath" json:"filePath"`
	Host      string `xml:"host" json:"host"`
	Mac       string `xml:"mac" json:"mac"`
	Id        string `xml:"id" json:"id"`
	WorldName string `xml:"worldName" json:"worldName"`
	OwnerId   string `xml:"ownerId,omitempty" json:"ownerId,omitempty"`
	LockMode  string `xml:"lockMode" json:"lockMode"`
	// Optional future - will be fetched if available.
	Acquired  *time.Time `xml:"acquired" json:"acquired,omitempty"`
	Heartbeat *time.Time `xml:"heartbeat" json:"heartbeat,omitempty"`
	RefCount  int32      `xml:"refCount,omitempty" json:"refCount,omitempty"`
}

The File information available on a particular file on the host that can be fetched.

Attempt is made to query and fetch as much information as possible depending on the file system the file is residing on.

type FileLockInfoResult added in v0.31.0

type FileLockInfoResult struct {
	DynamicData

	// FileLockInfo entries populated based on results fetched from host.
	//
	// If a single path is provided result should contain a single entry.
	// For a generic VM name potentially multiple entries could be fetched
	// and populated. Refer to `FileManager.QueryFileLockInfo` for
	// more details.
	LockInfo []FileLockInfo        `xml:"lockInfo,omitempty" json:"lockInfo,omitempty"`
	Fault    *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

type FileLocked

type FileLocked struct {
	FileFault
}

Thrown if an attempt is made to lock a file that is already in use.

type FileLockedFault

type FileLockedFault FileLocked

type FileNameTooLong

type FileNameTooLong struct {
	FileFault
}

This fault is thrown when an operation fails because the name of the specified file is too long.

type FileNameTooLongFault

type FileNameTooLongFault FileNameTooLong

type FileNotFound

type FileNotFound struct {
	FileFault
}

This fault is thrown when an operation fails because the specified file does not exist.

type FileNotFoundFault

type FileNotFoundFault FileNotFound

type FileNotWritable

type FileNotWritable struct {
	FileFault
}

Thrown if an attempt is made to write to a read-only file.

type FileNotWritableFault

type FileNotWritableFault FileNotWritable

type FileQuery

type FileQuery struct {
	DynamicData
}

The data object type that describes the base query specification.

Contains query filters and details that apply to every file. Querying only file details generally does not require opening files and so is an efficient query. Derived types add query parameters specific to the type of file.

func (*FileQuery) GetFileQuery

func (b *FileQuery) GetFileQuery() *FileQuery

type FileQueryFlags

type FileQueryFlags struct {
	DynamicData

	// The flag to indicate whether or not the files that match this query
	// specification are returned along with file type information.
	//
	// This field must
	// be set to return specific details about the file type.
	FileType bool `xml:"fileType" json:"fileType"`
	// The flag to indicate whether or not the size of the file is returned.
	FileSize bool `xml:"fileSize" json:"fileSize"`
	// The flag to indicate whether or not to return the date and time the file was
	// last modified.
	Modification bool `xml:"modification" json:"modification"`
	// The flag to indicate whether or not to return the file owner.
	FileOwner *bool `xml:"fileOwner" json:"fileOwner,omitempty" vim:"4.0"`
}

The FileInfo.Details data object type is a set of flags for a search request.

This search request specifies which details to return for each matching file. This data object type is here to ensure that there is one flag corresponding to each FileInfo property other than the path name, which a search always returns.

type FileSystemMountInfoVStorageSupportStatus

type FileSystemMountInfoVStorageSupportStatus string

Status of volume's support for vStorage hardware acceleration.

The ESX Server determines the status based on the capabilities of the devices that support the file system volume. When a host boots, the support status is unknown. As the ESX host attempts hardware-accelerated operations, it determines whether the storage device supports hardware acceleration and sets the `HostFileSystemMountInfo.vStorageSupport`

type FileTooLarge

type FileTooLarge struct {
	FileFault

	// The name of the datastore that does not support the file's size.
	Datastore string `xml:"datastore" json:"datastore"`
	// The size (in bytes) of the file.
	FileSize int64 `xml:"fileSize" json:"fileSize"`
	// The max file size (in bytes) supported on the datastore.
	MaxFileSize int64 `xml:"maxFileSize,omitempty" json:"maxFileSize,omitempty"`
}

This fault is thrown when an operation fails because the file is larger than the maximum file size supported by the datastore.

type FileTooLargeFault

type FileTooLargeFault FileTooLarge

type FileTransferInformation

type FileTransferInformation struct {
	DynamicData

	// File attributes of the file that is being transferred from the guest.
	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
	// Total size of the file in bytes.
	Size int64 `xml:"size" json:"size"`
	// Specifies the URL to which the user has to send HTTP GET request.
	//
	// Multiple GET requests cannot be sent to the URL simultaneously. URL
	// will become invalid once a successful GET request is sent.
	//
	//
	// The host part of the URL is returned as '\*' if the hostname to be used
	// is the name of the server to which the call was made. For example, if
	// the call is made to esx-svr-1.domain1.com, and the file is available for
	// download from
	// `https://esx-svr-1.domain1.com/guestFile?id=1&token=1234`,
	// the URL returned may be
	// `https://&#42;/guestFile?id=1&token=1234`.
	// The client replaces the asterisk with the server name on which it
	// invoked the call.
	//
	//
	// The URL is valid only for 10 minutes from the time it is generated.
	// Also, the URL becomes invalid whenever the virtual machine is powered
	// off, suspended or unregistered.
	Url string `xml:"url" json:"url"`
}

Represents the information about a `GuestFileManager.InitiateFileTransferFromGuest` operation of `GuestFileManager` object.

The user can use the URL provided in url property to transfer the file from the guest. The user should send a HTTP GET request to the URL. Entire file content will be returned in the body of the response message.

type FilesystemQuiesceFault

type FilesystemQuiesceFault struct {
	SnapshotFault
}

This fault is thrown when creating a quiesced snapshot failed because the create snapshot operation exceeded the time limit for holding off I/O in the frozen VM.

This indicates that when we attempted to thaw the VM after creating the snapshot, we got an error back indicating that the VM was not frozen anymore. In this case, we roll back the entire snapshot create operation and throw this exception.

type FilesystemQuiesceFaultFault

type FilesystemQuiesceFaultFault FilesystemQuiesceFault

type FilterInUse

type FilterInUse struct {
	ResourceInUse

	// Virtual disks that use the filter.
	Disk []VirtualDiskId `xml:"disk,omitempty" json:"disk,omitempty"`
}

A FilterInUse fault indicates that some error has occurred because an IO filter was in use.

type FilterInUseFault

type FilterInUseFault FilterInUse

type FindAllByDnsName

type FindAllByDnsName FindAllByDnsNameRequestType

type FindAllByDnsNameRequestType

type FindAllByDnsNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The fully qualified domain name to find.
	DnsName string `xml:"dnsName" json:"dnsName"`
	// If true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
}

The parameters of `SearchIndex.FindAllByDnsName`.

type FindAllByDnsNameResponse

type FindAllByDnsNameResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type FindAllByIp

type FindAllByIp FindAllByIpRequestType

type FindAllByIpRequestType

type FindAllByIpRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The dot-decimal notation formatted IP address to find.
	Ip string `xml:"ip" json:"ip"`
	// If true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
}

The parameters of `SearchIndex.FindAllByIp`.

type FindAllByIpResponse

type FindAllByIpResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type FindAllByUuid

type FindAllByUuid FindAllByUuidRequestType

type FindAllByUuidRequestType

type FindAllByUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The UUID to find. If vmSearch is true, the UUID can be either BIOS
	// or instance UUID.
	Uuid string `xml:"uuid" json:"uuid"`
	// If true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
	// Should only be set when vmSearch is true. If specified, search
	// for virtual machines whose instance UUID matches the given uuid.
	// Otherwise, search for virtual machines whose BIOS UUID matches the given
	// uuid.
	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty"`
}

The parameters of `SearchIndex.FindAllByUuid`.

type FindAllByUuidResponse

type FindAllByUuidResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type FindAssociatedProfileRequestType

type FindAssociatedProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Entity for which profile is being looked up.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `ProfileManager.FindAssociatedProfile`.

type FindAssociatedProfileResponse

type FindAssociatedProfileResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindByDatastorePath

type FindByDatastorePath FindByDatastorePathRequestType

type FindByDatastorePathRequestType

type FindByDatastorePathRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the datacenter to which the datastore path belongs.
	//
	// Refers instance of `Datacenter`.
	Datacenter ManagedObjectReference `xml:"datacenter" json:"datacenter"`
	// A datastore path to the .vmx file for the virtual machine.
	Path string `xml:"path" json:"path"`
}

The parameters of `SearchIndex.FindByDatastorePath`.

type FindByDatastorePathResponse

type FindByDatastorePathResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindByDnsName

type FindByDnsName FindByDnsNameRequestType

type FindByDnsNameRequestType

type FindByDnsNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The fully qualified domain name to find.
	DnsName string `xml:"dnsName" json:"dnsName"`
	// if true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
}

The parameters of `SearchIndex.FindByDnsName`.

type FindByDnsNameResponse

type FindByDnsNameResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindByInventoryPath

type FindByInventoryPath FindByInventoryPathRequestType

type FindByInventoryPathRequestType

type FindByInventoryPathRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path to the entity.
	InventoryPath string `xml:"inventoryPath" json:"inventoryPath"`
}

The parameters of `SearchIndex.FindByInventoryPath`.

type FindByInventoryPathResponse

type FindByInventoryPathResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindByIp

type FindByIp FindByIpRequestType

type FindByIpRequestType

type FindByIpRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The dot-decimal notation formatted IP address to find.
	Ip string `xml:"ip" json:"ip"`
	// if true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
}

The parameters of `SearchIndex.FindByIp`.

type FindByIpResponse

type FindByIpResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindByUuid

type FindByUuid FindByUuidRequestType

type FindByUuidRequestType

type FindByUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, restricts the query to entities in
	// a particular datacenter. If not specified, the entire inventory is
	// searched.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The UUID to find. If vmSearch is true, the uuid can be either BIOS
	// or instance UUID.
	Uuid string `xml:"uuid" json:"uuid"`
	// If true, search for virtual machines, otherwise search for
	// hosts.
	VmSearch bool `xml:"vmSearch" json:"vmSearch"`
	// Should only be set when vmSearch is true. If specified, search
	// for virtual machines whose instance UUID matches the given uuid.
	// Otherwise, search for virtual machines whose BIOS UUID matches the given
	// uuid.
	InstanceUuid *bool `xml:"instanceUuid" json:"instanceUuid,omitempty" vim:"4.0"`
}

The parameters of `SearchIndex.FindByUuid`.

type FindByUuidResponse

type FindByUuidResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindChild

type FindChild FindChildRequestType

type FindChildRequestType

type FindChildRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A reference to a managed entity.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The name of the child object.
	Name string `xml:"name" json:"name"`
}

The parameters of `SearchIndex.FindChild`.

type FindChildResponse

type FindChildResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindExtension

type FindExtension FindExtensionRequestType

type FindExtensionRequestType

type FindExtensionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key to search for.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
}

The parameters of `ExtensionManager.FindExtension`.

type FindExtensionResponse

type FindExtensionResponse struct {
	Returnval *Extension `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type FindRulesForVm

type FindRulesForVm FindRulesForVmRequestType

type FindRulesForVmRequestType

type FindRulesForVmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The vm whose rules need to be looked up.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The parameters of `ClusterComputeResource.FindRulesForVm`.

type FindRulesForVmResponse

type FindRulesForVmResponse struct {
	Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type FirewallProfile

type FirewallProfile struct {
	ApplyProfile

	// List of Rulesets that will be configured for the firewall subprofile.
	//
	// The rulesets can be enabled or disabled from the profile.
	Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
}

The `FirewallProfile` data object represents a host firewall configuration.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type FirewallProfileRulesetProfile

type FirewallProfileRulesetProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

type FloatOption

type FloatOption struct {
	OptionType

	// The minimum value.
	Min float32 `xml:"min" json:"min"`
	// The maximum value.
	Max float32 `xml:"max" json:"max"`
	// The default value.
	DefaultValue float32 `xml:"defaultValue" json:"defaultValue"`
}

The FloatOption data object type defines the minimum, maximum, and default values for a float option.

type FloppyImageFileInfo

type FloppyImageFileInfo struct {
	FileInfo
}

This data object type describes a file that is a floppy disk image.

type FloppyImageFileQuery

type FloppyImageFileQuery struct {
	FileQuery
}

This data object type describes the query specification for a floppy disk image.

type FolderBatchAddHostsToClusterResult added in v0.21.0

type FolderBatchAddHostsToClusterResult struct {
	DynamicData

	// List of hosts that were successfully added to the cluster
	// in the desired state.
	//
	// Refers instances of `HostSystem`.
	HostsAddedToCluster []ManagedObjectReference `xml:"hostsAddedToCluster,omitempty" json:"hostsAddedToCluster,omitempty"`
	// Contains a fault for each host that failed addition to the inventory.
	//
	// A failed host will not be part of hostsAddedToCluster list.
	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
	// List of hosts that are part of inventory but failed to move to the
	// cluster in the desired state.
	//
	// A failed host will not be part of hostsAddedToCluster list however,
	// a failed host will be part of inventory as it might have been added
	// as a standalone host but failed to move to cluster in the desired
	// state.
	HostsFailedMoveToCluster []FolderFailedHostResult `xml:"hostsFailedMoveToCluster,omitempty" json:"hostsFailedMoveToCluster,omitempty"`
}

type FolderBatchAddStandaloneHostsResult added in v0.21.0

type FolderBatchAddStandaloneHostsResult struct {
	DynamicData

	// List of hosts that were successfully added as standalone hosts
	// to the inventory.
	//
	// Refers instances of `HostSystem`.
	AddedHosts []ManagedObjectReference `xml:"addedHosts,omitempty" json:"addedHosts,omitempty"`
	// Contains a fault for each host that failed to add.
	//
	// A failed host
	// will not be part of addedHosts list.
	HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty" json:"hostsFailedInventoryAdd,omitempty"`
}

type FolderDesiredHostState added in v0.21.0

type FolderDesiredHostState string

type FolderEventArgument

type FolderEventArgument struct {
	EntityEventArgument

	// The Folder object.
	//
	// Refers instance of `Folder`.
	Folder ManagedObjectReference `xml:"folder" json:"folder"`
}

The event argument is a Folder object.

type FolderFailedHostResult added in v0.21.0

type FolderFailedHostResult struct {
	DynamicData

	// Host name for which fault belongs to.
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// Host for which fault belongs to.
	//
	// Only set when the HostSystem
	// reference is avaibale as a result of Host being part of inventory.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Message describing context where the failure happened.
	Context LocalizableMessage `xml:"context" json:"context"`
	// Exception encountered while operating on this host.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

type FolderFileInfo

type FolderFileInfo struct {
	FileInfo
}

This data object type describes a file that is a folder (directory).

type FolderFileQuery

type FolderFileQuery struct {
	FileQuery
}

This data object type describes the query specification for a folder (directory).

type FolderNewHostSpec added in v0.21.0

type FolderNewHostSpec struct {
	DynamicData

	// Connection Spec for new host that needs to be added to the inventory.
	HostCnxSpec HostConnectSpec `xml:"hostCnxSpec" json:"hostCnxSpec"`
	// LicenseKey.
	//
	// See `LicenseManager`. If supplied, new
	// host will be updated with the license.
	EsxLicense string `xml:"esxLicense,omitempty" json:"esxLicense,omitempty"`
}

type FormatVffs

type FormatVffs FormatVffsRequestType

type FormatVffsRequestType

type FormatVffsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that describes the VFFS volume
	// creation specification.
	CreateSpec HostVffsSpec `xml:"createSpec" json:"createSpec"`
}

The parameters of `HostStorageSystem.FormatVffs`.

type FormatVffsResponse

type FormatVffsResponse struct {
	Returnval HostVffsVolume `xml:"returnval" json:"returnval"`
}

type FormatVmfs

type FormatVmfs FormatVmfsRequestType

type FormatVmfsRequestType

type FormatVmfsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that describes the VMware File System
	// (VMFS) creation specification.
	CreateSpec HostVmfsSpec `xml:"createSpec" json:"createSpec"`
}

The parameters of `HostStorageSystem.FormatVmfs`.

type FormatVmfsResponse

type FormatVmfsResponse struct {
	Returnval HostVmfsVolume `xml:"returnval" json:"returnval"`
}

type FtIssuesOnHost

type FtIssuesOnHost struct {
	VmFaultToleranceIssue

	// The host which has Fault Tolerance issues.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Name for the host which has Fault Tolerance issues.
	HostName string `xml:"hostName" json:"hostName"`
	// Information on the details of the Fault Tolerance issues
	Errors []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
}

The FtIssuesOnHost fault reports issues that prevent a particular host from being used as the register or power on host for a Fault Tolerance secondary virtual machine

type FtIssuesOnHostFault

type FtIssuesOnHostFault FtIssuesOnHost

type FtIssuesOnHostHostSelectionType

type FtIssuesOnHostHostSelectionType string

type FullStorageVMotionNotSupported

type FullStorageVMotionNotSupported struct {
	MigrationFeatureNotSupported
}

An operation on a powered-on virtual machine requests a simultaneous change of storage location and execution host, but the host does not have that capability.

type FullStorageVMotionNotSupportedFault

type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported

type Func

type Func func(string) (reflect.Type, bool)

func TypeFunc

func TypeFunc() Func

type GatewayConnectFault

type GatewayConnectFault struct {
	HostConnectFault

	// The type of the gateway used for the connection to the host.
	GatewayType string `xml:"gatewayType" json:"gatewayType"`
	// Identifier of the gateway that is used for the connection to the host.
	GatewayId string `xml:"gatewayId" json:"gatewayId"`
	// Human-readable information about the host gateway server.
	GatewayInfo string `xml:"gatewayInfo" json:"gatewayInfo"`
	// Details of the cause for this fault.
	//
	// This is the way in which Host
	// Gateway servers propagate opaque error messages through vCenter Server.
	Details *LocalizableMessage `xml:"details,omitempty" json:"details,omitempty"`
}

Deprecated not used since vSphere 6.5.

GatewayConnectFault is a base fault type for the faults thrown by a gateway server used to connect to a host.

func (*GatewayConnectFault) GetGatewayConnectFault

func (b *GatewayConnectFault) GetGatewayConnectFault() *GatewayConnectFault

type GatewayConnectFaultFault

type GatewayConnectFaultFault BaseGatewayConnectFault

type GatewayHostNotReachable

type GatewayHostNotReachable struct {
	GatewayToHostConnectFault
}

Deprecated not used since vSphere 6.5.

GatewayHostNotReachable is thrown by the gateway used to connect to a host, if an error occurs while establishing a connection to that host.

The fault may provide a more detailed message of what caused the problem.

type GatewayHostNotReachableFault

type GatewayHostNotReachableFault GatewayHostNotReachable

type GatewayNotFound

type GatewayNotFound struct {
	GatewayConnectFault
}

Deprecated not used since vSphere 6.5.

GatewayNotFound is thrown by vCenter Server, if no host gateway with the specified type/id and available resources is known to the vCenter Server.

type GatewayNotFoundFault

type GatewayNotFoundFault GatewayNotFound

type GatewayNotReachable

type GatewayNotReachable struct {
	GatewayConnectFault
}

Deprecated not used since vSphere 6.5.

GatewayNotReachable is thrown by vCenter Server when it fails to establish a connection to the host gateway server.

This fault may occur due to network connectivity problems or inability to establish secure connection between the gateway server and vCenter Server.

type GatewayNotReachableFault

type GatewayNotReachableFault GatewayNotReachable

type GatewayOperationRefused

type GatewayOperationRefused struct {
	GatewayConnectFault
}

Deprecated not used sine vSphere 6.5.

GatewayOperationRefused is thrown by vCenter Server when a gateway server denies to accept more connection due to resource limitation.

The fault may occur due to specific configuration of the Gateway server to work with limited resources or due to physical limitation to handle more host connections.

type GatewayOperationRefusedFault

type GatewayOperationRefusedFault GatewayOperationRefused

type GatewayToHostAuthFault

type GatewayToHostAuthFault struct {
	GatewayToHostConnectFault

	// List of properties that have been provided in the authentication data
	// but have wrong values.
	InvalidProperties []string `xml:"invalidProperties" json:"invalidProperties"`
	// List of properties that do not have their values specified in the
	// provided authentication data but are required.
	MissingProperties []string `xml:"missingProperties" json:"missingProperties"`
}

Deprecated not used since vSphere 6.5.

GatewayToHostAuthFault is thrown by the gateway used to communicate with a host, if the gateway cannot authenticate to the host with the provided authentication data.

The fault provides information, which of the properties given in the authentication data are invalid or if more properties are required.

See also `HostGatewaySpec.hostAuthParams`.

type GatewayToHostAuthFaultFault

type GatewayToHostAuthFaultFault GatewayToHostAuthFault

type GatewayToHostConnectFault

type GatewayToHostConnectFault struct {
	GatewayConnectFault

	// Hostname of the host that the gateway is communicating with.
	Hostname string `xml:"hostname" json:"hostname"`
	// Port specified for the connection between the gateway and the host.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
}

Deprecated not used since vSphere 6.5.

GatewayToHostConnectFault is thrown by the gateway used to communicate with a host, if an error occurs in the communication between the gateway and the host.

More details may be provided by a subfault.

func (*GatewayToHostConnectFault) GetGatewayToHostConnectFault

func (b *GatewayToHostConnectFault) GetGatewayToHostConnectFault() *GatewayToHostConnectFault

type GatewayToHostConnectFaultFault

type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault

type GatewayToHostTrustVerifyFault

type GatewayToHostTrustVerifyFault struct {
	GatewayToHostConnectFault

	// A unique verification token, that can be used to state the the listed
	// properties are valid.
	VerificationToken string `xml:"verificationToken" json:"verificationToken"`
	// A key/value list of properties that need user verification in order
	// for the gateway to trust the host to succeed.
	//
	// For instance the user may
	// need to verify an SSL thumbprint or a whole certificate.
	PropertiesToVerify []KeyValue `xml:"propertiesToVerify" json:"propertiesToVerify"`
}

Deprecated not used since vSphere 6.5.

GatewayToHostTrustVerifyFault is thrown by the gateway used to communicate with a host, if it cannot establish a trusted connection to the host with the provided host verification token parameter.

The fault provides a list of opaque &lt;key,value&gt; properties, which the end user has to verify in order to trust the host and a verification token, which can be used to state that those exact properties are valid.

See also `HostGatewaySpec.trustVerificationToken`.

type GatewayToHostTrustVerifyFaultFault

type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault

type GeneralEvent

type GeneralEvent struct {
	Event

	// A short form of the message string, not localized.
	Message string `xml:"message" json:"message"`
}

These are general events.

func (*GeneralEvent) GetGeneralEvent

func (b *GeneralEvent) GetGeneralEvent() *GeneralEvent

type GeneralHostErrorEvent

type GeneralHostErrorEvent struct {
	GeneralEvent
}

This event is the general error event for a host.

type GeneralHostInfoEvent

type GeneralHostInfoEvent struct {
	GeneralEvent
}

This event is the general information event for a host.

type GeneralHostWarningEvent

type GeneralHostWarningEvent struct {
	GeneralEvent
}

This event is the general warning event for a host.

type GeneralUserEvent

type GeneralUserEvent struct {
	GeneralEvent

	// The entity on which the event was logged.
	Entity *ManagedEntityEventArgument `xml:"entity,omitempty" json:"entity,omitempty"`
}

This event is the general user event type.

type GeneralVmErrorEvent

type GeneralVmErrorEvent struct {
	GeneralEvent
}

This event is the general error event for a virtual machine.

type GeneralVmInfoEvent

type GeneralVmInfoEvent struct {
	GeneralEvent
}

This event is the general information event for a virtual machine.

type GeneralVmWarningEvent

type GeneralVmWarningEvent struct {
	GeneralEvent
}

This event is the general warning event for a virtual machine.

type GenerateCertificateSigningRequestByDnRequestType

type GenerateCertificateSigningRequestByDnRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// DN to be used as subject in CSR.
	DistinguishedName string `xml:"distinguishedName" json:"distinguishedName"`
	// is used to generate CSR for selected certificate kind
	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
}

The parameters of `HostCertificateManager.GenerateCertificateSigningRequestByDn`.

type GenerateCertificateSigningRequestByDnResponse

type GenerateCertificateSigningRequestByDnResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GenerateCertificateSigningRequestRequestType

type GenerateCertificateSigningRequestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// if true, use host's
	// management IP address as CN in the CSR;
	// otherwise use host's FQDN.
	UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName" json:"useIpAddressAsCommonName"`
	// is used to generate CSR for selected
	// certificate kind.
	Spec *HostCertificateManagerCertificateSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
}

The parameters of `HostCertificateManager.GenerateCertificateSigningRequest`.

type GenerateCertificateSigningRequestResponse

type GenerateCertificateSigningRequestResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GenerateClientCsr added in v0.12.0

type GenerateClientCsr GenerateClientCsrRequestType

type GenerateClientCsrRequestType added in v0.12.0

type GenerateClientCsrRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Certificate sign request.
	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
}

The parameters of `CryptoManagerKmip.GenerateClientCsr`.

type GenerateClientCsrResponse added in v0.12.0

type GenerateClientCsrResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GenerateConfigTaskListRequestType

type GenerateConfigTaskListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ConfigSpec which was proposed by
	// `HostProfile.ExecuteHostProfile` method.
	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
	// Host on which the HostProfile application needs to be
	// carried out.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.GenerateConfigTaskList`.

type GenerateConfigTaskListResponse

type GenerateConfigTaskListResponse struct {
	Returnval HostProfileManagerConfigTaskList `xml:"returnval" json:"returnval"`
}

type GenerateHostConfigTaskSpecRequestType added in v0.12.0

type GenerateHostConfigTaskSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of host data for which configuration task list
	// needs to be generated. The
	// `StructuredCustomizations.customizations` value should be
	// provided only if the host customization data for that host is
	// invalid. If this property is not provided, the API will use the
	// host customization data stored in VC and generate task list.
	HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty" json:"hostsInfo,omitempty"`
}

The parameters of `HostProfileManager.GenerateHostConfigTaskSpec_Task`.

type GenerateHostConfigTaskSpec_Task added in v0.12.0

type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType

type GenerateHostConfigTaskSpec_TaskResponse added in v0.12.0

type GenerateHostConfigTaskSpec_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type GenerateHostProfileTaskListRequestType

type GenerateHostProfileTaskListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ConfigSpec which was proposed by
	// `HostProfile.ExecuteHostProfile` method.
	ConfigSpec HostConfigSpec `xml:"configSpec" json:"configSpec"`
	// Host on which the HostProfile application needs to be
	// carried out.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.GenerateHostProfileTaskList_Task`.

type GenerateHostProfileTaskList_TaskResponse

type GenerateHostProfileTaskList_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type GenerateKey added in v0.12.0

type GenerateKey GenerateKeyRequestType

type GenerateKeyRequestType added in v0.12.0

type GenerateKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] Which provider will generate the key.
	// If omitted, will use the default key provider.
	KeyProvider *KeyProviderId `xml:"keyProvider,omitempty" json:"keyProvider,omitempty"`
	// \[in\] The spec that contains custom attributes key/value pairs.
	Spec *CryptoManagerKmipCustomAttributeSpec `xml:"spec,omitempty" json:"spec,omitempty" vim:"8.0.1.0"`
}

The parameters of `CryptoManagerKmip.GenerateKey`.

type GenerateKeyResponse added in v0.12.0

type GenerateKeyResponse struct {
	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
}

type GenerateLogBundlesRequestType

type GenerateLogBundlesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies if the bundle should include the
	// default server. If called on a VirtualCenter
	// server, then this means the VirtualCenter
	// diagnostic files. If called directly on a host,
	// then includeDefault must be set to true.
	IncludeDefault bool `xml:"includeDefault" json:"includeDefault"`
	// Lists hosts that are included. This is only used
	// when called on VirtualCenter. If called directly
	// on a host, then this parameter must be empty.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `DiagnosticManager.GenerateLogBundles_Task`.

type GenerateLogBundles_Task

type GenerateLogBundles_Task GenerateLogBundlesRequestType

type GenerateLogBundles_TaskResponse

type GenerateLogBundles_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type GenerateSelfSignedClientCert added in v0.12.0

type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType

type GenerateSelfSignedClientCertRequestType added in v0.12.0

type GenerateSelfSignedClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Certificate sign request.
	Request *CryptoManagerKmipCertSignRequest `xml:"request,omitempty" json:"request,omitempty" vim:"8.0.1.0"`
}

The parameters of `CryptoManagerKmip.GenerateSelfSignedClientCert`.

type GenerateSelfSignedClientCertResponse added in v0.12.0

type GenerateSelfSignedClientCertResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GenericDrsFault

type GenericDrsFault struct {
	VimFault

	// This is an optional field to return the detailed information back to
	// the client.
	//
	// This optional array may consist of the exact fault for
	// some hosts in the cluster.
	HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
}

DRS returns more than one faults for each virtual machine, or DRS returns `VimFault` because of some internal errors.

type GenericDrsFaultFault

type GenericDrsFaultFault GenericDrsFault

type GenericVmConfigFault

type GenericVmConfigFault struct {
	VmConfigFault

	// Message from the virtual machine
	Reason string `xml:"reason" json:"reason"`
}

Thrown when a running virtual machine reports an error.

type GenericVmConfigFaultFault

type GenericVmConfigFaultFault GenericVmConfigFault

type GetAlarm

type GetAlarm GetAlarmRequestType

type GetAlarmRequestType

type GetAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity. If not set, alarms are returned for
	// all visible entities.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `AlarmManager.GetAlarm`.

type GetAlarmResponse

type GetAlarmResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type GetAlarmState

type GetAlarmState GetAlarmStateRequestType

type GetAlarmStateRequestType

type GetAlarmStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `AlarmManager.GetAlarmState`.

type GetAlarmStateResponse

type GetAlarmStateResponse struct {
	Returnval []AlarmState `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type GetClusterMode added in v0.18.0

type GetClusterMode GetClusterModeRequestType

type GetClusterModeRequestType added in v0.18.0

type GetClusterModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetClusterModeResponse added in v0.18.0

type GetClusterModeResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GetCryptoKeyStatus added in v0.31.0

type GetCryptoKeyStatus GetCryptoKeyStatusRequestType

type GetCryptoKeyStatusRequestType added in v0.31.0

type GetCryptoKeyStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] Cryptographic keys to query status.
	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
}

The parameters of `CryptoManagerHost.GetCryptoKeyStatus`.

type GetCryptoKeyStatusResponse added in v0.31.0

type GetCryptoKeyStatusResponse struct {
	Returnval []CryptoManagerHostKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type GetCustomizationSpecRequestType

type GetCustomizationSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Unique name identifying the requested customization specification.
	Name string `xml:"name" json:"name"`
}

The parameters of `CustomizationSpecManager.GetCustomizationSpec`.

type GetCustomizationSpecResponse

type GetCustomizationSpecResponse struct {
	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
}

type GetDefaultKmsCluster added in v0.23.0

type GetDefaultKmsCluster GetDefaultKmsClusterRequestType

type GetDefaultKmsClusterRequestType added in v0.23.0

type GetDefaultKmsClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The entity where the default KMS cluster to get.
	// If omitted, then return global default KMS cluster.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// \[in\] (Optional, default = false) If set to true,
	// then get the default kms cluster follow the
	// entity hierarchy. That means if the entity has
	// no default kms cluster, then try to get from
	// its parent.
	DefaultsToParent *bool `xml:"defaultsToParent" json:"defaultsToParent,omitempty"`
}

The parameters of `CryptoManagerKmip.GetDefaultKmsCluster`.

type GetDefaultKmsClusterResponse added in v0.23.0

type GetDefaultKmsClusterResponse struct {
	Returnval *KeyProviderId `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type GetPublicKey

type GetPublicKey GetPublicKeyRequestType

type GetPublicKeyRequestType

type GetPublicKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetPublicKeyResponse

type GetPublicKeyResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GetResourceUsage

type GetResourceUsage GetResourceUsageRequestType

type GetResourceUsageRequestType

type GetResourceUsageRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetResourceUsageResponse

type GetResourceUsageResponse struct {
	Returnval ClusterResourceUsageSummary `xml:"returnval" json:"returnval"`
}

type GetSiteInfo added in v0.23.0

type GetSiteInfo GetSiteInfoRequestType

type GetSiteInfoRequestType added in v0.23.0

type GetSiteInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetSiteInfoResponse added in v0.23.0

type GetSiteInfoResponse struct {
	Returnval SiteInfo `xml:"returnval" json:"returnval"`
}

type GetSystemVMsRestrictedDatastores added in v0.27.0

type GetSystemVMsRestrictedDatastores GetSystemVMsRestrictedDatastoresRequestType

type GetSystemVMsRestrictedDatastoresRequestType added in v0.27.0

type GetSystemVMsRestrictedDatastoresRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetSystemVMsRestrictedDatastoresResponse added in v0.27.0

type GetSystemVMsRestrictedDatastoresResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type GetVchaClusterHealth added in v0.12.0

type GetVchaClusterHealth GetVchaClusterHealthRequestType

type GetVchaClusterHealthRequestType added in v0.12.0

type GetVchaClusterHealthRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetVchaClusterHealthResponse added in v0.12.0

type GetVchaClusterHealthResponse struct {
	Returnval VchaClusterHealth `xml:"returnval" json:"returnval"`
}

type GetVchaConfig added in v0.18.0

type GetVchaConfig GetVchaConfigRequestType

type GetVchaConfigRequestType added in v0.18.0

type GetVchaConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type GetVchaConfigResponse added in v0.18.0

type GetVchaConfigResponse struct {
	Returnval VchaClusterConfigInfo `xml:"returnval" json:"returnval"`
}

type GetVsanObjExtAttrs

type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType

type GetVsanObjExtAttrsRequestType

type GetVsanObjExtAttrsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of object UUIDs.
	Uuids []string `xml:"uuids" json:"uuids"`
}

The parameters of `HostVsanInternalSystem.GetVsanObjExtAttrs`.

type GetVsanObjExtAttrsResponse

type GetVsanObjExtAttrsResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type GhostDvsProxySwitchDetectedEvent

type GhostDvsProxySwitchDetectedEvent struct {
	HostEvent

	// The list of ghost DVS proxy switch uuids that were found.
	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
}

This event records when Virtual Center server found DVS proxy switches on the host that don't match any DVS defined in Virtual Center.

type GhostDvsProxySwitchRemovedEvent

type GhostDvsProxySwitchRemovedEvent struct {
	HostEvent

	// The list of ghost DVS proxy switch uuid that were removed.
	SwitchUuid []string `xml:"switchUuid" json:"switchUuid"`
}

This event records when the ghost DVS proxy switches (a.k.a host proxy switches that don't match any DVS defined in Virtual Center) were removed on the host.

type GlobalMessageChangedEvent

type GlobalMessageChangedEvent struct {
	SessionEvent

	// The new message that was set.
	Message string `xml:"message" json:"message"`
	// The previous message that was set.
	PrevMessage string `xml:"prevMessage,omitempty" json:"prevMessage,omitempty" vim:"6.5"`
}

This event records a change to the global message.

type GroupAlarmAction

type GroupAlarmAction struct {
	AlarmAction

	// The list of alarm actions that occur when the alarm is triggered.
	Action []BaseAlarmAction `xml:"action,typeattr" json:"action"`
}

This data object type describes a group of actions that occur when the alarm is triggered.

These actions are not necessarily executed in order.

type GuestAliases

type GuestAliases struct {
	DynamicData

	// The associated VMware SSO Server X.509 certificate, in base64
	// encoded DER format.
	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
	// A white list of aliases that the in-guest user account trusts;
	// it can be a subset of the subjects known to the identity
	// provider.
	Aliases []GuestAuthAliasInfo `xml:"aliases" json:"aliases"`
}

Describes the representation of an alias and the subjects that are trusted from that VMware SSO Server.

type GuestAuthAliasInfo

type GuestAuthAliasInfo struct {
	DynamicData

	// The subject.
	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
	// User-supplied data to describe the subject.
	Comment string `xml:"comment" json:"comment"`
}

Describes a subject associated with an X.509 certificate in the alias store.

type GuestAuthAnySubject

type GuestAuthAnySubject struct {
	GuestAuthSubject
}

The ANY subject.

When an in-guest user account is configured to trust an alias using the ANY subject, any vSphere user authenticated by that alias will be allowed to impersonate the in-guest user.

type GuestAuthNamedSubject

type GuestAuthNamedSubject struct {
	GuestAuthSubject

	// The subject name.
	Name string `xml:"name" json:"name"`
}

A named subject.

Grants access to a specific vSphere user with the specified name.

type GuestAuthSubject

type GuestAuthSubject struct {
	DynamicData
}

A Subject.

func (*GuestAuthSubject) GetGuestAuthSubject

func (b *GuestAuthSubject) GetGuestAuthSubject() *GuestAuthSubject

type GuestAuthentication

type GuestAuthentication struct {
	DynamicData

	// This is set to true if the client wants an interactive session
	// in the guest.
	//
	// Setting this is supported only for `NamePasswordAuthentication`.
	InteractiveSession bool `xml:"interactiveSession" json:"interactiveSession"`
}

GuestAuthentication is an abstract base class for authentication in the guest.

func (*GuestAuthentication) GetGuestAuthentication

func (b *GuestAuthentication) GetGuestAuthentication() *GuestAuthentication

type GuestAuthenticationChallenge

type GuestAuthenticationChallenge struct {
	GuestOperationsFault

	// Contains the server challenge information
	ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr" json:"serverChallenge"`
	// Contains a session ID number that associates the server response
	// with the initial request.
	SessionID int64 `xml:"sessionID" json:"sessionID"`
}

Fault is thrown when a call to `GuestAuthManager.AcquireCredentialsInGuest` requires a challenge response in order to authenticate in the guest.

The authToken string in serverChallenge contains a base64 encoded challenge token.

type GuestAuthenticationChallengeFault

type GuestAuthenticationChallengeFault GuestAuthenticationChallenge

type GuestComponentsOutOfDate

type GuestComponentsOutOfDate struct {
	GuestOperationsFault
}

A GuestComponentsOutOfDate exception is thrown when an operation fails because the guest operations agent is out of date and lacks the functionality to execute the operation.

type GuestComponentsOutOfDateFault

type GuestComponentsOutOfDateFault GuestComponentsOutOfDate

type GuestDiskInfo

type GuestDiskInfo struct {
	DynamicData

	// Name of the virtual disk in the guest operating system.
	//
	// For example: C:\\
	DiskPath string `xml:"diskPath,omitempty" json:"diskPath,omitempty"`
	// Total capacity of the disk, in bytes.
	//
	// This is part of the virtual machine configuration.
	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
	// Free space on the disk, in bytes.
	//
	// This is retrieved by VMware Tools.
	FreeSpace int64 `xml:"freeSpace,omitempty" json:"freeSpace,omitempty"`
	// Filesystem type, if known.
	//
	// For example NTFS or ext3.
	FilesystemType string `xml:"filesystemType,omitempty" json:"filesystemType,omitempty" vim:"7.0"`
	// VirtualDisks backing the guest partition, if known.
	Mappings []GuestInfoVirtualDiskMapping `xml:"mappings,omitempty" json:"mappings,omitempty" vim:"7.0"`
}

Information about each local virtual disk configured in the guest operating system.

type GuestFileAttributes

type GuestFileAttributes struct {
	DynamicData

	// The date and time the file was last modified.
	//
	// If this property is not specified when passing a
	// `GuestFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the default value will be the time when the file is created inside the
	// guest.
	ModificationTime *time.Time `xml:"modificationTime" json:"modificationTime,omitempty"`
	// The date and time the file was last accessed.
	//
	// If this property is not specified when passing a
	// `GuestFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the default value will be the time when the file is created inside the
	// guest.
	AccessTime *time.Time `xml:"accessTime" json:"accessTime,omitempty"`
	// The target for the file if it's a symbolic link.
	//
	// This is currently only set for Linux guest operating systems,
	// but may be supported in the
	// future on Windows guest operating systems that support symbolic links.
	// This property gives information about files when returned from
	// `GuestFileManager.ListFilesInGuest` or
	// `GuestFileManager.InitiateFileTransferFromGuest`
	// as part of a `GuestFileAttributes` object.
	// This property will be ignored when passing a
	// `GuestFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest` or
	// `GuestFileManager.ChangeFileAttributesInGuest`.
	// If the file is a symbolic link, then the attributes of the target
	// are returned, not those of the symbolic link.
	SymlinkTarget string `xml:"symlinkTarget,omitempty" json:"symlinkTarget,omitempty"`
}

Different attributes for a guest file.

  • Check `GuestPosixFileAttributes` for Posix guest files.
  • Check `GuestWindowsFileAttributes` for Windows guest files.

func (*GuestFileAttributes) GetGuestFileAttributes

func (b *GuestFileAttributes) GetGuestFileAttributes() *GuestFileAttributes

type GuestFileInfo

type GuestFileInfo struct {
	DynamicData

	// The complete path to the file
	Path string `xml:"path" json:"path"`
	// The file type, one of `GuestFileType_enum`
	Type string `xml:"type" json:"type"`
	// The file size in bytes
	Size int64 `xml:"size" json:"size"`
	// Different attributes of a file.
	Attributes BaseGuestFileAttributes `xml:"attributes,typeattr" json:"attributes"`
}

type GuestFileType

type GuestFileType string

type GuestInfo

type GuestInfo struct {
	DynamicData

	// Deprecated as of vSphere API 4.0 use `GuestInfo.toolsVersionStatus` and
	// `GuestInfo.toolsRunningStatus`.
	//
	// Current status of VMware Tools in the guest operating system, if known.
	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
	// Deprecated as of vSphere API 5.1 use `GuestInfo.toolsVersionStatus2`.
	//
	// Current version status of VMware Tools in the guest operating system,
	// if known.
	//
	// The set of possible values is described in
	// `VirtualMachineToolsVersionStatus_enum` for vSphere API 5.0.
	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty" vim:"4.0"`
	// Current version status of VMware Tools in the guest operating system,
	// if known.
	//
	// The set of possible values is described in
	// `VirtualMachineToolsVersionStatus_enum`
	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty" vim:"5.0"`
	// Current running status of VMware Tools in the guest operating system,
	// if known.
	//
	// The set of possible values is described in
	// `VirtualMachineToolsRunningStatus_enum`
	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty" vim:"4.0"`
	// Current version of VMware Tools, if known.
	ToolsVersion string `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
	// Current installation type of VMware Tools in the guest operating system.
	//
	// The set of possible values is described in
	// `VirtualMachineToolsInstallType_enum`
	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty" vim:"6.5"`
	// Guest operating system identifier (short name), if known.
	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
	// Guest operating system family, if known.
	GuestFamily string `xml:"guestFamily,omitempty" json:"guestFamily,omitempty"`
	// Guest operating system full name, if known.
	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
	// Guest OS Detailed data.
	//
	// The guest detailed data string is a property list (space separated,
	// name='value' pairs where the value is embedded in single quotes) of
	// metadata provided by the guest OS when sufficiently recent tools are
	// installed. The fields supplied will vary between distributions and
	// distribution versions. The order of these fields is not guaranteed.
	//
	// The guest detailed data string is not available before a virtual machine
	// is first powered on. The guest must first be booted and a supported
	// version of tools must be run to record the data (approximately 30-60
	// seconds after booting). Once the guest detailed data string has been
	// recorded, it will be available whether the virtual machine is powered off
	// or on.
	//
	// Available fields:
	// <table summary="Available fields">
	// <thead>
	// <tr>
	// <th>Name</th>
	// <th>Description</th>
	// <th>Tools version first available</th>
	// </tr>
	// </thead>
	// <tbody>
	// <tr>
	// <td>architecture</td>
	// <td>'Arm' or 'X86'</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>bitness</td>
	// <td>'32' or '64'</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>buildNumber</td>
	// <td>OS build number</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>cpeString</td>
	// <td>NIST Common Platform Enumeration Specification string, a standardized identifier for the OS</td>
	// <td>12.2.0</td>
	// </tr>
	// <tr>
	// <td>distroAddlVersion</td>
	// <td>Longer OS version string that may contain additional info (e.g. version name)</td>
	// <td>12.2.0</td>
	// </tr>
	// <tr>
	// <td>distroName</td>
	// <td>OS distribution name</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>distroVersion</td>
	// <td>OS version string</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>familyName</td>
	// <td>OS family name (Windows, Linux, etc.)</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>kernelVersion</td>
	// <td>Linux kernel version, Windows 10+ patch number, or Windows build number</td>
	// <td>11.2.0</td>
	// </tr>
	// <tr>
	// <td>prettyName</td>
	// <td>Officially specified distro "pretty name"</td>
	// <td>11.2.0</td>
	// </tr>
	// </tbody>
	// </table>
	GuestDetailedData string `xml:"guestDetailedData,omitempty" json:"guestDetailedData,omitempty" vim:"8.0.2.0"`
	// Hostname of the guest operating system, if known.
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// Primary IP address assigned to the guest operating system, if known.
	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// Guest information about network adapters, if known.
	Net []GuestNicInfo `xml:"net,omitempty" json:"net,omitempty"`
	// Guest information about IP networking stack, if known.
	IpStack []GuestStackInfo `xml:"ipStack,omitempty" json:"ipStack,omitempty" vim:"4.1"`
	// Guest information about disks.
	//
	// You can obtain Linux guest disk information for the following file system
	// types: Ext2, Ext3, Ext4, ReiserFS, XFS, Btrfs, NTFS, VFAT, UFS, PCFS, HFS,
	// and MS-DOS.
	//
	// NOTE: Installing a more recent version of VMware Tools in the guest may help
	// obtain disk information for more file system types. Please refer the VMware Tools
	// User Guide for up-to-date supported file system types.
	Disk []GuestDiskInfo `xml:"disk,omitempty" json:"disk,omitempty"`
	// Guest screen resolution info, if known.
	Screen *GuestScreenInfo `xml:"screen,omitempty" json:"screen,omitempty"`
	// Operation mode of guest operating system.
	//
	// One of:
	//     - "running" - Guest is running normally.
	//     - "shuttingdown" - Guest has a pending shutdown command.
	//     - "resetting" - Guest has a pending reset command.
	//     - "standby" - Guest has a pending standby command.
	//     - "notrunning" - Guest is not running.
	//     - "unknown" - Guest information is not available.
	GuestState string `xml:"guestState" json:"guestState"`
	// Application heartbeat status.
	//
	// Please see `VirtualMachineAppHeartbeatStatusType_enum`
	AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty" json:"appHeartbeatStatus,omitempty" vim:"4.1"`
	// Guest operating system's kernel crash state.
	//
	// If true, the guest operating system's kernel has crashed.
	GuestKernelCrashed *bool `xml:"guestKernelCrashed" json:"guestKernelCrashed,omitempty" vim:"6.0"`
	// Application state.
	//
	// If vSphere HA is enabled and the vm is configured for Application Monitoring
	// and this field's value is "appStateNeedReset" then HA will attempt immediately reset
	// the vm.
	// There are some system conditions which may delay the immediate reset. The immediate
	// reset will be performed as soon as allowed by vSphere HA and ESX. If during these
	// conditions the value is changed to appStateOk the reset will be cancelled.
	//
	// See also `GuestInfoAppStateType_enum`.
	AppState string `xml:"appState,omitempty" json:"appState,omitempty" vim:"5.5"`
	// Guest Operations availability.
	//
	// If true, the virtual machine is ready to process guest operations.
	GuestOperationsReady *bool `xml:"guestOperationsReady" json:"guestOperationsReady,omitempty" vim:"5.0"`
	// Interactive Guest Operations availability.
	//
	// If true, the virtual machine is ready to process guest operations
	// as the user interacting with the guest desktop.
	InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady" json:"interactiveGuestOperationsReady,omitempty" vim:"5.0"`
	// State change support.
	//
	// If true, the virtual machine is ready to process soft power operations.
	GuestStateChangeSupported *bool `xml:"guestStateChangeSupported" json:"guestStateChangeSupported,omitempty" vim:"6.0"`
	// A list of namespaces and their corresponding generation numbers.
	//
	// Only namespaces with non-zero
	// `VirtualMachineNamespaceManagerCreateSpec.maxSizeEventsFromGuest`
	// are guaranteed to be present here.
	// Use `VirtualMachineNamespaceManager.ListNamespaces` to retrieve list of
	// namespaces.
	GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty" json:"generationInfo,omitempty" vim:"5.1"`
	// The hardware version string for this virtual machine.
	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
	// Guest OS Customization status info.
	CustomizationInfo *GuestInfoCustomizationInfo `xml:"customizationInfo,omitempty" json:"customizationInfo,omitempty" vim:"7.0.2.0"`
}

Information about the guest operating system.

Most of this information is collected by VMware Tools. In general, be sure you have VMware Tools installed and that the virtual machine is running when you access this information.

type GuestInfoAppStateType

type GuestInfoAppStateType string

type GuestInfoCustomizationInfo added in v0.26.0

type GuestInfoCustomizationInfo struct {
	DynamicData

	// The customization status for this VM
	//
	// See also `GuestInfoCustomizationStatus_enum`for the list of supported values.
	CustomizationStatus string `xml:"customizationStatus" json:"customizationStatus"`
	// The time when the customization process has started inside the
	// guest OS
	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
	// The time when the customization process has completed inside the
	// guest OS
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
	// Description of the error if there is error for the customization
	// process inside the guest OS
	ErrorMsg string `xml:"errorMsg,omitempty" json:"errorMsg,omitempty"`
}

type GuestInfoCustomizationStatus added in v0.26.0

type GuestInfoCustomizationStatus string

type GuestInfoNamespaceGenerationInfo

type GuestInfoNamespaceGenerationInfo struct {
	DynamicData

	// The namespace name as the unique key.
	Key string `xml:"key" json:"key"`
	// Namespace generation number.
	//
	// Generation number is changed whenever
	// there is new unread event pending from the guest to the VMODL.
	GenerationNo int32 `xml:"generationNo" json:"generationNo"`
}

A data class for the namespace and its corresponding generation number The generation number can be used to track updates to the corresponding namespace.

An update to the generation number indicates that the return value of `VirtualMachineNamespaceManager.FetchEventsFromGuest` may have changed.

type GuestInfoVirtualDiskMapping added in v0.23.0

type GuestInfoVirtualDiskMapping struct {
	DynamicData

	// The key of the VirtualDevice.
	//
	// `VirtualDevice.key`
	Key int32 `xml:"key" json:"key"`
}

Describes the virtual disk backing a local guest disk.

type GuestListFileInfo

type GuestListFileInfo struct {
	DynamicData

	// A list of `GuestFileInfo`
	// data objects containing information for all the matching files.
	Files []GuestFileInfo `xml:"files,omitempty" json:"files,omitempty"`
	// The number of files left to be returned.
	//
	// If non-zero,
	// then the next set of files can be returned by calling
	// ListFiles again with the index set to the number of results
	// already returned.
	Remaining int32 `xml:"remaining" json:"remaining"`
}

type GuestMappedAliases

type GuestMappedAliases struct {
	DynamicData

	// The associated VMware SSO Server X.509 certificate, in base64
	// encoded DER format.
	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
	// The in-guest user associated with the mapping.
	Username string `xml:"username" json:"username"`
	// The list of subjects associated with the mapping.
	Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr" json:"subjects"`
}

Represents a mapping between an external subject, as authenticated by a given VMware SSO Server, and an in-guest user.

type GuestMultipleMappings

type GuestMultipleMappings struct {
	GuestOperationsFault
}

A GuestMultipleMappings exception is thrown when an operation fails because the guest alias store mapping file contains multiple conflicting instances of the same certificate and username.

type GuestMultipleMappingsFault

type GuestMultipleMappingsFault GuestMultipleMappings

type GuestNicInfo

type GuestNicInfo struct {
	DynamicData

	// Name of the virtual switch portgroup or dvPort connected to this adapter.
	Network string `xml:"network,omitempty" json:"network,omitempty"`
	// Deprecated as of vSphere API 5.0, use ipConfig property.
	//
	// IP addresses of the adapter.
	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// MAC address of the adapter.
	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
	// Flag indicating whether or not the virtual device is connected.
	Connected bool `xml:"connected" json:"connected"`
	// Link to the corresponding virtual device.
	DeviceConfigId int32 `xml:"deviceConfigId" json:"deviceConfigId"`
	// DNS configuration of the adapter.
	//
	// This property is set only when Guest OS supports it.
	// See `GuestStackInfo` dnsConfig for system wide
	// settings.
	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty" vim:"4.1"`
	// IP configuration settings of the adapter
	// See `GuestStackInfo` ipStackConfig for system wide
	// settings.
	IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty" json:"ipConfig,omitempty" vim:"4.1"`
	// NetBIOS configuration of the adapter
	NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr" json:"netBIOSConfig,omitempty" vim:"4.1"`
}

Information about each virtual network adapter configured in the guest operating system.

type GuestOperationsFault

type GuestOperationsFault struct {
	VimFault
}

The common base type for all guest operations faults.

func (*GuestOperationsFault) GetGuestOperationsFault

func (b *GuestOperationsFault) GetGuestOperationsFault() *GuestOperationsFault

type GuestOperationsFaultFault

type GuestOperationsFaultFault BaseGuestOperationsFault

type GuestOperationsUnavailable

type GuestOperationsUnavailable struct {
	GuestOperationsFault
}

A GuestOperationsUnavailable exception is thrown when an operation fails to contact the guest operations agent running inside the virtual machine.

type GuestOperationsUnavailableFault

type GuestOperationsUnavailableFault GuestOperationsUnavailable

type GuestOsDescriptor

type GuestOsDescriptor struct {
	DynamicData

	// Identifier (short name) for the guest operating system.
	Id string `xml:"id" json:"id"`
	// Family to which this guest operating system belongs.
	Family string `xml:"family" json:"family"`
	// Full name of the guest operating system.
	//
	// For example, if the value of "id" is "win2000Pro", then
	// the value of "fullName" is "Windows 2000 Professional".
	FullName string `xml:"fullName" json:"fullName"`
	// Maximum number of processors supported for this guest.
	SupportedMaxCPUs int32 `xml:"supportedMaxCPUs" json:"supportedMaxCPUs"`
	// Maximum number of sockets supported for this guest.
	NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty" json:"numSupportedPhysicalSockets,omitempty" vim:"5.0"`
	// Maximum number of cores per socket for this guest.
	NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty" json:"numSupportedCoresPerSocket,omitempty" vim:"5.0"`
	// Minimum memory requirements supported for this guest, in MB.
	SupportedMinMemMB int32 `xml:"supportedMinMemMB" json:"supportedMinMemMB"`
	// Maximum memory requirements supported for this guest, in MB.
	SupportedMaxMemMB int32 `xml:"supportedMaxMemMB" json:"supportedMaxMemMB"`
	// Recommended default memory size for this guest, in MB.
	RecommendedMemMB int32 `xml:"recommendedMemMB" json:"recommendedMemMB"`
	// Recommended default color depth for this guest.
	RecommendedColorDepth int32 `xml:"recommendedColorDepth" json:"recommendedColorDepth"`
	// List of supported disk controller types for this guest.
	SupportedDiskControllerList []string `xml:"supportedDiskControllerList" json:"supportedDiskControllerList"`
	// Recommended default SCSI controller type for this guest.
	RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty" json:"recommendedSCSIController,omitempty"`
	// Recommended default disk controller type for this guest.
	RecommendedDiskController string `xml:"recommendedDiskController" json:"recommendedDiskController"`
	// Number of disks supported for this guest.
	SupportedNumDisks int32 `xml:"supportedNumDisks" json:"supportedNumDisks"`
	// Recommended default disk size for this guest, in MB.
	RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB" json:"recommendedDiskSizeMB"`
	// Recommended default CD-ROM type for this guest.
	RecommendedCdromController string `xml:"recommendedCdromController,omitempty" json:"recommendedCdromController,omitempty" vim:"5.5"`
	// List of supported ethernet cards for this guest.
	SupportedEthernetCard []string `xml:"supportedEthernetCard" json:"supportedEthernetCard"`
	// Recommended default ethernet controller type for this guest.
	RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty" json:"recommendedEthernetCard,omitempty"`
	// Flag to indicate whether or not this guest can support
	// a disk configured as a slave.
	SupportsSlaveDisk *bool `xml:"supportsSlaveDisk" json:"supportsSlaveDisk,omitempty"`
	// Specifies the CPU feature compatibility masks.
	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
	// Flag that indicates wether the guest requires an SMC (Apple hardware).
	//
	// This is logically equivalent to GuestOS = Mac OS
	SmcRequired *bool `xml:"smcRequired" json:"smcRequired,omitempty" vim:"5.0"`
	// Flag to indicate whether or not this guest can support Wake-on-LAN.
	SupportsWakeOnLan bool `xml:"supportsWakeOnLan" json:"supportsWakeOnLan"`
	// Flag indicating whether or not this guest supports the virtual
	// machine interface.
	SupportsVMI *bool `xml:"supportsVMI" json:"supportsVMI,omitempty" vim:"2.5 U2"`
	// Whether the memory size for this guest can be changed
	// while the virtual machine is running.
	SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd" json:"supportsMemoryHotAdd,omitempty" vim:"2.5 U2"`
	// Whether virtual CPUs can be added to this guest
	// while the virtual machine is running.
	SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd" json:"supportsCpuHotAdd,omitempty" vim:"2.5 U2"`
	// Whether virtual CPUs can be removed from this guest
	// while the virtual machine is running.
	SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove" json:"supportsCpuHotRemove,omitempty" vim:"2.5 U2"`
	// Supported firmware types for this guest.
	//
	// Possible values are described in
	// `GuestOsDescriptorFirmwareType_enum`
	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty" vim:"5.0"`
	// Recommended firmware type for this guest.
	//
	// Possible values are described in
	// `GuestOsDescriptorFirmwareType_enum`
	RecommendedFirmware string `xml:"recommendedFirmware,omitempty" json:"recommendedFirmware,omitempty" vim:"5.0"`
	// List of supported USB controllers for this guest.
	SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty" json:"supportedUSBControllerList,omitempty" vim:"5.0"`
	// Recommended default USB controller type for this guest.
	RecommendedUSBController string `xml:"recommendedUSBController,omitempty" json:"recommendedUSBController,omitempty" vim:"5.0"`
	// Whether this guest supports 3D graphics.
	Supports3D *bool `xml:"supports3D" json:"supports3D,omitempty" vim:"5.0"`
	// Recommended 3D graphics for this guest.
	Recommended3D *bool `xml:"recommended3D" json:"recommended3D,omitempty" vim:"5.1"`
	// Whether SMC (Apple hardware) is recommended for this guest.
	SmcRecommended *bool `xml:"smcRecommended" json:"smcRecommended,omitempty" vim:"5.0"`
	// Whether I/O Controller Hub is recommended for this guest.
	Ich7mRecommended *bool `xml:"ich7mRecommended" json:"ich7mRecommended,omitempty" vim:"5.0"`
	// Whether USB controller is recommended for this guest.
	UsbRecommended *bool `xml:"usbRecommended" json:"usbRecommended,omitempty" vim:"5.0"`
	// Support level of this Guest
	// Possible values are described in
	// `GuestOsDescriptorSupportLevel_enum`
	SupportLevel string `xml:"supportLevel,omitempty" json:"supportLevel,omitempty" vim:"5.0"`
	// Whether or not this guest should be allowed for selection
	// during virtual machine creation.
	SupportedForCreate *bool `xml:"supportedForCreate" json:"supportedForCreate,omitempty" vim:"5.0"`
	// Video RAM size limits supported by this guest, in KB.
	VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty" json:"vRAMSizeInKB,omitempty" vim:"5.0"`
	// Maximum number of floppies supported by this guest.
	NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty" json:"numSupportedFloppyDevices,omitempty" vim:"6.0"`
	// List of NICs supported by this guest that support Wake-On-Lan.
	WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty" json:"wakeOnLanEthernetCard,omitempty" vim:"6.0"`
	// Whether or not this guest can use pvscsi as boot adapter.
	SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot" json:"supportsPvscsiControllerForBoot,omitempty" vim:"6.0"`
	// Whether or not this guest should have disk uuid enabled by default.
	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty" vim:"6.0"`
	// Whether or not this guest supports hot plug of PCI devices.
	SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI" json:"supportsHotPlugPCI,omitempty" vim:"6.0"`
	// Whether or not this guest supports Secure Boot.
	//
	// If some of the OS
	// releases that fall under this guest OS descriptor support Secure Boot, it
	// is reasonable to offer the ability to enable Secure Boot. Only
	// meaningful when virtual EFI firmware is in use.
	SupportsSecureBoot *bool `xml:"supportsSecureBoot" json:"supportsSecureBoot,omitempty" vim:"6.5"`
	// Whether or not Secure Boot should be enabled by default for this
	// guest OS.
	//
	// If all OS releases that fall under this guest OS descriptor
	// support Secure Boot and are known to operate correctly with Secure Boot
	// enabled, it is reasonable to enable it by default. Only meaningful when
	// virtual EFI firmware is in use.
	DefaultSecureBoot *bool `xml:"defaultSecureBoot" json:"defaultSecureBoot,omitempty" vim:"6.5"`
	// Support of persistent memory (virtual NVDIMM device).
	//
	// See also `VirtualNVDIMM`.
	PersistentMemorySupported *bool `xml:"persistentMemorySupported" json:"persistentMemorySupported,omitempty" vim:"6.7"`
	// Minimum persistent memory supported for this guest, in MB.
	SupportedMinPersistentMemoryMB int64 `xml:"supportedMinPersistentMemoryMB,omitempty" json:"supportedMinPersistentMemoryMB,omitempty" vim:"6.7"`
	// Maximum persistent memory supported for this guest, in MB.
	//
	// Total size of all the virtual NVDIMM devices should be less
	// than this value.
	SupportedMaxPersistentMemoryMB int64 `xml:"supportedMaxPersistentMemoryMB,omitempty" json:"supportedMaxPersistentMemoryMB,omitempty" vim:"6.7"`
	// Recommended default persistent memory size for this guest, in MB.
	RecommendedPersistentMemoryMB int64 `xml:"recommendedPersistentMemoryMB,omitempty" json:"recommendedPersistentMemoryMB,omitempty" vim:"6.7"`
	// Support of persistent memory hot-add operation.
	PersistentMemoryHotAddSupported *bool `xml:"persistentMemoryHotAddSupported" json:"persistentMemoryHotAddSupported,omitempty" vim:"6.7"`
	// Support of persistent memory hot-remove operation.
	PersistentMemoryHotRemoveSupported *bool `xml:"persistentMemoryHotRemoveSupported" json:"persistentMemoryHotRemoveSupported,omitempty" vim:"6.7"`
	// Support of virtual NVDIMM cold-growth operation.
	PersistentMemoryColdGrowthSupported *bool `xml:"persistentMemoryColdGrowthSupported" json:"persistentMemoryColdGrowthSupported,omitempty" vim:"6.7"`
	// Virtual NVDIMM cold-growth granularity in MB.
	PersistentMemoryColdGrowthGranularityMB int64 `xml:"persistentMemoryColdGrowthGranularityMB,omitempty" json:"persistentMemoryColdGrowthGranularityMB,omitempty" vim:"6.7"`
	// Support of virtual NVDIMM hot-growth operation.
	PersistentMemoryHotGrowthSupported *bool `xml:"persistentMemoryHotGrowthSupported" json:"persistentMemoryHotGrowthSupported,omitempty" vim:"6.7"`
	// Virtual NVDIMM hot-growth granularity in MB.
	PersistentMemoryHotGrowthGranularityMB int64 `xml:"persistentMemoryHotGrowthGranularityMB,omitempty" json:"persistentMemoryHotGrowthGranularityMB,omitempty" vim:"6.7"`
	// Recommended number of sockets for this guest.
	NumRecommendedPhysicalSockets int32 `xml:"numRecommendedPhysicalSockets,omitempty" json:"numRecommendedPhysicalSockets,omitempty" vim:"6.7"`
	// Recommended number of cores per socket for this guest.
	NumRecommendedCoresPerSocket int32 `xml:"numRecommendedCoresPerSocket,omitempty" json:"numRecommendedCoresPerSocket,omitempty" vim:"6.7"`
	// Support of Intel Virtualization Technology for Directed I/O.
	VvtdSupported *BoolOption `xml:"vvtdSupported,omitempty" json:"vvtdSupported,omitempty" vim:"6.7"`
	// Support of Virtualization-based security.
	VbsSupported *BoolOption `xml:"vbsSupported,omitempty" json:"vbsSupported,omitempty" vim:"6.7"`
	// Support for Intel Software Guard Extensions
	VsgxSupported *BoolOption `xml:"vsgxSupported,omitempty" json:"vsgxSupported,omitempty" vim:"7.0"`
	// Support for Intel Software Guard Extensions remote attestation.
	VsgxRemoteAttestationSupported *bool `xml:"vsgxRemoteAttestationSupported" json:"vsgxRemoteAttestationSupported,omitempty" vim:"8.0.0.1"`
	// Support for TPM 2.0.
	SupportsTPM20 *bool `xml:"supportsTPM20" json:"supportsTPM20,omitempty" vim:"6.7"`
	// Support for default vTPM
	RecommendedTPM20 *bool `xml:"recommendedTPM20" json:"recommendedTPM20,omitempty" vim:"8.0.0.1"`
	// Support for Virtual Watchdog Timer.
	VwdtSupported *bool `xml:"vwdtSupported" json:"vwdtSupported,omitempty" vim:"7.0"`
}

This data object type contains information to describe a particular guest operating system.

type GuestOsDescriptorFirmwareType

type GuestOsDescriptorFirmwareType string

type GuestOsDescriptorSupportLevel

type GuestOsDescriptorSupportLevel string

type GuestPermissionDenied

type GuestPermissionDenied struct {
	GuestOperationsFault
}

A GuestPermissionDenied exception is thrown when an operation fails because the authentication used is insufficient to perform the operation.

type GuestPermissionDeniedFault

type GuestPermissionDeniedFault GuestPermissionDenied

type GuestPosixFileAttributes

type GuestPosixFileAttributes struct {
	GuestFileAttributes

	// The owner ID.
	//
	// If this property is not specified when passing a
	// `GuestPosixFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the default value will be the owner Id of the user who invoked
	// the file transfer operation.
	OwnerId *int32 `xml:"ownerId" json:"ownerId,omitempty"`
	// The group ID.
	//
	// If this property is not specified when passing a
	// `GuestPosixFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the default value will be the group Id of the user who invoked
	// the file transfer operation.
	GroupId *int32 `xml:"groupId" json:"groupId,omitempty"`
	// The file permissions.
	//
	// When creating a file with
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// these are in chmod(2) format. When reporting on
	// existing files, these are in stat(2) format.
	// If this property is not specified when passing a
	// `GuestPosixFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the file will be created with 0644 permissions.
	Permissions int64 `xml:"permissions,omitempty" json:"permissions,omitempty"`
}

Different attributes for Posix guest file.

type GuestProcessInfo

type GuestProcessInfo struct {
	DynamicData

	// The process name
	Name string `xml:"name" json:"name"`
	// The process ID
	Pid int64 `xml:"pid" json:"pid"`
	// The process owner
	Owner string `xml:"owner" json:"owner"`
	// The full command line
	CmdLine string `xml:"cmdLine" json:"cmdLine"`
	// The start time of the process
	StartTime time.Time `xml:"startTime" json:"startTime"`
	// If the process was started using
	// `GuestProcessManager.StartProgramInGuest`
	// then the process completion time will be available if
	// queried within 5 minutes after it completes.
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
	// If the process was started using
	// `GuestProcessManager.StartProgramInGuest`
	// then the process exit code will be available if
	// queried within 5 minutes after it completes.
	ExitCode int32 `xml:"exitCode,omitempty" json:"exitCode,omitempty"`
}

type GuestProcessNotFound

type GuestProcessNotFound struct {
	GuestOperationsFault

	// The process ID that was not found.
	Pid int64 `xml:"pid" json:"pid"`
}

A GuestProcessNotFound exception is thrown when an operation fails because the guest process specified does not exist.

type GuestProcessNotFoundFault

type GuestProcessNotFoundFault GuestProcessNotFound

type GuestProgramSpec

type GuestProgramSpec struct {
	DynamicData

	// The absolute path to the program to start.
	//
	// For Linux guest operating systems, /bin/bash is used to start the
	// program.
	//
	// For Solaris guest operating systems, /bin/bash is used to start
	// the program if it exists.
	// Otherwise /bin/sh is used. If /bin/sh is used, then the process ID
	// returned by `GuestProcessManager.StartProgramInGuest` will be that of the shell used
	// to start the program, rather than the program itself, due to the
	// differences in how /bin/sh and /bin/bash work. This PID will
	// still be usable for watching the process with
	// `GuestProcessManager.ListProcessesInGuest` to
	// find its exit code and elapsed time.
	ProgramPath string `xml:"programPath" json:"programPath"`
	// The arguments to the program.
	//
	// In Linux and Solaris guest operating
	// systems, the program will be executed by a guest shell.
	// This allows stdio redirection, but may also
	// require that characters which must be escaped to the shell also
	// be escaped on the command line provided.
	//
	// For Windows guest operating systems, prefixing the command with
	// "cmd /c" can provide stdio redirection.
	Arguments string `xml:"arguments" json:"arguments"`
	// The absolute path of the working directory for the program to be
	// run.
	//
	// VMware recommends explicitly setting the working directory
	// for the program to be run. If this value is unset or is an empty
	// string, the behavior depends on the guest operating system.
	// For Linux guest operating systems, if this value is unset or is
	// an empty string, the working directory will be the home directory
	// of the user associated with the guest authentication.
	// For other guest operating systems, if this value is unset, the
	// behavior is unspecified.
	WorkingDirectory string `xml:"workingDirectory,omitempty" json:"workingDirectory,omitempty"`
	// An array of environment variables, specified
	// in the guest OS notation (eg PATH=c:\\bin;c:\\windows\\system32
	// or LD\_LIBRARY\_PATH=/usr/lib:/lib), to be set for the program
	// being run.
	//
	// Note that these are not additions to the default
	// environment variables; they define the complete set available to
	// the program. If none are specified the values are guest dependent.
	EnvVariables []string `xml:"envVariables,omitempty" json:"envVariables,omitempty"`
}

This describes the arguments to `GuestProcessManager.StartProgramInGuest`.

func (*GuestProgramSpec) GetGuestProgramSpec

func (b *GuestProgramSpec) GetGuestProgramSpec() *GuestProgramSpec

type GuestQuiesceEndGuestQuiesceError added in v0.29.0

type GuestQuiesceEndGuestQuiesceError string

End guest quiesce phase error types.

type GuestRegKeyNameSpec

type GuestRegKeyNameSpec struct {
	DynamicData

	// The full path to a registry key.
	RegistryPath string `xml:"registryPath" json:"registryPath"`
	// The wow bitness, one of `GuestRegKeyWowSpec_enum`.
	WowBitness string `xml:"wowBitness" json:"wowBitness"`
}

This describes the registry key name.

type GuestRegKeyRecordSpec

type GuestRegKeyRecordSpec struct {
	DynamicData

	// The key.
	Key GuestRegKeySpec `xml:"key" json:"key"`
	// Any error that occurred while trying to access this key.
	//
	// Presence of this fault indicates that a recursive listing failed to
	// open this key to find keys below it in the tree. This could be a
	// result of insufficient user permissions within the guest.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

This describes the registry key record.

type GuestRegKeySpec

type GuestRegKeySpec struct {
	DynamicData

	// The key name.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// The user-defined class type of this key.
	ClassType string `xml:"classType" json:"classType"`
	// Time stamp of last modification.
	LastWritten time.Time `xml:"lastWritten" json:"lastWritten"`
}

This describes the registry key.

type GuestRegKeyWowSpec

type GuestRegKeyWowSpec string

This describes the bitness (32-bit or 64-bit) of a registry view in a Windows OS that supports WOW64.

WOW64 (short for Windows 32-bit on Windows 64-bit) is the x86 emulator that allows 32-bit Windows-based applications to run seamlessly on 64-bit Windows. Please refer to these MSDN sites for more details: http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx and

type GuestRegValueBinarySpec

type GuestRegValueBinarySpec struct {
	GuestRegValueDataSpec

	// The data of the registry value.
	//
	// The Windows registry allows this type of value to exist without
	// having any data associated with it.
	Value []byte `xml:"value,omitempty" json:"value,omitempty"`
}

This describes the registry value binary.

type GuestRegValueDataSpec

type GuestRegValueDataSpec struct {
	DynamicData
}

This describes the registry value data.

func (*GuestRegValueDataSpec) GetGuestRegValueDataSpec

func (b *GuestRegValueDataSpec) GetGuestRegValueDataSpec() *GuestRegValueDataSpec

type GuestRegValueDwordSpec

type GuestRegValueDwordSpec struct {
	GuestRegValueDataSpec

	// The data of the registry value.
	Value int32 `xml:"value" json:"value"`
}

This describes the registry value dword.

type GuestRegValueExpandStringSpec

type GuestRegValueExpandStringSpec struct {
	GuestRegValueDataSpec

	// The expanded (if applicable) data of the registry value.
	//
	// The Windows registry allows this type of value to exist without
	// having any data associated with it.
	Value string `xml:"value,omitempty" json:"value,omitempty"`
}

This describes the registry value expand string.

type GuestRegValueMultiStringSpec

type GuestRegValueMultiStringSpec struct {
	GuestRegValueDataSpec

	// The data of the registry value.
	//
	// The Windows registry allows this type of value to exist without
	// having any data associated with it.
	Value []string `xml:"value,omitempty" json:"value,omitempty"`
}

This describes the registry value multi string.

type GuestRegValueNameSpec

type GuestRegValueNameSpec struct {
	DynamicData

	// The key name that contains this value.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// The name of the value.
	Name string `xml:"name" json:"name"`
}

This describes the registry value name.

type GuestRegValueQwordSpec

type GuestRegValueQwordSpec struct {
	GuestRegValueDataSpec

	// The data of the registry value.
	Value int64 `xml:"value" json:"value"`
}

This describes the registry value qword.

type GuestRegValueSpec

type GuestRegValueSpec struct {
	DynamicData

	// The value name.
	Name GuestRegValueNameSpec `xml:"name" json:"name"`
	// The value data.
	//
	// Use one of the extended classes to specify data type:
	// `GuestRegValueDwordSpec`,
	// `GuestRegValueQwordSpec`,
	// `GuestRegValueStringSpec`,
	// `GuestRegValueExpandStringSpec`,
	// `GuestRegValueMultiStringSpec`,
	// `GuestRegValueBinarySpec`.
	Data BaseGuestRegValueDataSpec `xml:"data,typeattr" json:"data"`
}

This describes the registry value.

type GuestRegValueStringSpec

type GuestRegValueStringSpec struct {
	GuestRegValueDataSpec

	// The data of the registry value.
	//
	// The Windows registry allows this type of value to exist without
	// having any data associated with it.
	Value string `xml:"value,omitempty" json:"value,omitempty"`
}

This describes the registry value string.

type GuestRegistryFault

type GuestRegistryFault struct {
	GuestOperationsFault

	// The windows system error number from GetLastError().
	WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode" json:"windowsSystemErrorCode"`
}

A GuestRegistryFault exception is thrown when an operation fails because of some errors in accessing/modifying the guest registry.

func (*GuestRegistryFault) GetGuestRegistryFault

func (b *GuestRegistryFault) GetGuestRegistryFault() *GuestRegistryFault

type GuestRegistryFaultFault

type GuestRegistryFaultFault BaseGuestRegistryFault

type GuestRegistryKeyAlreadyExists

type GuestRegistryKeyAlreadyExists struct {
	GuestRegistryKeyFault
}

A GuestRegistryKeyAlreadyExists exception is thrown when an operation fails because the guest registry key specified already exists.

type GuestRegistryKeyAlreadyExistsFault

type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists

type GuestRegistryKeyFault

type GuestRegistryKeyFault struct {
	GuestRegistryFault

	// The full path to the windows registry key.
	KeyName string `xml:"keyName" json:"keyName"`
}

A GuestRegistryKeyFault exception is thrown when an operation fails because of some errors in accessing/modifying a guest registry key.

func (*GuestRegistryKeyFault) GetGuestRegistryKeyFault

func (b *GuestRegistryKeyFault) GetGuestRegistryKeyFault() *GuestRegistryKeyFault

type GuestRegistryKeyFaultFault

type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault

type GuestRegistryKeyHasSubkeys

type GuestRegistryKeyHasSubkeys struct {
	GuestRegistryKeyFault
}

A GuestRegistryKeyHasSubkeys exception is thrown when an operation fails because the guest registry key has subkeys.

If a delete on the key is desired, please use the recursive delete option.

type GuestRegistryKeyHasSubkeysFault

type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys

type GuestRegistryKeyInvalid

type GuestRegistryKeyInvalid struct {
	GuestRegistryKeyFault
}

A GuestRegistryKeyInvalid exception is thrown when an operation fails because the guest registry key specified was not valid (most probably due to an invalid HKEY Root in the key path), or does not exist.

type GuestRegistryKeyInvalidFault

type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid

type GuestRegistryKeyParentVolatile

type GuestRegistryKeyParentVolatile struct {
	GuestRegistryKeyFault
}

A GuestRegistryKeyParentVolatile exception is thrown when trying to create a non-volatile registry subkey under a volatile registry parent key.

type GuestRegistryKeyParentVolatileFault

type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile

type GuestRegistryValueFault

type GuestRegistryValueFault struct {
	GuestRegistryFault

	// The full path to the windows registry key containing the value.
	KeyName string `xml:"keyName" json:"keyName"`
	// The name of the value.
	ValueName string `xml:"valueName" json:"valueName"`
}

A GuestRegistryValueFault exception is thrown when an operation fails because of some errors in accessing/modifying a guest registry value.

func (*GuestRegistryValueFault) GetGuestRegistryValueFault

func (b *GuestRegistryValueFault) GetGuestRegistryValueFault() *GuestRegistryValueFault

type GuestRegistryValueFaultFault

type GuestRegistryValueFaultFault BaseGuestRegistryValueFault

type GuestRegistryValueNotFound

type GuestRegistryValueNotFound struct {
	GuestRegistryValueFault
}

A GuestRegistryValueNotFound exception is thrown when an operation fails because the guest registry Value specified was not found.

type GuestRegistryValueNotFoundFault

type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound

type GuestScreenInfo

type GuestScreenInfo struct {
	DynamicData

	// Width of the screen in pixels.
	Width int32 `xml:"width" json:"width"`
	// Height of the screen in pixels.
	Height int32 `xml:"height" json:"height"`
}

Screen settings

type GuestStackInfo

type GuestStackInfo struct {
	DynamicData

	// Client DNS configuration.
	//
	// How DNS queries are resolved.
	DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
	// IP route table configuration.
	IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
	// Report Kernel IP configuration settings.
	//
	// The key part contains a unique number in the report.
	// The value part contains the 'key=value'
	// as provided by the underlying provider.
	// For example on Linux, BSD, the
	// systcl -a output would be reported as:
	// key='5', value='net.ipv4.tcp\_keepalive\_time = 7200'
	IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty" json:"ipStackConfig,omitempty"`
	// Client side DHCP for a given interface.
	//
	// This reports only the system wide dhcp client settings.
	// See NicInfo.IpConfig for per interface settings.
	// For example on Linux, BSD systems:
	// Using the file dhclient.conf output would be reported as:
	// key='1', value='timeout 60;'
	// key='2', value='reboot 10;'
	DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty" json:"dhcpConfig,omitempty"`
}

Information about the Internet Protocol stack as configured in the guest operating system.

type GuestWindowsFileAttributes

type GuestWindowsFileAttributes struct {
	GuestFileAttributes

	// The file is hidden.
	//
	// If this property is not specified when passing a
	// `GuestWindowsFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the file will not be set as a hidden file.
	Hidden *bool `xml:"hidden" json:"hidden,omitempty"`
	// The file is read-only.
	//
	// If this property is not specified when passing a
	// `GuestWindowsFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest`,
	// the file will not be set as a read-only file.
	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty"`
	// The date and time the file was created.
	//
	// This property gives information about files when returned from
	// `GuestFileManager.ListFilesInGuest` or
	// `GuestFileManager.InitiateFileTransferFromGuest`
	// as part of a `GuestWindowsFileAttributes`
	// object. This property will be ignored when passing a
	// `GuestWindowsFileAttributes` object to
	// `GuestFileManager.InitiateFileTransferToGuest` or
	// `GuestFileManager.ChangeFileAttributesInGuest`.
	CreateTime *time.Time `xml:"createTime" json:"createTime,omitempty"`
}

Different attributes for a Windows guest file.

type GuestWindowsProgramSpec

type GuestWindowsProgramSpec struct {
	GuestProgramSpec

	// Makes any program window start minimized.
	StartMinimized bool `xml:"startMinimized" json:"startMinimized"`
}

This describes the arguments to `GuestProcessManager.StartProgramInGuest` that apply only for Windows guests.

type HAErrorsAtDest

type HAErrorsAtDest struct {
	MigrationFault
}

The destination compute resource is HA-enabled, and HA is not running properly.

This will cause the following problems: 1\) The VM will not have HA protection. 2\) If this is an intracluster VMotion, HA will not be properly informed that the migration completed. This can have serious consequences to the functioning of HA.

type HAErrorsAtDestFault

type HAErrorsAtDestFault HAErrorsAtDest

type HasFault

type HasFault interface {
	Fault() BaseMethodFault
}

type HasMonitoredEntity added in v0.12.0

type HasMonitoredEntity HasMonitoredEntityRequestType

type HasMonitoredEntityRequestType added in v0.12.0

type HasMonitoredEntityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
	// An entity of type HostSystem.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `HealthUpdateManager.HasMonitoredEntity`.

type HasMonitoredEntityResponse added in v0.12.0

type HasMonitoredEntityResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type HasPrivilegeOnEntitiesRequestType

type HasPrivilegeOnEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The set of entities on which the privileges are checked.
	//
	// Required privileges: System.Read
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
	// The session ID to check privileges for. A sesssion ID can be
	// obtained from `UserSession.key`.
	SessionId string `xml:"sessionId" json:"sessionId"`
	// The array of privilege IDs to check.
	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
}

The parameters of `AuthorizationManager.HasPrivilegeOnEntities`.

type HasPrivilegeOnEntitiesResponse

type HasPrivilegeOnEntitiesResponse struct {
	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HasPrivilegeOnEntityRequestType

type HasPrivilegeOnEntityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity on which the privileges are checked.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The session ID to check privileges for. A sesssion ID can be
	// obtained from `UserSession.key`.
	SessionId string `xml:"sessionId" json:"sessionId"`
	// The array of privilege IDs to check.
	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
}

The parameters of `AuthorizationManager.HasPrivilegeOnEntity`.

type HasPrivilegeOnEntityResponse

type HasPrivilegeOnEntityResponse struct {
	Returnval []bool `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HasProvider added in v0.12.0

type HasProvider HasProviderRequestType

type HasProviderRequestType added in v0.12.0

type HasProviderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	Id string `xml:"id" json:"id"`
}

The parameters of `HealthUpdateManager.HasProvider`.

type HasProviderResponse added in v0.12.0

type HasProviderResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type HasUserPrivilegeOnEntities added in v0.12.0

type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType

type HasUserPrivilegeOnEntitiesRequestType added in v0.12.0

type HasUserPrivilegeOnEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// are the managed objects to check privileges on. If they
	// refer to managed objects that are not managed entities
	// the privilege check will be done on the root folder.
	//
	// Required privileges: System.View
	Entities []ManagedObjectReference `xml:"entities" json:"entities"`
	// is the name of the user to check privileges for. Both
	// UPN and PreWindows2000LogonName user name formats
	// are supported.
	UserName string `xml:"userName" json:"userName"`
	// is the set of privileges to check for
	PrivId []string `xml:"privId,omitempty" json:"privId,omitempty"`
}

The parameters of `AuthorizationManager.HasUserPrivilegeOnEntities`.

type HasUserPrivilegeOnEntitiesResponse added in v0.12.0

type HasUserPrivilegeOnEntitiesResponse struct {
	Returnval []EntityPrivilege `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HbrDiskMigrationAction

type HbrDiskMigrationAction struct {
	ClusterAction

	// HMS Service specific collection id
	CollectionId string `xml:"collectionId" json:"collectionId"`
	// HMS specific name of this collection
	CollectionName string `xml:"collectionName" json:"collectionName"`
	// HBR disk ids of secondary disks moved by this action
	DiskIds []string `xml:"diskIds" json:"diskIds"`
	// Source datastore.
	//
	// Refers instance of `Datastore`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// Destination datastore.
	//
	// Refers instance of `Datastore`.
	Destination ManagedObjectReference `xml:"destination" json:"destination"`
	// The amount of data to be transferred.
	//
	// Unit: KB.
	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
	// Space utilization on the source datastore before storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
	// Space utilization on the destination datastore before storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
	// Expected space utilization on the source datastore after storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
	// Expected space utilization on the destination datastore after storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
	// I/O latency on the source datastore before storage migration.
	//
	// Unit: millisecond.
	// If not set, the value is not available.
	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
	// I/O latency on the destination datastore before storage migration.
	//
	// Unit: millisecond.
	// If not set, the value is not available.
	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
}

Describes a single HBR secondary disk migration action.

The storage migration action applies either to a single disk or a set of secondary virtual disks.

type HbrManagerReplicationVmInfo

type HbrManagerReplicationVmInfo struct {
	DynamicData

	// A string representing the current `ReplicationVmState_enum` of the virtual machine.
	State string `xml:"state" json:"state"`
	// Progress stats for the current operation.
	//
	// Never present if the state is
	// not "syncing" or "active". If not present while in one of these states,
	// the host is still gathering initial operation statistics (progress can
	// be assumed to be 0).
	ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty" json:"progressInfo,omitempty"`
	// An optional imageId that identifies the instance being created,
	// this is the imagId string that is passed to
	// `HbrManager.HbrCreateInstance_Task` or
	// `HbrManager.HbrStartOfflineInstance_Task`
	ImageId string `xml:"imageId,omitempty" json:"imageId,omitempty"`
	// A MethodFault representing the last replication specific error
	// that the `VirtualMachine` encountered during a create
	// instance operation.
	//
	// The successful creation of an instance
	// will clear any error.
	LastError *LocalizedMethodFault `xml:"lastError,omitempty" json:"lastError,omitempty"`
}

This data object represents the essential information about the state of a given replicated `VirtualMachine`.

type HbrManagerVmReplicationCapability

type HbrManagerVmReplicationCapability struct {
	DynamicData

	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// A string representing the current `QuiesceMode_enum` of the virtual machine.
	SupportedQuiesceMode string `xml:"supportedQuiesceMode" json:"supportedQuiesceMode"`
	// Flag indicating compression support on the host on which this virtual
	// machine is running.
	CompressionSupported bool `xml:"compressionSupported" json:"compressionSupported"`
	// Maximum disk size supported (in bytes) on the host on which this virtual
	// machine is running.
	MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity" json:"maxSupportedSourceDiskCapacity"`
	// Minimum rpo supported (in minutes) on the host on which this virtual
	// machine is running.
	MinRpo int64 `xml:"minRpo,omitempty" json:"minRpo,omitempty"`
	// If we are unable to find the VM, we would set this to NotFound fault.
	//
	// And, if we are unable to find the host for a given VM, then we would
	// set this to HostNotReachable fault.
	// Unset if we are able to fetch the capabilities for the VM.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

This data object represents the capabilities of a given `VirtualMachine`.

type HealthStatusChangedEvent

type HealthStatusChangedEvent struct {
	Event

	// Unique ID of the VirtualCenter component.
	ComponentId string `xml:"componentId" json:"componentId"`
	// Previous health status of the component.
	OldStatus string `xml:"oldStatus" json:"oldStatus"`
	// Current health status of the component.
	NewStatus string `xml:"newStatus" json:"newStatus"`
	// Component name.
	ComponentName string `xml:"componentName" json:"componentName"`
	// Service Id of component.
	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty" vim:"6.0"`
}

Event used to report change in health status of VirtualCenter components.

type HealthSystemRuntime

type HealthSystemRuntime struct {
	DynamicData

	// Available system health information
	SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty" json:"systemHealthInfo,omitempty"`
	// Available hardware health information
	HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty" json:"hardwareStatusInfo,omitempty"`
}

The system health runtime information

type HealthUpdate added in v0.12.0

type HealthUpdate struct {
	DynamicData

	// The entity on which the health update occurred.
	//
	// Only host is supported.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The ID of the corresponding HealthUpdateInfo.
	HealthUpdateInfoId string `xml:"healthUpdateInfoId" json:"healthUpdateInfoId"`
	// The ID of this particular HealthUpdate instance, for cross-reference
	// with HealthUpdateProvider logs.
	Id string `xml:"id" json:"id"`
	// The current health status.
	//
	// Values are of type
	// `Status`.
	Status ManagedEntityStatus `xml:"status" json:"status"`
	// A description of the physical remediation required to resolve this
	// health update.
	//
	// For example, "Replace Fan #3".
	Remediation string `xml:"remediation" json:"remediation"`
}

type HealthUpdateInfo added in v0.12.0

type HealthUpdateInfo struct {
	DynamicData

	// The identifier provided by the HealthUpdateProvider.
	//
	// Identifiers are
	// required to be unique per HealthUpdateProvider.
	Id string `xml:"id" json:"id"`
	// The component type.
	//
	// For supported values, see `HealthUpdateInfoComponentType_enum`
	ComponentType string `xml:"componentType" json:"componentType"`
	// A description of the change in health.
	Description string `xml:"description" json:"description"`
}

type HealthUpdateInfoComponentType added in v0.12.0

type HealthUpdateInfoComponentType string

type HeterogenousHostsBlockingEVC

type HeterogenousHostsBlockingEVC struct {
	EVCConfigFault
}

An attempt to enable Enhanced VMotion Compatibility on a cluster has failed because the cluster contains CPUs from more than one vendor.

type HeterogenousHostsBlockingEVCFault

type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC

type HostAccessControlEntry

type HostAccessControlEntry struct {
	DynamicData

	// User or group having the described access mode.
	//
	// The format is "login" for local users or "DOMAIN\\login" for users
	// in a Windows domain.
	Principal string `xml:"principal" json:"principal"`
	// True if 'principal' describes a group account, false otherwise.
	Group bool `xml:"group" json:"group"`
	// Access mode for the principal.
	AccessMode HostAccessMode `xml:"accessMode" json:"accessMode"`
}

Data structure describing the access mode for a user or group.

type HostAccessMode

type HostAccessMode string

Defines different access modes that a user may have on the host for direct host connections.

The assumption here is that when the host is managed by vCenter, we don't need fine-grained control on local user permissions like the

type HostAccessRestrictedToManagementServer

type HostAccessRestrictedToManagementServer struct {
	NotSupported

	// Name/IP of the server currently managing this host.
	ManagementServer string `xml:"managementServer" json:"managementServer"`
}

Fault thrown when an attempt is made to adjust resource settings directly on a host that is being managed by VC.

VC is currently the source of truth for all resource pools on the host. Examples of methods affected by this are:

  • create respool
  • update respool
  • change VM resource settings.

type HostAccessRestrictedToManagementServerFault

type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer

type HostAccountSpec

type HostAccountSpec struct {
	DynamicData

	// The ID of the specified account.
	Id string `xml:"id" json:"id"`
	// The password for a user or group.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
	// The description of the specified account.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

This data object type contains common parameters for local account creation.

The password and description properties are not supported for group accounts on POSIX hosts.

func (*HostAccountSpec) GetHostAccountSpec

func (b *HostAccountSpec) GetHostAccountSpec() *HostAccountSpec

type HostActiveDirectory

type HostActiveDirectory struct {
	DynamicData

	// Configuration change operation to apply to the host.
	//
	// You can specify
	// the following values:
	//     - `add`:
	//       Add the host to the domain. The ESX Server will use the
	//       `HostActiveDirectorySpec` information
	//       (domain, account user name and password) to call
	//       `HostActiveDirectoryAuthentication.JoinDomain_Task` and optionally
	//       configure smart card authentication by calling
	//       `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
	//       and replacing the trust anchors with those provided.
	//     - `remove`:
	//       Remove the host from its current domain.
	//       The ESX Server will call
	//       `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`, specifying
	//       <code>True</code> for the <code>force</code> parameter to delete
	//       existing permissions.
	//       `HostActiveDirectoryAuthentication.DisableSmartCardAuthentication`
	//       is also called if smart card authentication is enabled and trust
	//       anchors are removed.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
	// Active Directory domain access information (domain and account
	// user name and password).
	Spec *HostActiveDirectorySpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The `HostActiveDirectory` data object contains Active Directory configuration information for an ESX host.

The vSphere API supports Microsoft Active Directory management of authentication for ESX hosts. To integrate an ESX host into an Active Directory environment, you use an Active Directory account that has the authority to add a computer to a domain. The ESX Server locates the Active Directory domain controller. When you use the host profile to configure authentication for an ESX host, you specify the configuration operation (add or remove). To add the host to a domain, specify the domain, and the authorized Active Directory account user name and password. You do not need to specify these parameters to remove the host from a domain because the host has the information it needs to perform the operation. When you call `HostProfileManager.ApplyHostConfig_Task` to apply the configuration, the ESX Server will call the appropriate method (`HostActiveDirectoryAuthentication.JoinDomain_Task` or `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`) on your behalf.

Before you call the method to apply the host profile, check to see that the `HostAuthenticationManager*.*HostAuthenticationManager.supportedStore` array contains a `HostActiveDirectoryAuthentication` object. The presence of the Active Directory authentication object indicates that a host is capable of joining a domain. However, if you try to add a host to a domain when the `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled` property is <code>True</code>, the join method will throw a fault.

As an alternative to using the host profile to configure Active Directory authentication for an ESX host, your vSphere client application can call the `HostActiveDirectoryAuthentication` join and leave methods directly to add the host to or remove the host from a domain.

To take advantage of ESX host membership in an Active Directory domain, grant permissions on the ESX host to users and groups in Active Directory who should have direct access to management of the ESX host. Use the `UserDirectory*.*UserDirectory.RetrieveUserGroups` method to obtain information about Active Directory users and groups. After retrieving the Active Directory data, you can use the `AuthorizationManager*.*AuthorizationManager.SetEntityPermissions` method to set the `Permission.principal` property to the appropriate user or group.

By default, the ESX host assigns the Administrator role to the "ESX Admins" group. If the group does not exist when the host joins the domain, the host will not assign the role. In this case, you must create the "ESX Admins" group in the Active Directory. The host will periodically check the domain controller for the group and will assign the role when the group exists.

type HostActiveDirectoryAuthenticationCertificateDigest

type HostActiveDirectoryAuthenticationCertificateDigest string

type HostActiveDirectoryInfo

type HostActiveDirectoryInfo struct {
	HostDirectoryStoreInfo

	// The domain that this host joined.
	JoinedDomain string `xml:"joinedDomain,omitempty" json:"joinedDomain,omitempty"`
	// List of domains with which the <code>joinedDomain</code> has a trust.
	//
	// The <code>joinedDomain</code> is not included in the
	// <code>trustedDomain</code> list.
	TrustedDomain []string `xml:"trustedDomain,omitempty" json:"trustedDomain,omitempty"`
	// Health information about the domain membership.
	//
	// See `HostActiveDirectoryInfoDomainMembershipStatus_enum`.
	DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty" json:"domainMembershipStatus,omitempty"`
	// Whether local smart card authentication is enabled.
	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty" vim:"6.0"`
}

The `HostActiveDirectoryInfo` data object describes ESX host membership in an Active Directory domain.

If the `HostAuthenticationStoreInfo*.*HostAuthenticationStoreInfo.enabled` property is <code>True</code>, the host is a member of a domain and the ESX Server will set the domain information properties.

type HostActiveDirectoryInfoDomainMembershipStatus

type HostActiveDirectoryInfoDomainMembershipStatus string

type HostActiveDirectorySpec

type HostActiveDirectorySpec struct {
	DynamicData

	// Domain name.
	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
	// Name of an Active Directory account with the authority
	// to add a host to the domain.
	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
	// Password for the Active Directory account.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
	// If set, the CAM server will be used to join the domain
	// and the <code>userName</code> and <code>password</code> fields
	// will be ignored.
	CamServer string `xml:"camServer,omitempty" json:"camServer,omitempty" vim:"5.0"`
	// Thumbprint for the SSL certficate of CAM server
	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty" vim:"5.0"`
	// Support smart card authentication of local users.
	SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled" json:"smartCardAuthenticationEnabled,omitempty" vim:"6.0"`
	// Trusted root certificates for smart cards.
	SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty" json:"smartCardTrustAnchors,omitempty" vim:"6.0"`
}

The `HostActiveDirectorySpec` data object defines properties for Active Directory domain access.

type HostAddFailedEvent

type HostAddFailedEvent struct {
	HostEvent

	Hostname string `xml:"hostname" json:"hostname"`
}

This event records that adding a host failed.

type HostAddedEvent

type HostAddedEvent struct {
	HostEvent
}

This event records the addition of a host to VirtualCenter.

type HostAdminDisableEvent

type HostAdminDisableEvent struct {
	HostEvent
}

This event records that the permission on the host has been changed such that only the user account used for VirtualCenter operation will have Administrator permission.

type HostAdminEnableEvent

type HostAdminEnableEvent struct {
	HostEvent
}

This event records that the administrator permission has been restored.

type HostApplyProfile

type HostApplyProfile struct {
	ApplyProfile

	// Memory configuration for the host.
	//
	// This may not be valid for all versions of the host.
	Memory *HostMemoryProfile `xml:"memory,omitempty" json:"memory,omitempty"`
	// Host storage configuration.
	Storage *StorageProfile `xml:"storage,omitempty" json:"storage,omitempty"`
	// Network configuration.
	Network *NetworkProfile `xml:"network,omitempty" json:"network,omitempty"`
	// Date and time configuration.
	Datetime *DateTimeProfile `xml:"datetime,omitempty" json:"datetime,omitempty"`
	// Firewall configuration.
	Firewall *FirewallProfile `xml:"firewall,omitempty" json:"firewall,omitempty"`
	// Security Configuration of the host.
	//
	// The security subprofile can include data such as administrator passwords.
	Security *SecurityProfile `xml:"security,omitempty" json:"security,omitempty"`
	// Host configuration for services.
	//
	// Use the `ServiceProfile.key` property
	// to access a subprofile in the list.
	Service []ServiceProfile `xml:"service,omitempty" json:"service,omitempty"`
	// List of subprofiles representing advanced configuration options.
	//
	// Use the `OptionProfile.key` property to access a subprofile
	// in the list.
	Option []OptionProfile `xml:"option,omitempty" json:"option,omitempty"`
	// List of subprofiles for user accounts to be configured on the host.
	//
	// Use the `UserProfile.key` property to access a subprofile
	// in the list.
	UserAccount []UserProfile `xml:"userAccount,omitempty" json:"userAccount,omitempty"`
	// List of subprofiles for user groups to be configured on the host.
	//
	// Use the `UserGroupProfile.key` property to access a subprofile
	// in the list.
	UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty" json:"usergroupAccount,omitempty"`
	// Authentication Configuration.
	Authentication *AuthenticationProfile `xml:"authentication,omitempty" json:"authentication,omitempty" vim:"4.1"`
}

The `HostApplyProfile` data object provides access to subprofiles that contain configuration data for different host capabilities.

The Profile Engine will use any configuration data that you supply to overwrite the host configuration. See the `HostProfile.ExecuteHostProfile` and `HostProfileManager.ApplyHostConfig_Task` methods.

type HostAssignableHardwareBinding added in v0.23.0

type HostAssignableHardwareBinding struct {
	DynamicData

	// Instance ID of assigned device.
	InstanceId string `xml:"instanceId" json:"instanceId"`
	// Virtual machine to which the device is assigned.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

Data object indicating a device instance has been allocated to a VM.

type HostAssignableHardwareConfig added in v0.23.0

type HostAssignableHardwareConfig struct {
	DynamicData

	// List of attribute overrides.
	AttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"attributeOverride,omitempty" json:"attributeOverride,omitempty"`
}

The AssignableHardwareConfig data object describes properties of all assignable devices on the host.

type HostAssignableHardwareConfigAttributeOverride added in v0.23.0

type HostAssignableHardwareConfigAttributeOverride struct {
	DynamicData

	// Instance ID of the Assignable Hardware instance node where
	// the attribute specified by name is overridden.
	InstanceId string `xml:"instanceId" json:"instanceId"`
	// Name of attribute to override.
	Name string `xml:"name" json:"name"`
	// When AssignableHardwareConfig is a returned data object:
	// Value returned will always be set.
	//
	// When AssignableHardwareConfig is used as a parameter to
	// an operation updating Assignable Hardware configuration:
	// If value is set, an existing AttributeOverride with matching
	// instanceId and name will have its value updated; if there is
	// no existing AttributeOverride that matches, a new
	// AttributeOverride is created. The type of the value must match
	// the type of the attribute value being overridden.
	// If value is not set, an existing AttributeOverride matching
	// the specified instanceId and name is deleted.
	Value AnyType `xml:"value,typeattr" json:"value"`
}

An AttributeOverride provides a name-value pair that overrides for a particular instance node a configurable Attribute defined by that device.

type HostAuthenticationManagerInfo

type HostAuthenticationManagerInfo struct {
	DynamicData

	// An array containing entries for local authentication and host
	// Active Directory authentication.
	//     - `HostLocalAuthenticationInfo` - Local authentication is always enabled.
	//     - `HostActiveDirectoryInfo` - Host Active Directory authentication information
	//       includes the name of the domain, membership status,
	//       and a list of other domains trusted by the membership domain.
	AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr" json:"authConfig"`
}

The `HostAuthenticationManagerInfo` data object provides access to authentication information for the ESX host.

type HostAuthenticationStoreInfo

type HostAuthenticationStoreInfo struct {
	DynamicData

	// Indicates whether the authentication store is configured.
	//     - Host Active Directory authentication - <code>enabled</code>
	//       is <code>True</code> if the host is a member of a domain.
	//     - Local authentication - <code>enabled</code> is always <code>True</code>.
	Enabled bool `xml:"enabled" json:"enabled"`
}

The `HostAuthenticationStoreInfo` base class defines status information for local and host Active Directory authentication.

func (*HostAuthenticationStoreInfo) GetHostAuthenticationStoreInfo

func (b *HostAuthenticationStoreInfo) GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo

type HostAutoStartManagerConfig

type HostAutoStartManagerConfig struct {
	DynamicData

	// System defaults for auto-start/auto-stop.
	Defaults *AutoStartDefaults `xml:"defaults,omitempty" json:"defaults,omitempty"`
	// Lists the auto-start/auto-stop configuration.
	//
	// If a virtual machine is not
	// mentioned in this array, it does not participate in auto-start/auto-stop
	// operations.
	PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty" json:"powerInfo,omitempty"`
}

Contains the entire auto-start/auto-stop configuration.

type HostBIOSInfo

type HostBIOSInfo struct {
	DynamicData

	// The current BIOS version of the physical chassis
	BiosVersion string `xml:"biosVersion,omitempty" json:"biosVersion,omitempty"`
	// The release date for the BIOS.
	ReleaseDate *time.Time `xml:"releaseDate" json:"releaseDate,omitempty"`
	// The vendor for the BIOS.
	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty" vim:"6.5"`
	// BIOS Major Release
	MajorRelease int32 `xml:"majorRelease,omitempty" json:"majorRelease,omitempty" vim:"6.5"`
	// "BIOS Minor Release
	MinorRelease         int32 `xml:"minorRelease,omitempty" json:"minorRelease,omitempty" vim:"6.5"`
	FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty" json:"firmwareMajorRelease,omitempty"`
	// Embedded Controller Firmware Minor Release
	FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty" json:"firmwareMinorRelease,omitempty" vim:"6.5"`
	// Firmware Type of the host.
	//
	// The set of supported values is described
	// in `HostBIOSInfoFirmwareType_enum`
	FirmwareType string `xml:"firmwareType,omitempty" json:"firmwareType,omitempty" vim:"8.0.2.0"`
}

type HostBIOSInfoFirmwareType added in v0.31.0

type HostBIOSInfoFirmwareType string

type HostBlockAdapterTargetTransport

type HostBlockAdapterTargetTransport struct {
	HostTargetTransport
}

Block adapter transport information about a SCSI target.

type HostBlockHba

type HostBlockHba struct {
	HostHostBusAdapter
}

This data object type describes the host bus adapter that provides block devices.

type HostBootDevice

type HostBootDevice struct {
	DynamicData

	// The identifier for the boot device.
	Key string `xml:"key" json:"key"`
	// The description of the boot device.
	Description string `xml:"description" json:"description"`
}

The `HostBootDevice` data object represents a boot device on the host system.

type HostBootDeviceInfo

type HostBootDeviceInfo struct {
	DynamicData

	// The list of boot devices present on the host
	BootDevices []HostBootDevice `xml:"bootDevices,omitempty" json:"bootDevices,omitempty"`
	// The key of the current boot device that the host is configured to
	// boot.
	//
	// This property is unset if the current boot device is disabled.
	CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty" json:"currentBootDeviceKey,omitempty"`
}

This data object represents the boot device information of the host.

type HostCacheConfigurationInfo

type HostCacheConfigurationInfo struct {
	DynamicData

	// Datastore used for swap performance enhancements.
	//
	// Refers instance of `Datastore`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Space allocated on this datastore to implement swap performance
	// enhancements, in MB.
	SwapSize int64 `xml:"swapSize" json:"swapSize"`
}

Host solid state drive cache configuration information.

type HostCacheConfigurationSpec

type HostCacheConfigurationSpec struct {
	DynamicData

	// Datastore used for swap performance enhancement.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Space to allocate on this datastore to implement swap performance
	// enhancements, in MB.
	//
	// This value should be less or equal to free space
	// capacity on the datastore `DatastoreSummary.freeSpace`.
	SwapSize int64 `xml:"swapSize" json:"swapSize"`
}

Host cache configuration specification.

type HostCapability

type HostCapability struct {
	DynamicData

	RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported" json:"recursiveResourcePoolsSupported"`
	// Flag indicating whether cpu and memory resource configuration is
	// supported.
	//
	// If this is set to false,
	// `ResourcePool.UpdateConfig`,
	// `ResourcePool.UpdateChildResourceConfiguration`
	// cannot be used for changing the cpu/memory resource configurations.
	CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported" json:"cpuMemoryResourceConfigurationSupported" vim:"2.5"`
	// Flag indicating whether rebooting the host is supported.
	RebootSupported bool `xml:"rebootSupported" json:"rebootSupported"`
	// Flag indicating whether the host can be powered off
	ShutdownSupported bool `xml:"shutdownSupported" json:"shutdownSupported"`
	// Flag indicating whether you can perform VMotion.
	VmotionSupported bool `xml:"vmotionSupported" json:"vmotionSupported"`
	// Flag indicating whether you can put the host in a power down
	// state, from which it can be powered up automatically.
	StandbySupported bool `xml:"standbySupported" json:"standbySupported" vim:"2.5"`
	// Flag indicating whether the host supports
	// IPMI (Intelligent Platform Management Interface).
	//
	// XXX - Make ipmiSupported optional until there is a compatible hostagent.
	IpmiSupported *bool `xml:"ipmiSupported" json:"ipmiSupported,omitempty" vim:"4.0"`
	// The maximum number of virtual machines that can exist on this host.
	//
	// If this capability is not set, the number of virtual machines is
	// unlimited.
	MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty" json:"maxSupportedVMs,omitempty"`
	// The maximum number of virtual machines that can be running
	// simultaneously on this host.
	//
	// If this capability is not set, the number of virtual machines
	// running simultaneously is unlimited.
	MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty" json:"maxRunningVMs,omitempty"`
	// The maximum number of virtual CPUs supported per virtual machine.
	//
	// If this capability is not set, the number is unlimited.
	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty" json:"maxSupportedVcpus,omitempty"`
	// The maximum number of registered virtual machines supported by
	// the host.
	//
	// If this limit is exceeded, the management agent will be
	// at risk of running out of system resources. `configIssue` will be posted on
	// `HostSystem` in this case.
	//
	// If this capability is not set, the number is unknown.
	MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty" json:"maxRegisteredVMs,omitempty" vim:"5.1"`
	// Flag indicating whether datastore principal user
	// is supported on the host.
	DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported" json:"datastorePrincipalSupported"`
	// Flag indicating whether access to SAN devices is supported.
	SanSupported bool `xml:"sanSupported" json:"sanSupported"`
	// Is access to NFS devices supported.
	NfsSupported bool `xml:"nfsSupported" json:"nfsSupported"`
	// Is access to iSCSI devices supported.
	IscsiSupported bool `xml:"iscsiSupported" json:"iscsiSupported"`
	// Is VLAN Tagging supported.
	VlanTaggingSupported bool `xml:"vlanTaggingSupported" json:"vlanTaggingSupported"`
	// Is NIC teaming supported.
	NicTeamingSupported bool `xml:"nicTeamingSupported" json:"nicTeamingSupported"`
	// Is high guest memory supported.
	HighGuestMemSupported bool `xml:"highGuestMemSupported" json:"highGuestMemSupported"`
	// Is maintenance mode supported
	MaintenanceModeSupported bool `xml:"maintenanceModeSupported" json:"maintenanceModeSupported"`
	// Indicates whether this host supports relocation of
	// suspended virtual machines.
	//
	// Must be true on the source
	// and destination hosts for the relocation to work.
	SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported" json:"suspendedRelocateSupported"`
	// Indicates whether this host supports relocation of
	// virtual machines with snapshots.
	//
	// Must be true on the
	// source and destination hosts for the relocation to work.
	// Even if this is true, the following conditions must hold:
	// 1\) All the the vm's files are in one directory prior
	// to the relocate.
	// 2\) All of the vm's files will be in one directory
	// after the relocate.
	// 3\) The source and destination hosts are the same product
	// version.
	RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported" json:"restrictedSnapshotRelocateSupported" vim:"2.5"`
	// Flag indicating whether virtual machine execution on this host involves
	// a swapfile for each virtual machine.
	//
	// If true, the swapfile placement
	// for a powered-on virtual machine is advertised in its FileLayout by
	// the `swapFile` property.
	PerVmSwapFiles bool `xml:"perVmSwapFiles" json:"perVmSwapFiles" vim:"2.5"`
	// Flag indicating whether the host supports selecting a datastore that
	// that may be used to store virtual machine swapfiles.
	LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported" json:"localSwapDatastoreSupported" vim:"2.5"`
	// Flag indicating whether the host supports participating in a VMotion
	// where the virtual machine swapfile is not visible to the destination.
	UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported" json:"unsharedSwapVMotionSupported" vim:"2.5"`
	// Flag indicating whether background snapshots are supported on this host.
	BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported" json:"backgroundSnapshotsSupported" vim:"2.5"`
	// Flag to indicate whether the server returns unit numbers in a
	// pre-assigned range for devices on the PCI bus.
	//
	// When the server supports this flag, the device unit number namespace is
	// partitioned by device type. Different types of devices will sit in
	// a specific range of unit numbers that may not correspond to physical
	// slots in the pci bus but present a relative ordering of the devices
	// with respect to other devices of the same type.
	// Note that this does not mean that the user can set the relative ordering
	// between device types, but only allows stable orderings between devices
	// of the same type. The unit number will now clearly represent an ordering
	// between devices of the same type.
	// `VirtualDevice.unitNumber`
	// This property is only available for devices on the pci controller.
	PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported" json:"preAssignedPCIUnitNumbersSupported" vim:"2.5"`
	// Indicates whether the screenshot retrival over https is supported for this host's
	// virtual machines.
	//
	// If true, a screenshot can be retrieved at the HTTPS relative path
	// _/screen?id=&lt;managed object ID of virtual machine or snapshot&gt;_.
	// If any of the optional parameters 'top', 'left', 'bottom', and 'right' is
	// specified, the returned image will be cropped from the rectangle with upper left
	// corner (left, top) and bottom right corner (right - 1, bottom - 1). These values
	// default to the top, left, bottom and right edges of the image.
	// The client must use an authenticated session with privilege
	// VirtualMachine.Interact.ConsoleInteract on the requested virtual machine or,
	// in the case of a snapshot, the virtual machine associated with that snapshot.
	ScreenshotSupported bool `xml:"screenshotSupported" json:"screenshotSupported" vim:"2.5"`
	// Indicates whether scaling is supported for screenshots retrieved over https.
	//
	// If true, screenshot retrieval supports the additional optional
	// parameters 'width' and 'height'. After cropping, the returned image will be scaled
	// to these dimensions. If only one of these parameters is specified, default behavior
	// is to return an image roughly proportional to the source image.
	ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported" json:"scaledScreenshotSupported" vim:"2.5"`
	// Indicates whether the storage of a powered-on virtual machine may be
	// relocated.
	StorageVMotionSupported *bool `xml:"storageVMotionSupported" json:"storageVMotionSupported,omitempty" vim:"4.0"`
	// Indicates whether the storage of a powered-on virtual machine may be
	// relocated while simultaneously changing the execution host of the
	// virtual machine.
	VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported" json:"vmotionWithStorageVMotionSupported,omitempty" vim:"4.0"`
	// Indicates whether the network of a powered-on virtual machine can be
	// changed while simultaneously changing the execution host of the
	// virtual machine.
	VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported" json:"vmotionAcrossNetworkSupported,omitempty" vim:"5.5"`
	// Maximum number of migrating disks allowed of a migrating VM during SVMotion.
	//
	// If this capability is not set, then the maximum is considered to be 64.
	MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty" json:"maxNumDisksSVMotion,omitempty" vim:"6.0"`
	// Maximum version of vDiskVersion supported by this host.
	//
	// If this capability is not set, then the maximum is considered to be 6.
	MaxVirtualDiskDescVersionSupported int32 `xml:"maxVirtualDiskDescVersionSupported,omitempty" json:"maxVirtualDiskDescVersionSupported,omitempty" vim:"8.0.1.0"`
	// Indicates whether a dedicated nic can be selected for vSphere Replication
	// LWD traffic, i.e., from the primary host to the VR server.
	HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported" json:"hbrNicSelectionSupported,omitempty" vim:"5.1"`
	// Indicates whether a dedicated nic can be selected for vSphere Replication
	// NFC traffic, i.e., from the VR server to the secondary host.
	VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported" json:"vrNfcNicSelectionSupported,omitempty" vim:"6.0"`
	// Deprecated as of vSphere API 6.0.
	//
	// Indicates whether this host supports record and replay
	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 6.0.
	//
	// Indicates whether this host supports Fault Tolerance
	// There can be many reasons why a host does not support Fault
	// Tolerance, which includes CPU compatibility, product
	// compatibility as well as other host configuration settings.
	//
	// For specific reasons, look into
	// `HostCapability.replayCompatibilityIssues` and
	// `HostCapability.ftCompatibilityIssues`
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	FtSupported *bool `xml:"ftSupported" json:"ftSupported,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 4.1, use
	// `HostCapability.replayCompatibilityIssues`.
	//
	// For a host whose CPU doesn't support replay, indicates the reason
	// for the incompatibility.
	//
	// `HostReplayUnsupportedReason_enum`
	// represents the set of possible values.
	ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty" json:"replayUnsupportedReason,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 6.0.
	//
	// For a host which doesn't support replay, indicates all the reasons
	// for the incompatibility.
	//
	// `HostReplayUnsupportedReason_enum`
	// lists the set of possible values.
	ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty" json:"replayCompatibilityIssues,omitempty" vim:"4.1"`
	// Indicates whether this host supports smp fault tolerance
	SmpFtSupported *bool `xml:"smpFtSupported" json:"smpFtSupported,omitempty" vim:"6.0"`
	// Deprecated as of vSphere API 6.0.
	//
	// For a host which doesn't support Fault Tolerance, indicates all the reasons
	// for the incompatibility.
	//
	// `HostCapabilityFtUnsupportedReason_enum`
	// lists the set of possible values.
	FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty" json:"ftCompatibilityIssues,omitempty" vim:"4.1"`
	// For a host which doesn't support smp fault tolerance, indicates all the
	// reasons for the incompatibility.
	//
	// `HostCapabilityFtUnsupportedReason_enum` lists the set of possible
	// values.
	SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty" json:"smpFtCompatibilityIssues,omitempty" vim:"6.0"`
	// The maximum number of vCPUs allowed for a fault-tolerant virtual machine.
	MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty" json:"maxVcpusPerFtVm,omitempty" vim:"6.0"`
	// Flag indicating whether this host supports SSL thumbprint authentication
	LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported" json:"loginBySSLThumbprintSupported,omitempty" vim:"4.0"`
	// Indicates whether or not cloning a virtual machine from a snapshot
	// point is allowed.
	//
	// This property must be true on the host where the virtual machine
	// is currently residing. This property need not be true on the
	// destination host for the clone.
	//
	// See also `VirtualMachineCloneSpec.snapshot`.
	CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported" json:"cloneFromSnapshotSupported,omitempty" vim:"4.0"`
	// Flag indicating whether explicitly creating arbirary configurations of
	// delta disk backings is supported.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// If this property is false, then delta disk backings can only be implicitly
	// created through using snapshot operations and two virtual machines cannot
	// safely share a parent disk backing.
	//
	// If this property is true, then delta disk backings can be explicitly created
	// and managed, and two virtual machines may safely share a parent disk backing.
	//
	// In the context above, "safely" means that performing operations on one of the
	// virtual machines will not affect the operation of the other virtual machine.
	//
	// See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachine.PromoteDisks_Task`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
	DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported" json:"deltaDiskBackingsSupported,omitempty" vim:"4.0"`
	// Indicates whether network traffic shaping on a
	// per virtual machine basis is supported.
	PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported" json:"perVMNetworkTrafficShapingSupported,omitempty" vim:"2.5 U2"`
	// Flag indicating whether this host supports the integrity measurement using
	// a TPM device.
	TpmSupported *bool `xml:"tpmSupported" json:"tpmSupported,omitempty" vim:"4.0"`
	// TPM version if supported by this host.
	TpmVersion string `xml:"tpmVersion,omitempty" json:"tpmVersion,omitempty" vim:"6.7"`
	// Flag indicating whether Intel TXT is enabled on this host.
	TxtEnabled *bool `xml:"txtEnabled" json:"txtEnabled,omitempty" vim:"6.7"`
	// Deprecated as of vSphere API 6.5 use
	// `featureCapability`.
	//
	// CPU feature set that is supported by the virtualization platform.
	//
	// This
	// feature set may reflect characteristics of the product capabilities and
	// licensing. For any feature marked '-', reference the
	// `cpuFeature` array of the host's
	// HardwareInfo to determine the correct value.
	SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty" json:"supportedCpuFeature,omitempty" vim:"4.0"`
	// Indicates whether the host supports configuring hardware
	// virtualization (HV) support for virtual machines.
	VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported" json:"virtualExecUsageSupported,omitempty" vim:"4.0"`
	// Indicates whether the host supports storage I/O resource
	// management.
	StorageIORMSupported *bool `xml:"storageIORMSupported" json:"storageIORMSupported,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Indicates whether the host supports network passthrough using
	// VMDirectPath Gen 2.
	//
	// Note that this is a general capability for the host
	// and is independent of support by a given physical NIC. If false, the
	// reason(s) for lack of support will be provided in
	// `HostCapability.vmDirectPathGen2UnsupportedReason` and/or in
	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended`.
	//
	// See also `PhysicalNic.vmDirectPathGen2Supported`.
	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// If `HostCapability.vmDirectPathGen2Supported` is false, this array will be
	// populated with reasons for the lack of support (chosen from
	// `HostCapabilityVmDirectPathGen2UnsupportedReason_enum`).
	//
	// If there is a reason for
	// the lack of support that cannot be described by the available constants,
	// `HostCapability.vmDirectPathGen2UnsupportedReasonExtended` will be populated
	// with an additional explanation provided by the platform.
	//
	// Note that this list of reasons is not guaranteed to be exhaustive.
	//
	// If the reason "hostNptIncompatibleProduct" is provided, then that will
	// be the only provided reason, as the host software is incapable of
	// providing additional information.
	VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty" json:"vmDirectPathGen2UnsupportedReason,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// If `HostCapability.vmDirectPathGen2Supported` is false, this property may
	// contain an explanation provided by the platform, beyond the reasons (if
	// any) enumerated in `HostCapability.vmDirectPathGen2UnsupportedReason`.
	VmDirectPathGen2UnsupportedReasonExtended string `` /* 126-byte string literal not displayed */
	// List of VMFS major versions supported by the host.
	SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty" json:"supportedVmfsMajorVersion,omitempty" vim:"5.0"`
	// Indicates whether the host supports vStorage Hardware
	// acceleration.
	VStorageCapable *bool `xml:"vStorageCapable" json:"vStorageCapable,omitempty" vim:"4.1"`
	// Indicates whether this host supports unrestricted relocation of virtual
	// machines with snapshots.
	//
	// Only needs to be true on the destination host for
	// the unrestricted relocation to work. The full snapshot relocation does not
	// restrict the layout of snapshot files or disks of the virtual machine, nor
	// its power state. If the virtual machine is powered on, a storage vmotion
	// will be performed to relocate its snapshots and disks.
	SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported" json:"snapshotRelayoutSupported,omitempty" vim:"5.0"`
	// Indicates whether this host supports ip address based restrictions in
	// the firewall configuration.
	FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported" json:"firewallIpRulesSupported,omitempty" vim:"5.0"`
	// Indicates whether this host supports package information in service
	// configuration.
	ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported" json:"servicePackageInfoSupported,omitempty" vim:"5.0"`
	// The maximum number of virtual machines that can be run on the host.
	//
	// An unset value indicates that the value could not be obtained. In contrast
	// to `HostCapability.maxRunningVMs`, this value is the minimum of (i) the maximum
	// number supported by the hardware and (ii) the maximum number permitted by
	// the host license.
	MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty" json:"maxHostRunningVms,omitempty" vim:"5.0"`
	// The maximum number of virtual CPUs that can be run on the host.
	//
	// An unset
	// value indicates that the value could not be obtained. In contrast to
	// `HostCapability.maxSupportedVcpus`, this value is the minimum of (i) the maximum
	// number supported by the hardware and (ii) the maximum number permitted by
	// the host license.
	MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty" json:"maxHostSupportedVcpus,omitempty" vim:"5.0"`
	// Indicates whether the host is capable of mounting/unmounting
	// VMFS datastores.
	VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable" json:"vmfsDatastoreMountCapable,omitempty" vim:"5.0"`
	// Indicates whether the host is capable of accessing a VMFS disk
	// when there are eight or more hosts accessing the disk already.
	EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported" json:"eightPlusHostVmfsSharedAccessSupported,omitempty" vim:"5.1"`
	// Indicates whether the host supports nested hardware-assisted virtualization.
	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty" vim:"5.1"`
	// Indicates whether the host supports virtual CPU performance counters.
	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty" vim:"5.1"`
	// Indicates whether the host supports VMCI for communication
	// between virtual machines.
	InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported" json:"interVMCommunicationThroughVMCISupported,omitempty" vim:"5.1"`
	// Indicates whether the host supports scheduled hardware upgrades.
	//
	// See also `VirtualMachineConfigInfo.scheduledHardwareUpgradeInfo`.
	ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported" json:"scheduledHardwareUpgradeSupported,omitempty" vim:"5.1"`
	// Indicated whether the host supports feature capabilities
	// for EVC mode.
	FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported" json:"featureCapabilitiesSupported,omitempty" vim:"5.1"`
	// Indicates whether the host supports latency sensitivity for the
	// virtual machines.
	LatencySensitivitySupported *bool `xml:"latencySensitivitySupported" json:"latencySensitivitySupported,omitempty" vim:"5.1"`
	// Indicates that host supports Object-based Storage System and
	// Storage-Profile based disk provisioning.
	StoragePolicySupported *bool `xml:"storagePolicySupported" json:"storagePolicySupported,omitempty" vim:"5.5"`
	// Indicates if 3D hardware acceleration for virtual machines is supported.
	Accel3dSupported *bool `xml:"accel3dSupported" json:"accel3dSupported,omitempty" vim:"5.1"`
	// Indicates that this host uses a reliable memory aware allocation policy.
	ReliableMemoryAware *bool `xml:"reliableMemoryAware" json:"reliableMemoryAware,omitempty" vim:"5.5"`
	// Indicates whether the host supports Multiple Instance TCP/IP stack
	MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported" json:"multipleNetworkStackInstanceSupported,omitempty" vim:"5.5"`
	// Indicates whether the message bus proxy is supported
	MessageBusProxySupported *bool `xml:"messageBusProxySupported" json:"messageBusProxySupported,omitempty" vim:"6.0"`
	// Indicates whether the host supports VSAN functionality.
	//
	// See also `HostVsanSystem`.
	VsanSupported *bool `xml:"vsanSupported" json:"vsanSupported,omitempty" vim:"5.5"`
	// Indicates whether the host supports vFlash.
	VFlashSupported *bool `xml:"vFlashSupported" json:"vFlashSupported,omitempty" vim:"5.5"`
	// Whether this host supports HostAccessManager for controlling direct
	// access to the host and for better lockdown mode management.
	HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported" json:"hostAccessManagerSupported,omitempty" vim:"6.0"`
	// Indicates whether a dedicated nic can be selected for vSphere Provisioning
	// NFC traffic.
	ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported" json:"provisioningNicSelectionSupported,omitempty" vim:"6.0"`
	// Whether this host supports NFS41 file systems.
	Nfs41Supported *bool `xml:"nfs41Supported" json:"nfs41Supported,omitempty" vim:"6.0"`
	// Whether this host support NFS41 Kerberos 5\* security type.
	Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported" json:"nfs41Krb5iSupported,omitempty" vim:"6.5"`
	// Indicates whether turning on/off local disk LED is supported
	// on the host.
	//
	// See also `HostStorageSystem.TurnDiskLocatorLedOn_Task`, `HostStorageSystem.TurnDiskLocatorLedOff_Task`.
	TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported" json:"turnDiskLocatorLedSupported,omitempty" vim:"6.0"`
	// Indicates whether this host supports VirtualVolume based Datastore.
	VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported" json:"virtualVolumeDatastoreSupported,omitempty" vim:"6.0"`
	// Indicates whether mark disk as SSD or Non-SSD is supported
	// on the host.
	//
	// See also `HostStorageSystem.MarkAsSsd_Task`, `HostStorageSystem.MarkAsNonSsd_Task`.
	MarkAsSsdSupported *bool `xml:"markAsSsdSupported" json:"markAsSsdSupported,omitempty" vim:"6.0"`
	// Indicates whether mark disk as local or remote is supported
	// on the host.
	//
	// See also `HostStorageSystem.MarkAsLocal_Task`, `HostStorageSystem.MarkAsNonLocal_Task`.
	MarkAsLocalSupported *bool `xml:"markAsLocalSupported" json:"markAsLocalSupported,omitempty" vim:"6.0"`
	// Indicates whether this host supports local two-factor user
	// authentication using smart cards.
	//
	// See also `HostActiveDirectoryAuthentication.EnableSmartCardAuthentication`.
	SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported" json:"smartCardAuthenticationSupported,omitempty" vim:"6.0"`
	// Indicates whether this host supports persistent memory.
	//
	// If value is not specified, it should be considered as not supported.
	PMemSupported *bool `xml:"pMemSupported" json:"pMemSupported,omitempty" vim:"6.7"`
	// Indicates whether this host supports snapshots for VMs with virtual
	// devices backed by persistent memory.
	//
	// If value is not specified, it should be considered as not supported.
	PMemSnapshotSupported *bool `xml:"pMemSnapshotSupported" json:"pMemSnapshotSupported,omitempty" vim:"6.7"`
	// Flag indicating whether Cryptographer feature is supported.
	CryptoSupported *bool `xml:"cryptoSupported" json:"cryptoSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports granular datastore cache update.
	//
	// If value is not specified, it should be considered as not supported.
	OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported" json:"oneKVolumeAPIsSupported,omitempty" vim:"6.5"`
	// Flag indicating whether default gateway can be configured on a
	// vmkernel nic.
	GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported" json:"gatewayOnNicSupported,omitempty" vim:"6.5"`
	// Deprecated as of vSphere API 8.0, and there is no replacement for it.
	//
	// Indicate whether this host supports UPIT
	UpitSupported *bool `xml:"upitSupported" json:"upitSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports hardware-based MMU virtualization.
	CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported" json:"cpuHwMmuSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports encrypted vMotion.
	EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported" json:"encryptedVMotionSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports changing the encryption state
	// of a virtual disk when the disk is being added or removed from a
	// virtual machine configuration.
	EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported" json:"encryptionChangeOnAddRemoveSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports changing the encryption state
	// of a virtual machine, or virtual disk, while the virtual machine
	// is powered on.
	EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported" json:"encryptionHotOperationSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports changing the encryption state
	// state of a virtual machine, or virtual disk, while the virtual
	// machine has snapshots present.
	EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported" json:"encryptionWithSnapshotsSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports enabling Fault Tolerance on
	// encrypted virtual machines.
	EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported" json:"encryptionFaultToleranceSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports suspending, or creating
	// with-memory snapshots, encrypted virtual machines.
	EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported" json:"encryptionMemorySaveSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports encrypting RDM backed virtual
	// disks.
	EncryptionRDMSupported *bool `xml:"encryptionRDMSupported" json:"encryptionRDMSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports encrypting virtual disks with
	// vFlash cache enabled.
	EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported" json:"encryptionVFlashSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports encrypting virtual disks with
	// Content Based Read Cache (digest disks) enabled.
	EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported" json:"encryptionCBRCSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports encrypting virtual disks with
	// Host Based Replication enabled.
	EncryptionHBRSupported *bool `xml:"encryptionHBRSupported" json:"encryptionHBRSupported,omitempty" vim:"6.5"`
	// Indicates whether this host supports Fault Tolerance VMs that have
	// specified UEFI firmware.
	FtEfiSupported *bool `xml:"ftEfiSupported" json:"ftEfiSupported,omitempty" vim:"6.7"`
	// Indicates which kind of VMFS unmap method is supported.
	//
	// See
	// `HostCapabilityUnmapMethodSupported_enum`
	UnmapMethodSupported string `xml:"unmapMethodSupported,omitempty" json:"unmapMethodSupported,omitempty" vim:"6.7"`
	// Indicates maximum memory allowed for Fault Tolerance virtual machine.
	MaxMemMBPerFtVm int32 `xml:"maxMemMBPerFtVm,omitempty" json:"maxMemMBPerFtVm,omitempty" vim:"6.7"`
	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
	// ignored by the host, always operating as if "on" was selected.
	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty" vim:"6.7"`
	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
	// ignored by the host, always operating as if "hvOn" was selected.
	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty" vim:"6.7"`
	// Indicates that createDate feature is supported by the host.
	VmCreateDateSupported *bool `xml:"vmCreateDateSupported" json:"vmCreateDateSupported,omitempty" vim:"6.7"`
	// Indicates whether this host supports VMFS-3 EOL.
	//
	// If value is not specified, it should be considered as not supported.
	Vmfs3EOLSupported *bool `xml:"vmfs3EOLSupported" json:"vmfs3EOLSupported,omitempty" vim:"6.7"`
	// Indicates whether this host supports VMCP for Fault Tolerance VMs.
	FtVmcpSupported *bool `xml:"ftVmcpSupported" json:"ftVmcpSupported,omitempty" vim:"6.7"`
	// Indicates whether this host supports the LoadESX feature
	// which allows faster reboots.
	//
	// See also `HostLoadEsxManager.QueryLoadEsxSupported`.
	QuickBootSupported *bool `xml:"quickBootSupported" json:"quickBootSupported,omitempty" vim:"6.7.1"`
	// Indicates whether this host supports encrypted Fault Tolerance.
	EncryptedFtSupported *bool `xml:"encryptedFtSupported" json:"encryptedFtSupported,omitempty" vim:"7.0.2.0"`
	// Indicates whether this host supports Assignable Hardware.
	AssignableHardwareSupported *bool `xml:"assignableHardwareSupported" json:"assignableHardwareSupported,omitempty" vim:"7.0"`
	// Indicates whether this host supports suspending virtual machines to memory.
	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
	// Indicates whether this host uses vmFeatures for compatibility checking
	// of old (&leq;8) virtual hardware version VMs.
	UseFeatureReqsForOldHWv *bool `xml:"useFeatureReqsForOldHWv" json:"useFeatureReqsForOldHWv,omitempty" vim:"6.8.7"`
	// Indicates whether this host supports marking specified LUN as
	// perennially reserved.
	MarkPerenniallyReservedSupported *bool `xml:"markPerenniallyReservedSupported" json:"markPerenniallyReservedSupported,omitempty" vim:"6.7.2"`
	// Indicates whether this host supports HPP path selection policy
	// settings.
	HppPspSupported *bool `xml:"hppPspSupported" json:"hppPspSupported,omitempty" vim:"7.0"`
	// Indicates whether device rebind without reboot is supported.
	//
	// This is
	// the capability which enables PCI passthrough and SR-IOV configuration
	// without reboot.
	DeviceRebindWithoutRebootSupported *bool `xml:"deviceRebindWithoutRebootSupported" json:"deviceRebindWithoutRebootSupported,omitempty" vim:"7.0"`
	// Indicates whether this host supports storage policy change.
	StoragePolicyChangeSupported *bool `xml:"storagePolicyChangeSupported" json:"storagePolicyChangeSupported,omitempty" vim:"7.0"`
	// Indicates whether this host supports date time synchronization over
	// Precision Time Protocol (PTP).
	PrecisionTimeProtocolSupported *bool `xml:"precisionTimeProtocolSupported" json:"precisionTimeProtocolSupported,omitempty" vim:"7.0"`
	// Indicates whether vMotion of a VM with remote devices attached is
	// supported.
	//
	// This applies to CD-ROM and floppy devices backed by a
	// remote client.
	RemoteDeviceVMotionSupported *bool `xml:"remoteDeviceVMotionSupported" json:"remoteDeviceVMotionSupported,omitempty" vim:"7.0"`
	// The maximum amount of virtual memory supported per virtual machine.
	//
	// If this capability is not set, the size is limited by hardware version
	// of the virtual machine only.
	MaxSupportedVmMemory int32 `xml:"maxSupportedVmMemory,omitempty" json:"maxSupportedVmMemory,omitempty" vim:"7.0"`
	// Indicates if the host supports Assignable Hardware device hints.
	AhDeviceHintsSupported *bool `xml:"ahDeviceHintsSupported" json:"ahDeviceHintsSupported,omitempty" vim:"7.0.2.0"`
	// Indicates if access to NVMe over TCP devices is supported.
	NvmeOverTcpSupported *bool `xml:"nvmeOverTcpSupported" json:"nvmeOverTcpSupported,omitempty" vim:"7.0.3.0"`
	// Indicates whether NVMe Storage Fabrics Services (StFS) are supported.
	NvmeStorageFabricServicesSupported *bool `xml:"nvmeStorageFabricServicesSupported" json:"nvmeStorageFabricServicesSupported,omitempty" vim:"7.0.3.0"`
	// Indicates if setting hardwareLabel using PciPassThrough is supported.
	AssignHwPciConfigSupported *bool `xml:"assignHwPciConfigSupported" json:"assignHwPciConfigSupported,omitempty" vim:"7.0.2.0"`
	// Indicates whether advanced timekeeping apis are supported
	TimeConfigSupported *bool `xml:"timeConfigSupported" json:"timeConfigSupported,omitempty" vim:"7.0.3.0"`
	// Indicates whether batch NVMe controller connection/disconnection is supported.
	//
	// See `HostStorageSystem.ConnectNvmeControllerEx_Task` and
	// `HostStorageSystem.DisconnectNvmeControllerEx_Task`.
	NvmeBatchOperationsSupported *bool `xml:"nvmeBatchOperationsSupported" json:"nvmeBatchOperationsSupported,omitempty" vim:"7.0.3.0"`
	// Indicates whether this host supports failover for VMs with virtual
	// devices backed by persistent memory.
	//
	// If value is not specified, it should be considered as not supported.
	PMemFailoverSupported *bool `xml:"pMemFailoverSupported" json:"pMemFailoverSupported,omitempty" vim:"7.0.2.0"`
	// Indicates whether this host supports host configuration encryption.
	HostConfigEncryptionSupported *bool `xml:"hostConfigEncryptionSupported" json:"hostConfigEncryptionSupported,omitempty" vim:"7.0.2.0"`
	// Max supported number of SMT (Simultaneous multithreading) threads.
	//
	// If value is not specified, it should be considered as not supported.
	MaxSupportedSimultaneousThreads int32 `xml:"maxSupportedSimultaneousThreads,omitempty" json:"maxSupportedSimultaneousThreads,omitempty" vim:"8.0.0.1"`
	// Indicates whether this host supports PTP (Precision Time Protocol)
	// service configuration.
	//
	// See `HostPtpConfig`. If value is
	// not specified, it should be considered as not supported.
	PtpConfigSupported *bool `xml:"ptpConfigSupported" json:"ptpConfigSupported,omitempty" vim:"7.0.3.0"`
	// Number of PTP (Precision Time Protocol) ports supported by this
	// host (See `HostPtpConfig`).
	//
	// If this capability is not
	// set, number of PTP ports in the host is 0.
	MaxSupportedPtpPorts int32 `xml:"maxSupportedPtpPorts,omitempty" json:"maxSupportedPtpPorts,omitempty" vim:"7.0.3.0"`
	// Indicates whether this host supports SGX registration.
	SgxRegistrationSupported *bool `xml:"sgxRegistrationSupported" json:"sgxRegistrationSupported,omitempty" vim:"8.0.0.1"`
	// Indicates whether this host supports snapshots of VMs configured
	// with independent vNVDIMMs.
	//
	// If value is not specified, it should be considered as not supported.
	// This support does not depend on `HostCapability.pMemSnapshotSupported`.
	PMemIndependentSnapshotSupported *bool `xml:"pMemIndependentSnapshotSupported" json:"pMemIndependentSnapshotSupported,omitempty" vim:"7.0.3.0"`
	// Indicates whether this host's IOMMUs are capable of tracking pages
	// written by device DMAs using dirty bits in the second-level page
	// tables.
	//
	// If this value is not specified, it should be considered as
	// not capable.
	IommuSLDirtyCapable *bool `xml:"iommuSLDirtyCapable" json:"iommuSLDirtyCapable,omitempty" vim:"8.0.0.1"`
	// Indicates whether vmknic binding is supported over this host.
	VmknicBindingSupported *bool `xml:"vmknicBindingSupported" json:"vmknicBindingSupported,omitempty" vim:"8.0.1.0"`
	// Indicates whether ultralow fixed unmap bandwidth is supported on this host.
	UltralowFixedUnmapSupported *bool `xml:"ultralowFixedUnmapSupported" json:"ultralowFixedUnmapSupported,omitempty" vim:"8.0.0.1"`
	// Indicates whether mounting of NVMe vvol is supported on this host.
	NvmeVvolSupported *bool `xml:"nvmeVvolSupported" json:"nvmeVvolSupported,omitempty" vim:"8.0.0.0"`
	// Indicates whether FPT Hotplug is supported on this host.
	FptHotplugSupported *bool `xml:"fptHotplugSupported" json:"fptHotplugSupported,omitempty" vim:"8.0.1.0"`
	// Indicates whether MCONNECT is supported on this host.
	MconnectSupported *bool `xml:"mconnectSupported" json:"mconnectSupported,omitempty" vim:"8.0.1.0"`
	// Indicates whether vSAN nic types can be managed by VirtualNicManager.
	VsanNicMgmtSupported *bool `xml:"vsanNicMgmtSupported" json:"vsanNicMgmtSupported,omitempty" vim:"8.0.2.0"`
	// Indicates whether vVol NQN is supported on this host.
	VvolNQNSupported *bool `xml:"vvolNQNSupported" json:"vvolNQNSupported,omitempty" vim:"8.0.2.0"`
}

Specifies the capabilities of the particular host.

This set of capabilities is referenced in other parts of the API specification to indicate under what circumstances an API will throw a `NotSupported` fault.

type HostCapabilityFtUnsupportedReason

type HostCapabilityFtUnsupportedReason string

Deprecated as of vSphere API 7.0, use `VmFaultToleranceConfigIssueReasonForIssue_enum`.

Set of possible values for

type HostCapabilityUnmapMethodSupported added in v0.18.0

type HostCapabilityUnmapMethodSupported string

type HostCapabilityVmDirectPathGen2UnsupportedReason

type HostCapabilityVmDirectPathGen2UnsupportedReason string

type HostCertificateManagerCertificateInfo

type HostCertificateManagerCertificateInfo struct {
	DynamicData

	// Certificate kind, if unset the certificate is Machine certificate
	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
	Kind string `xml:"kind,omitempty" json:"kind,omitempty" vim:"8.0.1.0"`
	// The issuer of the certificate.
	Issuer string `xml:"issuer,omitempty" json:"issuer,omitempty"`
	// The validity of the certificate.
	NotBefore *time.Time `xml:"notBefore" json:"notBefore,omitempty"`
	NotAfter  *time.Time `xml:"notAfter" json:"notAfter,omitempty"`
	// The subject of the certificate.
	Subject string `xml:"subject,omitempty" json:"subject,omitempty"`
	// The status of the certificate in vCenter Server.
	//
	// The possible values for status are as
	// described in `HostCertificateManagerCertificateInfoCertificateStatus_enum`.
	// If queried directly from an ESX host, the property is set to
	// `unknown`.
	Status string `xml:"status" json:"status"`
}

This data object is used to encapsulate the X509 certificate metadata.

type HostCertificateManagerCertificateInfoCertificateStatus

type HostCertificateManagerCertificateInfoCertificateStatus string

The status of a given certificate as computed per the soft and the hard thresholds in vCenter Server.

There are two different thresholds for the host certificate expirations; a soft threshold (which constitutes of two phases) and a hard threshold.

Soft Threshold:

Phase One: vCenter Server will publish an event at this time to let the user know about the status, but, no alarms or warnings are raised.

Phase Two: During this phase, vCenter Server will publish an event and indicate the certificate status as expiring in the UI.

Hard Threshold:

vCenter Server will publish an alarm and indicate via the UI that the

type HostCertificateManagerCertificateKind added in v0.31.0

type HostCertificateManagerCertificateKind string

type HostCertificateManagerCertificateSpec added in v0.31.0

type HostCertificateManagerCertificateSpec struct {
	DynamicData

	// The list of supported values can be found in `HostCertificateManagerCertificateKind_enum`
	Kind string `xml:"kind" json:"kind"`
}

Represents certificate specification used for identifying a specific certificate supported by Host.

type HostClearVStorageObjectControlFlags added in v0.18.0

type HostClearVStorageObjectControlFlags HostClearVStorageObjectControlFlagsRequestType

type HostClearVStorageObjectControlFlagsRequestType added in v0.18.0

type HostClearVStorageObjectControlFlagsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Required privileges: Datastore.FileManagement
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// control flags enum array to be cleared on the
	// VStorageObject. All control flags not included
	// in the array remain intact.
	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
}

The parameters of `HostVStorageObjectManager.HostClearVStorageObjectControlFlags`.

type HostClearVStorageObjectControlFlagsResponse added in v0.18.0

type HostClearVStorageObjectControlFlagsResponse struct {
}

type HostCloneVStorageObjectRequestType added in v0.12.0

type HostCloneVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification for cloning the virtual storage
	// object.
	Spec VslmCloneSpec `xml:"spec" json:"spec"`
}

The parameters of `HostVStorageObjectManager.HostCloneVStorageObject_Task`.

type HostCloneVStorageObject_Task added in v0.12.0

type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType

type HostCloneVStorageObject_TaskResponse added in v0.12.0

type HostCloneVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostCnxFailedAccountFailedEvent

type HostCnxFailedAccountFailedEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a failure to set up a management account.

type HostCnxFailedAlreadyManagedEvent

type HostCnxFailedAlreadyManagedEvent struct {
	HostEvent

	// The name of the VirtualCenter server that manages the host.
	ServerName string `xml:"serverName" json:"serverName"`
}

This event records a failure to connect to a host due to the host being managed by a different VirtualCenter server.

type HostCnxFailedBadCcagentEvent

type HostCnxFailedBadCcagentEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to no response being received from the host agent.

type HostCnxFailedBadUsernameEvent

type HostCnxFailedBadUsernameEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to an invalid user name and password combination.

type HostCnxFailedBadVersionEvent

type HostCnxFailedBadVersionEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to an incompatible client version.

type HostCnxFailedCcagentUpgradeEvent

type HostCnxFailedCcagentUpgradeEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a conflict with an upgrade or installation of the host agent.

type HostCnxFailedEvent

type HostCnxFailedEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to an unspecified condition.

type HostCnxFailedNetworkErrorEvent

type HostCnxFailedNetworkErrorEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a network error.

type HostCnxFailedNoAccessEvent

type HostCnxFailedNoAccessEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to insufficient account privileges.

type HostCnxFailedNoConnectionEvent

type HostCnxFailedNoConnectionEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a host not being present on the network.

type HostCnxFailedNoLicenseEvent

type HostCnxFailedNoLicenseEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a licensing issue.

type HostCnxFailedNotFoundEvent

type HostCnxFailedNotFoundEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a failure to resolve the host name.

type HostCnxFailedTimeoutEvent

type HostCnxFailedTimeoutEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to a timeout on the connection attempt.

type HostCommunication

type HostCommunication struct {
	RuntimeFault
}

A HostCommunication fault is thrown if an error happened while communicating to a host.

This would typically be due to network connections or server failures.

func (*HostCommunication) GetHostCommunication

func (b *HostCommunication) GetHostCommunication() *HostCommunication

type HostCommunicationFault

type HostCommunicationFault BaseHostCommunication

type HostComplianceCheckedEvent

type HostComplianceCheckedEvent struct {
	HostEvent

	Profile ProfileEventArgument `xml:"profile" json:"profile"`
}

This event records that a compliance check was triggered on the host.

type HostCompliantEvent

type HostCompliantEvent struct {
	HostEvent
}

This event records that host is in compliance.

type HostConfigAppliedEvent

type HostConfigAppliedEvent struct {
	HostEvent
}

This event records that a configuration was applied on a host

type HostConfigChange

type HostConfigChange struct {
	DynamicData
}

This data object type describes types and constants related to the specification of changes to a host configuration.

type HostConfigChangeMode

type HostConfigChangeMode string

This is a global mode on a configuration specification indicating whether the structure represents the desired state or the set of operations to apply on the managed object.

type HostConfigChangeOperation

type HostConfigChangeOperation string

This list indicates the operation that should be performed for an entity.

type HostConfigFailed

type HostConfigFailed struct {
	HostConfigFault

	Failure []LocalizedMethodFault `xml:"failure" json:"failure"`
}

Fault to indicate configuration of the host failed.

Configuration could have failed because of multiple reasons and individual failures will be reported in \#failure.

type HostConfigFailedFault

type HostConfigFailedFault HostConfigFailed

type HostConfigFault

type HostConfigFault struct {
	VimFault
}

Base class for all Host configuration related faults

func (*HostConfigFault) GetHostConfigFault

func (b *HostConfigFault) GetHostConfigFault() *HostConfigFault

type HostConfigFaultFault

type HostConfigFaultFault BaseHostConfigFault

type HostConfigInfo

type HostConfigInfo struct {
	DynamicData

	// A reference to a managed object on a host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Information about a product.
	Product AboutInfo `xml:"product" json:"product"`
	// Deployment information about the host.
	DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty" json:"deploymentInfo,omitempty" vim:"6.5"`
	// If hyperthreading is supported, this is the CPU configuration for
	// optimizing hyperthreading.
	HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty" json:"hyperThread,omitempty"`
	// Memory configuration.
	ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty" json:"consoleReservation,omitempty"`
	// Virtual machine memory configuration.
	VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty" json:"virtualMachineReservation,omitempty" vim:"2.5"`
	// Storage system information.
	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
	// Storage multipath state information.
	MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty" json:"multipathState,omitempty" vim:"4.0"`
	// Storage system file system volume information.
	FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty" json:"fileSystemVolume,omitempty"`
	// Datastore paths of files used by the host system on
	// mounted volumes, for instance, the COS vmdk file of the
	// host.
	//
	// For information on datastore paths, see `Datastore`.
	SystemFile []string `xml:"systemFile,omitempty" json:"systemFile,omitempty" vim:"4.1"`
	// Network system information.
	Network *HostNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
	// Deprecated as of VI API 4.0, use `HostConfigInfo.virtualNicManagerInfo`.
	//
	// VMotion system information.
	Vmotion *HostVMotionInfo `xml:"vmotion,omitempty" json:"vmotion,omitempty"`
	// VirtualNic manager information.
	VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty" json:"virtualNicManagerInfo,omitempty" vim:"4.0"`
	// Capability vector indicating the available network features.
	Capabilities *HostNetCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty"`
	// Capability vector indicating available datastore features.
	DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty" json:"datastoreCapabilities,omitempty" vim:"2.5"`
	// Deprecated as of VI API 4.0, the system defaults will be used.
	//
	// capabilities to offload operations either to the host or to physical
	// hardware when a virtual machine is transmitting on a network
	OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty" json:"offloadCapabilities,omitempty"`
	// Host service configuration.
	Service *HostServiceInfo `xml:"service,omitempty" json:"service,omitempty"`
	// Firewall configuration.
	Firewall *HostFirewallInfo `xml:"firewall,omitempty" json:"firewall,omitempty"`
	// AutoStart configuration.
	AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty" json:"autoStart,omitempty"`
	// The diagnostic partition that will be set as the current
	// diagnostic partition on the host.
	ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty" json:"activeDiagnosticPartition,omitempty"`
	// Host configuration options as defined by the
	// `OptionValue` data object type.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
	// A list of supported options.
	OptionDef []OptionDef `xml:"optionDef,omitempty" json:"optionDef,omitempty"`
	// Datastore principal user
	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
	// Datastore visible to this host that may be used to store virtual
	// machine swapfiles, for virtual machines executing on this host.
	//
	// The
	// value of this property is set or unset by invoking
	// `HostDatastoreSystem.UpdateLocalSwapDatastore`.
	// The policy for using this datastore is determined by the compute
	// resource configuration's
	// `vmSwapPlacement`
	// property in concert with each individual virtual machine configuration's
	// `swapPlacement` property.
	//
	// Note: Using a host-specific swap location may degrade VMotion performance.
	//
	// Refers instance of `Datastore`.
	LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty" json:"localSwapDatastore,omitempty" vim:"2.5"`
	// The system swap configuration specifies which options are currently
	// enabled.
	//
	// See also `HostSystemSwapConfiguration`.
	SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty" json:"systemSwapConfiguration,omitempty" vim:"5.1"`
	// Reference for the system resource hierarchy, used for configuring
	// the set of resources reserved to the system and unavailable to
	// virtual machines.
	SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty" json:"systemResources,omitempty"`
	// Date/Time related configuration
	DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty" json:"dateTimeInfo,omitempty" vim:"2.5"`
	// Additional flags for a host.
	Flags *HostFlagInfo `xml:"flags,omitempty" json:"flags,omitempty" vim:"2.5"`
	// Deprecated as of vSphere API 6.0, use `HostConfigInfo.lockdownMode`.
	//
	// If the flag is true, the permissions on the host have been modified such
	// that it is only accessible through local console or an authorized
	// centralized management application.
	//
	// This flag is affected by the
	// `HostSystem.EnterLockdownMode` and
	// `HostSystem.ExitLockdownMode` operations.
	//
	// This flag is supported in VirtualCenter only. The value returned from host
	// should be ignored.
	//
	// See also `HostSystem.EnterLockdownMode`, `HostSystem.ExitLockdownMode`.
	AdminDisabled *bool `xml:"adminDisabled" json:"adminDisabled,omitempty" vim:"2.5"`
	// Indicates the current lockdown mode of the host as reported by
	// `HostAccessManager.lockdownMode`.
	//
	// See also `HostAccessManager.ChangeLockdownMode`.
	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty" vim:"6.0"`
	// IPMI (Intelligent Platform Management Interface) info for the host.
	Ipmi *HostIpmiInfo `xml:"ipmi,omitempty" json:"ipmi,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 5.0, use `HostConfigInfo.sslThumbprintData` instead.
	//
	// SSL Thumbprint info for hosts registered on this host.
	SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty" json:"sslThumbprintInfo,omitempty" vim:"4.0"`
	// SSL Thumbprints registered on this host.
	SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty" json:"sslThumbprintData,omitempty" vim:"5.0"`
	// Full Host Certificate in PEM format, if known
	Certificate []byte `xml:"certificate,omitempty" json:"certificate,omitempty" vim:"5.0"`
	// PCI passthrough information.
	PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr" json:"pciPassthruInfo,omitempty" vim:"4.0"`
	// Current authentication configuration.
	AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty" json:"authenticationManagerInfo,omitempty" vim:"4.1"`
	// List of feature-specific version information.
	//
	// Each element refers
	// to the version information for a specific feature.
	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty" vim:"4.1"`
	// Host power management capability.
	PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty" json:"powerSystemCapability,omitempty" vim:"4.1"`
	// Host power management information.
	PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty" json:"powerSystemInfo,omitempty" vim:"4.1"`
	// Host solid stats drive cache configuration information.
	CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty" json:"cacheConfigurationInfo,omitempty" vim:"5.0"`
	// Indicates if a host is wake on lan capable.
	//
	// A host is deemed wake on lan capable if there exists at least one
	// physical network card that is both backing the vmotion interface and
	// is itself wake on lan capable.
	WakeOnLanCapable *bool `xml:"wakeOnLanCapable" json:"wakeOnLanCapable,omitempty" vim:"5.0"`
	// Array of host feature capabilities.
	//
	// This is expected to change
	// infrequently. It may change while host is in maintenance mode
	// and between reboots if hardware, firmware, or a device driver
	// is changed or upgraded.
	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"5.1"`
	// Array of the feature capabilities that the host has after the
	// mask has been applied.
	MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty" json:"maskedFeatureCapability,omitempty" vim:"5.1"`
	// Host vFlash configuration information
	VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty" json:"vFlashConfigInfo,omitempty" vim:"5.5"`
	// VSAN configuration for a host.
	VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty" json:"vsanHostConfig,omitempty" vim:"5.5"`
	// List of Windows domains available for user searches, if the underlying
	// system supports windows domain membership.
	//
	// See `UserDirectory.domainList`.
	DomainList []string `xml:"domainList,omitempty" json:"domainList,omitempty" vim:"6.0"`
	// A checksum of overhead computation script.
	//
	// (For VMware internal usage only)
	ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty" json:"scriptCheckSum,omitempty" vim:"6.0"`
	// A checksum of host configuration option set.
	//
	// (For VMware internal usage only)
	HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty" json:"hostConfigCheckSum,omitempty" vim:"6.0"`
	// A checksum of the Assignable Hardware Description Tree.
	//
	// (For VMware internal usage only)
	DescriptionTreeCheckSum []byte `xml:"descriptionTreeCheckSum,omitempty" json:"descriptionTreeCheckSum,omitempty" vim:"7.0"`
	// The list of graphics devices available on this host.
	GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty" json:"graphicsInfo,omitempty" vim:"5.5"`
	// Array of shared passthru GPU types.
	//
	// These GPU types may be enabled
	// when specific host hardware is present.
	SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty" json:"sharedPassthruGpuTypes,omitempty" vim:"6.0"`
	// Graphics configuration for a host.
	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty" vim:"6.5"`
	// Array of shared passthru GPU capablities.
	//
	// See also `HostSharedGpuCapabilities`.
	SharedGpuCapabilities []HostSharedGpuCapabilities `xml:"sharedGpuCapabilities,omitempty" json:"sharedGpuCapabilities,omitempty" vim:"6.7"`
	// Information of the IO Filters installed on the host.
	//
	// See `HostIoFilterInfo`.
	IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty" json:"ioFilterInfo,omitempty" vim:"6.0"`
	// Information on SRIOV device pools present on host.
	SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr" json:"sriovDevicePool,omitempty" vim:"6.5"`
	// Information describing Assignable Hardware device bindings on host.
	//
	// See `HostAssignableHardwareBinding`.
	AssignableHardwareBinding []HostAssignableHardwareBinding `xml:"assignableHardwareBinding,omitempty" json:"assignableHardwareBinding,omitempty" vim:"7.0"`
	// Configured assignable hardware device attributes.
	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty" vim:"7.0"`
}

This data object type encapsulates a typical set of host configuration information that is useful for displaying and configuring a host.

VirtualCenter can retrieve this set of information very efficiently even for a large set of hosts.

type HostConfigManager

type HostConfigManager struct {
	DynamicData

	// The CPU scheduler that determines which threads execute on a CPU
	// at any given time.
	//
	// Refers instance of `HostCpuSchedulerSystem`.
	CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty" json:"cpuScheduler,omitempty"`
	// The datastore manager.
	//
	// Refers instance of `HostDatastoreSystem`.
	DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty" json:"datastoreSystem,omitempty"`
	// The memory manager on the host.
	//
	// Refers instance of `HostMemorySystem`.
	MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty" json:"memoryManager,omitempty"`
	// The storage configuration.
	//
	// Refers instance of `HostStorageSystem`.
	StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty" json:"storageSystem,omitempty"`
	// The network system configuration.
	//
	// Refers instance of `HostNetworkSystem`.
	NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty" json:"networkSystem,omitempty"`
	// Deprecated as of VI API 4.0, use `HostConfigManager.virtualNicManager`
	// to manage the VMotion configuration of the host.
	//
	// The VMotion configuration.
	//
	// Refers instance of `HostVMotionSystem`.
	VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty" json:"vmotionSystem,omitempty"`
	// The VirtualNic configuration.
	//
	// Refers instance of `HostVirtualNicManager`.
	VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty" json:"virtualNicManager,omitempty" vim:"4.0"`
	// The configuration of the host services (for example,
	// SSH, FTP, and Telnet).
	//
	// Refers instance of `HostServiceSystem`.
	ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty" json:"serviceSystem,omitempty"`
	// The firewall configuration.
	//
	// Refers instance of `HostFirewallSystem`.
	FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty" json:"firewallSystem,omitempty"`
	// Advanced options.
	//
	// Refers instance of `OptionManager`.
	AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty" json:"advancedOption,omitempty"`
	// The diagnostic for the ESX Server system.
	//
	// Refers instance of `HostDiagnosticSystem`.
	DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty" json:"diagnosticSystem,omitempty"`
	// Auto-start and auto-stop configuration.
	//
	// Refers instance of `HostAutoStartManager`.
	AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty" json:"autoStartManager,omitempty"`
	// Snmp configuration
	//
	// Refers instance of `HostSnmpSystem`.
	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty"`
	// DateTime configuration
	//
	// Refers instance of `HostDateTimeSystem`.
	DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty" json:"dateTimeSystem,omitempty" vim:"2.5"`
	// Host patch management.
	//
	// Refers instance of `HostPatchManager`.
	PatchManager *ManagedObjectReference `xml:"patchManager,omitempty" json:"patchManager,omitempty" vim:"2.5"`
	// Host image configuration management.
	//
	// Refers instance of `HostImageConfigManager`.
	ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty" json:"imageConfigManager,omitempty" vim:"5.0"`
	// Boot device order management.
	//
	// Refers instance of `HostBootDeviceSystem`.
	BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty" json:"bootDeviceSystem,omitempty" vim:"2.5"`
	// Firmware management.
	//
	// Refers instance of `HostFirmwareSystem`.
	FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty" json:"firmwareSystem,omitempty" vim:"2.5"`
	// System health status manager.
	//
	// Refers instance of `HostHealthStatusSystem`.
	HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty" json:"healthStatusSystem,omitempty" vim:"2.5"`
	// PciDeviceSystem for passthru.
	//
	// Refers instance of `HostPciPassthruSystem`.
	PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty" json:"pciPassthruSystem,omitempty" vim:"4.0"`
	// License manager
	//
	// Refers instance of `LicenseManager`.
	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty" vim:"4.0"`
	// Kernel module configuration management.
	//
	// Refers instance of `HostKernelModuleSystem`.
	KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty" json:"kernelModuleSystem,omitempty" vim:"4.0"`
	// Authentication method configuration - for example, for Active Directory membership.
	//
	// Refers instance of `HostAuthenticationManager`.
	AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty" json:"authenticationManager,omitempty" vim:"4.1"`
	// Power System manager.
	//
	// Refers instance of `HostPowerSystem`.
	PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty" json:"powerSystem,omitempty" vim:"4.1"`
	// Host solid state drive cache configuration manager.
	//
	// Refers instance of `HostCacheConfigurationManager`.
	CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty" json:"cacheConfigurationManager,omitempty" vim:"5.0"`
	// Esx Agent resource configuration manager
	//
	// Refers instance of `HostEsxAgentHostManager`.
	EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty" json:"esxAgentHostManager,omitempty" vim:"5.0"`
	// Iscsi Management Operations managed entity
	//
	// Refers instance of `IscsiManager`.
	IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty" json:"iscsiManager,omitempty" vim:"5.0"`
	// vFlash Manager
	//
	// Refers instance of `HostVFlashManager`.
	VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty" json:"vFlashManager,omitempty" vim:"5.5"`
	// VsanSystem managed entity.
	//
	// Refers instance of `HostVsanSystem`.
	VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty" json:"vsanSystem,omitempty" vim:"5.5"`
	// Common Message Bus proxy service.
	//
	// This API shall always be present in vSphere API 6.0 or later.
	//
	// Refers instance of `MessageBusProxy`.
	MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty" json:"messageBusProxy,omitempty" vim:"6.0"`
	// A user directory managed object.
	//
	// Refers instance of `UserDirectory`.
	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty" vim:"6.0"`
	// A manager for host local user accounts.
	//
	// Refers instance of `HostLocalAccountManager`.
	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty" vim:"6.0"`
	// Host access manager
	//
	// Refers instance of `HostAccessManager`.
	HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty" json:"hostAccessManager,omitempty" vim:"6.0"`
	// Host graphics manager.
	//
	// Refers instance of `HostGraphicsManager`.
	GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty" json:"graphicsManager,omitempty" vim:"5.5"`
	// VsanInternalSystem managed entity.
	//
	// Refers instance of `HostVsanInternalSystem`.
	VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty" json:"vsanInternalSystem,omitempty" vim:"5.5"`
	// Host CertificateManager.
	//
	// Refers instance of `HostCertificateManager`.
	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty" vim:"6.0"`
	// Host CryptoManager.
	//
	// Refers instance of `CryptoManager`.
	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty" vim:"6.5"`
	// Host Non-Volatile DIMM configuration manager
	//
	// Refers instance of `HostNvdimmSystem`.
	NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty" json:"nvdimmSystem,omitempty" vim:"6.7"`
	// Assignable Hardware manager.
	//
	// Refers instance of `HostAssignableHardwareManager`.
	AssignableHardwareManager *ManagedObjectReference `xml:"assignableHardwareManager,omitempty" json:"assignableHardwareManager,omitempty" vim:"7.0"`
}

This data object type describes the configuration of a host across products and versions.

type HostConfigSpec

type HostConfigSpec struct {
	DynamicData

	// Configurations to create NAS datastores.
	NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty" json:"nasDatastore,omitempty"`
	// Network system information.
	Network *HostNetworkConfig `xml:"network,omitempty" json:"network,omitempty"`
	// Type selection for different VirtualNics.
	NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty" json:"nicTypeSelection,omitempty"`
	// Host service configuration.
	Service []HostServiceConfig `xml:"service,omitempty" json:"service,omitempty"`
	// Firewall configuration.
	Firewall *HostFirewallConfig `xml:"firewall,omitempty" json:"firewall,omitempty"`
	// Host configuration options as defined by the
	// `OptionValue` data object type.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
	// Datastore principal user.
	DatastorePrincipal string `xml:"datastorePrincipal,omitempty" json:"datastorePrincipal,omitempty"`
	// Password for the datastore principal.
	DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty" json:"datastorePrincipalPasswd,omitempty"`
	// DateTime Configuration.
	Datetime *HostDateTimeConfig `xml:"datetime,omitempty" json:"datetime,omitempty"`
	// Storage system information.
	StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty" json:"storageDevice,omitempty"`
	// License configuration for the host.
	License *HostLicenseSpec `xml:"license,omitempty" json:"license,omitempty"`
	// Security specification.
	Security *HostSecuritySpec `xml:"security,omitempty" json:"security,omitempty"`
	// List of users to create/update with new password.
	UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr" json:"userAccount,omitempty"`
	// List of users to create/update with new password.
	UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr" json:"usergroupAccount,omitempty"`
	// Memory configuration for the host.
	Memory *HostMemorySpec `xml:"memory,omitempty" json:"memory,omitempty"`
	// Active Directory configuration change.
	ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty" json:"activeDirectory,omitempty" vim:"4.1"`
	// Advanced configuration.
	GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty" json:"genericConfig,omitempty" vim:"5.0"`
	// Graphics configuration for a host.
	GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty" json:"graphicsConfig,omitempty" vim:"6.5"`
	// Assignable Hardware configuration for the host
	AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty" json:"assignableHardwareConfig,omitempty" vim:"7.0"`
}

The `HostConfigSpec` data object provides access to data objects that specify configuration changes to be applied to an ESX host.

type HostConfigSummary

type HostConfigSummary struct {
	DynamicData

	// The name of the host.
	Name string `xml:"name" json:"name"`
	// The port number.
	Port int32 `xml:"port" json:"port"`
	// The SSL thumbprint of the host, if known.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"4.0"`
	// Information about the software running on the host, if known.
	//
	// The current supported hosts are ESX Server 2.0.1 (and later) and VMware Server
	// 2.0.0 (and later).
	Product *AboutInfo `xml:"product,omitempty" json:"product,omitempty"`
	// The flag to indicate whether or not VMotion is enabled on this host.
	VmotionEnabled bool `xml:"vmotionEnabled" json:"vmotionEnabled"`
	// The flag to indicate whether or not Fault Tolerance logging is enabled on this host.
	FaultToleranceEnabled *bool `xml:"faultToleranceEnabled" json:"faultToleranceEnabled,omitempty" vim:"4.0"`
	// List of feature-specific version information.
	//
	// Each element refers
	// to the version information for a specific feature.
	FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty" json:"featureVersion,omitempty" vim:"4.1"`
	// Datastore used to deploy Agent VMs on for this host.
	//
	// Refers instance of `Datastore`.
	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty" vim:"5.0"`
	// Management network for Agent VMs.
	//
	// Refers instance of `Network`.
	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty" vim:"5.0"`
}

An overview of the key configuration parameters.

type HostConfigVFlashCacheRequestType

type HostConfigVFlashCacheRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification for host cache configuration.
	Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `HostVFlashManager.HostConfigVFlashCache`.

type HostConfigVFlashCacheResponse

type HostConfigVFlashCacheResponse struct {
}

type HostConfigureVFlashResourceRequestType

type HostConfigureVFlashResourceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the vFlash resource specification.
	Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `HostVFlashManager.HostConfigureVFlashResource`.

type HostConfigureVFlashResourceResponse

type HostConfigureVFlashResourceResponse struct {
}

type HostConnectFault

type HostConnectFault struct {
	VimFault
}

A base clase for faults that are related to connecting or adding a host to the inventory.

func (*HostConnectFault) GetHostConnectFault

func (b *HostConnectFault) GetHostConnectFault() *HostConnectFault

type HostConnectFaultFault

type HostConnectFaultFault BaseHostConnectFault

type HostConnectInfo

type HostConnectInfo struct {
	DynamicData

	// The IP address of the VirtualCenter already managing this host, if any.
	ServerIp string `xml:"serverIp,omitempty" json:"serverIp,omitempty"`
	// If the host is already being managed by a vCenter Server, this property
	// reports true if the host is also part of a vSphere HA enabled cluster.
	//
	// If
	// this is the case, remove or disconnect the host
	// from this cluster before adding it to another vCenter Server.
	InDasCluster *bool `xml:"inDasCluster" json:"inDasCluster,omitempty" vim:"5.0"`
	// Summary information about the host.
	//
	// The status fields and managed object
	// reference is not set when an object of this type is created. These fields and
	// references are typically set later when these objects are associated with a host.
	Host HostListSummary `xml:"host" json:"host"`
	// The list of virtual machines on the host.
	Vm []VirtualMachineSummary `xml:"vm,omitempty" json:"vm,omitempty"`
	// Whether or not the host requires a vimAccountName and password to be set in the
	// ConnectSpec.
	//
	// This is normally only required for VMware Server hosts.
	VimAccountNameRequired *bool `xml:"vimAccountNameRequired" json:"vimAccountNameRequired,omitempty"`
	// Whether or not the host supports clustering capabilities such as HA or DRS and
	// therefore can be added to a cluster.
	//
	// If false, the host must be added as a
	// standalone host.
	ClusterSupported *bool `xml:"clusterSupported" json:"clusterSupported,omitempty"`
	// The list of network information for networks configured on this host.
	Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr" json:"network,omitempty"`
	// The list of datastores on the host.
	Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr" json:"datastore,omitempty"`
	// License manager information on the host
	License *HostLicenseConnectInfo `xml:"license,omitempty" json:"license,omitempty" vim:"4.0"`
	// Host capabilities.
	Capability *HostCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"6.0"`
}

This data object type contains information about a single host that can be used by the connection wizard.

This can be returned without adding the host to VirtualCenter.

type HostConnectInfoNetworkInfo

type HostConnectInfoNetworkInfo struct {
	DynamicData

	// Basic network information, such as network name.
	//
	// The managed object reference
	// is not set.
	Summary BaseNetworkSummary `xml:"summary,typeattr" json:"summary"`
}

The base data object type for information about networks on the host.

func (*HostConnectInfoNetworkInfo) GetHostConnectInfoNetworkInfo

func (b *HostConnectInfoNetworkInfo) GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo

type HostConnectSpec

type HostConnectSpec struct {
	DynamicData

	// The DNS name or IP address of the host.
	//
	// (Required for adding
	// a host.)
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The port number for the connection.
	//
	// If this is not specified,
	// the default port number is used. For ESX 2.x hosts this is the authd
	// port (902 by default). For ESX 3.x and above and VMware Server hosts
	// this is the https port (443 by default).
	// If this is a reconnect, the port number is unchanged.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The thumbprint of the SSL certificate, which the host is
	// expected to have.
	//
	// If this value is set and matches the
	// certificate thumbprint presented by the host, then the host is
	// authenticated. If this value is not set or does not match the
	// certificate thumbprint presented by the host, then the host's
	// certificate is verified by checking whether it was signed by a
	// recognized CA.
	//
	// The thumbprint is always computed using the SHA1 hash and is
	// the string representation of that hash in the format:
	// xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
	// where, 'x' represents a hexadecimal digit
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
	// The administration account on the host.
	//
	// (Required for adding
	// a host.)
	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
	// The password for the administration account.
	//
	// (Required for adding
	// a host.)
	Password string `xml:"password,omitempty" json:"password,omitempty"`
	// The folder in which to store the existing virtual machines on the host.
	//
	// If this folder is not specified, a default folder is chosen
	// (and possibly created) by the VirtualCenter. This folder exists (or
	// is possibly created) on the
	// VirtualCenter server and is called "Discovered VM".
	//
	// Refers instance of `Folder`.
	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
	// If this flag is set to "true", then the connection succeeds even
	// if the host is already being managed by another VirtualCenter server.
	//
	// The original VirtualCenter server loses connection to the host.
	Force bool `xml:"force" json:"force"`
	// The username to be used for accessing the virtual
	// machine files on the disk.
	VimAccountName string `xml:"vimAccountName,omitempty" json:"vimAccountName,omitempty"`
	// The password to be used with the
	// `vimAccountName`
	// property for accessing the virtual
	// machine files on the disk.
	VimAccountPassword string `xml:"vimAccountPassword,omitempty" json:"vimAccountPassword,omitempty"`
	// The IP address of the VirtualCenter server that will manage this host.
	//
	// This field can be used to control which IP address the VirtualCenter agent
	// will send heartbeats to. If it is not set, VirtualCenter will use the local IP
	// address used when communicating with the host. Setting this field is useful
	// when the VirtualCenter server is behind a NAT in which case the external NAT
	// address must be used.
	ManagementIp string `xml:"managementIp,omitempty" json:"managementIp,omitempty" vim:"4.0"`
	// If this is set then the host will be put in the specified lockdown mode
	// when the host is added and connected.
	//
	// It is used only when calling the APIs
	// `Folder.AddStandaloneHost_Task` with parameter 'addConnected' set to true,
	// or `ClusterComputeResource.AddHost_Task` with parameter 'asConnected'
	// set to true.
	// If the operation to add the host specifies that the host should only be
	// added but not connected, then the host won't be put in lockdown mode.
	//
	// This is equivalent to invoking
	// `HostAccessManager.ChangeLockdownMode`
	// immediately after addition and connection to the host succeeds.
	//
	// If equal to `lockdownDisabled`
	// then it is ignored.
	LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty" json:"lockdownMode,omitempty" vim:"6.0"`
	// Deprecated not supported since vSphere 6.5.
	//
	// Setting for a gateway for communication to the host.
	//
	// If set all trafic to the
	// host will pass through this gateway.
	HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty" json:"hostGateway,omitempty" vim:"6.0"`
}

Specifies the parameters needed to add a single host.

This includes a small set of optional information about the host configuration. This allows the network and datastore configuration of the host to be synchronized with the naming conventions of the datacenter, as well as the configuration of a vim account (the username/password for the virtual machine files that is created on disk).

type HostConnectedEvent

type HostConnectedEvent struct {
	HostEvent
}

This event records a successful host connection.

type HostConnectionLostEvent

type HostConnectionLostEvent struct {
	HostEvent
}

This event records the loss of a host connection.

type HostCpuIdInfo

type HostCpuIdInfo struct {
	DynamicData

	// Level (EAX input to CPUID).
	Level int32 `xml:"level" json:"level"`
	// Used if this mask is for a particular vendor.
	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
	// String representing the required EAX bits.
	Eax string `xml:"eax,omitempty" json:"eax,omitempty"`
	// String representing the required EBX bits.
	Ebx string `xml:"ebx,omitempty" json:"ebx,omitempty"`
	// String representing the required ECX bits.
	Ecx string `xml:"ecx,omitempty" json:"ecx,omitempty"`
	// String representing the required EDX bits.
	Edx string `xml:"edx,omitempty" json:"edx,omitempty"`
}

The CpuIdInfo data object type is used to represent the CPU features of a particular host or product, or to specify what the CPU feature requirements are for a particular virtual machine or guest operating system.

As of vSphere API 5.1 `FeatureMask` must be used for masking all hosts and is the recommended method for masking virtual machines with hardware version 9 and above (newer). CpuIdInfo should be used only to mask hardware version 8 and lower (older) virtual machines. Although CpuIdInfo can mask all virtual machines regardless of hardware version, its application is limited and has been superceded by FeatureMask.

For each register (eax,ebx,ecx,edx), the string is a bit mask of the form:

????:????:????:????:????:????:????:????

When used to represent the features of a specific processor package (`HostHardwareInfo.cpuPkg`), the features common to all processors on a host (`HostHardwareInfo.cpuFeature`), or the features supported by a virtualization platform (`HostCapability.supportedCpuFeature`), each bit is either '0' or '1', or '-' for unknown/unspecified. In these feature vectors, the vendor field is never set.

Optional values in these feature vectors default to '----:----:----:----:----:----:----:----'.

When specifying the required feature set for a virtual machine or a guest operating system, the bits can take on the values as described below, and the vendor field may be set. The total feature requirements for a virtual machine are composed by using any requirements listed in the virtual machine's configuration to override the requirements listed in the descriptor for the virtual machine's guest OS.

Bits used for specifying requirements:

  • `*x*`: Unused by guest software.
  • `*T*`: Feature that the guest software requires to be enabled.
  • `*F*`: Feature that the guest software requires to be disabled.
  • `*1*`: Feature will be reported as enabled if queried by the guest software.
  • `*0*`: Feature will be reported as disabled if queried by the guest software.
  • `*R*`: Feature will be reported as disabled if queried by the guest software; however, for VMotion the actual value of this feature is required to be the same on both hosts.
  • `*H*`: Used by guest software. For VMotion the value of this feature is required to be the same on both hosts.
  • `*-*`: This bit type is only used in the requirements stored in the virtual machine's configuration. It indicates that, for this bit position, the requirement from the guest OS descriptor should be used instead.

The values 'F' and '1' are rarely used but included for completeness. The '0' and '1' values do not promise a faithful virtualization of these features; whether the features work when forced to 0 or 1 is highly dependent on the guest software.

Optional values in the requirements from the virtual machine's configuration default to '----:----:----:----:----:----:----:----'. Optional values in the requirements from the guest OS descriptor default to 'xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx'.

Once the feature requirements for a virtual machine have been composed from the virtual machine's configuration and guest OS descriptor, the bit types above are used to identify whether or not the virtual machine can be powered on or be migrated with VMotion to a particular host. The rules are as follows:

  • `*Power-on*`: Requirements marked as 'T' or 'F' must match bits '1' or '0', respectively, in the features advertised by the HardwareInfo of the power-on host.
  • `*VMotion*`: Requirements marked as 'T' or 'F' must match bits '1' or '0', respectively, in the features advertised by the HardwareInfo of the destination host. Also, at the positions where requirements are marked 'H' or 'R', the advertised value of that feature for the source host must match that of the destination host.

type HostCpuInfo

type HostCpuInfo struct {
	DynamicData

	// Number of physical CPU packages on the host.
	NumCpuPackages int16 `xml:"numCpuPackages" json:"numCpuPackages"`
	// Number of physical CPU cores on the host.
	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
	// Number of physical CPU threads on the host.
	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
	// CPU speed per core.
	//
	// This might be an averaged value if the speed
	// is not uniform across all cores. The total CPU speed of the box is
	// defined as hz \* numCpuCores
	Hz int64 `xml:"hz" json:"hz"`
}

Information about the CPUs.

type HostCpuPackage

type HostCpuPackage struct {
	DynamicData

	// Package index, starting from zero.
	Index int16 `xml:"index" json:"index"`
	// CPU vendor name, possible names currently are "Intel", "AMD",
	// "arm", "hygon", or "unknown".
	Vendor string `xml:"vendor" json:"vendor"`
	// CPU speed in HZ.
	Hz int64 `xml:"hz" json:"hz"`
	// Bus speed in HZ.
	BusHz int64 `xml:"busHz" json:"busHz"`
	// String summary description of CPU (for display purposes).
	Description string `xml:"description" json:"description"`
	// The logical CPU threads on this package.
	ThreadId []int16 `xml:"threadId" json:"threadId"`
	// The CPU feature bit on this particular CPU.
	//
	// This is independent of
	// the product and licensing capabilities.
	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
}

Information about a physical CPU package.

type HostCpuPackageVendor

type HostCpuPackageVendor string

type HostCpuPowerManagementInfo

type HostCpuPowerManagementInfo struct {
	DynamicData

	// Information about current CPU power management policy.
	CurrentPolicy string `xml:"currentPolicy,omitempty" json:"currentPolicy,omitempty"`
	// Information about supported CPU power management.
	HardwareSupport string `xml:"hardwareSupport,omitempty" json:"hardwareSupport,omitempty"`
}

The CpuPowerManagementInfo data object type describes supported power management and current policy.

type HostCpuPowerManagementInfoPolicyType

type HostCpuPowerManagementInfoPolicyType string

type HostCreateDiskRequestType added in v0.12.0

type HostCreateDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification of the virtual storage object
	// to be created.
	// 2
	Spec VslmCreateSpec `xml:"spec" json:"spec"`
}

The parameters of `HostVStorageObjectManager.HostCreateDisk_Task`.

type HostCreateDisk_Task added in v0.12.0

type HostCreateDisk_Task HostCreateDiskRequestType

type HostCreateDisk_TaskResponse added in v0.12.0

type HostCreateDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostCryptoState added in v0.12.0

type HostCryptoState string

type HostDVSConfigSpecSwitchMode added in v0.29.0

type HostDVSConfigSpecSwitchMode string

type HostDasDisabledEvent

type HostDasDisabledEvent struct {
	HostEvent
}

This event records when HA has been disabled on a host.

type HostDasDisablingEvent

type HostDasDisablingEvent struct {
	HostEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records when HA is being disabled on a host.

type HostDasEnabledEvent

type HostDasEnabledEvent struct {
	HostEvent
}

This event records when HA has been enabled on a host.

type HostDasEnablingEvent

type HostDasEnablingEvent struct {
	HostEvent
}

This event records when HA is being enabled on a host.

type HostDasErrorEvent

type HostDasErrorEvent struct {
	HostEvent

	Message string `xml:"message,omitempty" json:"message,omitempty"`
	// The reason for the failure.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
}

Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event with the `EventEx.eventTypeId` property set to "com.vmware.vc.HA.HostAgentErrorEvent".

This event records when there is a HA error on a host.

type HostDasErrorEventHostDasErrorReason

type HostDasErrorEventHostDasErrorReason string

type HostDasEvent

type HostDasEvent struct {
	HostEvent
}

Top-level event for host DAS events to extend.

func (*HostDasEvent) GetHostDasEvent

func (b *HostDasEvent) GetHostDasEvent() *HostDasEvent

type HostDasOkEvent

type HostDasOkEvent struct {
	HostEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records when HA on a host returns to normal after an error.

type HostDataTransportConnectionInfo added in v0.27.0

type HostDataTransportConnectionInfo struct {
	DynamicData

	// Static memory consumption by a connection in bytes like buffer sizes, heap sizes, etc.
	StaticMemoryConsumed int64 `xml:"staticMemoryConsumed" json:"staticMemoryConsumed"`
}

DataTransportConnectionInfo contains common information about data transport connections on a host.

func (*HostDataTransportConnectionInfo) GetHostDataTransportConnectionInfo added in v0.27.0

func (b *HostDataTransportConnectionInfo) GetHostDataTransportConnectionInfo() *HostDataTransportConnectionInfo

type HostDatastoreBrowserSearchResults

type HostDatastoreBrowserSearchResults struct {
	DynamicData

	// Datastore contains the results.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// Relative path to the top-level folder.
	FolderPath string `xml:"folderPath,omitempty" json:"folderPath,omitempty"`
	// Set of matching files, if any.
	File []BaseFileInfo `xml:"file,omitempty,typeattr" json:"file,omitempty"`
}

This data object type contains the results of a search method for one datastore.

A search method typically returns a set of these objects as an array.

type HostDatastoreBrowserSearchSpec

type HostDatastoreBrowserSearchSpec struct {
	DynamicData

	// The set of file types to match, search criteria specific to the file type, and
	// the amount of detail for a file.
	//
	// These search parameters are specific to a file
	// type, meaning that they can be specified only if the file type to which they
	// are associated is in the set. A file type cannot appear more than once in the
	// set.
	//
	// If this query object is not present, then all files providing only file level
	// details are matched.
	Query []BaseFileQuery `xml:"query,omitempty,typeattr" json:"query,omitempty"`
	// This object comprises a set of booleans that describe what details to return
	// for each file.
	//
	// The file level details apply globally to all matched files.
	Details *FileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
	// This flag indicates whether or not to search using a case insensitive match on
	// type.
	//
	// In general the algorithm used to match file types relies on file
	// extensions. Although the specific file extensions used are encapsulated by this
	// API, clients are still allowed to modify the filtering behavior.
	//
	// By default, the DatastoreBrowser uses a platform-consistent algorithm to
	// determine if a file is of a type. Specifically on Linux, where case is
	// important, the search is case sensitive. On Windows, case is not important, so
	// the search is case insensitive.
	//
	// In an environment with heterogenous platforms, being platform-consistent may
	// not be desirable. As a result, the default behavior can be overridden by
	// setting this optional flag.
	SearchCaseInsensitive *bool `xml:"searchCaseInsensitive" json:"searchCaseInsensitive,omitempty"`
	// Specifies a list of file patterns that must match for a file to be returned.
	//
	// This search property is a filter that applies globally so that only files
	// matching the specified patterns are returned, regardless of the other search
	// parameters.
	MatchPattern []string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
	// By default, files are sorted in alphabetical order regardless of file type.
	//
	// If
	// this flag is set to "true", folders are placed at the start of the list of
	// results in alphabetical order. The remaining files follow in alphabetical
	// order.
	SortFoldersFirst *bool `xml:"sortFoldersFirst" json:"sortFoldersFirst,omitempty"`
}

The data object type describes a search for files in one or more datastores.

The properties do not include the starting datastore path because that path is a separate parameter to the search method.

A SearchSpec contains the query parameters and some global search modifiers.

type HostDatastoreConnectInfo

type HostDatastoreConnectInfo struct {
	DynamicData

	// Basic datastore information.
	//
	// The managed object reference is not set.
	Summary DatastoreSummary `xml:"summary" json:"summary"`
}

The base data object type for information about datastores on the host.

func (*HostDatastoreConnectInfo) GetHostDatastoreConnectInfo

func (b *HostDatastoreConnectInfo) GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo

type HostDatastoreExistsConnectInfo

type HostDatastoreExistsConnectInfo struct {
	HostDatastoreConnectInfo

	// The name of a matching datastore on VirtualCenter.
	//
	// The datastore on the host
	// will be renamed to this name.
	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
}

This data object type describes a datastore on the host that matches an existing datastore on VirtualCenter that has a different name.

type HostDatastoreNameConflictConnectInfo

type HostDatastoreNameConflictConnectInfo struct {
	HostDatastoreConnectInfo

	// To resolve a conflict with existing datastores, a suggested new name of the
	// datastore can be provided.
	NewDatastoreName string `xml:"newDatastoreName" json:"newDatastoreName"`
}

This data object type describes a datastore on the host that has the same name as a different datastore on VirtualCenter.

type HostDatastoreSystemCapabilities

type HostDatastoreSystemCapabilities struct {
	DynamicData

	// Indicates whether mounting the NFS volume is required to be done as part
	// of NAS datastore creation.
	//
	// If this is set to true, then NAS datastores
	// cannot be created for currently mounted NFS volumes.
	NfsMountCreationRequired bool `xml:"nfsMountCreationRequired" json:"nfsMountCreationRequired"`
	// Indicates whether mounting an NFS volume is supported
	// when a NAS datastore is created.
	//
	// If this option is false,
	// then NAS datastores corresponding to NFS volumes can be created
	// only for already mounted NFS volumes.
	NfsMountCreationSupported bool `xml:"nfsMountCreationSupported" json:"nfsMountCreationSupported"`
	// Indicates whether local datastores are supported.
	LocalDatastoreSupported bool `xml:"localDatastoreSupported" json:"localDatastoreSupported"`
	// Indicates whether vmfs extent expansion is supported.
	VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported" json:"vmfsExtentExpansionSupported,omitempty" vim:"4.0"`
}

Capability vector indicating the available product features.

type HostDatastoreSystemDatastoreResult

type HostDatastoreSystemDatastoreResult struct {
	DynamicData

	// Datastore removed
	//
	// Refers instance of `Datastore`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Fault if removal fails
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Contains result of remove datastore request.

Used as return value by `HostDatastoreSystem.RemoveDatastoreEx_Task`

type HostDatastoreSystemVvolDatastoreSpec

type HostDatastoreSystemVvolDatastoreSpec struct {
	DynamicData

	// Name of the datastore.
	Name string `xml:"name" json:"name"`
	// Storage contained Id.
	//
	// This is used to retrieve configuration of the
	// storage container from SMS.
	ScId string `xml:"scId" json:"scId"`
}

Specification for creating Virtual Volumed based datastore.

type HostDateTimeConfig

type HostDateTimeConfig struct {
	DynamicData

	// The time zone of the host.
	//
	// Must be one of the values of
	// `HostDateTimeSystemTimeZone.key`
	TimeZone string `xml:"timeZone,omitempty" json:"timeZone,omitempty"`
	// The NTP configuration on the host.
	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
	// The PTP configuration on the host.
	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
	// Specify which network time configuration to discipline vmkernel clock.
	//
	// See `HostDateTimeInfoProtocol_enum` for supported values.
	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty" vim:"7.0.3.0"`
	// Bring Time services subsystem up or down.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
	// When Network Time service or Precision Time service are enabled
	// any detecteced failures will result in Events being sent to
	// Virtual Center.
	//
	// Use this setting to disable Time Events.
	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
	// When in PrecisionTimeSync, NTP configuration as set will be
	// running as backup.
	//
	// Use this setting to prevent NTP from becoming
	// the primary time protocol in the event of a PTP service failure.
	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
	// When this property is present and set true the existing
	// configuration for Time Services will be reset to factory default.
	//
	// The protocol property when set defines the scope of what is reset.
	// If additional configuration beyond protocol is provided host
	// will first perform factory reset followed by applying any configuration
	// present.
	ResetToFactoryDefaults *bool `xml:"resetToFactoryDefaults" json:"resetToFactoryDefaults,omitempty" vim:"7.0.3.0"`
}

This data object represents the dateTime configuration of the host.

type HostDateTimeInfo

type HostDateTimeInfo struct {
	DynamicData

	// The time zone of the host.
	TimeZone HostDateTimeSystemTimeZone `xml:"timeZone" json:"timeZone"`
	// The system clock synchronization protocol.
	//
	// See `HostDateTimeInfoProtocol_enum` for possible values.
	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty" vim:"7.0"`
	// The NTP configuration on the host.
	NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty" json:"ntpConfig,omitempty"`
	// The PTP configuration on the host.
	PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty" json:"ptpConfig,omitempty" vim:"7.0.3.0"`
	// Present state of the time services subsystem.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty" vim:"7.0.3.0"`
	// When not disabled Network Time service or Precision Time service
	// will send events to Virtual Center when service fails or recovers.
	DisableEvents *bool `xml:"disableEvents" json:"disableEvents,omitempty" vim:"7.0.3.0"`
	// When not disabled, if PrecisionTimeSync is configured, then the
	// NTP configuration can run as backup.
	DisableFallback *bool `xml:"disableFallback" json:"disableFallback,omitempty" vim:"7.0.3.0"`
	// Tracks if NTP is providing time to ESXi due to PTP service failure.
	//
	// This is set only if disableFallback is set to false.
	InFallbackState *bool `xml:"inFallbackState" json:"inFallbackState,omitempty" vim:"7.0.3.0"`
	// Report true if time is synchronized with remote time source
	// For PrecisionTimeSync this is obtained from PTP Port Status value.
	//
	// For NetworkTimeProtocol this obtained from Leap Indicator value.
	ServiceSync *bool `xml:"serviceSync" json:"serviceSync,omitempty" vim:"7.0.3.0"`
	// Timestamp when time services were last in sync with remote clock.
	//
	// If not set, time services have never established synchronization.
	LastSyncTime *time.Time `xml:"lastSyncTime" json:"lastSyncTime,omitempty" vim:"7.0.3.0"`
	// Provides the NTP server that the host is synced with from the
	// set of servers configured.
	RemoteNtpServer string `xml:"remoteNtpServer,omitempty" json:"remoteNtpServer,omitempty" vim:"7.0.3.0"`
	// Provides the total seconds ntpd process has been running for.
	NtpRunTime int64 `xml:"ntpRunTime,omitempty" json:"ntpRunTime,omitempty" vim:"7.0.3.0"`
	// Provides the total seconds ptpd process has been running for.
	PtpRunTime int64 `xml:"ptpRunTime,omitempty" json:"ptpRunTime,omitempty" vim:"7.0.3.0"`
	// Provides a duration in simplified, human-readable form
	// for the lifetime of the ntp service.
	NtpDuration string `xml:"ntpDuration,omitempty" json:"ntpDuration,omitempty" vim:"7.0.3.0"`
	// Provides a duration in simplified, human-readable form
	// for the lifetime of the ptp service.
	PtpDuration string `xml:"ptpDuration,omitempty" json:"ptpDuration,omitempty" vim:"7.0.3.0"`
}

This data object represents the dateTime configuration of the host.

type HostDateTimeInfoProtocol added in v0.23.0

type HostDateTimeInfoProtocol string

type HostDateTimeSystemServiceTestResult added in v0.27.0

type HostDateTimeSystemServiceTestResult struct {
	DynamicData

	// Value is true if time services are presently working normally.
	WorkingNormally bool `xml:"workingNormally" json:"workingNormally"`
	// Returns details of the checks done to verify time services are working.
	Report []string `xml:"report,omitempty" json:"report,omitempty"`
}

type HostDateTimeSystemTimeZone

type HostDateTimeSystemTimeZone struct {
	DynamicData

	// The identifier for the time zone.
	Key string `xml:"key" json:"key"`
	// The time zone name.
	Name string `xml:"name" json:"name"`
	// Description of the time zone.
	Description string `xml:"description" json:"description"`
	// The GMT offset in seconds that is currently applicable to the timezone
	// (with respect to the current time on the host).
	GmtOffset int32 `xml:"gmtOffset" json:"gmtOffset"`
}

type HostDeleteVStorageObjectExRequestType added in v0.26.0

type HostDeleteVStorageObjectExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be deleted.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostDeleteVStorageObjectEx_Task`.

type HostDeleteVStorageObjectEx_Task added in v0.26.0

type HostDeleteVStorageObjectEx_Task HostDeleteVStorageObjectExRequestType

type HostDeleteVStorageObjectEx_TaskResponse added in v0.26.0

type HostDeleteVStorageObjectEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostDeleteVStorageObjectRequestType added in v0.12.0

type HostDeleteVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be deleted.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostDeleteVStorageObject_Task`.

type HostDeleteVStorageObject_Task added in v0.12.0

type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType

type HostDeleteVStorageObject_TaskResponse added in v0.12.0

type HostDeleteVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostDeploymentInfo added in v0.12.0

type HostDeploymentInfo struct {
	DynamicData

	// Flag indicating if the host was booted from stateless cache.
	BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache" json:"bootedFromStatelessCache,omitempty"`
}

Data object describing the deployment information for a host.

type HostDevice

type HostDevice struct {
	DynamicData

	// The name of the device on the host.
	//
	// For example,
	// /dev/cdrom or \\\\serverX\\device\_name.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// Device type when available:
	// floppy, mouse, cdrom, disk, scsi device, or adapter.
	DeviceType string `xml:"deviceType" json:"deviceType"`
}

This data object type defines a device on the host.

func (*HostDevice) GetHostDevice

func (b *HostDevice) GetHostDevice() *HostDevice

type HostDhcpService

type HostDhcpService struct {
	DynamicData

	// The instance ID of the DHCP service.
	Key string `xml:"key" json:"key"`
	// Configurable properties for the DHCP service.
	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
}

A dynamic host control protocol (DHCP) service instance serves IP addresses to a single virtual network subnet.

The instances may be handled collectively by a single server. This decision can be made during implementation.

type HostDhcpServiceConfig

type HostDhcpServiceConfig struct {
	DynamicData

	// Indicates the change operation to apply on this configuration
	// specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The instance ID of the DHCP service.
	Key string `xml:"key" json:"key"`
	// Specification of the DHCP service.
	Spec HostDhcpServiceSpec `xml:"spec" json:"spec"`
}

This data object type describes the configuration of a DHCP service instance representing both the configured properties on the instance and identification information.

type HostDhcpServiceSpec

type HostDhcpServiceSpec struct {
	DynamicData

	// The name of the virtual switch to which DHCP service is connected.
	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
	// The default DHCP lease duration (minutes).
	DefaultLeaseDuration int32 `xml:"defaultLeaseDuration" json:"defaultLeaseDuration"`
	// The start of the IP address range served by the DHCP service.
	LeaseBeginIp string `xml:"leaseBeginIp" json:"leaseBeginIp"`
	// The end of the IP address range served by the DHCP service.
	LeaseEndIp string `xml:"leaseEndIp" json:"leaseEndIp"`
	// The maximum DHCP lease duration (minutes).
	MaxLeaseDuration int32 `xml:"maxLeaseDuration" json:"maxLeaseDuration"`
	// A flag to indicate whether or not unlimited DHCP lease
	// durations are allowed.
	UnlimitedLease bool `xml:"unlimitedLease" json:"unlimitedLease"`
	// Subnet served by DHCP service.
	IpSubnetAddr string `xml:"ipSubnetAddr" json:"ipSubnetAddr"`
	// Subnet mask of network served by DHCP service.
	IpSubnetMask string `xml:"ipSubnetMask" json:"ipSubnetMask"`
}

type HostDiagnosticPartition

type HostDiagnosticPartition struct {
	DynamicData

	// Indicates the storage type of the diagnostic partition.
	//
	// See also `DiagnosticPartitionStorageType_enum`.
	StorageType string `xml:"storageType" json:"storageType"`
	// Indicates the type of the diagnostic partition.
	//
	// See also `DiagnosticPartitionType_enum`.
	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
	// The number of slots in the diagnostic partition.
	Slots int32 `xml:"slots" json:"slots"`
	// Diagnostic partition identification information.
	Id HostScsiDiskPartition `xml:"id" json:"id"`
}

This data object type contains information about an available or active diagnostic partition.

type HostDiagnosticPartitionCreateDescription

type HostDiagnosticPartitionCreateDescription struct {
	DynamicData

	// Layout describing the format of the disk
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	//
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
	// The UUID of the SCSI disk on which to create the diagnostic partition.
	//
	// This disk UUID will match that found in the identification field of the
	// creation spec.
	//
	// See also `HostScsiDisk`, `ScsiLun.uuid`.
	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
	// Creation specification for diagnostic partition
	Spec HostDiagnosticPartitionCreateSpec `xml:"spec" json:"spec"`
}

The diagnostic partition create description details what will be done to create a new diagnostic partition on a disk.

It contains a CreateSpec that can be submitted to create the partition and information that can be shown to the user.

type HostDiagnosticPartitionCreateOption

type HostDiagnosticPartitionCreateOption struct {
	DynamicData

	// Indicates the storage type of diagnostic partition to be created.
	//
	// See also `DiagnosticPartitionStorageType_enum`.
	StorageType string `xml:"storageType" json:"storageType"`
	// Indicates the type of the diagnostic partition to be created.
	//
	// See also `DiagnosticPartitionType_enum`.
	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
	// The disk which has sufficient free space to contain a diagnostic
	// partition.
	Disk HostScsiDisk `xml:"disk" json:"disk"`
}

This data object describes a disk that can be used to create a diagnostic partition.

type HostDiagnosticPartitionCreateSpec

type HostDiagnosticPartitionCreateSpec struct {
	DynamicData

	// Indicates the storage type where the diagnostic partition
	// will be created.
	//
	// See also `DiagnosticPartitionStorageType_enum`.
	StorageType string `xml:"storageType" json:"storageType"`
	// Indicates the type of the diagnostic partition to be created.
	//
	// See also `DiagnosticPartitionType_enum`.
	DiagnosticType string `xml:"diagnosticType" json:"diagnosticType"`
	// Diagnostic partition identification information.
	Id HostScsiDiskPartition `xml:"id" json:"id"`
	// Partitioning specification.
	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
	// Indicates if the created diagnostic partition should be made the
	// active diagnostic partition.
	//
	// If not supplied, the system will
	// decide whether or not the created specification is active.
	Active *bool `xml:"active" json:"active,omitempty"`
}

The diagnostic create specification is used by the system to create a new diagnostic partition on a SCSI disk.

type HostDigestInfo

type HostDigestInfo struct {
	DynamicData

	// Method in which the digest value is calculated.
	//
	// The set of possible
	// values is described in `HostDigestInfoDigestMethodType_enum`.
	DigestMethod string `xml:"digestMethod" json:"digestMethod"`
	// The variable length byte array containing the digest value calculated by
	// the specified digestMethod.
	DigestValue []byte `xml:"digestValue" json:"digestValue"`
	// The name of the object from which this digest value is calcaulated.
	ObjectName string `xml:"objectName,omitempty" json:"objectName,omitempty"`
}

This data object type describes the digest information

func (*HostDigestInfo) GetHostDigestInfo

func (b *HostDigestInfo) GetHostDigestInfo() *HostDigestInfo

type HostDigestInfoDigestMethodType

type HostDigestInfoDigestMethodType string

The set of digest methods that can be used by TPM to calculate the PCR

type HostDigestVerificationSetting added in v0.27.0

type HostDigestVerificationSetting string

This enum specifies the supported digest verification settings.

For NVMe over TCP connections, both header and data digests may be requested during the process of establishing the connection. For details, see:

  • NVM Express Technical Proposal 8000 - NVMe/TCP Transport,

type HostDirectoryStoreInfo

type HostDirectoryStoreInfo struct {
	HostAuthenticationStoreInfo
}

`HostDirectoryStoreInfo` is a base class for objects that provide information about directory-based authentication stores.

func (*HostDirectoryStoreInfo) GetHostDirectoryStoreInfo

func (b *HostDirectoryStoreInfo) GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo

type HostDisconnectedEvent

type HostDisconnectedEvent struct {
	HostEvent

	// Reason why the host was disconnected.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
}

This event records a disconnection from a host.

type HostDisconnectedEventReasonCode

type HostDisconnectedEventReasonCode string

type HostDiskConfigurationResult

type HostDiskConfigurationResult struct {
	DynamicData

	// The device path.
	//
	// See `ScsiDisk`
	DevicePath string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
	// Flag to indicate if the operation is successful
	Success *bool `xml:"success" json:"success,omitempty"`
	// 'fault' would be set if the operation was not successful
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Disk configuration result returns success or fault of the operation on the disk.

type HostDiskDimensions

type HostDiskDimensions struct {
	DynamicData
}

This data object type describes multiple coordinate systems used to refer to a location or size on a disk.

type HostDiskDimensionsChs

type HostDiskDimensionsChs struct {
	DynamicData

	// The number of cylinders.
	Cylinder int64 `xml:"cylinder" json:"cylinder"`
	// The number of heads per cylinders.
	Head int32 `xml:"head" json:"head"`
	// The number of sectors per head.
	Sector int32 `xml:"sector" json:"sector"`
}

This data object type describes dimensions using the cylinder, head, sector (CHS) coordinate system.

This coordinate system is generally needed for partitioning for legacy reasons. When defining partitions, many partitioning utilities do not function correctly when certain CHS constraints are not met.

type HostDiskDimensionsLba

type HostDiskDimensionsLba struct {
	DynamicData

	// The size of the blocks.
	BlockSize int32 `xml:"blockSize" json:"blockSize"`
	// The number of blocks.
	Block int64 `xml:"block" json:"block"`
}

This data object type describes the logical block addressing system that uses block numbers and block sizes to refer to a block.

This scheme is employed by SCSI. If a SCSI disk is not involved, then blockSize is 512 bytes.

type HostDiskMappingInfo

type HostDiskMappingInfo struct {
	DynamicData

	// The partition used on the host, if not mapping
	// to a full disk device.
	PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
	// Host resource name.
	Name string `xml:"name" json:"name"`
	// Flag to indicate whether or not the virtual machine has exclusive access
	// to the host device.
	Exclusive *bool `xml:"exclusive" json:"exclusive,omitempty"`
}

The HostDiskMappingInfo data object type describes a virtual disk mapping to a host disk.

type HostDiskMappingOption

type HostDiskMappingOption struct {
	DynamicData

	// Array of valid partitions on this physical disk.
	//
	// There is no default for this array.
	PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty" json:"physicalPartition,omitempty"`
	// Host resource name.
	Name string `xml:"name" json:"name"`
}

The HostDiskMappingOption data object type describes the options for a virtual disk mapping to a host disk.

type HostDiskMappingPartitionInfo

type HostDiskMappingPartitionInfo struct {
	DynamicData

	// Partition name.
	Name string `xml:"name" json:"name"`
	// Filesystem, if the partition is formatted.
	FileSystem string `xml:"fileSystem" json:"fileSystem"`
	// Partition capacity, in KB.
	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
}

The PhysicalPartitionInfo data class.

type HostDiskMappingPartitionOption

type HostDiskMappingPartitionOption struct {
	DynamicData

	// Partition name.
	Name string `xml:"name" json:"name"`
	// File system, if the partition is formatted.
	FileSystem string `xml:"fileSystem" json:"fileSystem"`
	// Partition capacity, in KB.
	CapacityInKb int64 `xml:"capacityInKb" json:"capacityInKb"`
}

The PhysicalPartitionOption data class contains the options for a partition on a physical disk.

type HostDiskPartitionAttributes

type HostDiskPartitionAttributes struct {
	DynamicData

	// The partition number.
	//
	// Must be a positive integer.
	Partition int32 `xml:"partition" json:"partition"`
	// The start sector.
	StartSector int64 `xml:"startSector" json:"startSector"`
	// The end sector.
	EndSector int64 `xml:"endSector" json:"endSector"`
	// Type of data in the partition.
	//
	// If it is a well-known partition type,
	// it will be one of the defined types. If it is not, then it will be
	// reported as a hexadecimal number. For example, "none", "vmfs", "linux",
	// and "0x20" are all valid values.
	//
	// See also `HostDiskPartitionInfoType_enum`.
	Type string `xml:"type" json:"type"`
	// Globally Unique Identifier of the partition, as defined by the GUID
	// Partition Table (GPT) format.
	//
	// This is available only for GPT formatted
	// disks.
	Guid string `xml:"guid,omitempty" json:"guid,omitempty" vim:"5.0"`
	// The flag to indicate whether or not the partition is
	// logical.
	//
	// If true, the partition
	// number should be greater than 4.
	Logical bool `xml:"logical" json:"logical"`
	// The attributes on the partition.
	Attributes byte `xml:"attributes" json:"attributes"`
	// Partition alignment in bytes.
	//
	// If unset, partition alignment value is unknown.
	PartitionAlignment int64 `xml:"partitionAlignment,omitempty" json:"partitionAlignment,omitempty" vim:"5.0"`
}

Information about a single disk partition.

A partition is a contiguous set of blocks on a disk that is marked for use. The typeId identifies the purpose of the data in the partition.

type HostDiskPartitionBlockRange

type HostDiskPartitionBlockRange struct {
	DynamicData

	// Partition number.
	//
	// This number is a hint from the server indicating
	// what the partition number for this block range is if the range
	// corresponds to a partition. The partition number should correlate to
	// the one in the partition specification. If sent back to the server,
	// this property is ignored.
	Partition int32 `xml:"partition,omitempty" json:"partition,omitempty"`
	// The type of data in the partition.
	//
	// See also `HostDiskPartitionAttributes.type`.
	Type string `xml:"type" json:"type"`
	// The starting block address of the disk range.
	//
	// The block numbers start
	// from zero. The range is inclusive of the end address.
	Start HostDiskDimensionsLba `xml:"start" json:"start"`
	// The end block address of the disk range.
	//
	// The block numbers start
	// from zero. The range is inclusive of the end address.
	End HostDiskDimensionsLba `xml:"end" json:"end"`
}

A BlockRange data object type describes a contiguous set of blocks on a disk.

A BlockRange may describe either a partition or unpartitioned (primordial) blocks on the disk.

type HostDiskPartitionInfo

type HostDiskPartitionInfo struct {
	DynamicData

	// The device name of the disk to which this partition information
	// corresponds.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// The detailed disk partition specification.
	//
	// Use this specification for
	// manipulating the file system.
	//
	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
	// A convenient format for describing disk layout.
	//
	// This layout
	// specification can be converted to a Specification object.
	//
	// See also `HostStorageSystem.ComputeDiskPartitionInfo`.
	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
}

Information about the partitions on a disk.

A DiskPartitionInfo object provides two different views into the partitions on a disk:

  • A detailed specification that is used to create the partition table.
  • A convenient view that shows the allocations of blocks as a contiguous sequence of block ranges.

See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.ComputeDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.

type HostDiskPartitionInfoPartitionFormat

type HostDiskPartitionInfoPartitionFormat string

List of partition format types.

type HostDiskPartitionInfoType

type HostDiskPartitionInfoType string

List of symbol partition types

type HostDiskPartitionLayout

type HostDiskPartitionLayout struct {
	DynamicData

	// Total number of blocks on a disk.
	Total *HostDiskDimensionsLba `xml:"total,omitempty" json:"total,omitempty"`
	// List of block ranges on the disk.
	Partition []HostDiskPartitionBlockRange `xml:"partition" json:"partition"`
}

This data object type describes the disk partition layout specified as a list of ordered BlockRanges.

This view of the disk partitions shows the data on the disk as a contiguous set of BlockRanges.

type HostDiskPartitionSpec

type HostDiskPartitionSpec struct {
	DynamicData

	// Partition format type on the disk.
	PartitionFormat string `xml:"partitionFormat,omitempty" json:"partitionFormat,omitempty" vim:"5.0"`
	// Disk dimensions expressed as cylinder, head, sector (CHS)
	// coordinates.
	Chs *HostDiskDimensionsChs `xml:"chs,omitempty" json:"chs,omitempty"`
	// Disk dimensions expressed as a total number of sectors.
	//
	// For sector size, see the `sectorSize` field.
	TotalSectors int64 `xml:"totalSectors,omitempty" json:"totalSectors,omitempty"`
	// List of partitions on the disk.
	Partition []HostDiskPartitionAttributes `xml:"partition,omitempty" json:"partition,omitempty"`
}

This data object type describes the disk partition table specification used to configure the partitions on a disk.

This data object represents the fundamental data needed to specify a partition table.

type HostDnsConfig

type HostDnsConfig struct {
	DynamicData

	// The flag to indicate whether or not DHCP (dynamic host control
	// protocol) is used to determine DNS configuration automatically.
	Dhcp bool `xml:"dhcp" json:"dhcp"`
	// If DHCP is enabled, the DHCP DNS of the vmkernel nic will override
	// the system's DNS.
	//
	// This field applies to both IPv4 and IPv6 DNS settings
	// if `ipv6VirtualNicDevice`
	// is unset, otherwise it is applicable only for IPv4 setting.
	// This field is ignored if DHCP is disabled by the
	// `dhcp` property.
	VirtualNicDevice string `xml:"virtualNicDevice,omitempty" json:"virtualNicDevice,omitempty"`
	// If DHCP is enabled, the IPv6 DHCP DNS of the vmkernel nic will override
	// the system's IPv6 DNS.
	//
	// This field is ignored if DHCP is disabled by the
	// `dhcp` property.
	Ipv6VirtualNicDevice string `xml:"ipv6VirtualNicDevice,omitempty" json:"ipv6VirtualNicDevice,omitempty" vim:"6.7"`
	// The host name portion of DNS name.
	//
	// For example, "esx01".
	//
	// `*Note*`: When DHCP is not enabled, the property can be set
	// explicitly. When DHCP is enabled, the property reflects the current
	// DNS configuration, but cannot be set.
	// The hostName can't have character '.' in it when set explicitly.
	HostName string `xml:"hostName" json:"hostName"`
	// The domain name portion of the DNS name.
	//
	// For example, "vmware.com".
	//
	// `*Note*`: When DHCP is not enabled, the property can be set
	// explicitly. When DHCP is enabled, the property reflects the current
	// DNS configuration, but cannot be set.
	DomainName string `xml:"domainName" json:"domainName"`
	// The IP addresses of the DNS servers, placed in order of preference.
	//
	// `*Note*`: When DHCP is not enabled, the property can be set
	// explicitly. When DHCP is enabled, the property reflects the current
	// DNS configuration, but cannot be set.
	Address []string `xml:"address,omitempty" json:"address,omitempty"`
	// The domain in which to search for hosts, placed in order of preference.
	//
	// `*Note*`: When DHCP is not enabled, the property can be set
	// explicitly. When DHCP is enabled, the property reflects the current
	// DNS configuration, but cannot be set.
	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
}

This data object type describes the DNS configuration.

All IPv4 addresses, subnet addresses, and netmasks are specified using dotted decimal notation. For example, "192.0.2.1". IPv6 addresses are 128-bit addresses represented as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.

func (*HostDnsConfig) GetHostDnsConfig

func (b *HostDnsConfig) GetHostDnsConfig() *HostDnsConfig

type HostDnsConfigSpec

type HostDnsConfigSpec struct {
	HostDnsConfig

	// Choose a Virtual nic based on what it is connected to.
	VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty" json:"virtualNicConnection,omitempty"`
	// Choose an IPv6 Virtual nic based on what it is connected to.
	VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty" json:"virtualNicConnectionV6,omitempty" vim:"6.7"`
}

Dataobject for configuring the DNS settings on the host.

type HostDvxClass added in v0.29.0

type HostDvxClass struct {
	DynamicData

	// The class name.
	DeviceClass string `xml:"deviceClass" json:"deviceClass"`
	// Indicates whether checkpointing is supported.
	CheckpointSupported bool `xml:"checkpointSupported" json:"checkpointSupported"`
	// Indicates whether software Direct Memory Access (DMA)
	// tracing is supported.
	SwDMATracingSupported bool `xml:"swDMATracingSupported" json:"swDMATracingSupported"`
	// Indicates whether the devices of this class are SR-IOV NICs.
	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
}

Provides information about a single Device Virtualization Extensions (DVX) device class.

type HostEnableAdminFailedEvent

type HostEnableAdminFailedEvent struct {
	HostEvent

	Permissions []Permission `xml:"permissions" json:"permissions"`
}

This event records the failure to restore some of the administrator's permissions.

type HostEnterMaintenanceResult added in v0.18.0

type HostEnterMaintenanceResult struct {
	DynamicData

	// VM specific faults that would prevent host from
	// entering maintenance mode.
	VmFaults []FaultsByVM `xml:"vmFaults,omitempty" json:"vmFaults,omitempty"`
	// Host specific faults that would prevent host from
	// entering maintenance mode.
	HostFaults []FaultsByHost `xml:"hostFaults,omitempty" json:"hostFaults,omitempty"`
}

EnterMaintenanceResult is the result returned to the `HostSystem.QueryWhatIfEnterMaintenance` method.

type HostEsxAgentHostManagerConfigInfo

type HostEsxAgentHostManagerConfigInfo struct {
	DynamicData

	// Datastore used for deploying Agent VMs on this host.
	//
	// Refers instance of `Datastore`.
	AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty" json:"agentVmDatastore,omitempty"`
	// Management Network for Agent VMs on this host.
	//
	// Refers instance of `Network`.
	AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty" json:"agentVmNetwork,omitempty"`
}

type HostEvent

type HostEvent struct {
	Event
}

These are host-related events.

func (*HostEvent) GetHostEvent

func (b *HostEvent) GetHostEvent() *HostEvent

type HostEventArgument

type HostEventArgument struct {
	EntityEventArgument

	// The host object.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The event argument is a Host object.

type HostExtendDiskRequestType added in v0.12.0

type HostExtendDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be extended.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new capacity of the virtual disk in MB.
	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
}

The parameters of `HostVStorageObjectManager.HostExtendDisk_Task`.

type HostExtendDisk_Task added in v0.12.0

type HostExtendDisk_Task HostExtendDiskRequestType

type HostExtendDisk_TaskResponse added in v0.12.0

type HostExtendDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostExtraNetworksEvent

type HostExtraNetworksEvent struct {
	HostDasEvent

	// The comma-separated list of extra networks
	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records the fact that a host has extra networks not used by other hosts for HA communication

type HostFaultToleranceManagerComponentHealthInfo

type HostFaultToleranceManagerComponentHealthInfo struct {
	DynamicData

	// Whether the virtual machine can access the datastores configured.
	IsStorageHealthy bool `xml:"isStorageHealthy" json:"isStorageHealthy"`
	// Whether the virtual machine can access the VM network configured.
	IsNetworkHealthy bool `xml:"isNetworkHealthy" json:"isNetworkHealthy"`
}

Data structure for component health information of a virtual machine.

type HostFeatureCapability

type HostFeatureCapability struct {
	DynamicData

	// Accessor name to the feature capability.
	Key string `xml:"key" json:"key"`
	// Name of the feature.
	//
	// Identical to the key.
	FeatureName string `xml:"featureName" json:"featureName"`
	// Opaque value that the feature is capable at.
	Value string `xml:"value" json:"value"`
}

A feature that the host is able to provide at a particular value.

type HostFeatureMask

type HostFeatureMask struct {
	DynamicData

	// Accessor name to the feature mask.
	Key string `xml:"key" json:"key"`
	// Name of the feature Identical to the key.
	FeatureName string `xml:"featureName" json:"featureName"`
	// Opaque value to change the host feature capability to.
	//
	// Masking operation is contained in the value.
	Value string `xml:"value" json:"value"`
}

A mask that is applied to a host feature capability.

type HostFeatureVersionInfo

type HostFeatureVersionInfo struct {
	DynamicData

	// A unique key that identifies a feature, list of possible values are
	// specified in `HostFeatureVersionKey_enum`
	Key string `xml:"key" json:"key"`
	// The version string of this feature
	Value string `xml:"value" json:"value"`
}

Feature-specific version information for a host

type HostFeatureVersionKey

type HostFeatureVersionKey string

Set of possible values for `HostFeatureVersionInfo.key`, which

type HostFibreChannelHba

type HostFibreChannelHba struct {
	HostHostBusAdapter

	// The world wide port name for the adapter.
	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
	// The world wide node name for the adapter.
	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
	// The type of the fiber channel port.
	PortType FibreChannelPortType `xml:"portType" json:"portType"`
	// The current operating speed of the adapter in
	// bits per second.
	Speed int64 `xml:"speed" json:"speed"`
}

This data object type describes the Fibre Channel host bus adapter.

func (*HostFibreChannelHba) GetHostFibreChannelHba

func (b *HostFibreChannelHba) GetHostFibreChannelHba() *HostFibreChannelHba

type HostFibreChannelOverEthernetHba

type HostFibreChannelOverEthernetHba struct {
	HostFibreChannelHba

	// The name associated with this FCoE HBA's underlying FcoeNic.
	UnderlyingNic string `xml:"underlyingNic" json:"underlyingNic"`
	// Link information that can be used to uniquely identify this FCoE HBA.
	LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo" json:"linkInfo"`
	// True if this host bus adapter is a software based FCoE initiator.
	IsSoftwareFcoe bool `xml:"isSoftwareFcoe" json:"isSoftwareFcoe"`
	// Deprecated as of vSphere API 8.0. Software FCoE not supported.
	//
	// True if this host bus adapter has been marked for removal.
	MarkedForRemoval *bool `xml:"markedForRemoval" json:"markedForRemoval,omitempty"`
}

This data object type describes the FCoE host bus adapter interface.

Terminology is borrowed from T11's working draft of the Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found at http://www.t11.org.

type HostFibreChannelOverEthernetHbaLinkInfo

type HostFibreChannelOverEthernetHbaLinkInfo struct {
	DynamicData

	// VNPort MAC address, as defined by the FC-BB-5 standard.
	//
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
	// addresses.
	VnportMac string `xml:"vnportMac" json:"vnportMac"`
	// FCF MAC address, also known as the VFPort MAC address in the FC-BB-5
	// standard.
	//
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
	// addresses.
	FcfMac string `xml:"fcfMac" json:"fcfMac"`
	// VLAN ID.
	//
	// This field represents the VLAN on which an FCoE HBA was
	// discovered. Valid numbers fall into the range \[0,4094\].
	VlanId int32 `xml:"vlanId" json:"vlanId"`
}

Represents FCoE link information.

The link information represents a VNPort to VFPort Virtual Link, as described in the FC-BB-5 standard, with the addition of the VLAN ID over which a link exists.

type HostFibreChannelOverEthernetTargetTransport

type HostFibreChannelOverEthernetTargetTransport struct {
	HostFibreChannelTargetTransport

	// VNPort MAC address.
	//
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
	// addresses.
	VnportMac string `xml:"vnportMac" json:"vnportMac"`
	// FCF MAC address.
	//
	// This MAC address should be of the form "xx:xx:xx:xx:xx:xx", where
	// 'x' is a hexadecimal digit. Valid MAC addresses are unicast
	// addresses.
	FcfMac string `xml:"fcfMac" json:"fcfMac"`
	// VLAN ID.
	//
	// Valid VLAN IDs fall within the range \[0,4094\].
	VlanId int32 `xml:"vlanId" json:"vlanId"`
}

Fibre Channel Over Ethernet transport information about a SCSI target.

FCoE transport information is that of: the regular FC World Wide Node and Port Names; the VNPort MAC address and FCF MAC address which constitute a VN\_Port to VF\_Port Virtual Link; and the VLAN on which an FCoE target resides. More FCoE information can be found in the working draft of the T11's Fibre Channel Backbone 5 standard (FC-BB-5). The draft can be found at http://www.t11.org.

type HostFibreChannelTargetTransport

type HostFibreChannelTargetTransport struct {
	HostTargetTransport

	// The world wide port name of the target.
	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
	// The world wide node name of the target.
	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
}

Fibre Channel transport information about a SCSI target.

func (*HostFibreChannelTargetTransport) GetHostFibreChannelTargetTransport

func (b *HostFibreChannelTargetTransport) GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport

type HostFileAccess

type HostFileAccess struct {
	DynamicData

	// User or group to which the access applies.
	Who string `xml:"who" json:"who"`
	// Rights given to the user or group.
	What string `xml:"what" json:"what"`
}

This data object type contains a single access control entry for a file permissions list.

type HostFileSystemMountInfo

type HostFileSystemMountInfo struct {
	DynamicData

	// Information about the mount point.
	MountInfo HostMountInfo `xml:"mountInfo" json:"mountInfo"`
	// Information about the mounted volume.
	Volume BaseHostFileSystemVolume `xml:"volume,typeattr" json:"volume"`
	// vStorage hardware acceleration support status.
	//
	// This property
	// represents the volume's capability for storage acceleration.
	// See `FileSystemMountInfoVStorageSupportStatus_enum` for valid
	// values.
	//
	// If the ESX Server supports hardware acceleration, the Server
	// can offload specific virtual machine management operations
	// to a storage device with the hardware acceleration feature.
	// With hardware assistance, the host performs storage operations
	// faster and consumes less CPU, memory, and storage fabric bandwidth.
	//
	// For vSphere 4.0 or earlier hosts, this value will be unset.
	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"4.1"`
}

The `HostFileSystemMountInfo` data object describes a host mount point for a file system.

type HostFileSystemVolume

type HostFileSystemVolume struct {
	DynamicData

	// FileSystemType of this particular file system
	// See `HostFileSystemVolumeFileSystemType_enum`
	Type string `xml:"type" json:"type"`
	// Name of the file system volume.
	Name string `xml:"name" json:"name"`
	// The capacity of the file system volume, in bytes.
	Capacity int64 `xml:"capacity" json:"capacity"`
}

Detailed information about a file system.

This is a base type for derived types that have more specific details about specific filesystem types.

Typically a FileSystem is exposed as a datatore

See also `DatastoreInfo`, `HostVmfsVolume`, `HostNasVolume`, `HostVffsVolume`, `HostLocalFileSystemVolume`

However, a FileSystemVolume need not be exposed a datastore., `HostVfatVolume`.

func (*HostFileSystemVolume) GetHostFileSystemVolume

func (b *HostFileSystemVolume) GetHostFileSystemVolume() *HostFileSystemVolume

type HostFileSystemVolumeFileSystemType

type HostFileSystemVolumeFileSystemType string

type HostFileSystemVolumeInfo

type HostFileSystemVolumeInfo struct {
	DynamicData

	// The list of supported file system volume types.
	VolumeTypeList []string `xml:"volumeTypeList,omitempty" json:"volumeTypeList,omitempty"`
	// The list of file system volumes mounted on the host.
	MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty" json:"mountInfo,omitempty"`
}

The `HostFileSystemVolumeInfo` data object describes the file system volume information for the host.

A file system volume refers to a storage abstraction that allows files to be created and organized. A host can have multiple file system volumes. File system volumes are typically mounted into a file namespace that allows all files in mounted file systems to be addressable from the host.

A file system volume is backed by disk storage. It could span one or more disks but need not use an entire disk.

A file system volume by definition must be mounted on the file system in order to exist.

type HostFirewallConfig

type HostFirewallConfig struct {
	DynamicData

	// Rules determining firewall settings.
	Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty" json:"rule,omitempty"`
	// Default settings for the firewall,
	// used for ports that are not explicitly opened.
	DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy" json:"defaultBlockingPolicy"`
}

DataObject used for firewall configuration

type HostFirewallConfigRuleSetConfig

type HostFirewallConfigRuleSetConfig struct {
	DynamicData

	// Id of the ruleset.
	RulesetId string `xml:"rulesetId" json:"rulesetId"`
	// Flag indicating if the specified ruleset should be enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// The list of allowed ip addresses
	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty" vim:"5.0"`
}

type HostFirewallDefaultPolicy

type HostFirewallDefaultPolicy struct {
	DynamicData

	// Flag indicating whether incoming traffic should be blocked by default.
	IncomingBlocked *bool `xml:"incomingBlocked" json:"incomingBlocked,omitempty"`
	// Flag indicating whether outgoing traffic should be blocked by default.
	OutgoingBlocked *bool `xml:"outgoingBlocked" json:"outgoingBlocked,omitempty"`
}

Default settings for the firewall, used for ports that are not explicitly opened.

type HostFirewallInfo

type HostFirewallInfo struct {
	DynamicData

	// Default firewall policy.
	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
	// List of configured rulesets.
	Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
}

Data object describing the firewall configuration.

type HostFirewallRule

type HostFirewallRule struct {
	DynamicData

	// The port number.
	Port int32 `xml:"port" json:"port"`
	// For a port range, the ending port number.
	EndPort int32 `xml:"endPort,omitempty" json:"endPort,omitempty"`
	// The port direction.
	Direction HostFirewallRuleDirection `xml:"direction" json:"direction"`
	// The port type.
	PortType HostFirewallRulePortType `xml:"portType,omitempty" json:"portType,omitempty" vim:"5.0"`
	// The port protocol.
	//
	// Valid values are defined by the
	// `HostFirewallRuleProtocol_enum` enumeration.
	Protocol string `xml:"protocol" json:"protocol"`
}

This data object type describes a port (or range of ports), identified by port number(s), direction and protocol.

It is used as a convenient way for users to express what ports they want to permit through the firewall.

type HostFirewallRuleDirection

type HostFirewallRuleDirection string

Enumeration of port directions.

type HostFirewallRulePortType

type HostFirewallRulePortType string

type HostFirewallRuleProtocol

type HostFirewallRuleProtocol string

Set of valid port protocols.

type HostFirewallRuleset

type HostFirewallRuleset struct {
	DynamicData

	// Brief identifier for the ruleset.
	Key string `xml:"key" json:"key"`
	// Display label for the ruleset.
	Label string `xml:"label" json:"label"`
	// Flag indicating whether the ruleset is required and cannot be disabled.
	Required bool `xml:"required" json:"required"`
	// List of rules within the ruleset.
	Rule []HostFirewallRule `xml:"rule" json:"rule"`
	// Managed service (if any) that uses this ruleset.
	//
	// Must be one of
	// the services listed in `HostServiceInfo.service`.
	Service string `xml:"service,omitempty" json:"service,omitempty"`
	// Flag indicating whether the ruleset is enabled.
	//
	// If the
	// ruleset is enabled, all ports specified in the ruleset are
	// opened by the firewall.
	Enabled bool `xml:"enabled" json:"enabled"`
	// List of ipaddress to allow access to the service
	AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty" json:"allowedHosts,omitempty" vim:"5.0"`
	// Flag indicating whether user can enable/disable the firewall ruleset.
	UserControllable *bool `xml:"userControllable" json:"userControllable,omitempty" vim:"8.0.2.0"`
	// Flag indicating whether user can modify the allowed IP list of the
	// firewall ruleset.
	IpListUserConfigurable *bool `xml:"ipListUserConfigurable" json:"ipListUserConfigurable,omitempty" vim:"8.0.2.0"`
}

Data object that describes a single network ruleset that can be allowed or blocked by the firewall using the `HostFirewallSystem` object.

type HostFirewallRulesetIpList

type HostFirewallRulesetIpList struct {
	DynamicData

	// The list of ipAddresses.
	//
	// All IPv4 addresses are specified as strings using dotted
	// decimal format. For example, "192.0.20.10".
	// IPv6 addresses are 128-bit addresses represented
	// as eight fields of up to four hexadecimal digits. A colon separates each
	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
	// also consist of symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// The list of networks
	IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty" json:"ipNetwork,omitempty"`
	// Flag indicating whether the ruleset works for all ip addresses.
	AllIp bool `xml:"allIp" json:"allIp"`
}

type HostFirewallRulesetIpNetwork

type HostFirewallRulesetIpNetwork struct {
	DynamicData

	// The IPv4 or IPv6 network.
	//
	// All IPv4 subnet addresses are specified as strings using dotted
	// decimal format. For example, "192.0.20.0".
	// IPv6 addresses are 128-bit addresses represented
	// as eight fields of up to four hexadecimal digits. A colon separates each
	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
	// also consist of symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	Network string `xml:"network" json:"network"`
	// The prefix length for the network.
	//
	// For example the prefix length for a network 10.20.120/22 is 22
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
}

type HostFirewallRulesetRulesetSpec

type HostFirewallRulesetRulesetSpec struct {
	DynamicData

	// The list of allowed ip addresses
	AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts" json:"allowedHosts"`
}

The ruleset update specification.

type HostFirewallSystemRuleSetId added in v0.31.0

type HostFirewallSystemRuleSetId string

type HostFirewallSystemServiceName added in v0.31.0

type HostFirewallSystemServiceName string

type HostFlagInfo

type HostFlagInfo struct {
	DynamicData

	// Flag to specify whether background snapshots are enabled.
	BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled" json:"backgroundSnapshotsEnabled,omitempty"`
}

The FlagInfo data object type encapsulates the flag settings for a host.

These properties are optional since the same structure is used to change the values during an edit or create operation.

type HostForceMountedInfo

type HostForceMountedInfo struct {
	DynamicData

	// Indicates if the vmfsExtent information persistent across
	// host reboots.
	Persist bool `xml:"persist" json:"persist"`
	// Indicates if the volume is currently mounted on the host
	Mounted bool `xml:"mounted" json:"mounted"`
}

When the system detects a copy of a VmfsVolume, it will not be auto-mounted on the host and it will be detected as 'UnresolvedVmfsVolume'.

If user decides to keep the original Uuid and mount it on the host, it will have 'forceMounted' flag and 'forceMountedInfo' set. 'ForceMountedInfo' provides additional information specific to user-mounted VmfsVolume.

type HostFru added in v0.29.0

type HostFru struct {
	DynamicData

	// Report the FRU type if available `HostFruFruType_enum`
	Type string `xml:"type" json:"type"`
	// Part Name is used for ordering replacement.
	PartName string `xml:"partName" json:"partName"`
	// Part Number is used for ordering replacement.
	PartNumber string `xml:"partNumber" json:"partNumber"`
	// The name of the manufacturer.
	Manufacturer string `xml:"manufacturer" json:"manufacturer"`
	// The serial number of the part.
	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
	// The time, if any, when this FRU entry was created by manufacturer.
	MfgTimeStamp *time.Time `xml:"mfgTimeStamp" json:"mfgTimeStamp,omitempty"`
}

Data object representing the hardware vendor identity for a given hardware component in the host.

type HostFruFruType added in v0.27.0

type HostFruFruType string

The vendor definition for type of Field Replaceable Unit (FRU).

type HostGatewaySpec

type HostGatewaySpec struct {
	DynamicData

	// The type of the gateway used for the communication to the host.
	GatewayType string `xml:"gatewayType" json:"gatewayType"`
	// Identifier of the gateway to be used for communction to the host.
	//
	// If
	// omitted a random gateway of this type will be selected.
	GatewayId string `xml:"gatewayId,omitempty" json:"gatewayId,omitempty"`
	// An opaque string that the gateway may need to validate that the host
	// it connects to is the correct host.
	TrustVerificationToken string `xml:"trustVerificationToken,omitempty" json:"trustVerificationToken,omitempty"`
	// Additional opaque authentication data that the gateway may need to
	// authenticate to the host.
	HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty" json:"hostAuthParams,omitempty"`
}

Deprecated not supported since vSphere 6.5.

Settings for a gateway used to communicate with a host.

type HostGetShortNameFailedEvent

type HostGetShortNameFailedEvent struct {
	HostEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that hostname -s failed or returned a name containing '.'.

type HostGetVFlashModuleDefaultConfigRequestType

type HostGetVFlashModuleDefaultConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name of the vFlash module
	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
}

The parameters of `HostVFlashManager.HostGetVFlashModuleDefaultConfig`.

type HostGetVFlashModuleDefaultConfigResponse

type HostGetVFlashModuleDefaultConfigResponse struct {
	Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval" json:"returnval"`
}

type HostGraphicsConfig added in v0.12.0

type HostGraphicsConfig struct {
	DynamicData

	// The host default graphics type.
	//
	// See `HostGraphicsConfigGraphicsType_enum` for list
	// of supported values. This default value can be overridden by specifying
	// graphics type for an individual device. If host supports a single
	// graphics type, specifying an individual graphics device is optional.
	HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType" json:"hostDefaultGraphicsType"`
	// The policy for assigning shared passthrough VMs to a host graphics
	// device.
	//
	// See `HostGraphicsConfigSharedPassthruAssignmentPolicy_enum` for list of
	// supported values.
	SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy" json:"sharedPassthruAssignmentPolicy"`
	// Graphics devices and their associated type.
	DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
}

Data object used for graphics configuration

type HostGraphicsConfigDeviceType added in v0.12.0

type HostGraphicsConfigDeviceType struct {
	DynamicData

	// Graphics device identifier (ex.
	//
	// PCI ID).
	DeviceId string `xml:"deviceId" json:"deviceId"`
	// Graphics type for this device.
	//
	// See `HostGraphicsConfigGraphicsType_enum` for list of
	// supported values.
	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
}

A particular graphics device with its associated type and mode.

type HostGraphicsConfigGraphicsType added in v0.12.0

type HostGraphicsConfigGraphicsType string

type HostGraphicsConfigSharedPassthruAssignmentPolicy added in v0.12.0

type HostGraphicsConfigSharedPassthruAssignmentPolicy string

type HostGraphicsInfo

type HostGraphicsInfo struct {
	DynamicData

	// The device name.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// The vendor name.
	VendorName string `xml:"vendorName" json:"vendorName"`
	// PCI ID of this device composed of "bus:slot.function".
	PciId string `xml:"pciId" json:"pciId"`
	// Graphics type (@see GraphicsType).
	GraphicsType string `xml:"graphicsType" json:"graphicsType"`
	// Memory capacity of graphics device or zero if not available.
	MemorySizeInKB int64 `xml:"memorySizeInKB" json:"memorySizeInKB"`
	// Virtual machines using this graphics device.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
}

This data object type describes information about a single graphics device.

type HostGraphicsInfoGraphicsType

type HostGraphicsInfoGraphicsType string

type HostHardwareElementInfo

type HostHardwareElementInfo struct {
	DynamicData

	// The name of the physical element
	Name string `xml:"name" json:"name"`
	// The operational status of the physical element.
	//
	// The status is one of
	// the values specified in HostHardwareElementStatus.
	//
	// See also `HostHardwareElementStatus_enum`.
	Status BaseElementDescription `xml:"status,typeattr" json:"status"`
}

Data object describing the operational status of a physical element.

func (*HostHardwareElementInfo) GetHostHardwareElementInfo

func (b *HostHardwareElementInfo) GetHostHardwareElementInfo() *HostHardwareElementInfo

type HostHardwareElementStatus

type HostHardwareElementStatus string

type HostHardwareInfo

type HostHardwareInfo struct {
	DynamicData

	// Information about the system as a whole.
	SystemInfo             HostSystemInfo              `xml:"systemInfo" json:"systemInfo"`
	CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty" json:"cpuPowerManagementInfo,omitempty"`
	// Overall CPU information.
	CpuInfo HostCpuInfo `xml:"cpuInfo" json:"cpuInfo"`
	// Information about each of the physical CPU packages on the host.
	CpuPkg []HostCpuPackage `xml:"cpuPkg" json:"cpuPkg"`
	// Total amount of physical memory on the host in bytes.
	MemorySize int64 `xml:"memorySize" json:"memorySize"`
	// Information about the NUMA (non-uniform memory access).
	NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty"`
	// Presence of System Management Controller, indicates the host is
	// Apple hardware, and thus capable of running Mac OS guest as VM.
	SmcPresent *bool `xml:"smcPresent" json:"smcPresent,omitempty" vim:"5.0"`
	// The list of Peripheral Component Interconnect (PCI) devices
	// available on this host.
	PciDevice []HostPciDevice `xml:"pciDevice,omitempty" json:"pciDevice,omitempty"`
	// The list of Device Virtualization Extensions (DVX) classes
	// available on this host.
	DvxClasses []HostDvxClass `xml:"dvxClasses,omitempty" json:"dvxClasses,omitempty" vim:"8.0.0.1"`
	// CPU feature set that is supported by the hardware.
	//
	// This is the
	// intersection of the feature sets supported by the individual CPU
	// packages. This feature set is modified by the
	// `supportedCpuFeature`
	// array in the host capabilities to obtain the feature set supported by
	// the virtualization platform.
	CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty" json:"cpuFeature,omitempty"`
	// Information about the system BIOS
	BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty" json:"biosInfo,omitempty" vim:"2.5"`
	// Information about reliable memory.
	ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty" json:"reliableMemoryInfo,omitempty" vim:"5.5"`
	// Persistent memory configuration on this host.
	PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty" json:"persistentMemoryInfo,omitempty" vim:"6.7"`
	// SGX configuration on this host.
	SgxInfo *HostSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
	// SEV configuration on this host.
	SevInfo *HostSevInfo `xml:"sevInfo,omitempty" json:"sevInfo,omitempty" vim:"7.0.1.0"`
	// Type of memory tiering configured on this host.
	//
	// See `HostMemoryTieringType_enum` for
	// supported values. This field will be unset for legacy hosts as well as
	// for hosts that don't support memory tiering.
	MemoryTieringType string `xml:"memoryTieringType,omitempty" json:"memoryTieringType,omitempty" vim:"7.0.3.0"`
	// Configuration of each memory tier on this host.
	//
	// The array is populated in the
	// order of tiers (ie, tier 0 at array index 0, tier 1 at array index 1,
	// and so on).
	MemoryTierInfo []HostMemoryTierInfo `xml:"memoryTierInfo,omitempty" json:"memoryTierInfo,omitempty" vim:"7.0.3.0"`
}

The HardwareInfo data object type describes the hardware configuration of the host.

type HostHardwareStatusInfo

type HostHardwareStatusInfo struct {
	DynamicData

	// Status of the physical memory
	MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr" json:"memoryStatusInfo,omitempty"`
	// Status of the CPU packages
	CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr" json:"cpuStatusInfo,omitempty"`
	// Status of the physical storage system
	StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty" json:"storageStatusInfo,omitempty"`
	// Status of one or more DPU elements
	DpuStatusInfo []DpuStatusInfo `xml:"dpuStatusInfo,omitempty" json:"dpuStatusInfo,omitempty" vim:"8.0.0.1"`
}

Data object representing the status of the hardware components of the host.

type HostHardwareSummary

type HostHardwareSummary struct {
	DynamicData

	// The hardware vendor identification.
	Vendor string `xml:"vendor" json:"vendor"`
	// The system model identification.
	Model string `xml:"model" json:"model"`
	// The hardware BIOS identification.
	Uuid string `xml:"uuid" json:"uuid"`
	// Other identification information.
	//
	// This information may be vendor
	// specific.
	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty" vim:"2.5"`
	// The physical memory size in bytes.
	MemorySize int64 `xml:"memorySize" json:"memorySize"`
	// The CPU model.
	CpuModel string `xml:"cpuModel" json:"cpuModel"`
	// The speed of the CPU cores.
	//
	// This is an average value if there are multiple
	// speeds. The product of cpuMhz and numCpuCores is approximately equal to the
	// sum of the MHz for all the individual cores on the host.
	CpuMhz int32 `xml:"cpuMhz" json:"cpuMhz"`
	// Number of physical CPU packages on the host.
	//
	// Physical CPU packages are chips
	// that contain one or more processors. Processors contained by a package are
	// also known as CPU cores. For example, one dual-core package is comprised of
	// one chip that contains two CPU cores.
	NumCpuPkgs int16 `xml:"numCpuPkgs" json:"numCpuPkgs"`
	// Number of physical CPU cores on the host.
	//
	// Physical CPU cores are the
	// processors contained by a CPU package.
	NumCpuCores int16 `xml:"numCpuCores" json:"numCpuCores"`
	// Number of physical CPU threads on the host.
	NumCpuThreads int16 `xml:"numCpuThreads" json:"numCpuThreads"`
	// The number of network adapters.
	NumNics int32 `xml:"numNics" json:"numNics"`
	// The number of host bus adapters (HBAs).
	NumHBAs int32 `xml:"numHBAs" json:"numHBAs"`
}

This data object type summarizes hardware used by the host.

type HostHasComponentFailure

type HostHasComponentFailure struct {
	VimFault

	// The host that has the component failure.
	HostName string `xml:"hostName" json:"hostName"`
	// The type of the component that has failed.
	//
	// Values come from `HostHasComponentFailureHostComponentType_enum`.
	ComponentType string `xml:"componentType" json:"componentType"`
	// The name of the component that has failed.
	ComponentName string `xml:"componentName" json:"componentName"`
}

The host has a component failure and thus can cause issues for VMs running or to be running on it.

type HostHasComponentFailureFault

type HostHasComponentFailureFault HostHasComponentFailure

type HostHasComponentFailureHostComponentType

type HostHasComponentFailureHostComponentType string

type HostHbaCreateSpec added in v0.27.0

type HostHbaCreateSpec struct {
	DynamicData
}

A data object which specifies the parameters needed to create a software host bus adapter of a specific kind.

func (*HostHbaCreateSpec) GetHostHbaCreateSpec added in v0.27.0

func (b *HostHbaCreateSpec) GetHostHbaCreateSpec() *HostHbaCreateSpec

type HostHostBusAdapter

type HostHostBusAdapter struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The device name of host bus adapter.
	Device string `xml:"device" json:"device"`
	// The host bus number.
	Bus int32 `xml:"bus" json:"bus"`
	// The operational status of the adapter.
	//
	// Valid values include "online",
	// "offline", "unbound", and "unknown".
	Status string `xml:"status" json:"status"`
	// The model name of the host bus adapter.
	Model string `xml:"model" json:"model"`
	// The name of the driver.
	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
	// The Peripheral Connect Interface (PCI) ID of the device
	// representing the host bus adapter.
	Pci string `xml:"pci,omitempty" json:"pci,omitempty"`
	// The type of protocol supported by the host bus adapter.
	//
	// The list of supported values is described in
	// `HostStorageProtocol_enum`.
	// When unset, a default value of "scsi" is assumed.
	StorageProtocol string `xml:"storageProtocol,omitempty" json:"storageProtocol,omitempty" vim:"7.0"`
}

This data object type describes the bus adapter for the host.

A host bus adapter (HBA) is a hardware or software adapter that connects the host to storage devices.

func (*HostHostBusAdapter) GetHostHostBusAdapter

func (b *HostHostBusAdapter) GetHostHostBusAdapter() *HostHostBusAdapter

type HostHyperThreadScheduleInfo

type HostHyperThreadScheduleInfo struct {
	DynamicData

	// The flag to indicate whether or not hyperthreading
	// optimization is available on the system.
	//
	// This property
	// is set by VMware prior to installation.
	Available bool `xml:"available" json:"available"`
	// The flag to indicate whether or not the CPU scheduler is
	// currently treating
	// hyperthreads as schedulable resources.
	//
	// Setting this property
	// involves a successful invocation of either the
	// `enableHyperThreading()` method ("true") or the
	// `disableHyperthreading()` method
	// ("false"). The property is set once the system is rebooted.
	Active bool `xml:"active" json:"active"`
	// The flag to indicate whether or not the CPU scheduler
	// should treat hyperthreads as
	// schedulable resources the next time the CPU scheduler starts.
	//     - This property is set to "true" by successfully invoking the
	//       `enableHyperThreading()` method.
	//     - This property is set to "false" by successfully invoking the
	//       `disableHyperthreading()` method.
	Config bool `xml:"config" json:"config"`
}

This data object type describes the CpuSchedulerSystem configuration for optimizing hyperthreading.

The primary hyperthreading optimization employed by the CpuSchedulerSystem is to utilize hyperthreads as additional schedulable resources. Although hyperthreads provide limited additional concurrency, certain workloads (such as idling) can take advantage of these hyperthreads. This is particularly useful for SMP virtual machines that use gang scheduling. (Gang scheduling refers to a situation in which all of a parallel program's tasks are grouped into a "gang" and concurrently scheduled on distinct processors of a parallel computer system.)

Changes to the hyperthreading optimization can take effect only after a system restart. Therefore, while it is possible to change the configuration at any time, the change will take effect only on the next boot.

type HostImageAcceptanceLevel

type HostImageAcceptanceLevel string

type HostImageConfigGetAcceptanceRequestType

type HostImageConfigGetAcceptanceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HostImageConfigGetAcceptanceResponse

type HostImageConfigGetAcceptanceResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type HostImageConfigGetProfileRequestType

type HostImageConfigGetProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HostImageConfigGetProfileResponse

type HostImageConfigGetProfileResponse struct {
	Returnval HostImageProfileSummary `xml:"returnval" json:"returnval"`
}

type HostImageProfileSummary

type HostImageProfileSummary struct {
	DynamicData

	// The name of the image profile
	Name string `xml:"name" json:"name"`
	// The organization publishing the image profile.
	Vendor string `xml:"vendor" json:"vendor"`
}

Summary of an image profile

type HostInAuditModeEvent

type HostInAuditModeEvent struct {
	HostEvent
}

Host is booted in audit mode.

type HostInDomain

type HostInDomain struct {
	HostConfigFault
}

Fault indicating that an operation cannot be performed while the host is part of a Windows domain.

type HostInDomainFault

type HostInDomainFault HostInDomain

type HostIncompatibleForFaultTolerance

type HostIncompatibleForFaultTolerance struct {
	VmFaultToleranceIssue

	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The specific reason why the host does not support fault tolerance.
	//
	// Values should come from `HostIncompatibleForFaultToleranceReason_enum`.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This fault is thrown when an attempt is made to configure a fault tolerant virtual machine on a host that is incompatible.

type HostIncompatibleForFaultToleranceFault

type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance

type HostIncompatibleForFaultToleranceReason

type HostIncompatibleForFaultToleranceReason string

type HostIncompatibleForRecordReplay

type HostIncompatibleForRecordReplay struct {
	VimFault

	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The specific reason why the host does not support record/replay.
	//
	// Values should come from `HostIncompatibleForRecordReplayReason_enum`.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

Deprecated as of vSphere API 6.0.

This fault is thrown when an attempt is made record or replay a virtual machine on a host that is incompatible.

type HostIncompatibleForRecordReplayFault

type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay

type HostIncompatibleForRecordReplayReason

type HostIncompatibleForRecordReplayReason string

type HostInflateDiskRequestType added in v0.12.0

type HostInflateDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be inflated.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostInflateDisk_Task`.

type HostInflateDisk_Task added in v0.12.0

type HostInflateDisk_Task HostInflateDiskRequestType

type HostInflateDisk_TaskResponse added in v0.12.0

type HostInflateDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostInternetScsiHba

type HostInternetScsiHba struct {
	HostHostBusAdapter

	// True if this host bus adapter is a software based initiator
	// utilizing the hosting system's existing TCP/IP network connection
	IsSoftwareBased bool `xml:"isSoftwareBased" json:"isSoftwareBased"`
	// Can this adapter be disabled
	CanBeDisabled *bool `xml:"canBeDisabled" json:"canBeDisabled,omitempty" vim:"5.0"`
	// Specifies if this iSCSI Adapter requires a bound network
	// interface to function.
	NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty" json:"networkBindingSupport,omitempty" vim:"5.0"`
	// The discovery capabilities for this host bus adapter.
	DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities" json:"discoveryCapabilities"`
	// The discovery settings for this host bus adapter.
	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
	// The authentication capabilities for this host bus adapter.
	AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities" json:"authenticationCapabilities"`
	// The authentication settings for this host bus adapter.
	//
	// All static and discovery targets will inherit the use of these
	// settings unless their authentication settings are explicitly set.
	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
	// The authentication capabilities for this host bus adapter.
	DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty" json:"digestCapabilities,omitempty" vim:"4.0"`
	// The digest settings for this host bus adapter.
	//
	// All static and discovery targets will inherit the use of these
	// properties unless their digest settings are explicitly set.
	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
	// The IP capabilities for this host bus adapter.
	IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities" json:"ipCapabilities"`
	// The IP settings for this host bus adapter.
	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
	// A list of supported key/value pair advanced options for the
	// host bus adapter including their type information.
	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
	// A list of the current options settings for the host bus adapter.
	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
	// The iSCSI name of this host bus adapter.
	IScsiName string `xml:"iScsiName" json:"iScsiName"`
	// The iSCSI alias of this host bus adapter.
	IScsiAlias string `xml:"iScsiAlias,omitempty" json:"iScsiAlias,omitempty"`
	// The configured iSCSI send target entries.
	ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty" json:"configuredSendTarget,omitempty"`
	// The configured iSCSI static target entries.
	ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty" json:"configuredStaticTarget,omitempty"`
	// The maximum supported link speed of the port in megabits per second.
	MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty" json:"maxSpeedMb,omitempty"`
	// The Current operating link speed of the port in megabits per second.
	CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty" json:"currentSpeedMb,omitempty"`
}

This data object type describes the iSCSI host bus adapter interface.

type HostInternetScsiHbaAuthenticationCapabilities

type HostInternetScsiHbaAuthenticationCapabilities struct {
	DynamicData

	// True if this host bus adapter supports changing the configuration
	// state of CHAP authentication.
	//
	// CHAP is mandatory, however some
	// adapter may not allow disabling this authentication method.
	ChapAuthSettable bool `xml:"chapAuthSettable" json:"chapAuthSettable"`
	// Always false in this version of the API.
	Krb5AuthSettable bool `xml:"krb5AuthSettable" json:"krb5AuthSettable"`
	// Always false in this version of the API.
	SrpAuthSettable bool `xml:"srpAuthSettable" json:"srpAuthSettable"`
	// Always false in this version of the API.
	SpkmAuthSettable bool `xml:"spkmAuthSettable" json:"spkmAuthSettable"`
	// When chapAuthSettable is TRUE, this describes if Mutual CHAP
	// configuration is allowed as well.
	MutualChapSettable *bool `xml:"mutualChapSettable" json:"mutualChapSettable,omitempty" vim:"4.0"`
	// When targetChapSettable is TRUE, this describes if
	// CHAP configuration is allowed on targets associated
	// with the adapter.
	TargetChapSettable *bool `xml:"targetChapSettable" json:"targetChapSettable,omitempty" vim:"4.0"`
	// When targetMutualChapSettable is TRUE, this describes if
	// Mutual CHAP configuration is allowed on targets associated
	// with the adapter.
	TargetMutualChapSettable *bool `xml:"targetMutualChapSettable" json:"targetMutualChapSettable,omitempty" vim:"4.0"`
}

The authentication capabilities for this host bus adapter.

type HostInternetScsiHbaAuthenticationProperties

type HostInternetScsiHbaAuthenticationProperties struct {
	DynamicData

	// True if CHAP is currently enabled
	ChapAuthEnabled bool `xml:"chapAuthEnabled" json:"chapAuthEnabled"`
	// The CHAP user name if enabled
	ChapName string `xml:"chapName,omitempty" json:"chapName,omitempty"`
	// The CHAP secret if enabled
	ChapSecret string `xml:"chapSecret,omitempty" json:"chapSecret,omitempty"`
	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
	ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty" json:"chapAuthenticationType,omitempty" vim:"4.0"`
	// CHAP settings are inherited
	ChapInherited *bool `xml:"chapInherited" json:"chapInherited,omitempty" vim:"4.0"`
	// When Mutual-CHAP is enabled, the user name that target needs to
	// use to authenticate with the initiator
	MutualChapName string `xml:"mutualChapName,omitempty" json:"mutualChapName,omitempty" vim:"4.0"`
	// When Mutual-CHAP is enabled, the secret that target needs to
	// use to authenticate with the initiator
	MutualChapSecret string `xml:"mutualChapSecret,omitempty" json:"mutualChapSecret,omitempty" vim:"4.0"`
	// The preference for CHAP or non-CHAP protocol if CHAP is enabled
	MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty" json:"mutualChapAuthenticationType,omitempty" vim:"4.0"`
	// Mutual-CHAP settings are inherited
	MutualChapInherited *bool `xml:"mutualChapInherited" json:"mutualChapInherited,omitempty" vim:"4.0"`
}

The authentication settings for this host bus adapter or target.

type HostInternetScsiHbaChapAuthenticationType

type HostInternetScsiHbaChapAuthenticationType string

The type of CHAP authentication setting to use.

prohibited : do not use CHAP. preferred : use CHAP if successfully negotiated, but allow non-CHAP connections as fallback discouraged : use non-CHAP, but allow CHAP connectsion as fallback required : use CHAP for connection strictly, and fail if CHAP negotiation fails.

type HostInternetScsiHbaDigestCapabilities

type HostInternetScsiHbaDigestCapabilities struct {
	DynamicData

	// True if this host bus adapter supports the configuration
	// of the use of header digest.
	//
	// Defaults to false, in which
	// case no header digests will be used.
	HeaderDigestSettable *bool `xml:"headerDigestSettable" json:"headerDigestSettable,omitempty"`
	// True if this host bus adapter supports the configuration
	// of the use of data digest.
	//
	// Defaults to false, in which
	// case no data digests will be used.
	DataDigestSettable *bool `xml:"dataDigestSettable" json:"dataDigestSettable,omitempty"`
	// True if configuration of the use of header digest is supported
	// on the targets associated with the host bus adapter.
	//
	// Defaults to
	// false, in which case no header digests will be used.
	TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable" json:"targetHeaderDigestSettable,omitempty"`
	// True if configuration of the use of data digest is supported
	// on the targets associated with the host bus adapter.
	//
	// Defaults to
	// false, in which case no data digests will be used.
	TargetDataDigestSettable *bool `xml:"targetDataDigestSettable" json:"targetDataDigestSettable,omitempty"`
}

The digest capabilities for this host bus adapter.

type HostInternetScsiHbaDigestProperties

type HostInternetScsiHbaDigestProperties struct {
	DynamicData

	// The header digest preference if header digest is enabled
	HeaderDigestType string `xml:"headerDigestType,omitempty" json:"headerDigestType,omitempty"`
	// Header digest setting is inherited
	HeaderDigestInherited *bool `xml:"headerDigestInherited" json:"headerDigestInherited,omitempty"`
	// The data digest preference if data digest is enabled
	DataDigestType string `xml:"dataDigestType,omitempty" json:"dataDigestType,omitempty"`
	// Data digest setting is inherited
	DataDigestInherited *bool `xml:"dataDigestInherited" json:"dataDigestInherited,omitempty"`
}

The digest settings for this host bus adapter.

type HostInternetScsiHbaDigestType

type HostInternetScsiHbaDigestType string

The type of integrity checks to use.

The digest setting for header and data traffic can be separately configured. prohibited : do not use digest. preferred : use digest if successfully negotiated, but skip the use of digest otherwise. discouraged : do not use digest if target allows, otherwise use digest. required : use digest strictly, and fail if target does not support digest.

type HostInternetScsiHbaDiscoveryCapabilities

type HostInternetScsiHbaDiscoveryCapabilities struct {
	DynamicData

	// True if this host bus adapter supports iSNS
	ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable" json:"iSnsDiscoverySettable"`
	// True if this host bus adapter supports SLP
	SlpDiscoverySettable bool `xml:"slpDiscoverySettable" json:"slpDiscoverySettable"`
	// True if this host bus adapter supports static discovery
	StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable" json:"staticTargetDiscoverySettable"`
	// True if this host bus adapter supports changing the configuration
	// state of send targets discovery.
	//
	// Send targets is mandatory, however
	// some adapters may not allow disabling this discovery method.
	SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable" json:"sendTargetsDiscoverySettable"`
}

The discovery capabilities for this host bus adapter.

At least one discovery mode must always be active. Multiple modes may be active at the same time.

type HostInternetScsiHbaDiscoveryProperties

type HostInternetScsiHbaDiscoveryProperties struct {
	DynamicData

	// True if iSNS is currently enabled
	ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled" json:"iSnsDiscoveryEnabled"`
	// The iSNS discovery method in use when iSNS is enabled.
	//
	// Must be one of the values of
	// `InternetScsiSnsDiscoveryMethod_enum`
	ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty" json:"iSnsDiscoveryMethod,omitempty"`
	// For STATIC iSNS, this is the iSNS server address
	ISnsHost string `xml:"iSnsHost,omitempty" json:"iSnsHost,omitempty"`
	// True if SLP is enabled
	SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled" json:"slpDiscoveryEnabled"`
	// The current SLP discovery method when SLP is enabled.
	//
	// Must be one of the values of
	// `SlpDiscoveryMethod_enum`
	SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty" json:"slpDiscoveryMethod,omitempty"`
	// When the SLP discovery method is set to MANUAL, this property
	// reflects the hostname, and optionally port number of the SLP DA.
	SlpHost string `xml:"slpHost,omitempty" json:"slpHost,omitempty"`
	// True if static target discovery is enabled
	StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled" json:"staticTargetDiscoveryEnabled"`
	// True if send targets discovery is enabled
	SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled" json:"sendTargetsDiscoveryEnabled"`
}

The discovery settings for this host bus adapter.

At least one discovery mode must always be active. Multiple modes may be active at the same time.

type HostInternetScsiHbaIPCapabilities

type HostInternetScsiHbaIPCapabilities struct {
	DynamicData

	// True if the host bus adapter supports setting its IPv4 address.
	AddressSettable bool `xml:"addressSettable" json:"addressSettable"`
	// True if the host bus adapter supports DHCPv4.
	IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable" json:"ipConfigurationMethodSettable"`
	// True if the host bus adapter supports setting its IPv4 subnet mask.
	SubnetMaskSettable bool `xml:"subnetMaskSettable" json:"subnetMaskSettable"`
	// True if the host bus adapter supports setting its IPv4 gateway.
	DefaultGatewaySettable bool `xml:"defaultGatewaySettable" json:"defaultGatewaySettable"`
	// True if the host bus adapter supports setting its primary DNS.
	PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable" json:"primaryDnsServerAddressSettable"`
	// True if the host bus adapter supports setting its secondary DNS.
	AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable" json:"alternateDnsServerAddressSettable"`
	// True if the host bus adapter supports the use of IPv6 addresses
	Ipv6Supported *bool `xml:"ipv6Supported" json:"ipv6Supported,omitempty" vim:"4.0"`
	// True if the host bus adapter supports setting its ARP Redirect value
	ArpRedirectSettable *bool `xml:"arpRedirectSettable" json:"arpRedirectSettable,omitempty" vim:"4.0"`
	// True if the host bus adapter supports setting its MTU, (for Jumbo
	// Frames, etc)
	MtuSettable *bool `xml:"mtuSettable" json:"mtuSettable,omitempty" vim:"4.0"`
	// True if the discovery and static targets can be configured with
	// a host name as opposed to an IP address.
	HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress" json:"hostNameAsTargetAddress,omitempty" vim:"4.0"`
	// True if the host bus adapter supports setting its name and alias
	NameAliasSettable *bool `xml:"nameAliasSettable" json:"nameAliasSettable,omitempty" vim:"4.1"`
	// True if IPv4 addresssing can be enabled or disabled on the host bus adapter.
	Ipv4EnableSettable *bool `xml:"ipv4EnableSettable" json:"ipv4EnableSettable,omitempty" vim:"6.0"`
	// True if IPv6 addresssing can be enabled or disabled on the host bus adapter.
	Ipv6EnableSettable *bool `xml:"ipv6EnableSettable" json:"ipv6EnableSettable,omitempty" vim:"6.0"`
	// True if the Host bus adapter supports setting IPv6 Prefix Length.
	Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable" json:"ipv6PrefixLengthSettable,omitempty" vim:"6.0"`
	// Provides the value that user should be using if host bus adapter
	// does not support changing of prefix length.
	Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty" json:"ipv6PrefixLength,omitempty" vim:"6.0"`
	// True if the Host bus adapter supports DHCPv6 configuration.
	Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable" json:"ipv6DhcpConfigurationSettable,omitempty" vim:"6.0"`
	// True if the Host bus adapter supports setting configuration of its IPv6 link local address
	// User can specify link local static address if link local auto configuration is set to false.
	//
	// link local address usually starts with fe80: and has prefix 64.
	Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable" json:"ipv6LinkLocalAutoConfigurationSettable,omitempty" vim:"6.0"`
	// True if the Host bus adapter supports router advertisement configuration method.
	//
	// Note: Currently Qlogic adapter does not support plumbing of any user specified
	// static address if router advertisement method is enabled.
	Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable" json:"ipv6RouterAdvertisementConfigurationSettable,omitempty" vim:"6.0"`
	// True if the Host bus adapter supports setting its IPv6 default gateway.
	Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable" json:"ipv6DefaultGatewaySettable,omitempty" vim:"6.0"`
	// The maximum number of supported IPv6 static addresses on the
	// host bus adapter that user can set.
	Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty" json:"ipv6MaxStaticAddressesSupported,omitempty" vim:"6.0"`
}

The IP Capabilities for the host bus adapter

type HostInternetScsiHbaIPProperties

type HostInternetScsiHbaIPProperties struct {
	DynamicData

	// The MAC address.
	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
	// The current IPv4 address.
	Address string `xml:"address,omitempty" json:"address,omitempty"`
	// True if the host bus adapter fetches its IP using DHCP.
	DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled" json:"dhcpConfigurationEnabled"`
	// The current IPv4 subnet mask.
	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
	// The current IPv4 gateway.
	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
	// The current primary DNS address.
	PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty" json:"primaryDnsServerAddress,omitempty"`
	// The current secondary DNS address.
	AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty" json:"alternateDnsServerAddress,omitempty"`
	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
	//
	// The current IPv6 address.
	Ipv6Address string `xml:"ipv6Address,omitempty" json:"ipv6Address,omitempty" vim:"4.0"`
	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
	//
	// The current IPv6 subnet mask.
	Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty" json:"ipv6SubnetMask,omitempty" vim:"4.0"`
	// Deprecated since vSphere API 5.5 use { @link IPProperties#ipv6properties }.
	//
	// The current IPv6 default gateway.
	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty" vim:"4.0"`
	// True if ARP Redirect is enabled
	ArpRedirectEnabled *bool `xml:"arpRedirectEnabled" json:"arpRedirectEnabled,omitempty" vim:"4.0"`
	// True if the host bus adapter supports setting its MTU, (for Jumbo
	// Frames, etc)
	// Setting enableJumboFrames and not a numeric mtu value implies
	// autoselection of appropriate MTU value for Jumbo Frames.
	Mtu                int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"4.0"`
	JumboFramesEnabled *bool `xml:"jumboFramesEnabled" json:"jumboFramesEnabled,omitempty"`
	// True if IPv4 is enabled.
	//
	// Unset value will keep existing IPv4 enabled state as is.
	Ipv4Enabled *bool `xml:"ipv4Enabled" json:"ipv4Enabled,omitempty" vim:"6.0"`
	// True if IPv6 is enabled.
	//
	// Unset value will keep existing IPv6 enabled state as is.
	Ipv6Enabled *bool `xml:"ipv6Enabled" json:"ipv6Enabled,omitempty" vim:"6.0"`
	// IPv6 properties.
	//
	// It is set only if { @link #ipv6Enabled } is true.
	Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty" json:"ipv6properties,omitempty" vim:"6.0"`
}

The IP properties for the host bus adapter

type HostInternetScsiHbaIPv6Properties

type HostInternetScsiHbaIPv6Properties struct {
	DynamicData

	// There can be multiple IPv6 addressed plumbed onto the Host Bus Adapter.
	IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty" json:"iscsiIpv6Address,omitempty"`
	// True if DHCPv6 is enabled on the host bus adapter.
	//
	// User can keep this field unset while changing other IPv6 properties
	// without altering current DHCP configuration.
	Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled" json:"ipv6DhcpConfigurationEnabled,omitempty"`
	// True if auto configuration of link local address is enabled on the host bus adapter.
	//
	// User can keep this field unset while changing other IPv6 properties
	// without altering current link local auto configuration.
	Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled" json:"ipv6LinkLocalAutoConfigurationEnabled,omitempty"`
	// True if the router advertisement configuration is enabled on the host bus adapter.
	//
	// User can keep this field unset while changing other IPv6 properties
	// without altering current router advertisement configuration.
	Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled" json:"ipv6RouterAdvertisementConfigurationEnabled,omitempty"`
	// The current IPv6 default gateway.
	//
	// User can keep this field unset while changing other IPv6 properties
	// without altering current default gateway configuration.
	Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty" json:"ipv6DefaultGateway,omitempty"`
}

The IPv6 properties for the host bus adapter.

type HostInternetScsiHbaIscsiIpv6Address

type HostInternetScsiHbaIscsiIpv6Address struct {
	DynamicData

	// IPv6 address.
	Address string `xml:"address" json:"address"`
	// IPv6 address prefix length.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// Type of the address.
	//
	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::AddressConfigurationType }.
	// Note: While setting IPv6 address, value of origin should be set to static.
	Origin string `xml:"origin" json:"origin"`
	// Operation to be performed with the IP address.
	//
	// See { @Vim::Host::HostBusAdapter::IscsiIpv6Address::IPv6AddressOperation }.
	// Note: This field/operation is used only while setting the IPProperties on host bus adapter.
	// This field would not have any value (Unset) while viewing IPProperties
	// of the host bus adapter.
	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
}

The IPv6 address.

type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType

type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string

type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation

type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string

type HostInternetScsiHbaNetworkBindingSupportType

type HostInternetScsiHbaNetworkBindingSupportType string

type HostInternetScsiHbaParamValue

type HostInternetScsiHbaParamValue struct {
	OptionValue

	// Indicates if the value is inherited from some other source.
	//
	// If unset, the value is not inheritable.
	// isInherited can be modified only if it has already been set.
	// If value is to being modified, isInherited should be set to true.
	// Setting isInherited to false will result in the value being
	// once again inherited from the source.
	IsInherited *bool `xml:"isInherited" json:"isInherited,omitempty"`
}

Describes the the value of an iSCSI parameter, and whether the value is being inherited.

type HostInternetScsiHbaSendTarget

type HostInternetScsiHbaSendTarget struct {
	DynamicData

	// The IP address or hostname of the storage device.
	Address string `xml:"address" json:"address"`
	// The TCP port of the storage device.
	//
	// If not specified, the standard default of 3260 is used.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The authentication settings for this discovery target.
	//
	// All static targets discovered via this target will inherit the
	// use of these settings unless the static target's authentication
	// settings are explicitly set.
	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty" vim:"4.0"`
	// The digest settings for this discovery target.
	//
	// All static targets discovered via this target will inherit the
	// use of these settings unless the static target's digest
	// settings are explicitly set.
	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
	// A list of supported key/value pair advanced options for the
	// host bus adapter including their type information.
	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
	// A list of the current options settings for the host bus adapter.
	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
	// The device name of the host bus adapter from which settings
	// can be inherited.
	Parent string `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
}

The iSCSI send target.

type HostInternetScsiHbaStaticTarget

type HostInternetScsiHbaStaticTarget struct {
	DynamicData

	// The IP address or hostname of the storage device.
	Address string `xml:"address" json:"address"`
	// The TCP port of the storage device.
	//
	// If not specified, the standard default of 3260 is used.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The iSCSI name of the storage device.
	IScsiName string `xml:"iScsiName" json:"iScsiName"`
	// Discovery method
	// each static target is discovered by some method
	// define in TargetDiscoveryMethod.
	DiscoveryMethod string `xml:"discoveryMethod,omitempty" json:"discoveryMethod,omitempty" vim:"5.1"`
	// The authentication settings for this target.
	AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty" json:"authenticationProperties,omitempty" vim:"4.0"`
	// The digest settings for this target.
	DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty" json:"digestProperties,omitempty" vim:"4.0"`
	// A list of supported key/value pair advanced options for the
	// host bus adapter including their type information.
	SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty" json:"supportedAdvancedOptions,omitempty" vim:"4.0"`
	// A list of the current options settings for the host bus adapter.
	AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty" json:"advancedOptions,omitempty" vim:"4.0"`
	// The parent entity from which settings can be inherited.
	//
	// It can either
	// be unset, or set to the device name of the host bus adapter or the
	// name of the SendTarget.
	Parent string `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
}

The iSCSI static target.

type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod

type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string

The method of discovery of an iScsi target.

staticMethod: static discovery sendTargetsMethod: sendtarget discovery slpMethod: Service Location Protocol discovery isnsMethod: Internet Storage Name Service discovery

type HostInternetScsiHbaTargetSet

type HostInternetScsiHbaTargetSet struct {
	DynamicData

	StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty" json:"staticTargets,omitempty"`
	SendTargets   []HostInternetScsiHbaSendTarget   `xml:"sendTargets,omitempty" json:"sendTargets,omitempty"`
}

A collection of one or more static targets or discovery addresses.

At least one of the arrays must be non-empty.

type HostInternetScsiTargetTransport

type HostInternetScsiTargetTransport struct {
	HostTargetTransport

	// The iSCSI name of the target.
	IScsiName string `xml:"iScsiName" json:"iScsiName"`
	// The iSCSI alias of the target.
	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
	// The IP addresses through which the target may be reached.
	Address []string `xml:"address,omitempty" json:"address,omitempty"`
}

Internet SCSI transport information about a SCSI target.

type HostInventoryFull

type HostInventoryFull struct {
	NotEnoughLicenses

	Capacity int32 `xml:"capacity" json:"capacity"`
}

A HostInventoryFull is thrown if the inventory has reach the max capacity of hosts.

type HostInventoryFullEvent

type HostInventoryFullEvent struct {
	LicenseEvent

	Capacity int32 `xml:"capacity" json:"capacity"`
}

This event records if the inventory of hosts has reached capacity.

type HostInventoryFullFault

type HostInventoryFullFault HostInventoryFull

type HostInventoryUnreadableEvent

type HostInventoryUnreadableEvent struct {
	Event
}

Event indicating that the virtual machine inventory file on the host is damaged or unreadable.

type HostIoFilterInfo

type HostIoFilterInfo struct {
	IoFilterInfo

	// Whether or not the filter is available for use.
	Available bool `xml:"available" json:"available"`
}

Information about an IO Filter installed on a host.

type HostIpChangedEvent

type HostIpChangedEvent struct {
	HostEvent

	// Old IP address of the host.
	OldIP string `xml:"oldIP" json:"oldIP"`
	// New IP address of the host.
	NewIP string `xml:"newIP" json:"newIP"`
}

This event records a change in host IP address.

type HostIpConfig

type HostIpConfig struct {
	DynamicData

	// The flag to indicate whether or not DHCP (dynamic host
	// control protocol) is enabled.
	//
	// If this property is set to true,
	// the ipAddress and the subnetMask strings cannot be set explicitly.
	Dhcp bool `xml:"dhcp" json:"dhcp"`
	// The IP address currently used by the network adapter.
	//
	// All IP addresses are specified using IPv4 dot notation.
	// For example, "192.168.0.1". Subnet addresses and netmasks are
	// specified using the same notation.
	//
	// `*Note*`: When DHCP is enabled, this property reflects the
	// current IP configuration and cannot be set. When DHCP is not
	// enabled, this property can be set explicitly.
	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// The subnet mask.
	//
	// `*Note*`: When DHCP is not enabled, this property can be
	// set explicitly. When DHCP is enabled, this property reflects the
	// current IP configuration and cannot be set.
	SubnetMask string `xml:"subnetMask,omitempty" json:"subnetMask,omitempty"`
	// The ipv6 configuration
	IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty" json:"ipV6Config,omitempty" vim:"4.0"`
}

The IP configuration.

type HostIpConfigIpV6Address

type HostIpConfigIpV6Address struct {
	DynamicData

	// The ipv6 address.
	//
	// When DHCP is enabled, this property
	// reflects the current IP configuration and cannot be set.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// The prefix length.
	//
	// An ipv6 prefixLength is a decimal value that indicates
	// the number of contiguous, higher-order bits of the address that make up the
	// network portion of the address.
	// For example, 10FA:6604:8136:6502::/64 is a possible IPv6 prefix. The prefix
	// length in this case is 64.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// The type of the ipv6 address configuration on the interface.
	//
	// This can be one of the types defined my the enum
	// `HostIpConfigIpV6AddressConfigType_enum`.
	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
	// The state of this ipAddress.
	//
	// Can be one of
	// `HostIpConfigIpV6AddressStatus_enum`
	DadState string `xml:"dadState,omitempty" json:"dadState,omitempty"`
	// The time when will this address expire.
	//
	// If not set
	// the address lifetime is unlimited.
	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
	// Valid values are "add" and "remove".
	//
	// See `HostConfigChangeOperation_enum`.
	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
}

The ipv6 address specification

type HostIpConfigIpV6AddressConfigType

type HostIpConfigIpV6AddressConfigType string

This specifies how the ipv6 address is configured for the interface.

type HostIpConfigIpV6AddressConfiguration

type HostIpConfigIpV6AddressConfiguration struct {
	DynamicData

	// Ipv6 adrresses configured on the interface.
	//
	// The global addresses can be configured
	// through DHCP, stateless or manual configuration. Link local addresses can be
	// only configured with the origin set to
	// `other`.
	IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty" json:"ipV6Address,omitempty"`
	// Specify if IPv6 address and routing information information
	// be enabled or not as per RFC 2462.
	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
	// The flag to indicate whether or not DHCP (dynamic host
	// control protocol) is enabled to obtain an ipV6 address.
	//
	// If this property is set to true, an ipV6 address is configured through dhcpV6.
	DhcpV6Enabled *bool `xml:"dhcpV6Enabled" json:"dhcpV6Enabled,omitempty"`
}

The ipv6 address configuration

type HostIpConfigIpV6AddressStatus

type HostIpConfigIpV6AddressStatus string

type HostIpInconsistentEvent

type HostIpInconsistentEvent struct {
	HostEvent

	IpAddress  string `xml:"ipAddress" json:"ipAddress"`
	IpAddress2 string `xml:"ipAddress2" json:"ipAddress2"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that the IP address resolution returned different addresses on the host.

Please check your host's network configuration.

type HostIpRouteConfig

type HostIpRouteConfig struct {
	DynamicData

	// The default gateway address.
	DefaultGateway string `xml:"defaultGateway,omitempty" json:"defaultGateway,omitempty"`
	// The gateway device.
	//
	// This applies to service console gateway only, it
	// is ignored otherwise.
	GatewayDevice string `xml:"gatewayDevice,omitempty" json:"gatewayDevice,omitempty"`
	// The default ipv6 gateway address
	IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty" json:"ipV6DefaultGateway,omitempty" vim:"4.0"`
	// The ipv6 gateway device.
	//
	// This applies to service console gateway only, it
	IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty" json:"ipV6GatewayDevice,omitempty" vim:"4.0"`
}

IP Route Configuration.

All IPv4 addresses, subnet addresses, and netmasks are specified as strings using dotted decimal notation. For example, "192.0.2.1". IPv6 addresses are 128-bit addresses represented as eight fields of up to four hexadecimal digits. A colon separates each field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of symbol '::' to represent multiple 16-bit groups of contiguous 0's only once in an address as described in RFC 2373.

func (*HostIpRouteConfig) GetHostIpRouteConfig

func (b *HostIpRouteConfig) GetHostIpRouteConfig() *HostIpRouteConfig

type HostIpRouteConfigSpec

type HostIpRouteConfigSpec struct {
	HostIpRouteConfig

	// Choose a gateway device based on what the VirtualNic is connected to.
	//
	// This applies to service console gateway only, it
	// is ignored otherwise.
	GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty" json:"gatewayDeviceConnection,omitempty"`
	// The ipv6 gateway device based on what the VirtualNic is connected to.
	//
	// This applies to service console gateway only, it
	// is ignored otherwise.
	IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty" json:"ipV6GatewayDeviceConnection,omitempty"`
}

Dataobject specifying the configuration for IpRoute

type HostIpRouteEntry

type HostIpRouteEntry struct {
	DynamicData

	// Network of the routing entry
	// Of the format "10.20.120.0" or "2001:db8::1428:57"
	Network string `xml:"network" json:"network"`
	// Prefix length of the network (this is the 22 in 10.20.120.0/22)
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// Gateway for the routing entry
	Gateway string `xml:"gateway" json:"gateway"`
	// If available the property indicates the device associated with the
	// routing entry.
	//
	// This property can only be read from the server.
	// It will be ignored if set by the client.
	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty" vim:"4.1"`
}

IpRouteEntry.

Routing entries are individual static routes which combined with the default route form all of the routing rules for a host.

type HostIpRouteOp

type HostIpRouteOp struct {
	DynamicData

	// This property indicates the change operation to apply on
	// this configuration specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation" json:"changeOperation"`
	// The routing entry itself
	Route HostIpRouteEntry `xml:"route" json:"route"`
}

Routing Entry Operation.

Routing entries are individual static routes which combined with the default route form all of the routing rules for a host.

type HostIpRouteTableConfig

type HostIpRouteTableConfig struct {
	DynamicData

	// The array of Routing ops (routes to be added/removed)
	IpRoute   []HostIpRouteOp `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
	Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
}

IpRouteEntry.

Routing entries are individual static routes which combined with the default route form all of the routing rules for a host.

type HostIpRouteTableInfo

type HostIpRouteTableInfo struct {
	DynamicData

	// The array of IpRouteEntry
	IpRoute   []HostIpRouteEntry `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
	Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty" json:"ipv6Route,omitempty"`
}

IpRouteTableInfo.

This is the list of all static routes on the host

type HostIpToShortNameFailedEvent

type HostIpToShortNameFailedEvent struct {
	HostEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that the host's IP address could not be resolved to a short name.

type HostIpmiInfo

type HostIpmiInfo struct {
	DynamicData

	// IP address of the BMC on the host.
	//
	// It should be null terminated.
	BmcIpAddress string `xml:"bmcIpAddress,omitempty" json:"bmcIpAddress,omitempty"`
	// MAC address of the BMC on the host.
	//
	// The MAC address should be of the
	// form xx:xx:xx:xx:xx:xx where each x is a hex digit. It should be null
	// terminated.
	BmcMacAddress string `xml:"bmcMacAddress,omitempty" json:"bmcMacAddress,omitempty"`
	// User ID for logging into the BMC.
	//
	// BMC usernames may be up to 16
	// characters and must be null terminated. Hence, a login comprises
	// 17 or fewer characters.
	Login string `xml:"login,omitempty" json:"login,omitempty"`
	// Password for logging into the BMC.
	//
	// Only used for configuration, returned as unset
	// while reading. The password can be up to 16 characters and must be null
	// terminated. Hence, a password comprises 17 or fewer characters.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
}

The IpmiInfo data object contains IPMI (Intelligent Platform Management Interface) and BMC (Baseboard Management Controller) information for the host.

type HostIsolationIpPingFailedEvent

type HostIsolationIpPingFailedEvent struct {
	HostDasEvent

	IsolationIp string `xml:"isolationIp" json:"isolationIp"`
}

This event records that the isolation address could not be pinged.

The default isolation address is the service console's default gateway.

type HostLicensableResourceInfo

type HostLicensableResourceInfo struct {
	DynamicData

	// List of currently supported resources.
	//
	// The type of every value is long. The key can be one of `HostLicensableResourceKey_enum`
	// or arbitrary string.
	//
	// NOTE:
	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
	Resource []KeyAnyValue `xml:"resource" json:"resource"`
}

Encapsulates information about all licensable resources on the host.

type HostLicensableResourceKey

type HostLicensableResourceKey string

type HostLicenseConnectInfo

type HostLicenseConnectInfo struct {
	DynamicData

	// License information.
	License LicenseManagerLicenseInfo `xml:"license" json:"license"`
	// Evaluation information.
	Evaluation LicenseManagerEvaluationInfo `xml:"evaluation" json:"evaluation"`
	// Licensable resources information.
	//
	// NOTE:
	// The values in this property may not be accurate for pre-5.0 hosts when returned by vCenter 5.0
	Resource *HostLicensableResourceInfo `xml:"resource,omitempty" json:"resource,omitempty" vim:"5.0"`
}

This data object type describes license information stored on the host.

type HostLicenseExpiredEvent

type HostLicenseExpiredEvent struct {
	LicenseEvent
}

This event records an expired host license.

type HostLicenseSpec

type HostLicenseSpec struct {
	DynamicData

	// License source to be used
	Source BaseLicenseSource `xml:"source,omitempty,typeattr" json:"source,omitempty"`
	// License edition to use
	EditionKey string `xml:"editionKey,omitempty" json:"editionKey,omitempty"`
	// Disabled features.
	//
	// When an edition is set, all the features in it
	// are enabled by default. The following parameter gives a finer
	// control on which features are disabled.
	DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty" json:"disabledFeatureKey,omitempty"`
	// Enabled features
	EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty" json:"enabledFeatureKey,omitempty"`
}

type HostListSummary

type HostListSummary struct {
	DynamicData

	// The reference to the host-managed object.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Basic hardware information, if known.
	Hardware *HostHardwareSummary `xml:"hardware,omitempty" json:"hardware,omitempty"`
	// Basic runtime information, if known.
	Runtime *HostRuntimeInfo `xml:"runtime,omitempty" json:"runtime,omitempty"`
	// Basic configuration information, if known.
	Config HostConfigSummary `xml:"config" json:"config"`
	// Basic host statistics.
	QuickStats HostListSummaryQuickStats `xml:"quickStats" json:"quickStats"`
	// The overall alarm status of the host.
	//
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
	// Indicates whether or not the host requires a reboot due to a configuration
	// change.
	RebootRequired bool `xml:"rebootRequired" json:"rebootRequired"`
	// The customized field values.
	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
	// IP address of the VirtualCenter server managing this host, if any.
	ManagementServerIp string `xml:"managementServerIp,omitempty" json:"managementServerIp,omitempty" vim:"2.5"`
	// The most capable Enhanced VMotion Compatibility mode supported by the
	// host hardware and software; unset if this host cannot participate in
	// any EVC mode.
	//
	// See also `Capability.supportedEVCMode`.
	MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty" json:"maxEVCModeKey,omitempty" vim:"4.0"`
	// The Enhanced VMotion Compatibility mode that is currently in effect
	// for this host.
	//
	// If the host is in a cluster where EVC is active, this
	// will match the cluster's EVC mode; otherwise this will be unset.
	//
	// See also `Capability.supportedEVCMode`.
	CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty" json:"currentEVCModeKey,omitempty" vim:"4.0"`
	// The Enhanced VMotion Compatibility Graphics mode that is currently in
	// effect for this host.
	//
	// If the host is in a cluster where EVC is active,
	// this will match the cluster's EVC Graphics mode; otherwise this will
	// be unset.
	//
	// See also `Capability.supportedEVCGraphicsMode`.
	CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty" json:"currentEVCGraphicsModeKey,omitempty" vim:"7.0.1.0"`
	// Gateway configuration, if vCenter server manages the host via a gateway
	Gateway        *HostListSummaryGatewaySummary `xml:"gateway,omitempty" json:"gateway,omitempty" vim:"6.0"`
	TpmAttestation *HostTpmAttestationInfo        `xml:"tpmAttestation,omitempty" json:"tpmAttestation,omitempty"`
	// The attestation information for the host as retrieved from any Trust
	// Authority attestation services configured in the host's parent compute
	// resource.
	//
	// This field will be set only if there is any Trust Authority
	// attestation service configured for the host's parent compute resource,
	// and unset otherwise.
	TrustAuthorityAttestationInfos []HostTrustAuthorityAttestationInfo `xml:"trustAuthorityAttestationInfos,omitempty" json:"trustAuthorityAttestationInfos,omitempty" vim:"7.0.1.0"`
}

This data object type encapsulates a typical set of host information that is useful for list views and summary pages.

VirtualCenter can retrieve this information very efficiently, even for a large set of hosts.

type HostListSummaryGatewaySummary

type HostListSummaryGatewaySummary struct {
	DynamicData

	// The type of the gateway server used for communication with the host.
	//
	// This is an opaque string that depends on how the gateway server is
	// registered with the vCenter Component Manager Service. There might be
	// several gateway servers for the same type.
	GatewayType string `xml:"gatewayType" json:"gatewayType"`
	// Unique ID of the gateway server used for communication with the host.
	//
	// This ID must be a unique identifier for the gateway server as
	// registered in the vCenter Component Manager Service. There must be
	// only one gateway server with the same ID.
	GatewayId string `xml:"gatewayId" json:"gatewayId"`
}

This data object type describes information about a host gateway server that is used for the connection between vCenter Server and the host.

Gateway servers are identified by type and id. In order to use a gateway server it has to be registered with the respective type and id in the vCenter Lookup Service.

type HostListSummaryQuickStats

type HostListSummaryQuickStats struct {
	DynamicData

	// Aggregated CPU usage across all cores on the host in MHz.
	//
	// This is only
	// available if the host is connected.
	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
	// Physical memory usage on the host in MB.
	//
	// This is only available if the
	// host is connected.
	OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty" json:"overallMemoryUsage,omitempty"`
	// The fairness of distributed CPU resource allocation on the host.
	DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty" json:"distributedCpuFairness,omitempty"`
	// The fairness of distributed memory resource allocation on the host.
	DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty" json:"distributedMemoryFairness,omitempty"`
	// The available capacity in MB.
	AvailablePMemCapacity int32 `xml:"availablePMemCapacity,omitempty" json:"availablePMemCapacity,omitempty" vim:"6.7"`
	// The system uptime of the host in seconds.
	Uptime int32 `xml:"uptime,omitempty" json:"uptime,omitempty" vim:"4.1"`
}

Basic host statistics.

Included in the host statistics are fairness scores. Fairness scores are represented in units with relative values, meaning they are evaluated relative to the scores of other hosts. They should not be thought of as having any particular absolute value. Each fairness unit represents an increment of 0.001 in a fairness score. The further the fairness score diverges from 1, the less fair the allocation. Therefore, a fairness score of 990, representing 0.990, is more fair than a fairness score of 1015, which represents 1.015. This is because 1.015 is further from 1 than 0.990.

type HostListVStorageObject added in v0.12.0

type HostListVStorageObject HostListVStorageObjectRequestType

type HostListVStorageObjectRequestType added in v0.12.0

type HostListVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostListVStorageObject`.

type HostListVStorageObjectResponse added in v0.12.0

type HostListVStorageObjectResponse struct {
	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HostLocalAuthenticationInfo

type HostLocalAuthenticationInfo struct {
	HostAuthenticationStoreInfo
}

The `HostLocalAuthenticationInfo` data object represents local authentication on the ESX host.

Local authentication is always enabled.

type HostLocalFileSystemVolume

type HostLocalFileSystemVolume struct {
	HostFileSystemVolume

	// The device of the local file system.
	Device string `xml:"device" json:"device"`
}

Local file system volume.

type HostLocalFileSystemVolumeSpec

type HostLocalFileSystemVolumeSpec struct {
	DynamicData

	// The device of the local file system.
	Device string `xml:"device" json:"device"`
	// The file path on the host where the file system is mounted.
	LocalPath string `xml:"localPath" json:"localPath"`
}

The specification for creating a new local file system volume.

type HostLocalPortCreatedEvent

type HostLocalPortCreatedEvent struct {
	DvsEvent

	// The configuration of the new host local port.
	HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort" json:"hostLocalPort"`
}

This event records when host local port is created to recover from management network connectivity loss.

type HostLockdownMode

type HostLockdownMode string

type HostLowLevelProvisioningManagerDiskLayoutSpec

type HostLowLevelProvisioningManagerDiskLayoutSpec struct {
	DynamicData

	// Disk controller type, e.g.
	//
	// vim.vm.device.VirtualSCSIController or
	// vim.vm.device.VirtualIDEController.
	ControllerType string `xml:"controllerType" json:"controllerType"`
	// Bus number associated with the controller for this disk.
	BusNumber int32 `xml:"busNumber" json:"busNumber"`
	// Unit number of this disk on its controller.
	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
	// Source disk filename in datastore path.
	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
	// Destination filename in datastore path.
	DstFilename string `xml:"dstFilename" json:"dstFilename"`
}

File layout spec of a virtual disk.

The disk could be either a base-disk or a delta disk.

type HostLowLevelProvisioningManagerFileDeleteResult

type HostLowLevelProvisioningManagerFileDeleteResult struct {
	DynamicData

	FileName string               `xml:"fileName" json:"fileName"`
	Fault    LocalizedMethodFault `xml:"fault" json:"fault"`
}

type HostLowLevelProvisioningManagerFileDeleteSpec

type HostLowLevelProvisioningManagerFileDeleteSpec struct {
	DynamicData

	FileName string `xml:"fileName" json:"fileName"`
	FileType string `xml:"fileType" json:"fileType"`
}

type HostLowLevelProvisioningManagerFileReserveResult

type HostLowLevelProvisioningManagerFileReserveResult struct {
	DynamicData

	BaseName     string `xml:"baseName" json:"baseName"`
	ParentDir    string `xml:"parentDir" json:"parentDir"`
	ReservedName string `xml:"reservedName" json:"reservedName"`
}

A FileReserveResult object describles the information of a file reserved by the ReserveFiles method.

This includes the original input ReserveFiles method so that the caller can map the input with the reserved file. All paths will be the complete local path in the url format.

type HostLowLevelProvisioningManagerFileReserveSpec

type HostLowLevelProvisioningManagerFileReserveSpec struct {
	DynamicData

	BaseName       string `xml:"baseName" json:"baseName"`
	ParentDir      string `xml:"parentDir" json:"parentDir"`
	FileType       string `xml:"fileType" json:"fileType"`
	StorageProfile string `xml:"storageProfile" json:"storageProfile"`
}

type HostLowLevelProvisioningManagerFileType

type HostLowLevelProvisioningManagerFileType string

This enum defines the possible types of file types that can be reserved

type HostLowLevelProvisioningManagerReloadTarget

type HostLowLevelProvisioningManagerReloadTarget string

type HostLowLevelProvisioningManagerSnapshotLayoutSpec

type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct {
	DynamicData

	// The unique identifier of the snapshot
	Id int32 `xml:"id" json:"id"`
	// Name of the source snapshot file in datastore path.
	SrcFilename string `xml:"srcFilename" json:"srcFilename"`
	// Name of the destination snapshot file in datastore path.
	DstFilename string `xml:"dstFilename" json:"dstFilename"`
	// Layout of each virtual disk of the virtual machine when the
	// snapshot was taken.
	Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty" json:"disk,omitempty"`
}

File layout spec of a snapshot, including path to the vmsn file of the snapshot and the layout of virtual disks when the snapshot was taken.

type HostLowLevelProvisioningManagerVmMigrationStatus

type HostLowLevelProvisioningManagerVmMigrationStatus struct {
	DynamicData

	// Unique identifier for this operation, currently it's unique
	// within one virtual center instance.
	MigrationId int64 `xml:"migrationId" json:"migrationId"`
	// Manner in which the migration process is performed.
	//
	// The set of
	// possible values is described in
	// `HostVMotionManagerVMotionType_enum`.
	Type string `xml:"type" json:"type"`
	// Whether the virtual machine is the source of the migration.
	//
	// For disk only migration, the value is always true.
	Source bool `xml:"source" json:"source"`
	// Whether the operation is considered successful.
	//
	// A migration
	// operation is considered successful if its switch over phase has
	// completed successfully.
	//
	// More specifically, for an in-progress migration, it is considered
	// successful if it has had a sucessful switch over, otherwise it is
	// considered unsuccessful. Likewise, the status of a completed
	// migration operation is also based on the switch over completion
	// status.
	//
	// The difference between a completed vs. in-progress migration with
	// the same consideredSuccessful property is that in the former case
	// the server is able to complete the clean up process thus leaves
	// nothing for the recovery process to clean up.
	ConsideredSuccessful bool `xml:"consideredSuccessful" json:"consideredSuccessful"`
}

The status of a virtual machine migration operation.

type HostLowLevelProvisioningManagerVmRecoveryInfo

type HostLowLevelProvisioningManagerVmRecoveryInfo struct {
	DynamicData

	// The hardware version of this virtual machine.
	//
	// Same as
	// `VirtualMachineConfigInfo.version`.
	Version string `xml:"version" json:"version"`
	// 128-bit SMBIOS UUID of this virtual machine.
	//
	// Same as
	// `VirtualMachineConfigInfo.uuid`.
	BiosUUID string `xml:"biosUUID" json:"biosUUID"`
	// VirtualCenter-specific 128-bit UUID of this virtual machine.
	//
	// Same
	// as `VirtualMachineConfigInfo.instanceUuid`.
	InstanceUUID string `xml:"instanceUUID" json:"instanceUUID"`
	// Fault Tolerance settings for this virtual machine.
	//
	// Same as
	// `VirtualMachineConfigInfo.ftInfo`. Unset if non FT.
	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty"`
}

Virtual machine information that can be used for recovery, for example, to decide whether to register a virtual machine with a server if the virtual machine is currently unregistered.

This data object does not contain a complete virtual machine configuration, but a subset of information available from `VirtualMachineConfigInfo`, all of which are available via virtual machine configuration files.

The documentation for each property in this data object describes the property in `VirtualMachineConfigInfo` that contains the same information if available.

type HostMaintenanceSpec

type HostMaintenanceSpec struct {
	DynamicData

	// The `VsanHostDecommissionMode` for this MaintenanceSpec.
	VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty" json:"vsanMode,omitempty"`
	// Maintenance mode reason code.
	//
	// See `HostMaintenanceSpecPurpose_enum` for valid values.
	Purpose string `xml:"purpose,omitempty" json:"purpose,omitempty" vim:"7.0"`
}

The `HostMaintenanceSpec` data object may be used to specify actions to be taken by a host upon entering maintenance mode.

If the `HostMaintenanceSpec` or any of its fields are omitted in a call to `HostSystem.EnterMaintenanceMode_Task`, default actions will be chosen as documented for each field's type.

See also `HostSystem.EnterMaintenanceMode_Task`, `VsanHostDecommissionMode`.

type HostMaintenanceSpecPurpose added in v0.23.0

type HostMaintenanceSpecPurpose string

type HostMemberHealthCheckResult

type HostMemberHealthCheckResult struct {
	DynamicData

	// The summary of health check result.
	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
}

This class defines healthcheck result of the vSphere Distributed Switch.

func (*HostMemberHealthCheckResult) GetHostMemberHealthCheckResult

func (b *HostMemberHealthCheckResult) GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult

type HostMemberRuntimeInfo

type HostMemberRuntimeInfo struct {
	DynamicData

	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Host proxy switch status.
	//
	// See
	// `HostComponentState` for valid values.
	// This property replaces the deprecated
	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.status`.
	Status string `xml:"status,omitempty" json:"status,omitempty"`
	// Additional information regarding the current membership status of the host.
	//
	// This property replaces the deprecated
	// `DistributedVirtualSwitchHostMember*.*DistributedVirtualSwitchHostMember.statusDetail`.
	StatusDetail string `xml:"statusDetail,omitempty" json:"statusDetail,omitempty"`
	// NSX-T component status.
	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty" vim:"7.0"`
	// Additional information regarding the NSX-T component status.
	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty" vim:"7.0"`
	// Health check result for the host that joined the distributed virtual switch.
	HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr" json:"healthCheckResult,omitempty"`
}

The `HostMemberRuntimeInfo` data object contains healthcheck and status information about a host member of a distributed virtual switch.

type HostMemberUplinkHealthCheckResult

type HostMemberUplinkHealthCheckResult struct {
	HostMemberHealthCheckResult

	// The uplink port key.
	UplinkPortKey string `xml:"uplinkPortKey" json:"uplinkPortKey"`
}

This class defines healthcheck result of a specified Uplink port in vSphere Distributed Switch.

func (*HostMemberUplinkHealthCheckResult) GetHostMemberUplinkHealthCheckResult

func (b *HostMemberUplinkHealthCheckResult) GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult

type HostMemoryProfile

type HostMemoryProfile struct {
	ApplyProfile
}

The `HostMemoryProfile` data object represents memory configuration for the host.

This may not be valid all versions of the host.

Use the `ApplyProfile.policy` list for access to configuration data for the host memory profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type HostMemorySpec

type HostMemorySpec struct {
	DynamicData

	// Service Console reservation in bytes.
	ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty" json:"serviceConsoleReservation,omitempty"`
}

DataObject used for configuring the memory setting

type HostMemoryTierFlags added in v0.27.0

type HostMemoryTierFlags string

Enumeration of flags pertaining to a memory tier.

Here are some examples of what the flags will look like for various memory configurations:

  • Traditional memory (`noTiering`): The host has a DRAM tier for the main memory and nothing else. The DRAM tier will have the `memoryTier` flag.
  • App Direct mode (`noTiering`): The host has a DRAM tier and a PMem tier, but the two are independent and unrelated. The PMem tier is non-volatile and is exposed as an NVDIMM device. Applications can decide whether to direct the reads and writes to DRAM or PMem by using the appropriate system call. The DRAM tier will have the `memoryTier` flag and the PMem tier will have the `persistentTier` flag.
  • Memory mode (`hardwareTiering`): The host has a DRAM tier and a PMem tier, but the DRAM is hidden from applications and is just a cache for the PMem main memory. The PMem tier is volatile, and is abstracted by the hardware layer to look like traditional memory. Applications can read from/write to memory using the traditional memory system calls. The memory controller in the hardware will internally direct those to the DRAM cache first, and on a cache miss redirect them to the PMem main memory. The DRAM tier will have the `cachingTier`

type HostMemoryTierInfo added in v0.27.0

type HostMemoryTierInfo struct {
	DynamicData

	// Descriptive name for the memory tier.
	Name string `xml:"name" json:"name"`
	// Type of the memory tier.
	//
	// See `HostMemoryTierType_enum` for supported values.
	Type string `xml:"type" json:"type"`
	// Flags pertaining to the memory tier.
	//
	// See `HostMemoryTierFlags_enum` for supported
	// values.
	Flags []string `xml:"flags,omitempty" json:"flags,omitempty"`
	// Size of the memory tier in bytes.
	Size int64 `xml:"size" json:"size"`
}

Information about a memory tier on this host.

type HostMemoryTierType added in v0.27.0

type HostMemoryTierType string

type HostMemoryTieringType added in v0.27.0

type HostMemoryTieringType string

type HostMissingNetworksEvent

type HostMissingNetworksEvent struct {
	HostDasEvent

	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records the fact that a host is missing networks that other hosts are using for HA communication

type HostMonitoringStateChangedEvent

type HostMonitoringStateChangedEvent struct {
	ClusterEvent

	// The service state in
	// `ClusterDasConfigInfoServiceState_enum`
	State string `xml:"state" json:"state"`
	// The previous service state in
	// `ClusterDasConfigInfoServiceState_enum`
	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
}

This event records when host monitoring state has changed.

type HostMountInfo

type HostMountInfo struct {
	DynamicData

	// Local file path where file system volume is mounted, if applicable.
	//
	// This path identifies the file system volume from the point of view
	// of the host.
	Path string `xml:"path,omitempty" json:"path,omitempty"`
	// Access mode to the underlying file system for this host.
	AccessMode string `xml:"accessMode" json:"accessMode"`
	// The mount state of this mount point.
	//
	// For a discovered
	// volume, which is mounted, this is true. When this value is
	// unset, the default value is true.
	Mounted *bool `xml:"mounted" json:"mounted,omitempty" vim:"5.0"`
	// Flag that indicates if the datastore is currently accessible from
	// the host.
	//
	// For the case of a standalone host, this property has the same value as
	// `DatastoreSummary*.*DatastoreSummary.accessible`.
	// You can use the `DatastoreSummary` property if the `HostMountInfo`
	// property is not set. The VirtualCenter Server will always make
	// sure the `DatastoreSummary` property is set correctly.
	Accessible *bool `xml:"accessible" json:"accessible,omitempty" vim:"2.5"`
	// This optional property for inaccessible reason is reported only if
	// a datastore becomes inaccessible as reported by
	// `HostMountInfo.accessible` and
	// `DatastoreSummary*.*DatastoreSummary.accessible`.
	//
	// The values for inaccessible reason are defined in the enum
	// `HostMountInfoInaccessibleReason_enum`
	// This helps to determine host specific reason for datastore inaccessibility.
	// If the datastore becomes accessible following an inaccessible condition,
	// the property `HostMountInfo.inaccessibleReason` will be unset.
	InaccessibleReason string `xml:"inaccessibleReason,omitempty" json:"inaccessibleReason,omitempty" vim:"5.1"`
	// The name of the vmknic used during mount.
	//
	// Populated by the vmk control layer if the NAS
	// volume is mounted successfully with a vmknic binding.
	VmknicName string `xml:"vmknicName,omitempty" json:"vmknicName,omitempty" vim:"8.0.1.0"`
	// Indicates whether vmknic is active or inactive.
	//
	// This field will be populated by vmk control layer during
	// NAS volume mount, and will be set to true if the
	// vmknic binding is active.
	VmknicActive *bool `xml:"vmknicActive" json:"vmknicActive,omitempty" vim:"8.0.1.0"`
	// The optional property which gives the reason for mount operation
	// failure of NFS datastore.
	//
	// This field is applicable for only those
	// mounts for which retry mount operation is configured.
	// The values for the mount failed reason are defined in the enum
	// `HostMountInfoMountFailedReason_enum`.
	// If mount operation on NFS volume succeeds in the retry, then
	// the property `HostMountInfo.mountFailedReason` will be unset.
	MountFailedReason string `xml:"mountFailedReason,omitempty" json:"mountFailedReason,omitempty" vim:"8.0.0.1"`
	// Maintained for each Host, it indicates the total number of TCP
	// connections for the NAS datastore
	NumTcpConnections int32 `xml:"numTcpConnections,omitempty" json:"numTcpConnections,omitempty" vim:"8.0.1.0"`
}

The `HostMountInfo` data object provides information related to a configured mount point.

This object does not include information about the mounted file system. (See `HostFileSystemMountInfo`.)

type HostMountInfoInaccessibleReason

type HostMountInfoInaccessibleReason string

A datastore can become inaccessible due to a number of reasons as defined in this enum `HostMountInfoInaccessibleReason_enum`.

The reason for a datastore being inaccessible is reported in `HostMountInfo.inaccessibleReason`. APD ("All Paths Down") is a condition where a SAN or NFS storage has become inaccessible for unknown reasons. It only indicates loss of connectivity and does not indicate storage device failure or LUN removal (Permanent Device Loss or PDL) A difference between APD and PDL is that APD may recover in which case all use cases will start to work as before. In case of PDL the failed datastore/device is unlikely to recover and hence the device path information and data cache will be emptied. If the PDL condition recovers, the failed datastores have to be added back to the host. Once in PDL a datastore cannot be added back until there are no longer any open files on the datastore. PDL is not linked to the APD and can happen at any time with or without APD preceding. If APD and PDL occur at the same time, APD will be reported first. Once (and if) the APD condition clears, PermanentDataLoss will be reported if

type HostMountInfoMountFailedReason added in v0.29.0

type HostMountInfoMountFailedReason string

NFS mount request can be failed due to a number of reasons as defined in this enum `HostMountInfoMountFailedReason_enum`.

The reason for the mount failure is reported in `HostMountInfo.mountFailedReason`. This is applicable only for those

type HostMountMode

type HostMountMode string

Defines the access mode of the datastore.

type HostMultipathInfo

type HostMultipathInfo struct {
	DynamicData

	// List of logical units that can be configured for multipathing.
	Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty" json:"lun,omitempty"`
}

The `HostMultipathInfo` data object describes the multipathing policy configuration to determine the storage failover policies for a SCSI logical unit.

The multipathing policy configuration operates on SCSI logical units and the paths to the logical units.

Multipath policy configuration is only possible on storage devices provided by the native multipathing plug-store plugin. Storage devices using the native multipathing storage plugin will have an entry in this data object. Storage devices provided by a different storage plugin will not appear in the inventory represented by this data object.

Legacy note: In hosts where `HostMultipathStateInfo` is not defined or does not exist on the `HostStorageDeviceInfo` object, only native multipathing exists. That means for these hosts, the MultipathInfo object contains the complete set of LUNs and paths on the LUNs available on the host.

type HostMultipathInfoFixedLogicalUnitPolicy

type HostMultipathInfoFixedLogicalUnitPolicy struct {
	HostMultipathInfoLogicalUnitPolicy

	// Preferred path used for the `*fixed*` policy.
	Prefer string `xml:"prefer" json:"prefer"`
}

The `HostMultipathInfoFixedLogicalUnitPolicy` data object describes a multipathing policy for a logical unit which uses a preferred path whenever possible.

type HostMultipathInfoHppLogicalUnitPolicy added in v0.23.0

type HostMultipathInfoHppLogicalUnitPolicy struct {
	HostMultipathInfoLogicalUnitPolicy

	// Byte count on the paths will be used as criteria to switch path
	// for the device.
	//
	// Allowed values 1 to (100\`1024\`1024)
	// Default Value 10\`1024\`1024
	Bytes int64 `xml:"bytes,omitempty" json:"bytes,omitempty"`
	// IOPS count on the paths will be used as criteria to switch path
	// for the device.
	//
	// Allowed values 1 to 10000
	// Default Value 1000
	Iops int64 `xml:"iops,omitempty" json:"iops,omitempty"`
	// The preferred path for the given device.
	//
	// If no prefered path is specified by the user, algorithem at ESX
	// side will choose the random possible path.
	Path string `xml:"path,omitempty" json:"path,omitempty"`
	// This value can control at what interval (in ms) the latency of
	// paths should be evaluated.
	//
	// Allowed values 10000 to (300 \* 1000) in ms
	// Default Value 30 \* 1000
	LatencyEvalTime int64 `xml:"latencyEvalTime,omitempty" json:"latencyEvalTime,omitempty"`
	// This value will control how many sample IOs should be issued on
	// each path to calculate latency of the path.
	//
	// Allowed values 16 to 160
	// Default Value 16
	SamplingIosPerPath int64 `xml:"samplingIosPerPath,omitempty" json:"samplingIosPerPath,omitempty"`
}

The `HostMultipathInfoHppLogicalUnitPolicy` data object describes a multipathing policy for a HPP claimed logical unit and its configuration.

type HostMultipathInfoLogicalUnit

type HostMultipathInfoLogicalUnit struct {
	DynamicData

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// Identifier of LogicalUnit.
	//
	// Use this id to configure LogicalUnit multipathing policy using `HostStorageSystem.SetMultipathLunPolicy`.
	Id string `xml:"id" json:"id"`
	// SCSI device corresponding to logical unit.
	Lun string `xml:"lun" json:"lun"`
	// Array of paths available to access this LogicalUnit.
	Path []HostMultipathInfoPath `xml:"path" json:"path"`
	// Policy that the logical unit should use when selecting a path.
	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
	// Policy used to determine how a storage device is accessed.
	//
	// This policy
	// is currently immutable.
	StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty" json:"storageArrayTypePolicy,omitempty" vim:"4.0"`
}

The `HostMultipathInfoLogicalUnit` data object represents a storage entity that provides disk blocks to a host.

type HostMultipathInfoLogicalUnitPolicy

type HostMultipathInfoLogicalUnitPolicy struct {
	DynamicData

	// String representing the path selection policy for a device.
	//
	// Use one of the following
	// strings:
	// For NMP plugin
	//     - <code>VMW\_PSP\_FIXED</code> - Use a preferred path whenever possible.
	//     - <code>VMW\_PSP\_RR</code> - Load balance.
	//     - <code>VMW\_PSP\_MRU</code> - Use the most recently used path.
	//
	// For HPP plugin
	//     - <code>FIXED</code> - Use a preferred path whenever possible.
	//     - <code>LB-RR</code> - Load Balance - round robin.
	//     - <code>LB-IOPS</code> - Load Balance - iops.
	//     - <code>LB-BYTES</code> - Load Balance - bytes.
	//     - <code>LB--Latency</code> - Load balance - least latency.
	//
	// You can also use the
	// `HostStorageSystem.QueryPathSelectionPolicyOptions` method
	// to retrieve the set of valid strings.
	// Use the key from the resulting structure
	// `HostPathSelectionPolicyOption`.
	Policy string `xml:"policy" json:"policy"`
}

The `HostMultipathInfoLogicalUnitPolicy` data object describes a path selection policy for a device.

This policy determines how paths should be utilized when accessing a device.

func (*HostMultipathInfoLogicalUnitPolicy) GetHostMultipathInfoLogicalUnitPolicy

func (b *HostMultipathInfoLogicalUnitPolicy) GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy

type HostMultipathInfoLogicalUnitStorageArrayTypePolicy

type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct {
	DynamicData

	// String indicating the storage array type policy.
	Policy string `xml:"policy" json:"policy"`
}

The `HostMultipathInfoLogicalUnitStorageArrayTypePolicy` data object describes a storage array type policy for for a device.

This policy determines how device I/O and management is performed.

type HostMultipathInfoPath

type HostMultipathInfoPath struct {
	DynamicData

	// Identifier of the path.
	Key string `xml:"key" json:"key"`
	// Name of path.
	//
	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
	Name string `xml:"name" json:"name"`
	// Deprecated as of VI API 4.0:
	//     - System reported path states are available in `HostMultipathInfoPath.state`.
	//     - Paths slated for I/O can be found using `HostMultipathInfoPath.isWorkingPath`.
	//
	// State of the path.
	//
	// Must be one of the values of
	// `MultipathState_enum`
	// <dl>
	// <dt>active</dt>
	// <dd>Path can be used for I/O and is currently a working path.</dd>
	// <dt>standby</dt>
	// <dd>Path can be used for I/O but is not a working path or can be
	// used if active paths fail.</dd>
	// <dt>disabled</dt>
	// <dd>Path has been administratively disabled.</dd>
	// <dt>dead</dt>
	// <dd>Path cannot be used for I/O.</dd>
	// <dt>unknown</dt>
	// <dd>Path is in unknown error state.</dd>
	// </dl>
	PathState string `xml:"pathState" json:"pathState"`
	// System-reported state of the path.
	//
	// Must be one of the values of
	// `MultipathState_enum`
	// <dl>
	// <dt>active</dt>
	// <dd>Path can be used for I/O.</dd>
	// <dt>standby</dt>
	// <dd>Path can be used for I/O if active paths fail.</dd>
	// <dt>disabled</dt>
	// <dd>Path has been administratively disabled.</dd>
	// <dt>dead</dt>
	// <dd>Path cannot be used for I/O.</dd>
	// <dt>unknown</dt>
	// <dd>Path is in unknown error state.</dd>
	// </dl>
	State string `xml:"state,omitempty" json:"state,omitempty" vim:"4.0"`
	// A path, managed by a given path selection policy(psp) plugin, is
	// denoted to be a Working Path if the psp plugin is likely to select the
	// path for performing I/O in the near future.
	IsWorkingPath *bool `xml:"isWorkingPath" json:"isWorkingPath,omitempty" vim:"4.0"`
	// The host bus adapter at one endpoint of this path.
	Adapter string `xml:"adapter" json:"adapter"`
	// The logical unit at one endpoint of this path.
	Lun string `xml:"lun" json:"lun"`
	// Transport information for the target end of the path.
	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
}

The `HostMultipathInfoPath` data object is a storage entity that represents a topological path from a host bus adapter to a SCSI logical unit.

Each path is unique although each host bus adapter/SCSI logical unit pair can have multiple paths.

Path objects are identified by a key. The specifics of how the key is formatted are dependent on the implementation. Example implementations include using strings like "vmhba1:0:0:0".

type HostMultipathStateInfo

type HostMultipathStateInfo struct {
	DynamicData

	// List of paths on the system and their path states.
	Path []HostMultipathStateInfoPath `xml:"path,omitempty" json:"path,omitempty"`
}

This data object type describes the state of storage paths on the host.

All storage paths on the host are enumerated in this data object.

The reason all path state information is encapsulated in this data object is because the path may actively change. This data object ensures that a request to gather path state changes only needs to fetch this data object.

type HostMultipathStateInfoPath

type HostMultipathStateInfoPath struct {
	DynamicData

	// Name of path.
	//
	// Use this name to enable or disable storage paths `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
	//
	// In addition to being the identifier for the path state
	// operations, the name is used to correlate this object to the
	// corresponding Path object in other contexts.
	//
	// See also `HostPlugStoreTopologyPath.name`.
	Name string `xml:"name" json:"name"`
	// The state of the path.
	//
	// Must be one of the values of
	// `MultipathState_enum`.
	PathState string `xml:"pathState" json:"pathState"`
}

Data object indicating state of storage path for a named path.

type HostNasVolume

type HostNasVolume struct {
	HostFileSystemVolume

	// The host that runs the NFS/CIFS server.
	//
	// Clients must plan to use remoteHostNames for both NFS v3
	// as well as NFS v4.1 because this field remoteHost may be
	// deprecated in future.
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote path of NFS/CIFS mount point.
	RemotePath string `xml:"remotePath" json:"remotePath"`
	// In case of CIFS, the user name used while connecting to the server.
	UserName string `xml:"userName,omitempty" json:"userName,omitempty" vim:"2.5"`
	// This field will hold host names (or ip addresses) of all
	// remote hosts configured for the datastore.
	//
	// In case of NFS v3 it will have one hostname which will be
	// the same value as in remoteHost defined above.
	// In case of NFS v4.1 if the NFS Client detects additional
	// hostnames or ip addresses during its negotiations with the
	// NFS server, those additional host names (connections) will be
	// added to this list after the datastore is created.
	// Addition of hostnames to this list is limited to MDS server host names
	// or the IP addresses. In other words, the Data Server host names IP addresses
	// will not be appended to this list.
	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty" vim:"6.0"`
	// Security type the volume is currently using.
	//
	// See `HostNasVolumeSecurityType_enum`
	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty" vim:"6.0"`
	// Indicates that this NAS volume is protocol endpoint.
	//
	// This
	// property will be populated if and only if host supports
	// VirtualVolume based Datastore. Check the host capability
	// `HostCapability.virtualVolumeDatastoreSupported`.
	// See `HostProtocolEndpoint`.
	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty" vim:"6.0"`
}

type HostNasVolumeConfig

type HostNasVolumeConfig struct {
	DynamicData

	// Indicates the change operation to apply on this configuration
	// specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The specification volume.
	Spec *HostNasVolumeSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

This describes the NAS Volume configuration containing the configurable properties on a NAS Volume

type HostNasVolumeSecurityType

type HostNasVolumeSecurityType string

type HostNasVolumeSpec

type HostNasVolumeSpec struct {
	DynamicData

	// The host that runs the NFS v3 or CIFS server.
	//
	// For NFS v4.1
	// and beyond use remoteHostNames defined later. The field remotehost
	// may be deprecated in future for NFS, so clients should plan to use the
	// property remoteHostNames to send in the host name(s) for both NFS v3
	// and v4.1
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote path of the NFS mount point.
	RemotePath string `xml:"remotePath" json:"remotePath"`
	// The localPath refers to the name of the NAS datastore to be created
	// using this specification.
	//
	// In the case of ESX Server, the datastore name is a component in the
	// file system path at which the NAS volume can be found. For example,
	// if localPath is set to "nas\_volume" the created NAS datastore will be
	// named "nas\_volume" and it can be accessed via the file system path
	// "/vmfs/volumes/nas\_volume".
	//
	// In the case of VMware Server, the localPath will also be used as the
	// datastore name, but the datastore name may not necessarily be
	// reflected in the file system path where the NAS volume may be
	// accessed.
	LocalPath string `xml:"localPath" json:"localPath"`
	// Access mode for the mount point.
	//
	// Mounting in read-write mode would be successful irregardless on
	// how the mount point is exported or access permissions. For
	// example, mounting a volume that is exported as read-only as
	// readWrite will succeed. Hence, that a readWrite mount succeeds
	// should not be taken as an indication that all files on a mount
	// is writable.
	//
	// If a file system is mounted readOnly, the system cannot create
	// or modify any files on the file system. This is mostly useful
	// for storing ISO images and templates, since a virtual machine
	// cannot be powered on from a readOnly volume.
	//
	// The access mode of a mounted NFS volume can be obtained at
	// `HostMountInfo.accessMode`.
	//
	// See also `HostMountMode_enum`.
	AccessMode string `xml:"accessMode" json:"accessMode"`
	// Specifies the type of the the NAS volume.
	//
	// Supported types are
	// `CIFS`,
	// `NFS`,
	// `NFS41`
	// If not specified, defaults to
	// `NFS`
	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"2.5"`
	// If type is CIFS, the user name to use when connecting to the
	// CIFS server.
	//
	// If type is NFS, this field will be ignored.
	UserName string `xml:"userName,omitempty" json:"userName,omitempty" vim:"2.5"`
	// If type is CIFS, the password to use when connecting to the
	// CIFS server.
	//
	// If type is NFS, this field will be ignored.
	Password string `xml:"password,omitempty" json:"password,omitempty" vim:"2.5"`
	// Hostnames or IP addresses of remote NFS server.
	//
	// In case
	// of NFS v4.1 this may have multiple entries. For NFS v3 the
	// input should be same in both remoteHost and remoteHostNames.
	// In case of NFS v4.1, if vmknic binding is enabled,
	// then input can be in format {hostip1:vmknic1, hostip2:vmknic2}.
	RemoteHostNames []string `xml:"remoteHostNames,omitempty" json:"remoteHostNames,omitempty" vim:"6.0"`
	// Provided during mount indicating what security type,
	// if any, to use
	// See `HostNasVolumeSecurityType_enum`
	SecurityType string `xml:"securityType,omitempty" json:"securityType,omitempty" vim:"6.0"`
	// Name of the vmknic to be used by this mount.
	//
	// This field will be updated by a client with vmknic that will be used
	// for NAS volume mount operation for vmknic binding for NFSv3
	VmknicToBind string `xml:"vmknicToBind,omitempty" json:"vmknicToBind,omitempty" vim:"8.0.1.0"`
	// Indicates whether a client wants to bind this mount to vmknic.
	//
	// This field will be set to true by a client if vmknic should bind
	// during NAS volume mount operation for NFSv3
	// else it will be set to false
	VmknicBound *bool `xml:"vmknicBound" json:"vmknicBound,omitempty" vim:"8.0.1.0"`
	// Indicates the number of TCP connections for the particular
	// NFSv3 Server during NAS volume mount operation.
	//
	// If unset or set to 0, it defaults to one connection
	Connections int32 `xml:"connections,omitempty" json:"connections,omitempty" vim:"8.0.1.0"`
}

Specification for creating NAS volume.

When mounting a NAS volume on multiple hosts, the same remoteHost and remotePath values should be used on every host, otherwise it will be treated as different datastores. For example, if one host references the remotePath of a NAS volume as "/mnt/mount1" and another references it as "/mnt/mount1/", it will not be recognized as the same datastore.

type HostNasVolumeUserInfo

type HostNasVolumeUserInfo struct {
	DynamicData

	// User name for authentication.
	User string `xml:"user" json:"user"`
}

NFS user authentication information

type HostNatService

type HostNatService struct {
	DynamicData

	// The instance ID of the NAT service.
	Key string `xml:"key" json:"key"`
	// The configurable properties for the NatService object.
	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
}

A network address translation (NAT) service instance provides firewall and network address translation services for a virtual network.

type HostNatServiceConfig

type HostNatServiceConfig struct {
	DynamicData

	// Indicates the change operation to apply on this configuration
	// specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The instance ID of the NAT service.
	Key string `xml:"key" json:"key"`
	// The specification of the NAT service.
	Spec HostNatServiceSpec `xml:"spec" json:"spec"`
}

This data object type describes the network address translation (NAT) service configuration representing both the configured properties on a NAT Service and identification information.

type HostNatServiceNameServiceSpec

type HostNatServiceNameServiceSpec struct {
	DynamicData

	// The flag to indicate whether or not the DNS server should
	// be automatically detected or specified explicitly.
	DnsAutoDetect bool `xml:"dnsAutoDetect" json:"dnsAutoDetect"`
	// The policy to use when multiple DNS addresses are available
	// on the host.
	DnsPolicy string `xml:"dnsPolicy" json:"dnsPolicy"`
	// The number of retries before giving up on a DNS request
	// from a virtual network.
	DnsRetries int32 `xml:"dnsRetries" json:"dnsRetries"`
	// The time (in seconds) before retrying a DNS request to an external
	// network.
	DnsTimeout int32 `xml:"dnsTimeout" json:"dnsTimeout"`
	// The list of DNS servers.
	DnsNameServer []string `xml:"dnsNameServer,omitempty" json:"dnsNameServer,omitempty"`
	// The time (in seconds) allotted for queries to the NetBIOS
	// Datagram Server (NBDS).
	NbdsTimeout int32 `xml:"nbdsTimeout" json:"nbdsTimeout"`
	// Number of retries for each query to the NBNS.
	NbnsRetries int32 `xml:"nbnsRetries" json:"nbnsRetries"`
	// The time (in seconds) allotted for queries to the NBNS.
	NbnsTimeout int32 `xml:"nbnsTimeout" json:"nbnsTimeout"`
}

This data object type specifies the information for the name servers.

type HostNatServicePortForwardSpec

type HostNatServicePortForwardSpec struct {
	DynamicData

	// Either "tcp" or "udp".
	Type string `xml:"type" json:"type"`
	// The user-defined name to identify the service being forwarded.
	//
	// No white spaces are allowed in the string.
	Name string `xml:"name" json:"name"`
	// The port number on the host.
	//
	// Network traffic sent to the host on this
	// TCP/UDP port is forwarded to the guest at the specified IP address
	// and port.
	HostPort int32 `xml:"hostPort" json:"hostPort"`
	// The port number for the guest.
	//
	// Network traffic from the host is
	// forwarded to this port.
	GuestPort int32 `xml:"guestPort" json:"guestPort"`
	// The IP address for the guest.
	//
	// Network traffic from the host is
	// forwarded to this IP address.
	GuestIpAddress string `xml:"guestIpAddress" json:"guestIpAddress"`
}

This data object type describes the Network Address Translation (NAT) port forwarding specification.

type HostNatServiceSpec

type HostNatServiceSpec struct {
	DynamicData

	// The name of the virtual switch to which nat service is connected.
	VirtualSwitch string `xml:"virtualSwitch" json:"virtualSwitch"`
	// The flag to indicate whether or not non-passive mode FTP
	// connections should be allowed.
	ActiveFtp bool `xml:"activeFtp" json:"activeFtp"`
	// The flag to indicate whether or not the NAT
	// Service allows media access control traffic from any
	// Organizational Unique Identifier (OUI)?
	// By default, it does not allow traffic that originated
	// from the host to avoid packet loops.
	AllowAnyOui bool `xml:"allowAnyOui" json:"allowAnyOui"`
	// The flag to indicate whether or not the NAT Service
	// should open a configuration port.
	ConfigPort bool `xml:"configPort" json:"configPort"`
	// The IP address that the NAT Service should use on
	// the virtual network.
	IpGatewayAddress string `xml:"ipGatewayAddress" json:"ipGatewayAddress"`
	// The time allotted for UDP packets.
	UdpTimeout int32 `xml:"udpTimeout" json:"udpTimeout"`
	// The port forwarding specifications to allow network
	// connections to be initiated from outside the firewall.
	PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty" json:"portForward,omitempty"`
	// The configuration of naming services.
	//
	// These parameters are
	// specific to Windows.
	NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty" json:"nameService,omitempty"`
}

This data object type provides the details about the Network Address Translation (NAT) service.

type HostNetCapabilities

type HostNetCapabilities struct {
	DynamicData

	// The flag to indicate whether or not a physical network
	// adapter's link speed and duplex settings can be changed through
	// this API.
	//
	// For a hosted product, the host uses its physical network
	// adapters for network connectivity. Configuration of link speed is
	// done through regular host operations. In ESX Server, the configuration
	// can be changed through this API.
	CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed" json:"canSetPhysicalNicLinkSpeed"`
	// The flag to indicate whether or not network adapter teaming is
	// available.
	//
	// Multiple network adapters can be bridged to a
	// virtual switch through a BondBridge. Also, network adapter teaming
	// policies such as failover order and detection are enabled.
	SupportsNicTeaming bool `xml:"supportsNicTeaming" json:"supportsNicTeaming"`
	// The available teaming policies if the platform supports network
	// adapter teaming.
	NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty" json:"nicTeamingPolicy,omitempty"`
	// The flag to indicate whether or not VLANs can be configured on
	// PortGroups attached to VirtualSwitch objects.
	//
	// This allows VLANs for virtual machines without requiring special VLAN
	// capable hardware switches.
	SupportsVlan bool `xml:"supportsVlan" json:"supportsVlan"`
	// The flag to indicate whether or not a service
	// console network adapter
	// is used or required.
	//
	// This means that the system
	// software has two TCP/IP stacks. As a result, at least two types of
	// VirtualNics may be created -- the normal VirtualNic and the service
	// console VirtualNic. If this is not set, then only the VirtualNic type is
	// supported.
	UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic" json:"usesServiceConsoleNic"`
	// The flag to indicate whether or not the host is able
	// to support
	// the querying of network hints.
	SupportsNetworkHints bool `xml:"supportsNetworkHints" json:"supportsNetworkHints"`
	// The maximum number of port groups supported per virtual switch.
	//
	// This property will not be set if this value is unlimited.
	MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty" json:"maxPortGroupsPerVswitch,omitempty" vim:"2.5"`
	// The flag to indicate whether virtual switch configuration is
	// supported.
	//
	// This means that operations to add, remove, update virtual
	// switches are supported.
	VswitchConfigSupported bool `xml:"vswitchConfigSupported" json:"vswitchConfigSupported" vim:"2.5"`
	// The flag to indicate whether Virtual NIC configuration is supported.
	//
	// This means that operations to add, remove, update virtualNic are
	// supported.
	VnicConfigSupported bool `xml:"vnicConfigSupported" json:"vnicConfigSupported" vim:"2.5"`
	// The flag to indicate whether ip route configuration for the host
	// is supported.
	IpRouteConfigSupported bool `xml:"ipRouteConfigSupported" json:"ipRouteConfigSupported" vim:"2.5"`
	// The flag to indicate whether DNS configuration for the host is
	// supported.
	DnsConfigSupported bool `xml:"dnsConfigSupported" json:"dnsConfigSupported" vim:"2.5"`
	// This flag indicates whether or not the host is able to support
	// dhcp configuration for vnics.
	DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported" json:"dhcpOnVnicSupported" vim:"2.5"`
	// The flag to indicate whether the host is capable of communicating
	// using ipv6 protocol
	IpV6Supported *bool `xml:"ipV6Supported" json:"ipV6Supported,omitempty" vim:"4.0"`
	// The flag to indicate whether the host supports Backup NFC NIOC system
	// traffic, Unset means Backup NFC NIOC system traffic is not supported.
	BackupNfcNiocSupported *bool `xml:"backupNfcNiocSupported" json:"backupNfcNiocSupported,omitempty" vim:"7.0.1.0"`
}

Capability vector indicating the available product features.

type HostNetOffloadCapabilities

type HostNetOffloadCapabilities struct {
	DynamicData

	// (Optional) The flag to indicate whether or not checksum
	// offloading is supported.
	CsumOffload *bool `xml:"csumOffload" json:"csumOffload,omitempty"`
	// (Optional) The flag to indicate whether or not TCP segmentation
	// offloading (TSO) is supported.
	TcpSegmentation *bool `xml:"tcpSegmentation" json:"tcpSegmentation,omitempty"`
	// (Optional) The flag to indicate whether or not zero copy
	// transmits are supported.
	ZeroCopyXmit *bool `xml:"zeroCopyXmit" json:"zeroCopyXmit,omitempty"`
}

Deprecated as of VI API 4.0, the system defaults will be used.

Offload capabilities are used to optimize virtual machine network performance.

When a virtual machine is transmitting on a network, some operations can be offloaded either to the host or to physical hardware. This data object type defines the set of offload capabilities that may be available on a host.

This data object type is used both to publish the list of offload capabilities and to contain offload capability policy settings. The network policy logic is built on a two-level inheritance scheme which requires that all settings be optional. As a result, all properties on the NetOffloadCapabilities object must be optional.

See also `HostNetworkPolicy`.

type HostNetStackInstance

type HostNetStackInstance struct {
	DynamicData

	// Key of instance
	// For instance which created by host, its value should be `HostNetStackInstanceSystemStackKey_enum`.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The display name
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// DNS configuration
	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
	// IP Route configuration
	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
	// The maximum number of socket connection that are requested on this instance
	RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty" json:"requestedMaxNumberOfConnections,omitempty"`
	// The TCP congest control algorithm used by this instance,
	// See `HostNetStackInstanceCongestionControlAlgorithmType_enum` for valid values.
	CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty" json:"congestionControlAlgorithm,omitempty"`
	// Enable or disable IPv6 protocol on this stack instance.
	//
	// This property is not supported currently.
	IpV6Enabled      *bool                   `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty"`
	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty"`
}

This class describes Network Stack Instance configuration

type HostNetStackInstanceCongestionControlAlgorithmType

type HostNetStackInstanceCongestionControlAlgorithmType string

type HostNetStackInstanceSystemStackKey

type HostNetStackInstanceSystemStackKey string

type HostNetworkConfig

type HostNetworkConfig struct {
	DynamicData

	// Virtual switches configured on the host.
	Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
	// Host proxy switches configured on the host.
	ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty" vim:"4.0"`
	// Port groups configured on the host.
	Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
	// Physical network adapters as seen by the primary operating system.
	Pnic []PhysicalNicConfig `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// Virtual network adapters configured for use by the host
	// operating system network adapter.
	Vnic []HostVirtualNicConfig `xml:"vnic,omitempty" json:"vnic,omitempty"`
	// Virtual network adapters configured for use by the Service
	// Console.
	ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// the default NetStackInstance.
	//
	// Client-side DNS configuration for the host.
	//
	// The DNS configuration is
	// global to the entire host.
	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// the default NetStackInstance.
	//
	// IP route configuration of the host.
	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
	// IP route configuration of the service console.
	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// the default NetStackInstance.
	//
	// IP routing table configuration of the host.
	RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty" json:"routeTableConfig,omitempty" vim:"4.0"`
	// Dynamic Host Control Protocol (DHCP) Service instances configured
	// on the host.
	Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty" json:"dhcp,omitempty" vim:"2.5"`
	// Network address translation (NAT) Service instances configured
	// on the host.
	Nat []HostNatServiceConfig `xml:"nat,omitempty" json:"nat,omitempty" vim:"2.5"`
	// Enable or disable IPv6 protocol on this system.
	//
	// This property must be set by itself, no other property can accompany
	// this change. Following the successful change, the system should be rebooted to
	// have the change take effect.
	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty" vim:"4.0"`
	// The list of network stack instance spec
	NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty" json:"netStackSpec,omitempty" vim:"5.5"`
	// Current status of NVDS to VDS migration.
	//
	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
	// for supported values.
	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
}

This data object type describes networking host configuration data objects.

These objects contain only the configuration information for networking. The runtime information is available from the `NetworkInfo` data object type.

See also `HostNetworkInfo`.

type HostNetworkConfigNetStackSpec

type HostNetworkConfigNetStackSpec struct {
	DynamicData

	// Network stack instance
	NetStackInstance HostNetStackInstance `xml:"netStackInstance" json:"netStackInstance"`
	// Operation type, see
	// `ConfigSpecOperation_enum` for valid values.
	//
	// Only edit operation is supported currently.
	Operation string `xml:"operation,omitempty" json:"operation,omitempty"`
}

This data type describes Network Stack Spec

type HostNetworkConfigResult

type HostNetworkConfigResult struct {
	DynamicData

	// Virtual network adapter keys.
	VnicDevice []string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
	// Service console virtual network adapter keys.
	ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty" json:"consoleVnicDevice,omitempty"`
}

The result returned by updateNetworkConfig call.

See also `HostNetworkSystem.UpdateNetworkConfig`.

type HostNetworkInfo

type HostNetworkInfo struct {
	DynamicData

	// Virtual switches configured on the host.
	Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
	// Proxy switches configured on the host.
	ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty" json:"proxySwitch,omitempty" vim:"4.0"`
	// Port groups configured on the host.
	Portgroup []HostPortGroup `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
	// Physical network adapters as seen by the primary operating system.
	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// Remote direct memory access devices, if any are present on the host.
	RdmaDevice []HostRdmaDevice `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty" vim:"7.0"`
	// Virtual network adapters configured on the host (hosted products)
	// or the vmkernel.
	//
	// In the hosted architecture, these network adapters are used by the
	// host to
	// communicate with the virtual machines running on that host. In the
	// VMkernel architecture, these virtual network adapters provide the
	// ESX Server with
	// external network access through a virtual switch that is bridged to a
	// physical network adapter. The VMkernel uses these network adapters
	// for features such as VMotion, NAS, iSCSI, and remote MKS connections.
	Vnic []HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
	// Virtual network adapters configured for use by the service console.
	//
	// The service
	// console uses this network access for system management and bootstrapping
	// services like network boot.
	// The two sets of virtual network adapters are mutually exclusive.
	// A virtual network adapter
	// in this list cannot be used for things like VMotion. Likewise, a
	// virtual network adapter in the other list cannot be used by the
	// service console.
	ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty" json:"consoleVnic,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// each NetStackInstance. For this property in NetworkInfo,
	// Get operation will only return its value of default NetStackInstance.
	//
	// Client-side DNS configuration.
	DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr" json:"dnsConfig,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// each NetStackInstance. For this property in NetworkInfo,
	// Get operation will only return its value of default NetStackInstance.
	//
	// IP route configuration.
	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
	// IP route configuration of the service console.
	ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr" json:"consoleIpRouteConfig,omitempty"`
	// Deprecated as of vSphere API 5.5, which is moved to
	// each NetStackInstance. For this property in NetworkInfo,
	// Get operation will only return its value of default NetStackInstance.
	//
	// IP routing table
	RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty" json:"routeTableInfo,omitempty" vim:"4.0"`
	// DHCP Service instances configured on the host.
	Dhcp []HostDhcpService `xml:"dhcp,omitempty" json:"dhcp,omitempty" vim:"2.5"`
	// NAT service instances configured on the host.
	Nat []HostNatService `xml:"nat,omitempty" json:"nat,omitempty" vim:"2.5"`
	// Enable or disable IPv6 protocol on this system.
	IpV6Enabled *bool `xml:"ipV6Enabled" json:"ipV6Enabled,omitempty" vim:"4.0"`
	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
	AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled" json:"atBootIpV6Enabled,omitempty" vim:"4.1"`
	// List of NetStackInstances
	NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty" vim:"5.5"`
	// List of opaque switches configured on the host.
	OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty" vim:"5.5"`
	// List of opaque networks
	OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"5.5"`
	// The nsx transport node Id
	NsxTransportNodeId string `xml:"nsxTransportNodeId,omitempty" json:"nsxTransportNodeId,omitempty" vim:"7.0"`
	// Whether NSX N-VDS to VDS migration is required
	NvdsToVdsMigrationRequired *bool `xml:"nvdsToVdsMigrationRequired" json:"nvdsToVdsMigrationRequired,omitempty" vim:"7.0.2.0"`
	// Current status of NVDS to VDS migration.
	//
	// See `HostNetworkConfig*.*HostNetworkConfigMigrationStatus_enum`
	// for supported values.
	MigrationStatus string `xml:"migrationStatus,omitempty" json:"migrationStatus,omitempty" vim:"7.0.2.0"`
}

This data object type describes networking host configuration data objects.

type HostNetworkPolicy

type HostNetworkPolicy struct {
	DynamicData

	// The security policy governing ports on this virtual switch.
	Security *HostNetworkSecurityPolicy `xml:"security,omitempty" json:"security,omitempty"`
	// The network adapter teaming policy.
	//
	// The bridge must be BondBridge
	// for this property to be valid.
	NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty" json:"nicTeaming,omitempty"`
	// Deprecated as of VI API 4.0, the system defaults will be used.
	//
	// Offload capabilities are used to optimize virtual machine network
	// performance.
	//
	// When a virtual machine is transmitting on a network,
	// some operations can be offloaded to either the host or the physical
	// hardware. This policy indicates what networking related operations
	// should be offloaded.
	//
	// All virtual machines using this PortGroup are subject to this
	// policy. There is no setting for an individual virtual machine
	// to determine if an operation should be offloaded.
	OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty" json:"offloadPolicy,omitempty"`
	// The traffic shaping policy.
	ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty" json:"shapingPolicy,omitempty"`
}

This data object type describes network policies that can be configured for both virtual switches and port groups.

The policy settings on the port group can inherit policy settings from their containing virtual switch. These policy settings are inherited if the settings on the port group are not set. Since every policy setting on a port group is optional, every individual policy setting can be inherited.

By contrast, if a host is capable of implementing a policy setting, every virtual switch has some value assigned to the policy setting. In this case, although all of the policy settings are optional, they always have some value either by inheritance or by direct setting.

Policy settings are organized into policy groups such as SecurityPolicy. Policy groups are optional since it is possible that a host may not implement such policies. If a host does not support a policy group, the policy group is not set on both the virtual switches and the port groups.

See also `HostNetCapabilities`.

type HostNetworkResourceRuntime

type HostNetworkResourceRuntime struct {
	DynamicData

	// The network resource related information on each
	// physical NIC
	PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo" json:"pnicResourceInfo"`
}

This data type describes the network resource runtime information

type HostNetworkSecurityPolicy

type HostNetworkSecurityPolicy struct {
	DynamicData

	// The flag to indicate whether or not all traffic is seen
	// on the port.
	AllowPromiscuous *bool `xml:"allowPromiscuous" json:"allowPromiscuous,omitempty"`
	// The flag to indicate whether or not the Media Access
	// Control (MAC) address can be changed.
	MacChanges *bool `xml:"macChanges" json:"macChanges,omitempty"`
	// The flag to indicate whether or not the virtual network adapter
	// should be allowed to send network traffic with a different MAC
	// address than that of the virtual network adapter.
	ForgedTransmits *bool `xml:"forgedTransmits" json:"forgedTransmits,omitempty"`
}

This data object type describes security policy governing ports.

type HostNetworkTrafficShapingPolicy

type HostNetworkTrafficShapingPolicy struct {
	DynamicData

	// The flag to indicate whether or not traffic shaper is enabled on
	// the port.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// The average bandwidth in bits per second if shaping is enabled on
	// the port.
	AverageBandwidth int64 `xml:"averageBandwidth,omitempty" json:"averageBandwidth,omitempty"`
	// The peak bandwidth during bursts in bits per second if traffic
	// shaping is enabled on the port.
	PeakBandwidth int64 `xml:"peakBandwidth,omitempty" json:"peakBandwidth,omitempty"`
	// The maximum burst size allowed in bytes if shaping is enabled on
	// the port.
	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
}

This data object type describes traffic shaping policy.

type HostNewNetworkConnectInfo

type HostNewNetworkConnectInfo struct {
	HostConnectInfoNetworkInfo
}

Network information for a network that will be added to VirtualCenter when the host is added.

type HostNfcConnectionInfo added in v0.27.0

type HostNfcConnectionInfo struct {
	HostDataTransportConnectionInfo

	// NFC streaming memory used by the connection in bytes.
	StreamingMemoryConsumed int64 `xml:"streamingMemoryConsumed,omitempty" json:"streamingMemoryConsumed,omitempty"`
}

NfcConnectionInfo contains information about an NFC connection on the host.

type HostNicFailureCriteria

type HostNicFailureCriteria struct {
	DynamicData

	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// To use link speed as the criteria, _checkSpeed_ must be one of
	// the following values:
	//     - `*exact*`: Use exact speed to detect link failure.
	//       `*speed*` is the configured exact speed in megabits per second.
	//     - `*minimum*`: Use minimum speed to detect failure.
	//       `*speed*` is the configured minimum speed in megabits per second.
	//     - **empty string**: Do not use link speed to detect failure.
	//       `*speed*` is unused in this case.
	CheckSpeed string `xml:"checkSpeed,omitempty" json:"checkSpeed,omitempty"`
	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// Speed.
	//
	// See also `HostNicFailureCriteria.checkSpeed`.
	Speed int32 `xml:"speed,omitempty" json:"speed,omitempty"`
	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// The flag to indicate whether or not to use the link duplex reported
	// by the driver as link selection criteria.
	//
	// If `*checkDuplex*` is true, then fullDuplex is the configured
	// duplex mode. The link is considered bad if the link duplex reported
	// by driver is not the same as fullDuplex.
	//
	// If `*checkDuplex*` is false, then fullDuplex is unused, and
	// link duplexity is not used as a detection method.
	CheckDuplex *bool `xml:"checkDuplex" json:"checkDuplex,omitempty"`
	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// Full duplex.
	//
	// See also `HostNicFailureCriteria.checkDuplex`.
	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// The flag to indicate whether or not to use link error percentage
	// to detect failure.
	//
	// If `*checkErrorPercent*` is true, then percentage is the configured
	// error percentage that is tolerated. The link is considered bad
	// if error rate exceeds percentage.
	//
	// If `*checkErrorPercent*` is false, percentage is unused, and
	// error percentage is not used as a detection method.
	CheckErrorPercent *bool `xml:"checkErrorPercent" json:"checkErrorPercent,omitempty"`
	// Deprecated as of VI API 5.1, this property is not supported.
	//
	// Percentage.
	//
	// See also `HostNicFailureCriteria.checkErrorPercent`.
	Percentage int32 `xml:"percentage,omitempty" json:"percentage,omitempty"`
	// The flag to indicate whether or not to enable this property to
	// enable beacon probing as a method to validate
	// the link status of a physical network adapter.
	//
	// `*checkBeacon*` can be enabled only if the VirtualSwitch has been
	// configured to use the beacon. Attempting to set `*checkBeacon*`
	// on a PortGroup or VirtualSwitch that does not have beacon probing
	// configured for the applicable VirtualSwitch results in an error.
	//
	// See also `HostVirtualSwitchBondBridge.beacon`, `HostVirtualSwitchBeaconConfig`.
	CheckBeacon *bool `xml:"checkBeacon" json:"checkBeacon,omitempty"`
}

This data object type describes the network adapter failover detection algorithm for a network adapter team.

type HostNicOrderPolicy

type HostNicOrderPolicy struct {
	DynamicData

	// List of active network adapters used for load balancing.
	ActiveNic []string `xml:"activeNic,omitempty" json:"activeNic,omitempty"`
	// Standby network adapters used for failover.
	StandbyNic []string `xml:"standbyNic,omitempty" json:"standbyNic,omitempty"`
}

This data object type describes network adapter ordering policy for a network adapter team.

A physical network adapter can be in the active list, the standby list, or neither. It cannot be in both lists. For a virtual switch, the NicOrderPolicy property is never null when retrieved from the server. When creating a new virtual switch or updating an existing virtual switch, the NicOrderPolicy can be null, in which case the default NicOrderPolicy from the server will be used. For a portgroup, a null NicOrderPolicy property means the portgroup inherits the policy from its parent. Otherwise, the NicOrderPolicy property defined in the portgroup takes precedence. In all cases where the NicOrderPolicy property is set, an empty activeNic array means there are no active Ethernet adapters in the team. An empty standbyNic array means there are no standby Ethernet adapters.

type HostNicTeamingPolicy

type HostNicTeamingPolicy struct {
	DynamicData

	// Network adapter teaming policy includes failover and load balancing,
	// It can be one of the following:
	//     - `*loadbalance\_ip*`: route based on ip hash.
	//     - `*loadbalance\_srcmac*`: route based on source MAC hash.
	//     - `*loadbalance\_srcid*`: route based on the source of the port ID.
	//     - `*failover\_explicit*`: use explicit failover order.
	//
	// See also `HostNetCapabilities.nicTeamingPolicy`.
	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
	// Deprecated as of VI API 5.1, the system default (true) will be used.
	//
	// The flag to indicate whether or not the teaming policy is applied
	// to inbound frames as well.
	//
	// For example, if the policy is explicit failover, a broadcast request goes
	// through uplink1 and comes back through uplink2. Then if the
	// reverse policy is set, the frame is dropped when it is
	// received from
	// uplink2. This reverse policy is useful to prevent the virtual machine
	// from getting reflections.
	ReversePolicy *bool `xml:"reversePolicy" json:"reversePolicy,omitempty"`
	// Flag to specify whether or not to notify the physical switch
	// if a link fails.
	//
	// If this property is true, ESX Server will
	// respond to the failure by sending a RARP packet from a different
	// physical adapter, causing the switch to update its cache.
	NotifySwitches *bool `xml:"notifySwitches" json:"notifySwitches,omitempty"`
	// The flag to indicate whether or not to use a rolling policy when
	// restoring links.
	//
	// For example, assume the explicit link order is
	// (vmnic9, vmnic0), therefore vmnic9 goes down, vmnic0 comes
	// up. However, when vmnic9 comes backup, if rollingOrder is set
	// to be true, vmnic0 continues to be used, otherwise, vmnic9
	// is restored as specified in the explicitly order.
	RollingOrder *bool `xml:"rollingOrder" json:"rollingOrder,omitempty"`
	// Failover detection policy for this network adapter team.
	//
	// The bridge must be BondBridge for this property to be valid.
	FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
	// Failover order policy for network adapters on this switch.
	//
	// The bridge must be BondBridge for this property to be valid.
	NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty" json:"nicOrder,omitempty"`
}

Policy for a network adapter team.

type HostNoAvailableNetworksEvent

type HostNoAvailableNetworksEvent struct {
	HostDasEvent

	// The comma-separated list of used networks
	Ips string `xml:"ips,omitempty" json:"ips,omitempty"`
}

This event records the fact that a host does not have any available networks for HA communication

type HostNoHAEnabledPortGroupsEvent

type HostNoHAEnabledPortGroupsEvent struct {
	HostDasEvent
}

This event records the fact that a host does not have any HA-enabled port groups

type HostNoRedundantManagementNetworkEvent

type HostNoRedundantManagementNetworkEvent struct {
	HostDasEvent
}

This event records the fact that a host does not have a redundant management network.

It is recommended that host management networks be configured with redundancy.

type HostNonCompliantEvent

type HostNonCompliantEvent struct {
	HostEvent
}

This event records that host went out of compliance.

type HostNotConnected

type HostNotConnected struct {
	HostCommunication
}

A HostNotConnected fault is thrown if a method needs to communicate with a host that has been disconnected in VirtualCenter.

type HostNotConnectedFault

type HostNotConnectedFault HostNotConnected

type HostNotInClusterEvent

type HostNotInClusterEvent struct {
	HostDasEvent
}

This event records that the host is not a cluster member.

type HostNotReachable

type HostNotReachable struct {
	HostCommunication
}

A HostNotReachable fault is thrown if the server was unable to communicate with the host

type HostNotReachableFault

type HostNotReachableFault HostNotReachable

type HostNtpConfig

type HostNtpConfig struct {
	DynamicData

	// List of time servers, specified as either IP addresses or
	// fully qualified domain names (FQDNs).
	//
	// Each entry may optionally
	// specify one or more space separated 'server' ntp.conf command options.
	// Any comments appended to an entry after a '#' will not be retained.
	// To reset any previously configured servers, submit an NtpConfig
	// without the server or configFile property set to method
	// `HostDateTimeSystem.UpdateDateTimeConfig`
	Server []string `xml:"server,omitempty" json:"server,omitempty"`
	// Content of ntp.conf host configuration file, split by lines for ntpd version 4.2.8.
	//
	// Comment lines start with comment marker '#' as per ntp.conf are kept.
	// When submitting a new ntp commands to this property via
	// `HostDateTimeSystem.UpdateDateTimeConfig` method, any 'restrict'
	// or 'drift' commands will be ignored as the those are set to fixed defaults.
	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty" vim:"6.0"`
}

Configuration information for the NTP (Network Time Protocol) service.

type HostNumaInfo

type HostNumaInfo struct {
	DynamicData

	// Deprecated as of vSphere API 5.1, this property is always
	// set to "NUMA".
	//
	// The type of NUMA technology.
	Type string `xml:"type" json:"type"`
	// The number of NUMA nodes on the host.
	//
	// The value is 0 if the
	// host is not NUMA-capable.
	NumNodes int32 `xml:"numNodes" json:"numNodes"`
	// Information about each of the NUMA nodes on the host.
	//
	// The array is empty if the host is not NUMA-capable.
	NumaNode []HostNumaNode `xml:"numaNode,omitempty" json:"numaNode,omitempty"`
}

Information about NUMA (non-uniform memory access).

type HostNumaNode

type HostNumaNode struct {
	DynamicData

	// Zero-based NUMA ID for the node.
	TypeId byte `xml:"typeId" json:"typeId"`
	// Information about each of the CPUs associated with the node.
	CpuID []int16 `xml:"cpuID" json:"cpuID"`
	// The total amount of memory in this NUMA node, in bytes.
	MemorySize int64 `xml:"memorySize,omitempty" json:"memorySize,omitempty" vim:"8.0.0.0"`
	// Deprecated as of vSphere 8.0, this property is always set to
	// zero. The memory of a NUMA node is not necessarily a single
	// physically contiguous range.
	//
	// Beginning memory range for this NUMA node.
	MemoryRangeBegin int64 `xml:"memoryRangeBegin" json:"memoryRangeBegin"`
	// Deprecated as of vSphere 8.0, this property is replaced by
	// `HostNumaNode.memorySize` and is set to the same value. The memory of
	// a NUMA node is not necessarily a single physically contiguous
	// range.
	//
	// Length of the memory range for this node in bytes, that is, the amount
	// of memory on the node.
	MemoryRangeLength int64 `xml:"memoryRangeLength" json:"memoryRangeLength"`
	// Information about each of the pci devices associated with the node.
	//
	// The string is of SBDF format, "Segment:Bus:Device.Function".
	PciId []string `xml:"pciId,omitempty" json:"pciId,omitempty" vim:"6.7"`
}

Information about a single NUMA node.

type HostNumericSensorHealthState

type HostNumericSensorHealthState string

Health state of the numeric sensor as reported by the sensor probes.

type HostNumericSensorInfo

type HostNumericSensorInfo struct {
	DynamicData

	// The name of the physical element associated with the sensor
	// It consists of a string of the form:
	// "description --- state/identifer".
	Name string `xml:"name" json:"name"`
	// The health state of the of the element indicated by the sensor.
	//
	// This property is populated only for sensors that support threshold
	// settings and for discrete sensors using control file.
	//
	// See also `HostNumericSensorHealthState_enum`.
	HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr" json:"healthState,omitempty"`
	// The current reading of the element indicated by the sensor.
	//
	// The actual
	// sensor reading is obtained by multiplying the current reading by the
	// scale factor.
	CurrentReading int64 `xml:"currentReading" json:"currentReading"`
	// The unit multiplier for the values returned by the sensor.
	//
	// All values
	// returned by the sensor are current reading \* 10 raised to the power of
	// the UnitModifier. If no unitModifier applies the value returned is 0.
	UnitModifier int32 `xml:"unitModifier" json:"unitModifier"`
	// The base units in which the sensor reading is specified.
	//
	// If rateUnits
	// is set the units of the current reading is further qualified by the
	// rateUnits. Otherwise the value returned is 'unspecified'.
	//
	// See also `HostNumericSensorInfo.rateUnits`.
	BaseUnits string `xml:"baseUnits" json:"baseUnits"`
	// The rate units in which the sensor reading is specified.
	//
	// For example if
	// the baseUnits is Volts and the rateUnits is per second the value
	// returned by the sensor are in Volts/second. If no rate applies
	// the value returned is 'none'.
	RateUnits string `xml:"rateUnits,omitempty" json:"rateUnits,omitempty"`
	// The type of the sensor.
	//
	// If the sensor type is set to Other the sensor
	// name can be used to further identify the type of sensor. The sensor
	// units can also be used to further implicitly determine the type of the
	// sensor.
	//
	// See also `HostNumericSensorType_enum`.
	SensorType string `xml:"sensorType" json:"sensorType"`
	// A unique sensor identifier.
	//
	// A four part value consisting of:
	// BMC device.Entity ID.Instance.SensorNumber
	// Can be used to match a NumericSensorInfo object to
	// esxcli hardware ipmi sdr list
	Id string `xml:"id,omitempty" json:"id,omitempty" vim:"6.5"`
	// The IPMI Sensor/probe that is reporting this event.
	//
	// Use this value
	// to locate System Event Log (SEL) entries for this Sensor. It is also
	// reported in 'id' in string format. This property is intended to
	// be used with vim.host.SystemEventInfo.sensorNumber
	SensorNumber int64 `xml:"sensorNumber,omitempty" json:"sensorNumber,omitempty" vim:"8.0.0.1"`
	// Reports the ISO 8601 Timestamp when this sensor was last updated by
	// management controller if the this sensor is capable of tracking
	// when it was last updated.
	TimeStamp string `xml:"timeStamp,omitempty" json:"timeStamp,omitempty" vim:"6.5"`
	// The FRU this sensor monitors if any.
	Fru *HostFru `xml:"fru,omitempty" json:"fru,omitempty" vim:"8.0.0.1"`
}

Base class for numeric sensor information.

type HostNumericSensorType

type HostNumericSensorType string

Sensor Types for specific hardware component are either based on

type HostNvmeConnectSpec added in v0.23.0

type HostNvmeConnectSpec struct {
	HostNvmeSpec

	// NVME Qualified Name of the NVM subsystem to connect to.
	//
	// Corresponds to the SUBNQN field in the Connect command as
	// referenced above.
	Subnqn string `xml:"subnqn" json:"subnqn"`
	// ID of the controller to connect to within the NVM subsystem.
	//
	// This field corresponds to CNTLID in the Connect command.
	// Its usage depends on whether the NVM Subsystem supports
	// a static or dynamic controller model.
	// In the static model, a number of controllers
	// may be exposed. A connection to a specific one may be requested
	// by specifying its controller ID (which is unique only within the
	// NVM subsystem). If a value of 0xFFFE (65534 in decimal) is provided,
	// any one of the controllers may be allocated for the connection. In
	// the static model a value of 0xFFFF (65535 in decimal) or above is
	// invalid.
	// In the dynamic model, the NVM Subsystem will dynamically allocate
	// a controller. Any value other than 0xFFFF (65535 in decimal) specified
	// will be consider invalid.
	// If the controllerId is unset, it defaults to 0xFFFF (the value used in
	// the dynamic model).
	// Whether the NVM subsystem supports the dynamic or static model can be
	// determined by examining the corresponding
	// `HostNvmeDiscoveryLogEntry` returned for it.
	ControllerId int32 `xml:"controllerId,omitempty" json:"controllerId,omitempty"`
	// Size of the admin queue which will be created once connection
	// is established.
	//
	// This field corresponds to SQSIZE in the Connect command (see above).
	// If unset, it defaults to a reasonable value which may vary between
	// releases (currently 16).
	AdminQueueSize int32 `xml:"adminQueueSize,omitempty" json:"adminQueueSize,omitempty"`
	// Timeout for the keep alive feature in seconds.
	//
	// This field corresponds to KATO in the Connect command (see above).
	// If unset, it defaults to a reasonable value which may vary between
	// releases (currently 30 seconds).
	// For further information, see:
	//     - "NVM Express 1.3", Section 5.21.1.15, "Keep Alive Timer"
	KeepAliveTimeout int32 `xml:"keepAliveTimeout,omitempty" json:"keepAliveTimeout,omitempty"`
}

Specifies the parameters necessary to connect to a regular NVME over Fabrics controller.

Here the transportParameters are used to establish a transport level connection to the specified controller. For reference, see:

  • "NVM Express over Fabrics 1.0", Section 3.3, "Connect command and response"

type HostNvmeController added in v0.23.0

type HostNvmeController struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key" json:"key"`
	// The controller number uniquely identifies the NVME Controller
	// within its HostSystem.
	//
	// This should not be confused with Controller ID (see
	// "NVM Express over Fabrics 1.0", Section 4.2, "Controller model"
	// for details), which only serves as an identifier
	// within a particular NVME subsystem.
	ControllerNumber int32 `xml:"controllerNumber" json:"controllerNumber"`
	// The NVME subsystem qualified name.
	//
	// Each NVME controller is associated with an NVME subsystem
	// which can present a collection of controllers to the adapter.
	// For more details, refer to:
	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
	//       "NVM Subsystem".
	Subnqn string `xml:"subnqn" json:"subnqn"`
	// Name of the controller.
	//
	// Each controller has a name. For NVME over Fabrics controllers,
	// it is generated when the controller is connected to an NVME
	// over Fabrics adapter.
	Name string `xml:"name" json:"name"`
	// Associated NVME over Fabrics host bus adapter.
	//
	// A controller is associated with exactly one host at a time through
	// an NVME over Fabrics host bus adapter.
	AssociatedAdapter string `xml:"associatedAdapter" json:"associatedAdapter"`
	// The transport type supported by the controller.
	//
	// The set of possible values is described in `HostNvmeTransportType_enum`.
	// For details, see:
	//     - "NVM Express over Fabrics 1.0", Section 1.5.1,
	//       "Fabrics and Transports".
	TransportType string `xml:"transportType" json:"transportType"`
	// Indicates whether fused operations are supported by the controller.
	//
	// An NVME controller may support fused operations. This is required
	// to support shared storage, otherwise data corruption may occur.
	// For more details, see:
	//     - "NVM Express 1.3", Section 6.2, "Fused Operations".
	FusedOperationSupported bool `xml:"fusedOperationSupported" json:"fusedOperationSupported"`
	// The number of I/O queues allocated for the controller.
	NumberOfQueues int32 `xml:"numberOfQueues" json:"numberOfQueues"`
	// The size of each of the I/O queues.
	//
	// This will not be greater than the Maximum Queue Entries Supported
	// (mqes) value for the controller. For more information, see:
	//     - "NVM Express 1.3", section 3.1, "Register definition".
	QueueSize int32 `xml:"queueSize" json:"queueSize"`
	// List of NVME namespaces attached to the controller.
	//
	// Namespaces provide access to a non-volatile storage medium
	// which is part of the NVM subsystem. For an overview, see:
	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
	//       "NVM Subsystem".
	//     - "NVM Express 1.3", section 6.1, "Namespaces".
	AttachedNamespace []HostNvmeNamespace `xml:"attachedNamespace,omitempty" json:"attachedNamespace,omitempty"`
	// The vendor ID of the controller, if available.
	VendorId string `xml:"vendorId,omitempty" json:"vendorId,omitempty"`
	// The model name of the controller, if available.
	Model string `xml:"model,omitempty" json:"model,omitempty"`
	// The serial number of the controller, if available.
	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
	// The firmware version of the controller, if available.
	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty"`
}

This data object represents an NVME controller.

Some terminology is borrowed from the NVM Express over Fabrics and the NVM Express 1.3 specifications, which are available at the following address: https://nvmexpress.org/resources/specifications/

type HostNvmeDisconnectSpec added in v0.23.0

type HostNvmeDisconnectSpec struct {
	DynamicData

	// The device name of the NVME over Fabrics host bus adapter.
	HbaName string `xml:"hbaName" json:"hbaName"`
	// NVME Qualified Name of the NVM subsystem to disconnect from.
	//
	// If controllerNumber is not specified, the subsystem qualified
	// name has to be specified and any controllers exposed by that
	// subsystem will be disconnected from the specified adapter. This
	// is particularly convenient for the dynamic controller model, where
	// the mapping subsystemNQN &lt;-&gt; ctrlNumber is expected to be 1:1.
	// If controllerNumber is also specified, this value is ignored.
	Subnqn string `xml:"subnqn,omitempty" json:"subnqn,omitempty"`
	// Controller number of the controller to be disconnected.
	//
	// If this value is set, the subsystemQualifiedName can be left unset
	// and the controller whose controllerNumber field matches this value
	// will be disconnected from the specified adapter.
	// If this value is not set, subsystemQualifiedName must be set.
	ControllerNumber int32 `xml:"controllerNumber,omitempty" json:"controllerNumber,omitempty"`
}

Specifies the parameters necessary to disconnect an NVME controller from a given NVME over Fabrics adapter.

type HostNvmeDiscoverSpec added in v0.23.0

type HostNvmeDiscoverSpec struct {
	HostNvmeSpec

	// Indicates whether the specified adapter should automatically be
	// connected to all the discovered controllers.
	//
	// It is possible to automatically connect to all discovered controllers.
	// This will only be attempted if this flag is set to true. Whether the
	// connection attempt for an entry succeeded can then be determined
	// via the corresponding `HostNvmeDiscoveryLogEntry.connected` field.
	AutoConnect *bool `xml:"autoConnect" json:"autoConnect,omitempty"`
	// If set to true, this flag indicates we are connecting to a root/central
	// discovery controller (RDC/CDC).
	//
	// This will create a persistent connection between the host and the
	// root discovery controller, thus enabling some advanced features.
	RootDiscoveryController *bool `xml:"rootDiscoveryController" json:"rootDiscoveryController,omitempty" vim:"7.0.3.0"`
}

Specifies the parameters necessary to connect to a Discovery Service and retrieve a Discovery Log Page.

Here the transportParameters are used to establish a transport level connection to a Discovery Controller. Further details can be found here:

  • "NVM Express over Fabrics 1.0", Section 5, "Discovery service"

type HostNvmeDiscoveryLog added in v0.23.0

type HostNvmeDiscoveryLog struct {
	DynamicData

	// The list of entries that make up the Discovery Log.
	Entry []HostNvmeDiscoveryLogEntry `xml:"entry,omitempty" json:"entry,omitempty"`
	// Indicates whether the NvmeDiscoveryLog object completely
	// represents the underlying Discovery Log returned by the
	// controller.
	//
	// It is possible some of the entries returned by the Discovery
	// Controller contain unsupported transport types or data that
	// cannot be interpreted - in that case, those entries will be
	// skipped and the log will be marked as incomplete.
	Complete bool `xml:"complete" json:"complete"`
}

This data object represents the Discovery Log returned by an NVME over Fabrics Discovery controller.

The Discovery Log consists of pages which contain a number of entries. It provides an inventory of NVM subsystems with which the host may attempt to form an association through an NVME over Fabrics adapter. For details, see:

  • "NVM Express over Fabrics 1.0", Section 5.3, Discovery Log Page

type HostNvmeDiscoveryLogEntry added in v0.23.0

type HostNvmeDiscoveryLogEntry struct {
	DynamicData

	// NVME Qualified name of the discovered subsystem.
	//
	// Corresponds to the SUBNQN field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec.
	Subnqn string `xml:"subnqn" json:"subnqn"`
	// NVM Subsystem type.
	//
	// Corresponds to the SUBTYPE field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec.
	// The set of supported values is described in
	// `HostNvmeDiscoveryLogSubsystemType_enum`.
	SubsystemType string `xml:"subsystemType" json:"subsystemType"`
	// NVM subsystem port ID.
	//
	// Corresponds to the PORTID field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec.
	// For an overview, see:
	//     - "NVM Express over Fabrics 1.0", Section 1.5.2,
	//       NVM Subsystem
	SubsystemPortId int32 `xml:"subsystemPortId" json:"subsystemPortId"`
	// NVME Controller ID within the NVM subsystem.
	//
	// Corresponds to the CNTLID field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec.
	// In the static controller model, this field may be set
	// to a specific controller ID which can be used to connect
	// to that particular controller. It could also be set
	// to 0xFFFE (65534 in decimal), in which case the controller
	// ID will be allocated when a connection is established.
	// In the dynamic controller model, this field shall be set
	// to 0xFFFF (65535 in decimal).
	// Note that this is different from the controllerNumber
	// `HostNvmeController.controllerNumber`,
	// which is the unique identifier of the NVMe controller
	// within the entire host and is allocated only after a
	// connection is established.
	ControllerId int32 `xml:"controllerId" json:"controllerId"`
	// The maximum size of the Admin Submission Queue.
	//
	// Corresponds to the ASQSZ field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec.
	// This applies to all controllers within the NVM Subsystem.
	// When establishing a connection, the value of
	// `HostNvmeConnectSpec.adminQueueSize` may not exceed
	// this value.
	AdminQueueMaxSize int32 `xml:"adminQueueMaxSize" json:"adminQueueMaxSize"`
	// Transport specific parameters necessary to establish
	// a connection.
	//
	// Different types of fabrics transports and different
	// means to specify a connection target may be supported.
	// The transport specific parameters object is constructed
	// based on the data in the Transport Type (TRTYPE),
	// Address Family (ADRFAM), Transport Service Identifier
	// (TRSVCID), Transport Address (TRADDR) and Transport
	// Specific Address Subtype (TSAS) fields in the Discovery
	// Log Page Entry as specified by the NVME over Fabrics spec.
	// When connecting to the controller represented by this
	// Discovery Log Page Entry, the transport specific
	// parameters can be passed directly as
	// `HostNvmeSpec.transportParameters`.
	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
	// The requirements for NVME Transport.
	//
	// Corresponds to the TREQ field in the Discovery Log
	// Page Entry as specified by the NVME over Fabrics spec
	// The set of possible values is described in
	// `HostNvmeDiscoveryLogTransportRequirements_enum`
	TransportRequirements string `xml:"transportRequirements" json:"transportRequirements"`
	// Indicates whether the controller represented
	// by this Discovery Log Page Entry is already connected
	// to the adapter through which the discovery is initiated.
	Connected bool `xml:"connected" json:"connected"`
}

This data object represents a single entry in the Discovery Log returned by a Discovery controller.

type HostNvmeDiscoveryLogSubsystemType added in v0.23.0

type HostNvmeDiscoveryLogSubsystemType string

This enum represents the supported NVM subsystem types.

type HostNvmeDiscoveryLogTransportRequirements added in v0.23.0

type HostNvmeDiscoveryLogTransportRequirements string

This enum represents the supported types of transport requirements.

type HostNvmeNamespace added in v0.23.0

type HostNvmeNamespace struct {
	DynamicData

	// The linkable identifier.
	//
	// This is a unique identifier of the NVME namespace within
	// the host system.
	Key string `xml:"key" json:"key"`
	// The name of the namespace.
	//
	// The name identifies the underlying storage exposed
	// by the NvmeNamespace. In multipath scenarios, two
	// namespaces can have the same name if they expose the
	// same underlying storage through different NVME controllers.
	Name string `xml:"name" json:"name"`
	// The namespace ID is an identifier used by an NVME controller
	// to provide access to a namespace.
	//
	// The namespace ID is only unique among the namespaces
	// attached to the same controller. For details, see:
	//     - "NVM Express 1.3", section 6.1, "Namespaces".
	Id int32 `xml:"id" json:"id"`
	// Block size of the namespace in bytes.
	//
	// Namespaces are comprised of a number of logical blocks with
	// a fixed size - the smallest units of data that may be
	// read or written by the NVME controller.
	BlockSize int32 `xml:"blockSize" json:"blockSize"`
	// The maximum number of logical blocks that may be allocated
	// in the namespace at any point in time.
	//
	// Corresponds to the NCAP field in the Identify Namespace data
	// structure:
	//     - "NVM Express 1.3", Section 5.15, Figure 114,
	//       "Identify Namespace Data Structure"
	CapacityInBlocks int64 `xml:"capacityInBlocks" json:"capacityInBlocks"`
}

This data object represents an NVM Express Namespace.

In the NVME model, the underlying non-volatile storage medium is exposed via namespaces. For further information, see:

  • "NVM Express over Fabrics 1.0", Section 1.5.2, "NVM Subsystem".
  • "NVM Express 1.3", section 6.1, "Namespaces".

type HostNvmeOpaqueTransportParameters added in v0.23.0

type HostNvmeOpaqueTransportParameters struct {
	HostNvmeTransportParameters

	// The transport type.
	//
	// Corresponds to the TRTYPE field in the Discovery Log Page Entry
	// as specified by the NVME over Fabrics spec.
	// The set of possible values is desribed in `HostNvmeTransportType_enum`.
	Trtype string `xml:"trtype" json:"trtype"`
	// The transport address.
	//
	// Corresponds to the TRADDR field in the Discovery Log Page Entry
	// as specified by the NVME over Fabrics spec.
	Traddr string `xml:"traddr" json:"traddr"`
	// Indicates the address family of the address specified above.
	//
	// Corresponds to the ADRFAM field in the Discovery Log Page Entry
	// as specified by the NVME over Fabrics spec.
	// The set of supported values is described in
	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
	Adrfam string `xml:"adrfam" json:"adrfam"`
	// Transport service identifier.
	//
	// Corresponds to the TRSVCID field in the Discovery Log Page Entry
	// as specified by the NVME over Fabrics spec.
	// Its interpretation varies depending on the transport type.
	Trsvcid string `xml:"trsvcid" json:"trsvcid"`
	// Transport specific address subtype.
	//
	// Corresponds to the TSAS field in the Discovery Log Page Entry
	// as specified by the NVME over Fabrics spec.
	// Its interpretation varies depending on the transport type.
	Tsas []byte `xml:"tsas" json:"tsas"`
}

This data object represents the raw transport specific parameters returned in a Discovery Log Page Entry, when they cannot be interpreted as one of the known common types of parameters.

For details, see:

  • "NVM Express over Fabrics 1.0", Section 5.3, Discovery Log Page

type HostNvmeOverFibreChannelParameters added in v0.23.0

type HostNvmeOverFibreChannelParameters struct {
	HostNvmeTransportParameters

	// The world wide node name for the connection target.
	NodeWorldWideName int64 `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
	// The world wide port name for the connection target.
	PortWorldWideName int64 `xml:"portWorldWideName" json:"portWorldWideName"`
}

This data object represents the transport specific parameters necessary to establish an NVME over Fibre Channel connection.

type HostNvmeOverRdmaParameters added in v0.23.0

type HostNvmeOverRdmaParameters struct {
	HostNvmeTransportParameters

	// The address of the connection target.
	Address string `xml:"address" json:"address"`
	// Indicates the type of the address specified above.
	//
	// If unset, it is assumed to be an IPv4 address. The set of possible
	// values is described in
	// `HostNvmeTransportParametersNvmeAddressFamily_enum`.
	// Note that not all of the address families may be supported for
	// establishing a connection over RDMA.
	AddressFamily string `xml:"addressFamily,omitempty" json:"addressFamily,omitempty"`
	// The port number of the RDMA target port.
	//
	// When IPv4/IPv6 is used as address family above, the port number
	// needs to be specified. If this field is unset, a default
	// value of 4420 is assumed as per the IANA assignment:
	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
}

This data object represents the transport specific parameters necessary to establish an NVME over RDMA connection.

type HostNvmeOverTcpParameters added in v0.27.0

type HostNvmeOverTcpParameters struct {
	HostNvmeTransportParameters

	// The address of the connection target.
	//
	// It is expected to be an IPv4 or IPv6 address.
	Address string `xml:"address" json:"address"`
	// The port number of the TCP target port.
	//
	// If this field is unset, the default value of 8009
	// is assumed as per the IANA assignment:
	// https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
	PortNumber int32 `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
	// Digest verification parameter.
	//
	// When used in a discovery or connect spec, this parameter specifies
	// the requested digest verification setting. The list of supported values is
	// described in `HostDigestVerificationSetting_enum`. If unset,
	// a default value of disabled is assumed.
	// For details, see:
	//     - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
	//       Section 7.4.10.2, "Initialize Connection Request PDU (ICReq)" - DGST field.
	//
	// When part of `HostNvmeDiscoveryLogEntry`, this value is unset.
	DigestVerification string `xml:"digestVerification,omitempty" json:"digestVerification,omitempty"`
}

This data object represents the transport specific parameters necessary to establish an NVME over TCP connection.

type HostNvmeSpec added in v0.23.0

type HostNvmeSpec struct {
	DynamicData

	// The device name of the NVME over Fabrics host bus adapter.
	HbaName string `xml:"hbaName" json:"hbaName"`
	// Transport specific information necessary to connect to the controller.
	TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr" json:"transportParameters"`
}

Specifies the main parameters needed when connecting to an NVMe over Fabrics controller or Discovery Service.

func (*HostNvmeSpec) GetHostNvmeSpec added in v0.23.0

func (b *HostNvmeSpec) GetHostNvmeSpec() *HostNvmeSpec

type HostNvmeTopology added in v0.23.0

type HostNvmeTopology struct {
	DynamicData

	// The list of NVME interfaces (could be empty).
	Adapter []HostNvmeTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
}

This data object type describes the NVME topology information.

The data objects in this data object type model the NVME storage objects from a topological point of view. The NVME topological view organizes objects by NVME interface, which contains connected controllers, which in turn contain attached namespaces.

Only storage adapters which support the NVME protocol will be represented as NVME interfaces in this data object. In particular, an NVME interface will be created for each NVME over Fabrics adapter in the system.

Note that it is possible for an adapter to be represented by both an NVME interface in the NVME topology and a SCSI interface in the SCSI topology. This can happen when an adapter supporting the NVME protocol is also presented as a SCSI adapter and SCSI to NVME translation is performed.

type HostNvmeTopologyInterface added in v0.23.0

type HostNvmeTopologyInterface struct {
	DynamicData

	// The identifier for the NVME interface.
	Key string `xml:"key" json:"key"`
	// The link to data for the NVME interface.
	Adapter string `xml:"adapter" json:"adapter"`
	// The list of connected NVME controllers.
	//
	// This list can be empty if am NVME interface is not connected
	// to any controllers. Each NvmeController object contains
	// a list of its attached NVME namespaces in
	// `HostNvmeController.attachedNamespace`.
	ConnectedController []HostNvmeController `xml:"connectedController,omitempty" json:"connectedController,omitempty"`
}

This data object describes the NVME interface that is associated with a list of connected NVME controllers.

type HostNvmeTransportParameters added in v0.23.0

type HostNvmeTransportParameters struct {
	DynamicData
}

This data object represents the transport specific parameters necessary to establish an NVM Express over Fabrics connection.

For some further information, see:

  • "NVM Express over Fabrics 1.0", Section 1.5.7, "Connection"

func (*HostNvmeTransportParameters) GetHostNvmeTransportParameters added in v0.23.0

func (b *HostNvmeTransportParameters) GetHostNvmeTransportParameters() *HostNvmeTransportParameters

type HostNvmeTransportParametersNvmeAddressFamily added in v0.23.0

type HostNvmeTransportParametersNvmeAddressFamily string

This enum specifies the supported address families for NVME over Fabrics.

For details, see:

  • "NVM Express over Fabrics 1.0", Section 5.3, Figure 34,

type HostNvmeTransportType added in v0.23.0

type HostNvmeTransportType string

The set of NVM Express over Fabrics transport types.

For details, see:

  • "NVM Express over Fabrics 1.0", Section 1.5.1,

type HostOpaqueNetworkInfo

type HostOpaqueNetworkInfo struct {
	DynamicData

	// The ID of the opaque network.
	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
	// The name of the opaque network.
	OpaqueNetworkName string `xml:"opaqueNetworkName" json:"opaqueNetworkName"`
	// The type of the opaque network.
	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
	// IDs of networking zones that back the opaque network.
	PnicZone []string `xml:"pnicZone,omitempty" json:"pnicZone,omitempty" vim:"6.0"`
	// The capability of the opaque network.
	//
	// Refer `OpaqueNetworkCapability`
	Capability *OpaqueNetworkCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"6.5"`
	// Extra NSX specific properties for opaque networks.
	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty" vim:"6.5"`
}

Information on opaque networks that are available on the host.

type HostOpaqueSwitch

type HostOpaqueSwitch struct {
	DynamicData

	// The opaque switch ID.
	Key string `xml:"key" json:"key"`
	// The opaque switch name.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The set of physical network adapters associated with this switch.
	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// The IDs of networking zones associated with this switch.
	PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty" json:"pnicZone,omitempty" vim:"6.0"`
	// Opaque switch status.
	//
	// See
	// `OpaqueSwitchState` for valid values.
	Status string `xml:"status,omitempty" json:"status,omitempty" vim:"6.0"`
	// List of VTEPs associated with this switch.
	Vtep []HostVirtualNic `xml:"vtep,omitempty" json:"vtep,omitempty" vim:"6.0"`
	// Extra NSX specific properties for opaque switch.
	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty" vim:"6.5"`
	// Array of host specific feature capabilities that the switch has.
	FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty" json:"featureCapability,omitempty" vim:"6.7"`
}

The OpaqueSwitch contains basic information about virtual switches that are managed by a management plane outside of vSphere.

type HostOpaqueSwitchOpaqueSwitchState

type HostOpaqueSwitchOpaqueSwitchState string

type HostOpaqueSwitchPhysicalNicZone

type HostOpaqueSwitchPhysicalNicZone struct {
	DynamicData

	// The zone ID
	Key string `xml:"key" json:"key"`
	// Whenever an OpaqueSwitch is associated with a PhysicalNicZone, then by default,
	// the zone will consist of all physical nics that are linked to the switch.
	//
	// However, if this property is set, then the zone will be considered to be
	// consisting of only those physical nics that are listed here.
	PnicDevice []string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
}

type HostOvercommittedEvent

type HostOvercommittedEvent struct {
	ClusterOvercommittedEvent
}

This event records when a host's capacity cannot satisfy resource configuration constraints.

type HostPMemVolume added in v0.18.0

type HostPMemVolume struct {
	HostFileSystemVolume

	// The universally unique identifier assigned to PMem volume.
	Uuid string `xml:"uuid" json:"uuid"`
	// Version of the PMem FS
	Version string `xml:"version" json:"version"`
}

The VMFS file system.

type HostParallelScsiHba

type HostParallelScsiHba struct {
	HostHostBusAdapter
}

The ParallelScsiHba data object type describes a parallel SCSI host bus adapter.

type HostParallelScsiTargetTransport

type HostParallelScsiTargetTransport struct {
	HostTargetTransport
}

Parallel SCSI transport information about a SCSI target.

type HostPatchManagerInstallState

type HostPatchManagerInstallState string

The installation state if the update is installed on the server.

type HostPatchManagerIntegrityStatus

type HostPatchManagerIntegrityStatus string

The integrity validation status.

type HostPatchManagerLocator

type HostPatchManagerLocator struct {
	DynamicData

	// The URL that will be used to access the patch repository.
	Url string `xml:"url" json:"url"`
	// The proxy setting required to access the URL from the host.
	//
	// If unset, a direct URL connection will be attempted.
	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
}

type HostPatchManagerPatchManagerOperationSpec

type HostPatchManagerPatchManagerOperationSpec struct {
	DynamicData

	// The name of the possible proxy for esxupdate to use to connect to a server.
	//
	// The patch and metadata may be cached within the proxy server.
	Proxy string `xml:"proxy,omitempty" json:"proxy,omitempty"`
	// The port of the possible proxy for esxupdate to use to connect to a server.
	//
	// The patch and metadata may be cached within the proxy server.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The user name used for the proxy server.
	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
	// The password used for the proxy server.
	//
	// This is passed with ssl through a
	// trusted channel.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
	// Possible command line options when calling esxupdate.
	CmdOption string `xml:"cmdOption,omitempty" json:"cmdOption,omitempty"`
}

Optional parameters for hostd to pass to exupdate.

type HostPatchManagerReason

type HostPatchManagerReason string

Reasons why an update is not applicable to the ESX host.

type HostPatchManagerResult

type HostPatchManagerResult struct {
	DynamicData

	// The version of the scan result schema.
	Version string `xml:"version" json:"version"`
	// The scan results for each patch.
	Status []HostPatchManagerStatus `xml:"status,omitempty" json:"status,omitempty"`
	// The scan results in XML format.
	XmlResult string `xml:"xmlResult,omitempty" json:"xmlResult,omitempty"`
}

The result of the operation.

Some of the fields are only valid for specific operations.

type HostPatchManagerStatus

type HostPatchManagerStatus struct {
	DynamicData

	// Unique identifier for this update.
	Id string `xml:"id" json:"id"`
	// Whether or not this update is applicable to this host.
	//
	// An update
	// may not be applicable to the ESX host for many reasons - for
	// example, it is obsolete, it conflicts with other installed
	// patches or libraries, and so on. The `HostPatchManagerStatus.reason` shows some of the reasons
	// why the update is not applicable.
	// An update could be inapplicable with no reason listed. This is
	// because the prerequisite install state is not correct. For example,
	// update A is one of the prerequisites of update B. B not only
	// requires A to be installed, but also requires the host is
	// rebooted after A is installed. When A is installed and the host
	// has not been restarted after the installation, B will not be
	// applicable. In such a case, the scan on both updates A and B
	// would yield a whole picture of the update applicable status.
	Applicable bool `xml:"applicable" json:"applicable"`
	// Possible reasons why an update is not applicable to the ESX host.
	//
	// See also `HostPatchManagerReason_enum`.
	Reason []string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The integrity status of the update's metadata.
	//
	// The value would
	// be unset if the integrity status is unknown to the server.
	//
	// See also `HostPatchManagerIntegrityStatus_enum`.
	Integrity string `xml:"integrity,omitempty" json:"integrity,omitempty"`
	// Whether the update is installed on the server.
	Installed bool `xml:"installed" json:"installed"`
	// The installation state of the update.
	//
	// Unset if the update is not
	// installed on the server.
	//
	// See also `HostPatchManagerInstallState_enum`.
	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
	// Prerequisite update.
	PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
	// Whether or not this update requires a host restart to take effect.
	RestartRequired bool `xml:"restartRequired" json:"restartRequired"`
	// Whether or not this update requires caller to reconnect to the
	// host.
	//
	// This is usually because the update is on the agent that
	// running on the host, the agent would thus be restarted when the
	// update is applied. Caller can reconnect (and possibly relogin) to
	// the host after the agent has been restarted.
	ReconnectRequired bool `xml:"reconnectRequired" json:"reconnectRequired"`
	// Whether or not this update requires the host in maintenance mode.
	VmOffRequired bool `xml:"vmOffRequired" json:"vmOffRequired"`
	// Patches that are superseded by this update.
	SupersededPatchIds []string `xml:"supersededPatchIds,omitempty" json:"supersededPatchIds,omitempty"`
}

type HostPatchManagerStatusPrerequisitePatch

type HostPatchManagerStatusPrerequisitePatch struct {
	DynamicData

	// Unique identifier of the prerequisite update.
	Id string `xml:"id" json:"id"`
	// The requirement on the server or services running on the
	// server pertaining to the prerequisite update.
	//
	// For example,
	// this update could require the server to be rebooted after the
	// prerequisite update is installed. Unset if there is no
	// additional requirement on the prerequisite update.
	//
	// See also `HostPatchManagerInstallState_enum`.
	InstallState []string `xml:"installState,omitempty" json:"installState,omitempty"`
}

Updates that are required to be installed before this update can be installed on the server.

In addition to being installed on the server, an update can have additional requirement on the server or services running on the server pertaining to the prerequisite update.

type HostPathSelectionPolicyOption

type HostPathSelectionPolicyOption struct {
	DynamicData

	// Description of the paths selection policy.
	//
	// Use the key as the
	// identifier.
	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
}

Description of options associated with a native multipathing path selection policy plugin.

type HostPciDevice

type HostPciDevice struct {
	DynamicData

	// The name ID of this PCI, composed of "bus:slot.function".
	Id string `xml:"id" json:"id"`
	// The class of this PCI.
	ClassId int16 `xml:"classId" json:"classId"`
	// The bus ID of this PCI.
	Bus byte `xml:"bus" json:"bus"`
	// The slot ID of this PCI.
	Slot byte `xml:"slot" json:"slot"`
	// The function ID of this PCI.
	Function byte `xml:"function" json:"function"`
	// The vendor ID of this PCI.
	//
	// The vendor ID might be a negative value. A vSphere Server uses an unsigned
	// short integer to represent a PCI vendor ID. The WSDL representation of the ID
	// is a signed short integer. If the vendor ID is greater than 32767, the Server
	// will convert the ID to its two's complement for the WSDL representation.
	// When you specify a PCI device vendor ID for a virtual machine
	// (`VirtualPCIPassthroughDeviceBackingInfo`.vendorId),
	// you must use the retrieved `HostPciDevice`.deviceId value.
	VendorId int16 `xml:"vendorId" json:"vendorId"`
	// The subvendor ID of this PCI.
	//
	// The subvendor ID might be a negative value. A vSphere Server uses an unsigned
	// short integer to represent a PCI subvendor ID. The WSDL representation of the ID
	// is a signed short integer. If the subvendor ID is greater than 32767, the Server
	// will convert the ID to its two's complement for the WSDL representation.
	SubVendorId int16 `xml:"subVendorId" json:"subVendorId"`
	// The vendor name of this PCI.
	VendorName string `xml:"vendorName" json:"vendorName"`
	// The device ID of this PCI.
	//
	// The device ID might be a negative value. A vSphere Server uses an unsigned
	// short integer to represent a PCI device ID. The WSDL representation of the ID
	// is a signed short integer. If the PCI ID is greater than 32767, the Server
	// will convert the ID to its two's complement for the WSDL representation.
	// When you specify a PCI device ID for a virtual machine
	// (`VirtualPCIPassthroughDeviceBackingInfo`.deviceId),
	// you must use the `HostPciDevice`.deviceId value as retrieved
	// and convert it to a string.
	DeviceId int16 `xml:"deviceId" json:"deviceId"`
	// The subdevice ID of this PCI.
	//
	// The subdevice ID might be a negative value. A vSphere Server uses an unsigned
	// short integer to represent a PCI subdevice ID. The WSDL representation of the ID
	// is a signed short integer. If the subdevice ID is greater than 32767, the Server
	// will convert the ID to its two's complement for the WSDL representation.
	SubDeviceId int16 `xml:"subDeviceId" json:"subDeviceId"`
	// The parent bridge of this PCI.
	ParentBridge string `xml:"parentBridge,omitempty" json:"parentBridge,omitempty" vim:"4.0"`
	// The device name of this PCI.
	DeviceName string `xml:"deviceName" json:"deviceName"`
}

This data object type describes information about a single Peripheral Component Interconnect (PCI) device.

type HostPciPassthruConfig

type HostPciPassthruConfig struct {
	DynamicData

	// The name ID of this PCI, composed of "bus:slot.function".
	Id string `xml:"id" json:"id"`
	// Whether passThru has been configured for this device
	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
	// Whether the passThru config should take effect without rebooting ESX.
	//
	// When unset, the behavior will be determined automatically
	// based on `HostCapability.deviceRebindWithoutRebootSupported`.
	// If the configuration can be applied immediately, it
	// will be, otherwise the changes will take effect after reboot.
	ApplyNow *bool `xml:"applyNow" json:"applyNow,omitempty" vim:"7.0"`
	// The hardware label of the this PCI device.
	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
}

This data object provides information about the state of PciPassthru for all pci devices.

func (*HostPciPassthruConfig) GetHostPciPassthruConfig

func (b *HostPciPassthruConfig) GetHostPciPassthruConfig() *HostPciPassthruConfig

type HostPciPassthruInfo

type HostPciPassthruInfo struct {
	DynamicData

	// The name ID of this PCI, composed of "bus:slot.function".
	Id string `xml:"id" json:"id"`
	// Device which needs to be unclaimed by vmkernel (may be bridge)
	DependentDevice string `xml:"dependentDevice" json:"dependentDevice"`
	// Whether passThru has been configured by the user
	PassthruEnabled bool `xml:"passthruEnabled" json:"passthruEnabled"`
	// Whether passThru is even possible for this device (decided by vmkctl)
	PassthruCapable bool `xml:"passthruCapable" json:"passthruCapable"`
	// Whether passThru is active for this device (meaning enabled + rebooted)
	PassthruActive bool `xml:"passthruActive" json:"passthruActive"`
	// The hardware label of this PCI device.
	HardwareLabel string `xml:"hardwareLabel,omitempty" json:"hardwareLabel,omitempty" vim:"7.0.2.0"`
}

This data object provides information about the state of PciPassthru for all pci devices.

func (*HostPciPassthruInfo) GetHostPciPassthruInfo

func (b *HostPciPassthruInfo) GetHostPciPassthruInfo() *HostPciPassthruInfo

type HostPcieHba added in v0.23.0

type HostPcieHba struct {
	HostHostBusAdapter
}

This data object describes the Peripheral Component Interconnect Express (PCIe) host bus adapter interface.

type HostPcieTargetTransport added in v0.23.0

type HostPcieTargetTransport struct {
	HostTargetTransport
}

Peripheral Component Interconnect Express (PCIe) transport information about a target.

type HostPersistentMemoryInfo added in v0.18.0

type HostPersistentMemoryInfo struct {
	DynamicData

	// Amount of configured persistent memory available on a host in MB.
	CapacityInMB int64 `xml:"capacityInMB,omitempty" json:"capacityInMB,omitempty"`
	// Unique persistent memory host indentifier.
	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
}

Host Hardware information about configured and available persistent memory on a host.

type HostPlacedVirtualNicIdentifier

type HostPlacedVirtualNicIdentifier struct {
	DynamicData

	// The Virtual Machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The virtual NIC key
	VnicKey string `xml:"vnicKey" json:"vnicKey"`
	// The virtual NIC reservation
	Reservation *int32 `xml:"reservation" json:"reservation,omitempty"`
}

This data type describes the Virtual Machine and Virtual NIC to identify virtual adapters placed on a physical NIC

type HostPlugStoreTopology

type HostPlugStoreTopology struct {
	DynamicData

	// List of host bus adapters in the plug store inventory.
	Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty" json:"adapter,omitempty"`
	// List of paths in the plug store inventory.
	Path []HostPlugStoreTopologyPath `xml:"path,omitempty" json:"path,omitempty"`
	// Partial list of targets as seen by the host.
	//
	// The list of targets
	// may not be exhaustive on the host.
	Target []HostPlugStoreTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
	// List of devices in the plug store inventory.
	Device []HostPlugStoreTopologyDevice `xml:"device,omitempty" json:"device,omitempty"`
	// List of plugins in the plug store inventory.
	Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty" json:"plugin,omitempty"`
}

This data object represents the plug-store topology on a host system.

Through this data object, the storage structure of a system that utilizes the plug-store architecture can be presented.

The object entity-relationship diagram is modeled below:

------------------------------------------------------------
|             0..N             0..N      0..N              |
|   Plugin ----->  Device  ------>  Path  <------  Adapter |
|                          <------   |    ------>          |
|                          0,1       |          1          |
|                                    |                     |
|                                    | 0,1                 |
|                                   \|/                    |
|                                  Target                  |
------------------------------------------------------------

Description and reasoning behind the relationships:

When a storage device driver is loaded, it claims a PCI device as a host bus adapter. This host bus adapter is represented as an Adapter. The PCI device identifier is a property on the HostBusAdapter in the Adapter.

Once the host bus adapter is on the system, the hardware bus is scanned. If a storage Device is found on the bus, the communication path to the Device from the the host bus adapter is represented by a Path. A Device may have more than one Path. How those Paths are composed to create a Device is determined by a storage Plugin.

When a storage Plugin is loaded, it claims a set of Paths. It groups these Paths into a set of Devices. Devices are hence associated with a set of Paths that might be used to provide a single logical device such as in the case of multipathing. Devices may be also composed of zero Paths meaning that they do not directly use a host bus adapter for communication with underlying storage.

The purpose of this data object is to represent the topology of storage as seen by the base plug-store system. There is some overlap with information in other objects such as ScsiTopology which is only applicable when a particular "native multipathing" plugin is used. This data object provides the complete inventory of Devices and Paths. Hence it provides a superset of Device mappings over data object such as ScsiTopology and Multipa

The use cases that this data object accommodates includes the following non-exhaustive list:

  • Enumerate paths on a host bus adapter.
  • Enumerate paths on a storage device.
  • Conveniently access the devices a host bus adapter is associated with by traversing the path.
  • Determine which plugin a device belongs.
  • Determine which paths are claimed by a plugin by accumulating the paths of all device of the plugin.
  • Determine which plugin a path belongs to by accessing its device and finding that device in the Plugin list.

type HostPlugStoreTopologyAdapter

type HostPlugStoreTopologyAdapter struct {
	DynamicData

	// The identifier for the host bus adapter.
	Key string `xml:"key" json:"key"`
	// The link to the host bus adapter for this inebtrface.
	Adapter string `xml:"adapter" json:"adapter"`
	// The list of paths to which the host bus adapter is associated.
	Path []string `xml:"path,omitempty" json:"path,omitempty"`
}

This data object type is an association class that describes a host bus adapter and its associated storage Paths.

The set of Paths on all the host bus adapters is the complete set of Paths in the system.

type HostPlugStoreTopologyDevice

type HostPlugStoreTopologyDevice struct {
	DynamicData

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// The SCSI device corresponding to logical unit.
	Lun string `xml:"lun" json:"lun"`
	// The array of paths available to access this LogicalUnit.
	Path []string `xml:"path,omitempty" json:"path,omitempty"`
}

This data object type is an association class that describes a ScsiLun and its associated Path objects.

The ScsiLun is a Device that is formed from a set of Paths.

type HostPlugStoreTopologyPath

type HostPlugStoreTopologyPath struct {
	DynamicData

	// The identifier for the Path.
	Key string `xml:"key" json:"key"`
	// Name of path.
	//
	// Use this property to correlate this path object to other
	// path objects.
	//
	// The state of the Path can be retrieved from the data object (@link
	// vim.host.MultipathStateInfo.Path} on the `HostMultipathStateInfo` data object.
	//
	// Use this name to configure LogicalUnit multipathing policy using `HostStorageSystem.EnableMultipathPath` and `HostStorageSystem.DisableMultipathPath`.
	Name string `xml:"name" json:"name"`
	// The channel number for a path if applicable.
	ChannelNumber int32 `xml:"channelNumber,omitempty" json:"channelNumber,omitempty"`
	// The target number for a path if applicable.
	//
	// The target number is not
	// guaranteed to be consistent across reboots or rescans of the adapter.
	TargetNumber int32 `xml:"targetNumber,omitempty" json:"targetNumber,omitempty"`
	// The LUN number for a path if applicable.
	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty"`
	// The adapter that provided the Path.
	Adapter string `xml:"adapter,omitempty" json:"adapter,omitempty"`
	// The target of the Path if any.
	Target string `xml:"target,omitempty" json:"target,omitempty"`
	// The device that claimed the Path if any.
	Device string `xml:"device,omitempty" json:"device,omitempty"`
}

This data object type is an association class that describes a Path and its associated Device.

A Path may be claimed by at most one Device.

type HostPlugStoreTopologyPlugin

type HostPlugStoreTopologyPlugin struct {
	DynamicData

	// The identifier of the plugin.
	Key string `xml:"key" json:"key"`
	// The name of the plugin.
	Name string `xml:"name" json:"name"`
	// The set of devices formed by this plugin.
	Device []string `xml:"device,omitempty" json:"device,omitempty"`
	// The set of paths claimed by this plugin.
	//
	// Not every claimed path
	// will necessarily appear as part of a Device. Claimed paths will
	// only appear under Devices if the device identifier of the path
	// matches up with the device identifier exposed by the Device.
	ClaimedPath []string `xml:"claimedPath,omitempty" json:"claimedPath,omitempty"`
}

This data object type represents a Plugin in the plug store architecture.

A Plugin claims a set of paths and groups them into Devices.

type HostPlugStoreTopologyTarget

type HostPlugStoreTopologyTarget struct {
	DynamicData

	// The identifier of the target.
	//
	// This will be a string representing the
	// transport information of the target.
	Key string `xml:"key" json:"key"`
	// Detailed, transport-specific information about the target of a path.
	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
}

This data object represents target information.

type HostPnicNetworkResourceInfo

type HostPnicNetworkResourceInfo struct {
	DynamicData

	// The physical NIC device
	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
	// The total bandwidth available for VM traffic
	AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty" json:"availableBandwidthForVMTraffic,omitempty"`
	// The unused bandwidth for VM traffic
	UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty" json:"unusedBandwidthForVMTraffic,omitempty"`
	// The connected virtual NICs of powered on Virtual Machines
	// that are placed on this physical NIC
	PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty" json:"placedVirtualNics,omitempty"`
}

This data type describes the avaialable capacity for VM traffic on a physical NIC

type HostPortGroup

type HostPortGroup struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The ports that currently exist and are used on this port group.
	Port []HostPortGroupPort `xml:"port,omitempty" json:"port,omitempty"`
	// The virtual switch that contains this port group.
	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
	// Computed network policies that are applicable for a port group.
	//
	// The
	// inheritance scheme for PortGroup requires knowledge about the
	// NetworkPolicy for a port group and its parent virtual switch as well as
	// the logic for computing the results. This information is provided as
	// a convenience so that callers need not duplicate the inheritance logic
	// to determine the proper values for a network policy.
	//
	// See the description of the
	// `NetworkPolicy` data object type
	// for more information.
	ComputedPolicy HostNetworkPolicy `xml:"computedPolicy" json:"computedPolicy"`
	// The specification of a port group.
	Spec HostPortGroupSpec `xml:"spec" json:"spec"`
}

This data object type is used to describe port groups.

Port groups are used to group virtual network adapters on a virtual switch, associating them with networks and network policies.

type HostPortGroupConfig

type HostPortGroupConfig struct {
	DynamicData

	// Indicates the change operation to apply on this configuration
	// specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The specification of the port group.
	Spec *HostPortGroupSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

This describes the port group configuration containing both the configurable properties on a port group and the associated virtual switch.

type HostPortGroupPort

type HostPortGroupPort struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The Media Access Control (MAC) address of network service of
	// the virtual machine connected on this port.
	Mac []string `xml:"mac,omitempty" json:"mac,omitempty"`
	// The type of component connected on this port.
	//
	// Must be one of the
	// values of `PortGroupConnecteeType_enum`.
	Type string `xml:"type" json:"type"`
}

A Port data object type is a runtime representation of network connectivity between a network service or virtual machine and a virtual switch.

This is different from a port group in that the port group represents the configuration aspects of the network connection. The Port object provides runtime statistics.

type HostPortGroupProfile

type HostPortGroupProfile struct {
	PortGroupProfile

	// IP address configuration for the Host network.
	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
}

The `HostPortGroupProfile` data object represents the subprofile for a port group that will be used by the ESX host.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type HostPortGroupSpec

type HostPortGroupSpec struct {
	DynamicData

	// The name of the port group.
	Name string `xml:"name" json:"name"`
	// The VLAN ID for ports using this port group.
	//
	// Possible values:
	//     - A value of 0 specifies that you do not want the port group associated
	//       with a VLAN.
	//     - A value from 1 to 4094 specifies a VLAN ID for the port group.
	//     - A value of 4095 specifies that the port group should use trunk mode,
	//       which allows the guest operating system to manage its own VLAN tags.
	VlanId int32 `xml:"vlanId" json:"vlanId"`
	// The identifier of the virtual switch on which
	// this port group is located.
	VswitchName string `xml:"vswitchName" json:"vswitchName"`
	// Policies on the port group take precedence over the ones specified
	// on the virtual switch.
	Policy HostNetworkPolicy `xml:"policy" json:"policy"`
}

This data object type describes the PortGroup specification representing the properties on a PortGroup that can be configured.

type HostPosixAccountSpec

type HostPosixAccountSpec struct {
	HostAccountSpec

	// Deprecated as of vSphere API 5.1, this property is deprecated and
	// is ignored.
	//
	// The user ID or group ID of a specified account.
	PosixId int32 `xml:"posixId,omitempty" json:"posixId,omitempty"`
	// Grants shell access.
	//
	// As of vSphere API 5.1, this property is deprecated and
	// is ignored. `HostLocalAccountManager.CreateUser` will always set this to true, and
	// `HostLocalAccountManager.UpdateUser` will set it to true if it is already false.
	// Also shell access is granted only to users with
	// Administrator role on the root folder and no other non-Admin role on
	// any other inventory object.
	//
	// As of vSphere API 7.0.3.2, this property is no longer ignored and it must
	// be true if a user with administrator permissions needs shell access.
	// It can be set to true for other users only by administrators
	// who themselves have this shell access.
	// Administrators without shell access cannot change the passwords of
	// users with shell access.
	// Setting this property to false for user 'root' has no effect.
	//
	// If this property is not specified when creating a new user account
	// then the default value depends on the following factors:
	// if the calling user does not have shell access then it defaults to
	// false; if the calling user has shell access then it defaults to true,
	// unless overridden by host configuration settings.
	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
}

This data object type contains a POSIX-specific parameter for local account creation.

type HostPowerOpFailed

type HostPowerOpFailed struct {
	VimFault
}

This fault is thrown when a host power operation fails.

func (*HostPowerOpFailed) GetHostPowerOpFailed

func (b *HostPowerOpFailed) GetHostPowerOpFailed() *HostPowerOpFailed

type HostPowerOpFailedFault

type HostPowerOpFailedFault BaseHostPowerOpFailed

type HostPowerOperationType

type HostPowerOperationType string

type HostPowerPolicy

type HostPowerPolicy struct {
	DynamicData

	// Power Policy Key.
	//
	// Internally generated key which uniquely identifies power management
	// policy on a host.
	Key int32 `xml:"key" json:"key"`
	// Power Policy Name.
	Name string `xml:"name" json:"name"`
	// Power Policy Short Name.
	//
	// This is not localizable property which can be used to identify specific
	// power managing policies like "custom" power policy. Custom power policy
	// has short name set to "custom".
	ShortName string `xml:"shortName" json:"shortName"`
	// Power Policy Description.
	Description string `xml:"description" json:"description"`
}

Power Management Policy data object.

Used to retrieve and specify current host power management policy.

type HostPrimaryAgentNotShortNameEvent

type HostPrimaryAgentNotShortNameEvent struct {
	HostDasEvent

	PrimaryAgent string `xml:"primaryAgent" json:"primaryAgent"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that the primary agent specified is not a short name.

The name of the primary agent is usually stored as a short name. You should not normally see this error. Please check the network configurations of your hosts.

type HostProfileAppliedEvent

type HostProfileAppliedEvent struct {
	HostEvent

	// Link to the profile which was applied
	Profile ProfileEventArgument `xml:"profile" json:"profile"`
}

This event records that a Profile application was done on the host

type HostProfileCompleteConfigSpec

type HostProfileCompleteConfigSpec struct {
	HostProfileConfigSpec

	// Profile that contains configuration data for the host.
	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
	// User defined compliance profile.
	//
	// Reserved for future use.
	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
	// Flag indicating if this configuration specification contains changes
	// in the `HostProfileCompleteConfigSpec.disabledExpressionList`.
	//
	// If False, the Profile Engine ignores the contents of the disabled expression list.
	DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged" json:"disabledExpressionListChanged"`
	// List of expressions to be disabled.
	//
	// Each entry in the list specifies
	// a `ProfileExpression*.*ProfileExpression.id`.
	// All expressions are enabled by default.
	//
	// If you set `HostProfileCompleteConfigSpec.disabledExpressionListChanged`
	// to True, the Profile Engine uses the contents of this list to replace the contents
	// of the `HostProfile*.*Profile.config*.*HostProfileConfigInfo.disabledExpressionList`.
	//
	// The expression list is contained in the
	// `HostProfileConfigInfo.defaultComplyProfile`.
	// The Profile Engine automatically generates the default compliance profile
	// when you create a host profile.
	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
	// Host for profile validation.
	//
	// This can be a host on which the profile
	// is intended to be used. If you do not specify a validator host,
	// the Profile Engine uses the `HostProfile*.*HostProfile.referenceHost`
	// to validate the profile.
	//
	// Refers instance of `HostSystem`.
	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty" vim:"5.0"`
	// If "false", then the host profile will be saved without being validated.
	//
	// The default if not specified is "true".
	// This option should be used with caution, since the resulting host profile
	// will not be checked for errors.
	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
	// Host profile configuration data and compliance information.
	//
	// If `HostProfileCompleteConfigSpec.hostConfig` is set,
	// then the HostApplyProfile
	// `HostProfileCompleteConfigSpec.applyProfile` and
	// ComplianceProfile
	// `HostProfileCompleteConfigSpec.customComplyProfile`
	// should not be set in CompleteConfigSpec.
	HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty" json:"hostConfig,omitempty" vim:"6.5"`
}

The `HostProfileCompleteConfigSpec` data object specifies the complete configuration for a host profile.

type HostProfileConfigInfo

type HostProfileConfigInfo struct {
	ProfileConfigInfo

	// Profile data for host configuration.
	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
	// Default compliance profile.
	//
	// The ESX Server uses the <code>applyProfile</code>
	// (`HostProfile*.*Profile.config*.*HostProfileConfigInfo.applyProfile`)
	// to generate the default compliance profile when you create a host profile.
	// When the <code>applyProfile</code> is modified, the Server automatically
	// updates the compliance profile to match it.
	DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty" json:"defaultComplyProfile,omitempty"`
	// List of compliance locators.
	//
	// Each locator specifies an association between
	// the <code>applyProfile</code> and the <code>defaultComplyProfile</code>.
	// The association identifies a component profile and the expression generated
	// by the profile. vSphere clients can use this data to provide contextual
	// information to the user.
	DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty" json:"defaultComplyLocator,omitempty"`
	// User defined compliance profile.
	//
	// Reserved for future use.
	CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty" json:"customComplyProfile,omitempty"`
	// Disabled expressions in the default compliance profile
	// (<code>DefaultComplyProfile</code>).
	//
	// Use this property to specify which expressions are disabled.
	// All expressions are enabled by default.
	DisabledExpressionList []string `xml:"disabledExpressionList,omitempty" json:"disabledExpressionList,omitempty"`
	// Localized description of the profile.
	Description *ProfileDescription `xml:"description,omitempty" json:"description,omitempty" vim:"6.5"`
}

The `HostProfileConfigInfo` data object contains host profile data and information about profile compliance.

type HostProfileConfigSpec

type HostProfileConfigSpec struct {
	ProfileCreateSpec
}

`HostProfileConfigSpec` is the base data object for all `HostProfile` configuration specifications.

func (*HostProfileConfigSpec) GetHostProfileConfigSpec

func (b *HostProfileConfigSpec) GetHostProfileConfigSpec() *HostProfileConfigSpec

type HostProfileHostBasedConfigSpec

type HostProfileHostBasedConfigSpec struct {
	HostProfileConfigSpec

	// ESX host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Flag indicating if the Profile Engine should use the profile
	// plug-ins present on the host to create the profile.
	//
	// If <code>true</code>, the host Profile Engine uses the vSphere 5.0
	// (or later) profile plug-ins. The resulting profile is not compatible
	// with legacy hosts (pre 5.0). If <code>false</code> or not specified,
	// the Profile Engine creates a legacy host profile.
	UseHostProfileEngine *bool `xml:"useHostProfileEngine" json:"useHostProfileEngine,omitempty" vim:"5.0"`
}

The `HostProfileHostBasedConfigSpec` data object specifies the host from which configuration data is to be extracted and the profile(s) to be created or updated.

type HostProfileManagerAnswerFileStatus

type HostProfileManagerAnswerFileStatus string

The `HostProfileManagerAnswerFileStatus_enum` enum

type HostProfileManagerCompositionResult added in v0.18.0

type HostProfileManagerCompositionResult struct {
	DynamicData

	// The composition errors for all targets, for example, the source
	// profile doesn't exist.
	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
	// The array of
	// `HostProfileManagerCompositionResultResultElement`
	// for all the target host profiles.
	Results []HostProfileManagerCompositionResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
}

The data class for host profile composition result.

type HostProfileManagerCompositionResultResultElement added in v0.18.0

type HostProfileManagerCompositionResultResultElement struct {
	DynamicData

	// The target host profile.
	//
	// Refers instance of `Profile`.
	Target ManagedObjectReference `xml:"target" json:"target"`
	// The composition status.
	//
	// See `HostProfileManagerCompositionResultResultElementStatus_enum`
	// for details of supported values.
	Status string `xml:"status" json:"status"`
	// The composition errors.
	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
}

Composition result for a specific target host profile.

type HostProfileManagerCompositionResultResultElementStatus added in v0.18.0

type HostProfileManagerCompositionResultResultElementStatus string

type HostProfileManagerCompositionValidationResult added in v0.18.0

type HostProfileManagerCompositionValidationResult struct {
	DynamicData

	// The array of
	// `HostProfileManagerCompositionValidationResultResultElement`
	// for all the target host profiles.
	Results []HostProfileManagerCompositionValidationResultResultElement `xml:"results,omitempty" json:"results,omitempty"`
	// The common error happened at validation.
	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
}

The data class for the host profile composition validation results.

type HostProfileManagerCompositionValidationResultResultElement added in v0.12.0

type HostProfileManagerCompositionValidationResultResultElement struct {
	DynamicData

	// The target host profile.
	//
	// Refers instance of `Profile`.
	Target ManagedObjectReference `xml:"target" json:"target"`
	// The composition validation status.
	//
	// See `HostProfileManagerCompositionValidationResultResultElementStatus_enum`
	// for details of supported values.
	Status string `xml:"status" json:"status"`
	// The composition validation errors.
	Errors []LocalizableMessage `xml:"errors,omitempty" json:"errors,omitempty"`
	// When a selected sub profile for composition exists in both the
	// source and target host profile, this member will contain the
	// source side difference for the selected sub profiles.
	SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty" json:"sourceDiffForToBeMerged,omitempty"`
	// Similar to the member <code>sourceDiffForToBeMerged</code> above
	// but contains the target side difference.
	//
	// Comparing the same
	// configurations in these two variables will show the changes for
	// the configurations that exist in both source and target host
	// profile.
	TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty" json:"targetDiffForToBeMerged,omitempty"`
	// The sub profiles doesn't exist in the target and will be added to
	// the target at host profile composition.
	ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty" json:"toBeAdded,omitempty"`
	// The sub profiles exists in the target but not in the source and will
	// be deleted from the target at host profile composition.
	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
	// The sub profiles to be disabled in the target host profiles.
	ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty" json:"toBeDisabled,omitempty"`
	// The sub profiles to be enabled in the target host profiles.
	ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty" json:"toBeEnabled,omitempty"`
	// The sub profile to be unset ignoring compliance check
	// in the target host profile.
	ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty" json:"toBeReenableCC,omitempty"`
}

The host profile composition validation result for a specific target host profile.

type HostProfileManagerCompositionValidationResultResultElementStatus added in v0.18.0

type HostProfileManagerCompositionValidationResultResultElementStatus string

type HostProfileManagerConfigTaskList

type HostProfileManagerConfigTaskList struct {
	DynamicData

	// Set of configuration changes to be applied to the host.
	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
	// Description of tasks that will be performed on the host
	// to carry out HostProfile application.
	TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty" json:"taskDescription,omitempty"`
	// A set of requirements whose actions must be fulfilled before and/or
	// after the task list is applied on an ESXi host, e.g.
	//
	// whether the ESXi
	// host must be in maintenance mode prior to applying the <code>configSpec</code>,
	// or whether the host will need to be rebooted after applying the <code>configSpec</code>.
	// See `HostProfileManagerTaskListRequirement_enum` for
	// details of supported values.
	TaskListRequirement []string `xml:"taskListRequirement,omitempty" json:"taskListRequirement,omitempty" vim:"6.0"`
}

The `HostProfileManagerConfigTaskList` data object represents a set of tasks to be performed on a host during host profile application.

type HostProfileManagerHostToConfigSpecMap added in v0.12.0

type HostProfileManagerHostToConfigSpecMap struct {
	DynamicData

	// The host
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The corresponding <code>AnswerFileCreateSpec</code>.
	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
}

Data class for <code>HostSystem</code>-<code>AnswerFileCreateSpec</code> mapping.

type HostProfileManagerTaskListRequirement

type HostProfileManagerTaskListRequirement string

The `HostProfileManagerTaskListRequirement_enum` enum defines possible values for requirements when applying a `HostConfigSpec` object returned as part of a <code>generateConfigTaskList</code>

type HostProfileResetValidationState added in v0.18.0

type HostProfileResetValidationState HostProfileResetValidationStateRequestType

type HostProfileResetValidationStateRequestType added in v0.18.0

type HostProfileResetValidationStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HostProfileResetValidationStateResponse added in v0.18.0

type HostProfileResetValidationStateResponse struct {
}

type HostProfileSerializedHostProfileSpec

type HostProfileSerializedHostProfileSpec struct {
	ProfileSerializedCreateSpec

	// Host for profile validation.
	//
	// This can be a host on which
	// the profile is intended to be used.
	//
	// Refers instance of `HostSystem`.
	ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty" json:"validatorHost,omitempty"`
	// If "false", then the host profile will be saved without being validated.
	//
	// The default if not specified is "true".
	// This option should be used with caution, since the resulting host profile
	// will not be checked for errors.
	Validating *bool `xml:"validating" json:"validating,omitempty" vim:"6.0"`
}

The `HostProfileSerializedHostProfileSpec` data object contains a string representation of a host profile.

Use this object when you create a host profile from a file.

type HostProfileValidationFailureInfo added in v0.18.0

type HostProfileValidationFailureInfo struct {
	DynamicData

	// The name of host profile to be validated.
	Name string `xml:"name" json:"name"`
	// Host profile annotation at update.
	Annotation string `xml:"annotation" json:"annotation"`
	// Host profile update type.
	//
	// See the enumerate class
	// <code>UpdateType</code> above for the valid values.
	UpdateType string `xml:"updateType" json:"updateType"`
	// The host where the host profile is updated from.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The host configuration after validation.
	ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty" json:"applyProfile,omitempty"`
	// List of failures in the host profile configuration.
	Failures []ProfileUpdateFailedUpdateFailure `xml:"failures,omitempty" json:"failures,omitempty"`
	// The <code>MethodFault</code>s happened at validation.
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
}

This defines the validation result for the host profile.

type HostProfileValidationFailureInfoUpdateType added in v0.18.0

type HostProfileValidationFailureInfoUpdateType string

type HostProfileValidationState added in v0.18.0

type HostProfileValidationState string

type HostProfilesEntityCustomizations added in v0.12.0

type HostProfilesEntityCustomizations struct {
	DynamicData
}

Data type used to contain a representation of host or cluster customization data in a `HostProfilesCustomizationData` object.

Subclasses of this must be defined to provide host or cluster customization data in specific formats.

func (*HostProfilesEntityCustomizations) GetHostProfilesEntityCustomizations added in v0.12.0

func (b *HostProfilesEntityCustomizations) GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations

type HostProtocolEndpoint

type HostProtocolEndpoint struct {
	DynamicData

	// Deprecated from all vmodl version above @released("6.0")
	// Use type instead.
	//
	// Type of ProtocolEndpoint
	// See `HostProtocolEndpointPEType_enum`
	PeType string `xml:"peType" json:"peType"`
	// Type of ProtocolEndpoint
	// See `HostProtocolEndpointProtocolEndpointType_enum`
	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"6.5"`
	// Identifier for PE assigned by VASA Provider
	Uuid string `xml:"uuid" json:"uuid"`
	// Set of ESX hosts which can see the same PE
	//
	// Refers instances of `HostSystem`.
	HostKey []ManagedObjectReference `xml:"hostKey,omitempty" json:"hostKey,omitempty"`
	// Associated Storage Array
	StorageArray string `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
	// NFSv3 and NFSv4x PE will contain information about NFS Server
	// For NFSv4x this field may contain comma separated list of IP addresses
	// which are associated with the NFS Server
	NfsServer string `xml:"nfsServer,omitempty" json:"nfsServer,omitempty"`
	// NFSv3 and NFSv4x PE will contain information about NFS directory
	NfsDir string `xml:"nfsDir,omitempty" json:"nfsDir,omitempty"`
	// NFSv4x PE will contain information about NFSv4x Server Scope
	NfsServerScope string `xml:"nfsServerScope,omitempty" json:"nfsServerScope,omitempty" vim:"6.5"`
	// NFSv4x PE will contain information about NFSv4x Server Major
	NfsServerMajor string `xml:"nfsServerMajor,omitempty" json:"nfsServerMajor,omitempty" vim:"6.5"`
	// NFSv4x PE will contain information about NFSv4x Server Auth-type
	NfsServerAuthType string `xml:"nfsServerAuthType,omitempty" json:"nfsServerAuthType,omitempty" vim:"6.5"`
	// NFSv4x PE will contain information about NFSv4x Server User
	NfsServerUser string `xml:"nfsServerUser,omitempty" json:"nfsServerUser,omitempty" vim:"6.5"`
	// SCSI PE will contain information about SCSI device ID
	DeviceId string `xml:"deviceId,omitempty" json:"deviceId,omitempty"`
}

ProtocolEndpoint is configured LUN or NFS directory This is used for io path to actual virtual disks (VVols)

type HostProtocolEndpointPEType

type HostProtocolEndpointPEType string

Deprecated from all vmodl version above @released("6.0").

type HostProtocolEndpointProtocolEndpointType added in v0.12.0

type HostProtocolEndpointProtocolEndpointType string

type HostProxySwitch

type HostProxySwitch struct {
	DynamicData

	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
	// is a part of.
	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
	// The name of the DistributedVirtualSwitch that the HostProxySwitch
	// is part of.
	DvsName string `xml:"dvsName" json:"dvsName"`
	// The proxy switch key.
	Key string `xml:"key" json:"key"`
	// The number of ports that this switch currently has.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// The configured number of ports that this switch has.
	//
	// If configured number of ports is changed,
	// a host reboot is required for the new value to take effect.
	ConfigNumPorts int32 `xml:"configNumPorts,omitempty" json:"configNumPorts,omitempty" vim:"5.0"`
	// The number of ports that are available on this virtual switch.
	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
	// The list of ports that can be potentially used by physical nics.
	//
	// This property contains the keys and names of such ports.
	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
	// The maximum transmission unit (MTU) associated with this switch
	// in bytes.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
	// The set of physical network adapters associated with this switch.
	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// The specification of the switch.
	Spec HostProxySwitchSpec `xml:"spec" json:"spec"`
	// The Link Aggregation Control Protocol group and
	// Uplink ports in the group.
	HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty" json:"hostLag,omitempty" vim:"5.5"`
	// Indicates whether network reservation is supported on this switch
	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"5.5"`
	// Indicate whether NSX-T is enabled on this switch
	NsxtEnabled *bool `xml:"nsxtEnabled" json:"nsxtEnabled,omitempty" vim:"7.0"`
	// Is ENS enabled on this switch
	EnsEnabled *bool `xml:"ensEnabled" json:"ensEnabled,omitempty" vim:"7.0"`
	// Is ENS interrupt mode enabled on this switch
	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
	// Transport Zones this switch joined
	TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty" json:"transportZones,omitempty" vim:"7.0"`
	// Uplink port names used by NSX-T
	NsxUsedUplinkPort []string `xml:"nsxUsedUplinkPort,omitempty" json:"nsxUsedUplinkPort,omitempty" vim:"7.0"`
	// NSX-T proxy switch status
	NsxtStatus string `xml:"nsxtStatus,omitempty" json:"nsxtStatus,omitempty" vim:"7.0"`
	// Additional information regarding the NSX-T proxy switch status
	NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty" json:"nsxtStatusDetail,omitempty" vim:"7.0"`
	// ENS Status From VmKernal.
	EnsInfo *HostProxySwitchEnsInfo `xml:"ensInfo,omitempty" json:"ensInfo,omitempty" vim:"8.0.0.1"`
	// Indicate if network offloading is enabled on the proxy switch of
	// this host.
	//
	// Unset implies that network offloading is disabled.
	NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled" json:"networkOffloadingEnabled,omitempty" vim:"8.0.0.1"`
}

The HostProxySwitch is a software entity which represents the component of a DistributedVirtualSwitch on a particular host.

type HostProxySwitchConfig

type HostProxySwitchConfig struct {
	DynamicData

	// This property indicates the change operation to apply on
	// this configuration specification.
	//
	// Valid values are:
	//     - `edit`
	//     - `remove`
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The uuid of the DistributedVirtualSwitch that the HostProxySwitch
	// is a part of.
	Uuid string `xml:"uuid" json:"uuid"`
	// The specification of the HostProxySwitch.
	Spec *HostProxySwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

This data object type describes the HostProxySwitch configuration containing both the configurable properties on a HostProxySwitch and identification information.

type HostProxySwitchEnsInfo added in v0.29.0

type HostProxySwitchEnsInfo struct {
	DynamicData

	// ENS ops version
	OpsVersion int64 `xml:"opsVersion" json:"opsVersion"`
	// Number of ENS portset operations
	NumPSOps int64 `xml:"numPSOps" json:"numPSOps"`
	// Number of ENS Lcore operations
	NumLcoreOps int64 `xml:"numLcoreOps" json:"numLcoreOps"`
	// Error status of the last ENS portset operation
	ErrorStatus int64 `xml:"errorStatus" json:"errorStatus"`
	// Error status of the last Lcore operation
	LcoreStatus int64 `xml:"lcoreStatus" json:"lcoreStatus"`
}

This data object type describes the Ens status from VmKernal.

type HostProxySwitchHostLagConfig

type HostProxySwitchHostLagConfig struct {
	DynamicData

	LagKey  string `xml:"lagKey" json:"lagKey"`
	LagName string `xml:"lagName,omitempty" json:"lagName,omitempty"`
	// The list of Uplink Ports in the Link Aggregation Control Protocol group.
	//
	// This property contains the keys and names of such ports.
	UplinkPort []KeyValue `xml:"uplinkPort,omitempty" json:"uplinkPort,omitempty"`
}

This data object type describes the set of Uplink Ports in Link Aggregation Control Protocol group.

type HostProxySwitchSpec

type HostProxySwitchSpec struct {
	DynamicData

	// The specification describes how physical network adapters
	// are bridged to the switch.
	Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
}

This data object type describes the HostProxySwitch specification representing the properties on a HostProxySwitch that can be configured once the object exists.

type HostPtpConfig added in v0.27.0

type HostPtpConfig struct {
	DynamicData

	// PTP domain number as defined in the IEEE 1588 standard.
	//
	// Supported
	// values are in the range 0-255.
	Domain int32 `xml:"domain,omitempty" json:"domain,omitempty"`
	// List of PTP port configurations.
	//
	// See `HostPtpConfigPtpPort`.
	Port []HostPtpConfigPtpPort `xml:"port,omitempty" json:"port,omitempty"`
}

Configuration information for the host PTP (Precision Time Protocol) service.

type HostPtpConfigDeviceType added in v0.27.0

type HostPtpConfigDeviceType string

type HostPtpConfigPtpPort added in v0.27.0

type HostPtpConfigPtpPort struct {
	DynamicData

	// Index into the list of PTP ports.
	//
	// Supported values are in the
	// range 0 through `HostCapability.maxSupportedPtpPorts`-1.
	Index int32 `xml:"index" json:"index"`
	// Type of network device to be used with this port.
	//
	// See `HostPtpConfigDeviceType_enum` for supported values. A device type
	// of `none` indicates that this port is
	// inactive.
	DeviceType string `xml:"deviceType,omitempty" json:"deviceType,omitempty"`
	// Name of PTP capable network device to be used with this port.
	//
	// Supported values depend on the type of network device used.
	// For `virtualNic` this field is the name of
	// a valid virtual NIC. See `HostVirtualNic`.
	// For `pciPassthruNic` this field is a valid
	// PCI device ID composed of "bus:slot.function", enabled for
	// PCI passthru. See `HostPciPassthruInfo`.
	// For `none` this field is ignored.
	Device string `xml:"device,omitempty" json:"device,omitempty"`
	// IP configuration of this port.
	//
	// For `pciPassthruNic`, this field reflects
	// current IP configuration, and it can be set.
	// For `virtualNic`, this field reflects current
	// IP configuration, but it cannot be set. To configure IP settings
	// of a virtual NIC, see `HostVirtualNic`.
	// For `none`, this field is ignored.
	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
}

Configuration of a PTP port, a logical entity providing an interface to the network for sending and receiving PTP messages with timestamping.

type HostQualifiedName added in v0.27.0

type HostQualifiedName struct {
	DynamicData

	// The qualified name.
	Value string `xml:"value" json:"value"`
	// The type of the qualified name.
	//
	// The list of supported values is specified in `HostQualifiedNameType_enum`.
	Type string `xml:"type" json:"type"`
}

This data object describes a qualified name of the host used to identify it in a particular context.

type HostQualifiedNameType added in v0.27.0

type HostQualifiedNameType string

type HostRdmaDevice added in v0.23.0

type HostRdmaDevice struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key" json:"key"`
	// The device name of the RDMA device.
	Device string `xml:"device" json:"device"`
	// The short string name of the device driver, if available.
	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
	// Device description, if available.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// If set, represents the physical backing for the RDMA device.
	//
	// Not all RDMA devices are required to have a physical backing.
	Backing BaseHostRdmaDeviceBacking `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
	// Current device connection state.
	ConnectionInfo HostRdmaDeviceConnectionInfo `xml:"connectionInfo" json:"connectionInfo"`
	// Supported capabilies of the RDMA device.
	Capability HostRdmaDeviceCapability `xml:"capability" json:"capability"`
}

This data object represents a Remote Direct Memory Access device as seen by the primary operating system.

type HostRdmaDeviceBacking added in v0.23.0

type HostRdmaDeviceBacking struct {
	DynamicData
}

This data object represents the physical backing of an RDMA device.

func (*HostRdmaDeviceBacking) GetHostRdmaDeviceBacking added in v0.23.0

func (b *HostRdmaDeviceBacking) GetHostRdmaDeviceBacking() *HostRdmaDeviceBacking

type HostRdmaDeviceCapability added in v0.23.0

type HostRdmaDeviceCapability struct {
	DynamicData

	// Indicates whether ROCEv1 is supported by the device.
	RoceV1Capable bool `xml:"roceV1Capable" json:"roceV1Capable"`
	// Indicates whether ROCEv2 is supported by the device.
	RoceV2Capable bool `xml:"roceV2Capable" json:"roceV2Capable"`
	// Indicates whether iWARP is supported by the device.
	IWarpCapable bool `xml:"iWarpCapable" json:"iWarpCapable"`
}

Represents device capabilies, e.g.

supported protocols.

type HostRdmaDeviceConnectionInfo added in v0.23.0

type HostRdmaDeviceConnectionInfo struct {
	DynamicData

	// RDMA device connection state.
	//
	// The set of possible values
	// is described in `HostRdmaDeviceConnectionState_enum`.
	State string `xml:"state" json:"state"`
	// Maximum Transmission Unit in bytes.
	Mtu int32 `xml:"mtu" json:"mtu"`
	// Bit rate in Mbps.
	SpeedInMbps int32 `xml:"speedInMbps" json:"speedInMbps"`
}

Represents connection information for the RDMA device.

type HostRdmaDeviceConnectionState added in v0.23.0

type HostRdmaDeviceConnectionState string

Possible RDMA device connection states.

These correspond to possible link states as defined by the Infiniband (TM) specification.

Further details can be found in:

  • "Infiniband (TM) Architecture Specification, Volume 1"

type HostRdmaDevicePnicBacking added in v0.23.0

type HostRdmaDevicePnicBacking struct {
	HostRdmaDeviceBacking

	// The associated physical NIC
	PairedUplink string `xml:"pairedUplink" json:"pairedUplink"`
}

This data object represents a physical NIC backing for an RDMA device.

When an RDMA device is backed by a physical NIC, it can be associated with the virtual NICs connected to a virtual switch which has the backing physical NIC as an uplink. The actual bindings are created and destroyed dynamically based on application usage of the RDMA device.

type HostRdmaHba added in v0.23.0

type HostRdmaHba struct {
	HostHostBusAdapter

	// Device name of the associated RDMA device, if any.
	//
	// Should match the `HostRdmaDevice.device` property
	// of the corresponding RDMA device.
	AssociatedRdmaDevice string `xml:"associatedRdmaDevice,omitempty" json:"associatedRdmaDevice,omitempty"`
}

This data object describes the Remote Direct Memory Access (RDMA) host bus adapter interface.

type HostRdmaTargetTransport added in v0.23.0

type HostRdmaTargetTransport struct {
	HostTargetTransport
}

Remote Direct Memory Access (RDMA) transport information about a target.

type HostReconcileDatastoreInventoryRequestType added in v0.12.0

type HostReconcileDatastoreInventoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore that needs to be reconciled.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostReconcileDatastoreInventory_Task`.

type HostReconcileDatastoreInventory_Task added in v0.12.0

type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType

type HostReconcileDatastoreInventory_TaskResponse added in v0.12.0

type HostReconcileDatastoreInventory_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostReconnectionFailedEvent

type HostReconnectionFailedEvent struct {
	HostEvent
}

This event records a failed attempt to re-establish a host connection.

type HostRegisterDisk added in v0.12.0

type HostRegisterDisk HostRegisterDiskRequestType

type HostRegisterDiskRequestType added in v0.12.0

type HostRegisterDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// URL or datastore path to the virtual disk.
	Path string `xml:"path" json:"path"`
	// The descriptive name of the disk object. If
	// unset the name will be automatically determined
	// from the path. @see vim.vslm.BaseConfigInfo#name
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Optional Parameter describing if the control Flags should be changed to default values
	ModifyControlFlags *bool `xml:"modifyControlFlags" json:"modifyControlFlags,omitempty" vim:"8.0.2.0"`
}

The parameters of `HostVStorageObjectManager.HostRegisterDisk`.

type HostRegisterDiskResponse added in v0.12.0

type HostRegisterDiskResponse struct {
	Returnval VStorageObject `xml:"returnval" json:"returnval"`
}

type HostReliableMemoryInfo

type HostReliableMemoryInfo struct {
	DynamicData

	MemorySize int64 `xml:"memorySize" json:"memorySize"`
}

Information about reliable memory installed on this host.

type HostRelocateVStorageObjectRequestType added in v0.12.0

type HostRelocateVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification for relocation of the virtual
	// storage object.
	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
}

The parameters of `HostVStorageObjectManager.HostRelocateVStorageObject_Task`.

type HostRelocateVStorageObject_Task added in v0.12.0

type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType

type HostRelocateVStorageObject_TaskResponse added in v0.12.0

type HostRelocateVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostRemoveVFlashResourceRequestType

type HostRemoveVFlashResourceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HostRemoveVFlashResourceResponse

type HostRemoveVFlashResourceResponse struct {
}

type HostRemovedEvent

type HostRemovedEvent struct {
	HostEvent
}

This event records the removal of a host from VirtualCenter.

type HostRenameVStorageObject added in v0.12.0

type HostRenameVStorageObject HostRenameVStorageObjectRequestType

type HostRenameVStorageObjectRequestType added in v0.12.0

type HostRenameVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be renamed.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new name for the virtual storage object.
	Name string `xml:"name" json:"name"`
}

The parameters of `HostVStorageObjectManager.HostRenameVStorageObject`.

type HostRenameVStorageObjectResponse added in v0.12.0

type HostRenameVStorageObjectResponse struct {
}

type HostReplayUnsupportedReason

type HostReplayUnsupportedReason string

Deprecated as of vSphere API 6.0.

Set of possible values for `HostCapability.replayUnsupportedReason` and

type HostResignatureRescanResult

type HostResignatureRescanResult struct {
	DynamicData

	// Deprecated as of vSphere API 5.1, the results of the operation
	// are available when the task completes. That is, for shared volumes,
	// the new volume is mounted on all of the connected hosts.
	//
	// List of VMFS Rescan operation results.
	Rescan []HostVmfsRescanResult `xml:"rescan,omitempty" json:"rescan,omitempty"`
	// When an UnresolvedVmfsVolume has been resignatured, we want to return the
	// newly created VMFS Datastore.
	//
	// Refers instance of `Datastore`.
	Result ManagedObjectReference `xml:"result" json:"result"`
}

The `HostResignatureRescanResult` data object identifies the newly created volume that is the result of a resignature operation.

This data object is contained in the task object returned by the `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task` method.

When a client calls the resignature method, the Server resignatures the volume, rescans the specified list of hosts, and auto-mounts the volume on the other hosts that share the same underlying storage LUNs.

type HostRetrieveVStorageInfrastructureObjectPolicy added in v0.18.0

type HostRetrieveVStorageInfrastructureObjectPolicy HostRetrieveVStorageInfrastructureObjectPolicyRequestType

type HostRetrieveVStorageInfrastructureObjectPolicyRequestType added in v0.18.0

type HostRetrieveVStorageInfrastructureObjectPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore on which policy needs to be retrieved.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostRetrieveVStorageInfrastructureObjectPolicy`.

type HostRetrieveVStorageInfrastructureObjectPolicyResponse added in v0.18.0

type HostRetrieveVStorageInfrastructureObjectPolicyResponse struct {
	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HostRetrieveVStorageObject added in v0.12.0

type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType

type HostRetrieveVStorageObjectMetadata added in v0.21.0

type HostRetrieveVStorageObjectMetadata HostRetrieveVStorageObjectMetadataRequestType

type HostRetrieveVStorageObjectMetadataRequestType added in v0.21.0

type HostRetrieveVStorageObjectMetadataRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of virtual storage object.
	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
	// The prefix of the metadata key that needs to be retrieved
	Prefix string `xml:"prefix,omitempty" json:"prefix,omitempty"`
}

The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadata`.

type HostRetrieveVStorageObjectMetadataResponse added in v0.21.0

type HostRetrieveVStorageObjectMetadataResponse struct {
	Returnval []KeyValue `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HostRetrieveVStorageObjectMetadataValue added in v0.21.0

type HostRetrieveVStorageObjectMetadataValue HostRetrieveVStorageObjectMetadataValueRequestType

type HostRetrieveVStorageObjectMetadataValueRequestType added in v0.21.0

type HostRetrieveVStorageObjectMetadataValueRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of virtual storage object.
	SnapshotId *ID `xml:"snapshotId,omitempty" json:"snapshotId,omitempty"`
	// The key for the the virtual storage object
	Key string `xml:"key" json:"key"`
}

The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectMetadataValue`.

type HostRetrieveVStorageObjectMetadataValueResponse added in v0.21.0

type HostRetrieveVStorageObjectMetadataValueResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type HostRetrieveVStorageObjectRequestType added in v0.12.0

type HostRetrieveVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be retrieved.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Flags indicating the FCD information to be
	// retrieved. If diskInfoFlags is unset, then all FCD
	// information will be retrieved. See
	// `vslmDiskInfoFlag_enum` for the list of
	// supported values.
	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
}

The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObject`.

type HostRetrieveVStorageObjectResponse added in v0.12.0

type HostRetrieveVStorageObjectResponse struct {
	Returnval VStorageObject `xml:"returnval" json:"returnval"`
}

type HostRetrieveVStorageObjectState added in v0.12.0

type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType

type HostRetrieveVStorageObjectStateRequestType added in v0.12.0

type HostRetrieveVStorageObjectStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object the state to be retrieved.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostRetrieveVStorageObjectState`.

type HostRetrieveVStorageObjectStateResponse added in v0.12.0

type HostRetrieveVStorageObjectStateResponse struct {
	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
}

type HostRuntimeInfo

type HostRuntimeInfo struct {
	DynamicData

	// The host connection state.
	//
	// See the description in the enums for the
	// `ConnectionState` data object type.
	ConnectionState HostSystemConnectionState `xml:"connectionState" json:"connectionState"`
	// The host power state.
	//
	// See the description in the enums for the
	// `PowerState` data object type.
	PowerState HostSystemPowerState `xml:"powerState" json:"powerState" vim:"2.5"`
	// The host's standby mode.
	//
	// For valid values see
	// `HostStandbyMode_enum`. The property is only populated by
	// vCenter server. If queried directly from a ESX host, the property is
	// is unset.
	StandbyMode string `xml:"standbyMode,omitempty" json:"standbyMode,omitempty" vim:"4.1"`
	// The flag to indicate whether or not the host is in maintenance mode.
	//
	// This
	// flag is set when the host has entered the maintenance mode. It is not set
	// during the entering phase of maintenance mode.
	//
	// See also `HostSystem.EnterMaintenanceMode_Task`, `HostSystem.ExitMaintenanceMode_Task`.
	InMaintenanceMode bool `xml:"inMaintenanceMode" json:"inMaintenanceMode"`
	// The flag to indicate whether or not the host is in quarantine mode.
	//
	// InfraUpdateHa will recommend to set this flag based on the HealthUpdates
	// received by the HealthUpdateProviders configured for the cluster. A
	// host that is reported as degraded will be recommended to enter quarantine
	// mode, while a host that is reported as healthy will be recommended to
	// exit quarantine mode. Execution of these recommended actions will set
	// this flag. Hosts in quarantine mode will be avoided by vSphere DRS as
	// long as the increased consolidation in the cluster does not negatively
	// affect VM performance.
	//
	// See also `HealthUpdateManager`, `ClusterInfraUpdateHaConfigInfo`, `ClusterHostInfraUpdateHaModeAction`.
	InQuarantineMode *bool `xml:"inQuarantineMode" json:"inQuarantineMode,omitempty" vim:"6.5"`
	// The time when the host was booted.
	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
	// Available system health status
	HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty" json:"healthSystemRuntime,omitempty" vim:"2.5"`
	// The availability state of an active host in a vSphere HA enabled
	// cluster.
	//
	// A host is inactive if it is in maintenance or standby mode, or
	// it has been disconnected from vCenter Server. The active hosts in a cluster
	// form a vSphere HA fault domain.
	//
	// The property is unset if vSphere HA is disabled, the host is
	// in maintenance or standby mode, or the host is disconnected from
	// vCenter Server. The property is set to hostDown if the host has crashed.
	DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty" json:"dasHostState,omitempty" vim:"5.0"`
	// Deprecated as of @released("5.1") this information should be
	// considered to be neither complete nor reliable.
	//
	// The array of PCR digest values stored in the TPM device since the last
	// host boot time.
	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty" json:"tpmPcrValues,omitempty" vim:"4.0"`
	// Host Runtime information related to the VSAN service.
	//
	// See also `VsanHostRuntimeInfo`.
	VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty" json:"vsanRuntimeInfo,omitempty" vim:"5.5"`
	// This property is for getting network related runtime info
	NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty" json:"networkRuntimeInfo,omitempty" vim:"5.5"`
	// Runtime information of vFlash resource of the host.
	VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty" json:"vFlashResourceRuntimeInfo,omitempty" vim:"5.5"`
	// The maximum theoretical virtual disk capacity supported by this host
	HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty" json:"hostMaxVirtualDiskCapacity,omitempty" vim:"5.5"`
	// Encryption state of the host.
	//
	// Valid values are enumerated by the
	// `CryptoState` type.
	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty" vim:"6.5"`
	// Crypto Key used for coredump encryption
	CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty" json:"cryptoKeyId,omitempty" vim:"6.5"`
	// Indicating the host is ready for NVDS to VDS migration.
	//
	// See `HostRuntimeInfoStatelessNvdsMigrationState_enum` for supported values.
	StatelessNvdsMigrationReady string `xml:"statelessNvdsMigrationReady,omitempty" json:"statelessNvdsMigrationReady,omitempty" vim:"7.0.2.0"`
	// Host persistent state encryption information.
	StateEncryption *HostRuntimeInfoStateEncryptionInfo `xml:"stateEncryption,omitempty" json:"stateEncryption,omitempty" vim:"7.0.3.0"`
}

This data object type describes the runtime state of a host.

type HostRuntimeInfoNetStackInstanceRuntimeInfo

type HostRuntimeInfoNetStackInstanceRuntimeInfo struct {
	DynamicData

	// Key of the instance
	NetStackInstanceKey string `xml:"netStackInstanceKey" json:"netStackInstanceKey"`
	// State of the instance
	// See `HostRuntimeInfoNetStackInstanceRuntimeInfoState_enum` for valid values.
	State string `xml:"state,omitempty" json:"state,omitempty"`
	// The keys of vmknics that are using this stack
	VmknicKeys []string `xml:"vmknicKeys,omitempty" json:"vmknicKeys,omitempty"`
	// The maximum number of socket connections can be worked on this
	// instance currently after booting up.
	MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty" json:"maxNumberOfConnections,omitempty"`
	// If true then dual IPv4/IPv6 stack enabled else IPv4 only.
	CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled" json:"currentIpV6Enabled,omitempty"`
}

This data type describes network stack instance runtime info

type HostRuntimeInfoNetStackInstanceRuntimeInfoState

type HostRuntimeInfoNetStackInstanceRuntimeInfoState string

type HostRuntimeInfoNetworkRuntimeInfo

type HostRuntimeInfoNetworkRuntimeInfo struct {
	DynamicData

	// The list of network stack runtime info
	NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty" json:"netStackInstanceRuntimeInfo,omitempty"`
	// The network resource runtime information
	NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty" json:"networkResourceRuntime,omitempty" vim:"6.0"`
}

This data type describes network related runtime info

type HostRuntimeInfoStateEncryptionInfo added in v0.27.0

type HostRuntimeInfoStateEncryptionInfo struct {
	DynamicData

	// The state encryption key protection mode.
	//
	// The host state is encrypted with a key that is protected using
	// one of the modes specified by `HostRuntimeInfoStateEncryptionInfoProtectionMode_enum`.
	ProtectionMode string `xml:"protectionMode" json:"protectionMode"`
	// Indicates if UEFI Secure Boot must be enabled in order for the
	// state encryption key to be accessible.
	RequireSecureBoot *bool `xml:"requireSecureBoot" json:"requireSecureBoot,omitempty"`
	// Indicates if the "execInstalledOnly" enforcement must be active
	// for the state encryption key to be accessible.
	RequireExecInstalledOnly *bool `xml:"requireExecInstalledOnly" json:"requireExecInstalledOnly,omitempty"`
}

This data type describes the host's persistent state encryption.

type HostRuntimeInfoStateEncryptionInfoProtectionMode added in v0.27.0

type HostRuntimeInfoStateEncryptionInfoProtectionMode string

type HostRuntimeInfoStatelessNvdsMigrationState added in v0.26.0

type HostRuntimeInfoStatelessNvdsMigrationState string

type HostScheduleReconcileDatastoreInventory added in v0.12.0

type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType

type HostScheduleReconcileDatastoreInventoryRequestType added in v0.12.0

type HostScheduleReconcileDatastoreInventoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore that needs to be reconciled.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostScheduleReconcileDatastoreInventory`.

type HostScheduleReconcileDatastoreInventoryResponse added in v0.12.0

type HostScheduleReconcileDatastoreInventoryResponse struct {
}

type HostScsiDisk

type HostScsiDisk struct {
	ScsiLun

	// The size of SCSI disk using the Logical Block Addressing scheme.
	Capacity HostDiskDimensionsLba `xml:"capacity" json:"capacity"`
	// The device path of the ScsiDisk.
	//
	// This device path is a file path
	// that can be opened to create partitions on the disk.
	//
	// See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// Indicates whether the ScsiDisk is SSD backed.
	//
	// If unset, the information whether the ScsiDisk is SSD backed
	// is unknown.
	Ssd *bool `xml:"ssd" json:"ssd,omitempty" vim:"5.0"`
	// Indicates whether the ScsiDisk is local.
	//
	// If unset, the information whether the ScsiDisk is local is unknown.
	LocalDisk *bool `xml:"localDisk" json:"localDisk,omitempty" vim:"6.0"`
	// The physical location of the ScsiDisk if can be determined, otherwise
	// unset.
	//
	// If the ScsiDisk is a logical drive, it should be the
	// location of all constituent physical drives of the logical drive.
	// If the ScsiDisk is a physical drive, it's an array of one element.
	PhysicalLocation []string `xml:"physicalLocation,omitempty" json:"physicalLocation,omitempty" vim:"6.0"`
	// Indicates whether the ScsiDisk has emulated Data Integrity Extension
	// (DIX) / Data Integrity Field (DIF) enabled.
	//
	// If unset, the default value is false.
	EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled" json:"emulatedDIXDIFEnabled,omitempty" vim:"6.0"`
	// Indicates the additional VSAN information
	// if this disk is used by VSAN.
	VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty" json:"vsanDiskInfo,omitempty" vim:"6.0"`
	// The type of disk drives.
	//
	// See `ScsiDiskType_enum`
	// for definitions of supported types.
	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty" vim:"6.5"`
}

This data object type describes a SCSI disk.

A SCSI disk contains a partition table which can be changed. To change a SCSI disk, use the device name and the partition specification.

See also `HostStorageSystem.RetrieveDiskPartitionInfo`, `HostStorageSystem.UpdateDiskPartitions`.

type HostScsiDiskPartition

type HostScsiDiskPartition struct {
	DynamicData

	// The SCSI disk device on which a VMware File System (VMFS)
	// extent resides.
	//
	// See also `HostScsiDisk`, `ScsiLun.canonicalName`.
	DiskName string `xml:"diskName" json:"diskName"`
	// The partition number of the partition on the ScsiDisk.
	Partition int32 `xml:"partition" json:"partition"`
}

This data object type describes the specification of a Disk partition.

type HostScsiTopology

type HostScsiTopology struct {
	DynamicData

	// The list of SCSI interfaces.
	Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty" json:"adapter,omitempty"`
}

This data object type describes the SCSI topology information.

The data objects in this data object type model the SCSI storage objects from a topological point of view. The SCSI topological view organizes objects by SCSI interface, which contain targets, which in turn contain logical units.

SCSI Topology information is not guaranteed to exhaustively enumerate all storage devices on the system. It only shows storage devices that are actually enumerable from a host bus adapter. This means that only storage devices that are composed from one or more paths, which are in turn provided by a host bus adapter, will appear in this inventory.

Storage devices provided by the native multipathing plugin (NMP) will always be represented in this inventory since NMP uses a simple policy to create devices out of the paths it claims.

Examples of storage devices that will not appear in this inventory are logical devices that are not formed from directly claiming paths. Specific examples of devices that will not appear in this inventory include a device backed by a ramdisk or formed from a software RAID plugin.

Legacy note: In hosts where `HostPlugStoreTopology` is not defined or does not exist on the `HostStorageDeviceInfo` object, only native multipathing exists. That means for these hosts, the ScsiTopology object contains the complete set of LUNs and targets available on the host.

type HostScsiTopologyInterface

type HostScsiTopologyInterface struct {
	DynamicData

	// The identifier for the SCSI interface
	Key string `xml:"key" json:"key"`
	// The link to data for this SCSI interface.
	Adapter string `xml:"adapter" json:"adapter"`
	// The list of targets to which the SCSI interface is associated.
	Target []HostScsiTopologyTarget `xml:"target,omitempty" json:"target,omitempty"`
}

This data object type describes the SCSI interface that is associated with a list of targets.

type HostScsiTopologyLun

type HostScsiTopologyLun struct {
	DynamicData

	// The identifier for the SCSI Lun
	Key string `xml:"key" json:"key"`
	// The logical unit number of the SCSI logical unit.
	Lun int32 `xml:"lun" json:"lun"`
	// The link to data for this SCSI logical unit.
	ScsiLun string `xml:"scsiLun" json:"scsiLun"`
}

This data object type describes the SCSI logical unit.

type HostScsiTopologyTarget

type HostScsiTopologyTarget struct {
	DynamicData

	// The identifier for the SCSI target
	Key string `xml:"key" json:"key"`
	// The target identifier.
	Target int32 `xml:"target" json:"target"`
	// The list of SCSI logical units with which a target is associated.
	Lun []HostScsiTopologyLun `xml:"lun,omitempty" json:"lun,omitempty"`
	// SCSI Transport information about the target.
	Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr" json:"transport,omitempty"`
}

This data object type describes the SCSI target that is associated with a list of logical units.

type HostSecuritySpec

type HostSecuritySpec struct {
	DynamicData

	// Administrator password to configure
	AdminPassword string `xml:"adminPassword,omitempty" json:"adminPassword,omitempty"`
	// Permissions to remove
	RemovePermission []Permission `xml:"removePermission,omitempty" json:"removePermission,omitempty" vim:"4.1"`
	// Permissions to add
	AddPermission []Permission `xml:"addPermission,omitempty" json:"addPermission,omitempty" vim:"4.1"`
}

DataObject used for configuring the Security settings

type HostSerialAttachedHba added in v0.12.0

type HostSerialAttachedHba struct {
	HostHostBusAdapter

	// The world wide node name for the adapter.
	NodeWorldWideName string `xml:"nodeWorldWideName" json:"nodeWorldWideName"`
}

The data object type describes the Serial Attached Scsi(SAS) interface.

type HostSerialAttachedTargetTransport added in v0.12.0

type HostSerialAttachedTargetTransport struct {
	HostTargetTransport
}

Serial attached adapter transport information about a SCSI target.

type HostService

type HostService struct {
	DynamicData

	// Brief identifier for the service.
	Key string `xml:"key" json:"key"`
	// Display label for the service.
	Label string `xml:"label" json:"label"`
	// Flag indicating whether the service is required and cannot be disabled.
	Required bool `xml:"required" json:"required"`
	// Deprecated this flag is unimplemented and will always be set to false.
	//
	// Flag indicating whether the service can be uninstalled.
	Uninstallable bool `xml:"uninstallable" json:"uninstallable"`
	// Flag indicating whether the service is currently running.
	Running bool `xml:"running" json:"running"`
	// List of firewall rulesets used by this service.
	//
	// Must come from the
	// list of rulesets in `HostFirewallInfo.ruleset`.
	Ruleset []string `xml:"ruleset,omitempty" json:"ruleset,omitempty"`
	// Service activation policy.
	//
	// See also `HostServicePolicy_enum`.
	Policy string `xml:"policy" json:"policy"`
	// The source package associated with the service
	SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty" json:"sourcePackage,omitempty" vim:"5.0"`
}

Data object that describes a single service that runs on the host.

type HostServiceConfig

type HostServiceConfig struct {
	DynamicData

	// Key of the service to configure.
	ServiceId string `xml:"serviceId" json:"serviceId"`
	// Startup policy which defines how the service be configured.
	//
	// See @link Service.Policy for possible values.
	StartupPolicy string `xml:"startupPolicy" json:"startupPolicy"`
}

DataObject representing configuration for a particular service.

type HostServiceInfo

type HostServiceInfo struct {
	DynamicData

	// List of configured services.
	Service []HostService `xml:"service,omitempty" json:"service,omitempty"`
}

Data object describing the host service configuration.

type HostServicePolicy

type HostServicePolicy string

Set of valid service policy strings.

type HostServiceSourcePackage

type HostServiceSourcePackage struct {
	DynamicData

	// The name of the source package
	SourcePackageName string `xml:"sourcePackageName" json:"sourcePackageName"`
	// The description of the source package
	Description string `xml:"description" json:"description"`
}

type HostServiceTicket

type HostServiceTicket struct {
	DynamicData

	// The name of the host providing the service for which the ticket applies.
	//
	// If
	// omitted, then the client uses the host name for the server that issued the ticket.
	Host string `xml:"host,omitempty" json:"host,omitempty"`
	// Access to some services is made possible by connecting to a port on a
	// server.
	//
	// If the service for which a ticket is issued is available on a
	// particular port, that port number is specified with this property. If
	// omitted, except in the case of connecting to CIM interfaces, the port
	// number for the service that issued the ticket is used. In the case of
	// connecting to a CIM interface the standard well known port for the
	// particular service will be used for the connection.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The expected thumbprint of the SSL cert of the host to which
	// we are connecting.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
	// The name of the service to which to connect.
	Service string `xml:"service" json:"service"`
	// A dot-separated string identifying the service protocol version.
	//
	// For example, 1.0
	// is used for NFC hosted by vpxa on ESX 2.5, and 1.1 is used for
	// NFC hosted by hostd on ESX 3.0.
	ServiceVersion string `xml:"serviceVersion" json:"serviceVersion"`
	// An identifying string for the session created for the ticketed connection.
	//
	// This
	// is used by the host service to identify the operations permitted within the
	// session.
	SessionId string `xml:"sessionId" json:"sessionId"`
}

Return value for ticketable host services.

The server has the option to provide a hostname and port for a future ticket-authenticated connection to a service on a host. If the service provider does not return a host the client must connect to the same host it used to request the ticket. In case the service provider does not return a port, except in the case of connecting to CIM interfaces, the client must connect using the same port it used to request the ticket. In the case of connecting to a CIM interface the standard well known port number for the particular service will be used for the connection.

For example, when a client requests a ticket from an ESX Server, the returned ticket may omit the optional host and port. In such a case, the client establishes an out-of-band ticketed connection to the same server host and on the same port on which it made the connection to request the ticket. If this request is made to the VirtualCenter server, but the server does not provide the required service directly, then the server provides a hostname and port for a server that accepts the ticketed connection and provides the service.

type HostSetVStorageObjectControlFlags added in v0.18.0

type HostSetVStorageObjectControlFlags HostSetVStorageObjectControlFlagsRequestType

type HostSetVStorageObjectControlFlagsRequestType added in v0.18.0

type HostSetVStorageObjectControlFlagsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Required privileges: Datastore.FileManagement
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// control flags enum array to be set on the
	// VStorageObject. All control flags not included
	// in the array remain intact.
	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
}

The parameters of `HostVStorageObjectManager.HostSetVStorageObjectControlFlags`.

type HostSetVStorageObjectControlFlagsResponse added in v0.18.0

type HostSetVStorageObjectControlFlagsResponse struct {
}

type HostSevInfo added in v0.24.0

type HostSevInfo struct {
	DynamicData

	// State of SEV on the host.
	//
	// The set of supported values are described
	// in `HostSevInfoSevState_enum`.
	SevState string `xml:"sevState" json:"sevState"`
	// The maximum number of SEV-ES and SEV-SNP guests supported on this host.
	MaxSevEsGuests int64 `xml:"maxSevEsGuests" json:"maxSevEsGuests"`
}

type HostSevInfoSevState added in v0.24.0

type HostSevInfoSevState string

type HostSgxInfo added in v0.23.0

type HostSgxInfo struct {
	DynamicData

	// SGX state of the host.
	//
	// The set of supported values are described
	// in `HostSgxInfoSgxStates_enum`.
	SgxState string `xml:"sgxState" json:"sgxState"`
	// Size of physical EPC in bytes.
	TotalEpcMemory int64 `xml:"totalEpcMemory" json:"totalEpcMemory"`
	// FLC mode of the host.
	//
	// The set of supported values are
	// described in `HostSgxInfoFlcModes_enum`.
	FlcMode string `xml:"flcMode" json:"flcMode"`
	// Public key hash of the provider launch enclave.
	//
	// This is the SHA256
	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
	// enclave. This attribute is set only if attribute flcMode is
	// locked.
	LePubKeyHash     string                   `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
	RegistrationInfo *HostSgxRegistrationInfo `xml:"registrationInfo,omitempty" json:"registrationInfo,omitempty"`
}

Data object describing the Software Guard Extension (SGX) configuration on the ESXi host.

type HostSgxInfoFlcModes added in v0.23.0

type HostSgxInfoFlcModes string

type HostSgxInfoSgxStates added in v0.23.0

type HostSgxInfoSgxStates string

type HostSgxRegistrationInfo added in v0.29.0

type HostSgxRegistrationInfo struct {
	DynamicData

	// SGX host registration status.
	//
	// Valid values come from `HostSgxRegistrationInfoRegistrationStatus_enum` enum.
	// Set, except in case of an internal error.
	Status string `xml:"status,omitempty" json:"status,omitempty"`
	// BIOS error related to SGX host registration.
	//
	// Set only if SGX registration status is incomplete.
	BiosError int32 `xml:"biosError,omitempty" json:"biosError,omitempty"`
	// SGX host registration URL.
	//
	// Unset if SGX registration status is not applicable
	// or in case of an internal error.
	RegistrationUrl string `xml:"registrationUrl,omitempty" json:"registrationUrl,omitempty"`
	// SGX host registration type.
	//
	// Valid values come from `HostSgxRegistrationInfoRegistrationType_enum` enum.
	// Unset if SGX registration status is not applicable,
	// complete, or in case of an internal error.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// Platform Provisioning ID (PPID).
	//
	// Hex-encoded representation of the the PPID
	// (Platform Provisioning ID), returned as the response
	// to a successful registration request. This field
	// is populated only on the vCenter through which
	// the host has been registered.
	Ppid string `xml:"ppid,omitempty" json:"ppid,omitempty"`
	// Timestamp of last successful registration
	// from this vCenter.
	LastRegisteredTime *time.Time `xml:"lastRegisteredTime" json:"lastRegisteredTime,omitempty"`
}

Data object describing SGX host registration information.

type HostSgxRegistrationInfoRegistrationStatus added in v0.29.0

type HostSgxRegistrationInfoRegistrationStatus string

type HostSgxRegistrationInfoRegistrationType added in v0.29.0

type HostSgxRegistrationInfoRegistrationType string

type HostSharedGpuCapabilities added in v0.18.0

type HostSharedGpuCapabilities struct {
	DynamicData

	// Name of a particular VGPU available as a shared GPU device.
	//
	// See also `VirtualMachinePciSharedGpuPassthroughInfo`.
	Vgpu string `xml:"vgpu" json:"vgpu"`
	// Indicates whether the GPU plugin on this host is capable of
	// disk-only snapshots when VM is not powered off.
	//
	// Disk Snaphosts
	// on powered off VM are always supported.
	DiskSnapshotSupported bool `xml:"diskSnapshotSupported" json:"diskSnapshotSupported"`
	// Indicates whether the GPU plugin on this host is capable of
	// memory snapshots.
	MemorySnapshotSupported bool `xml:"memorySnapshotSupported" json:"memorySnapshotSupported"`
	// Indicates whether the GPU plugin on this host is capable of
	// suspend-resume.
	SuspendSupported bool `xml:"suspendSupported" json:"suspendSupported"`
	// Indicates whether the GPU plugin on this host is capable of
	// migration.
	MigrateSupported bool `xml:"migrateSupported" json:"migrateSupported"`
}

Capability vector indicating the available shared graphics features.

type HostShortNameInconsistentEvent

type HostShortNameInconsistentEvent struct {
	HostDasEvent

	ShortName  string `xml:"shortName" json:"shortName"`
	ShortName2 string `xml:"shortName2" json:"shortName2"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that host name resolution returned different names on the host.

Please check your host's network configuration and your DNS configuration. There may be duplicate entries.

type HostShortNameToIpFailedEvent

type HostShortNameToIpFailedEvent struct {
	HostEvent

	ShortName string `xml:"shortName" json:"shortName"`
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that the host's short name could not be resolved to an IP address.

type HostShutdownEvent

type HostShutdownEvent struct {
	HostEvent

	// The reason for the host shutdown.
	Reason string `xml:"reason" json:"reason"`
}

This event records the shutdown of a host.

type HostSnmpAgentCapability

type HostSnmpAgentCapability string

type HostSnmpConfigSpec

type HostSnmpConfigSpec struct {
	DynamicData

	Enabled             *bool                 `xml:"enabled" json:"enabled,omitempty"`
	Port                int32                 `xml:"port,omitempty" json:"port,omitempty"`
	ReadOnlyCommunities []string              `xml:"readOnlyCommunities,omitempty" json:"readOnlyCommunities,omitempty"`
	TrapTargets         []HostSnmpDestination `xml:"trapTargets,omitempty" json:"trapTargets,omitempty"`
	Option              []KeyValue            `xml:"option,omitempty" json:"option,omitempty"`
}

type HostSnmpDestination

type HostSnmpDestination struct {
	DynamicData

	// A system listening for SNMP notifications.
	//
	// These must be a IPv4 unicast address or resolvable dns name.
	HostName string `xml:"hostName" json:"hostName"`
	// UDP port to Notification receiver is listening on.
	//
	// udp/162 is
	// the reserved port
	Port      int32  `xml:"port" json:"port"`
	Community string `xml:"community" json:"community"`
}

Defines a receiver for SNMP Notifications

type HostSnmpSystemAgentLimits

type HostSnmpSystemAgentLimits struct {
	DynamicData

	// number of allowed communities
	MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities" json:"maxReadOnlyCommunities"`
	// number of allowed destinations for notifications
	MaxTrapDestinations int32 `xml:"maxTrapDestinations" json:"maxTrapDestinations"`
	// Max length of community
	MaxCommunityLength int32 `xml:"maxCommunityLength" json:"maxCommunityLength"`
	// SNMP input buffer size
	MaxBufferSize int32 `xml:"maxBufferSize" json:"maxBufferSize"`
	// Supported Capability for this agent
	Capability HostSnmpAgentCapability `xml:"capability,omitempty" json:"capability,omitempty" vim:"4.0"`
}

type HostSpecGetUpdatedHosts added in v0.12.0

type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType

type HostSpecGetUpdatedHostsRequestType added in v0.12.0

type HostSpecGetUpdatedHostsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The beginning of the time period.
	StartChangeID string `xml:"startChangeID,omitempty" json:"startChangeID,omitempty"`
	// The ending of the time period.
	EndChangeID string `xml:"endChangeID,omitempty" json:"endChangeID,omitempty"`
}

The parameters of `HostSpecificationManager.HostSpecGetUpdatedHosts`.

type HostSpecGetUpdatedHostsResponse added in v0.12.0

type HostSpecGetUpdatedHostsResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HostSpecification added in v0.12.0

type HostSpecification struct {
	DynamicData

	// Time at which the host specification was created.
	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
	// Time at which the host specification was last modified.
	//
	// If it isn't set,
	// it is the same as <code>createdTime</code>.
	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
	// The host that the spec data belongs to.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The collection of the host sub specifications.
	//
	// It is optional.
	SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty" json:"subSpecs,omitempty"`
	// The change ID for querying the host specification data updated in a
	// time period.
	//
	// It has a format of timestamp:change\_number, where
	// timestamp is the decimal string of a start time, and change\_number is
	// the decimal string of an auto incremented variable counting from the
	// start time.
	ChangeID string `xml:"changeID,omitempty" json:"changeID,omitempty"`
}

The host specification data are those needed at host boot time to create and configure virtual devices and host services.

The `HostSpecification` data object contains a collection of host sub specification data. For host sub specification data, see `HostSubSpecification` for details.

type HostSpecificationChangedEvent added in v0.21.0

type HostSpecificationChangedEvent struct {
	HostEvent
}

This event records that the host specification was changed.

type HostSpecificationOperationFailed added in v0.12.0

type HostSpecificationOperationFailed struct {
	VimFault

	// The host on which host specification operation failed.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

Fault thrown when an operation, on host specification or host sub specification for a host, failed.

type HostSpecificationOperationFailedFault added in v0.12.0

type HostSpecificationOperationFailedFault HostSpecificationOperationFailed

type HostSpecificationRequireEvent added in v0.21.0

type HostSpecificationRequireEvent struct {
	HostEvent
}

This event is issued to that the host specification should be updated.

type HostSpecificationUpdateEvent added in v0.21.0

type HostSpecificationUpdateEvent struct {
	HostEvent

	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
}

This event suggests that update the host specification with the encapsulated copy.

type HostSriovConfig

type HostSriovConfig struct {
	HostPciPassthruConfig

	// enable SR-IOV for this device
	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
	// Number of SR-IOV virtual functions to enable on this device
	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
}

This data object allows configuration of SR-IOV device.

type HostSriovDevicePoolInfo added in v0.12.0

type HostSriovDevicePoolInfo struct {
	DynamicData

	Key string `xml:"key" json:"key"`
}

func (*HostSriovDevicePoolInfo) GetHostSriovDevicePoolInfo added in v0.12.0

func (b *HostSriovDevicePoolInfo) GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo

type HostSriovInfo

type HostSriovInfo struct {
	HostPciPassthruInfo

	// Whether SRIOV has been enabled by the user
	SriovEnabled bool `xml:"sriovEnabled" json:"sriovEnabled"`
	// Whether SRIOV is possible for this device
	SriovCapable bool `xml:"sriovCapable" json:"sriovCapable"`
	// Whether SRIOV is active for this device (meaning enabled + rebooted)
	SriovActive bool `xml:"sriovActive" json:"sriovActive"`
	// Number of SRIOV virtual functions requested for this device
	NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested" json:"numVirtualFunctionRequested"`
	// Number of SRIOV virtual functions present on this device
	NumVirtualFunction int32 `xml:"numVirtualFunction" json:"numVirtualFunction"`
	// Maximum number of SRIOV virtual functions supported on this device
	MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported" json:"maxVirtualFunctionSupported"`
}

This data object provides information about the state of SR-IOV device.

type HostSriovNetworkDevicePoolInfo added in v0.12.0

type HostSriovNetworkDevicePoolInfo struct {
	HostSriovDevicePoolInfo

	// vSwitch key
	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
	// DVS Uuid
	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
	// List of SR-IOV enabled physical nics that are backing the portgroup
	// identified by above key
	Pnic []PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
}

Information on networking specific SR-IOV device pools

type HostSslThumbprintInfo

type HostSslThumbprintInfo struct {
	DynamicData

	// The principal used for the login session
	Principal string `xml:"principal" json:"principal"`
	// The tag associated with this registration.
	//
	// Owner tags allow
	// multiple entities to register the same thumbprint without
	// interfering with each other on the life cycle of the thumbprint with
	// their unique tags.
	// Each solution should use a unique tag to identify itself.
	OwnerTag string `xml:"ownerTag,omitempty" json:"ownerTag,omitempty" vim:"5.0"`
	// Specify the SSL thumbprints to register on the host.
	SslThumbprints []string `xml:"sslThumbprints,omitempty" json:"sslThumbprints,omitempty"`
}

The SSL thumbprint information for a host managed by a vCenter Server or a vCenter extension to login into other hosts without username/password authentication.

type HostStandbyMode

type HostStandbyMode string

type HostStatusChangedEvent

type HostStatusChangedEvent struct {
	ClusterStatusChangedEvent
}

This event records when a host's overall status changed.

type HostStorageArrayTypePolicyOption

type HostStorageArrayTypePolicyOption struct {
	DynamicData

	// Description of the paths selection policy.
	//
	// Use the key as the
	// identifier.
	Policy BaseElementDescription `xml:"policy,typeattr" json:"policy"`
}

Description of options associated with a native multipathing storage array type plugin.

type HostStorageDeviceInfo

type HostStorageDeviceInfo struct {
	DynamicData

	// The list of host bus adapters available on the host.
	HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr" json:"hostBusAdapter,omitempty"`
	// The list of SCSI logical units available on the host.
	ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr" json:"scsiLun,omitempty"`
	// Storage topology view of SCSI storage devices.
	//
	// This data object
	// exists only if storage topology information is available. See the
	// `ScsiTopology` data object type for
	// more information.
	ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty" json:"scsiTopology,omitempty"`
	// Topology view of NVME storage devices.
	//
	// This data object exists
	// only if storage topology information is available. See the
	// `HostNvmeTopology` data object type for more information.
	NvmeTopology *HostNvmeTopology `xml:"nvmeTopology,omitempty" json:"nvmeTopology,omitempty" vim:"7.0"`
	// The multipath configuration that controls multipath policy for ScsiLuns.
	//
	// This data object exists only if path information is available and is
	// configurable.
	MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty" json:"multipathInfo,omitempty"`
	// The plug-store topology on the host system.
	//
	// This data object exists only if
	// the plug-store system is available and configurable.
	PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty" json:"plugStoreTopology,omitempty" vim:"4.0"`
	// Indicates if the software iSCSI initiator is enabled on this system
	SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled" json:"softwareInternetScsiEnabled"`
}

This data object type describes the storage subsystem configuration.

type HostStorageElementInfo

type HostStorageElementInfo struct {
	HostHardwareElementInfo

	// Other information regarding the operational state of the
	// storage element.
	OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty" json:"operationalInfo,omitempty"`
}

Data object describing the operational status of various storage elements.

type HostStorageOperationalInfo

type HostStorageOperationalInfo struct {
	DynamicData

	// The property of interest for the storage element
	Property string `xml:"property" json:"property"`
	// The property value for the storage element
	Value string `xml:"value" json:"value"`
}

Data class describing operational information of a storage element

type HostStorageProtocol added in v0.23.0

type HostStorageProtocol string

type HostStorageSystemDiskLocatorLedResult

type HostStorageSystemDiskLocatorLedResult struct {
	DynamicData

	// UUID of LUN that has failed to turn on/off disk locator LED.
	Key string `xml:"key" json:"key"`
	// The reason why the operation did not succeed.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Contains the result of turn Disk Locator Led On/Off request.

Used as return value by `HostStorageSystem.TurnDiskLocatorLedOn_Task` and `HostStorageSystem.TurnDiskLocatorLedOff_Task`.

type HostStorageSystemScsiLunResult

type HostStorageSystemScsiLunResult struct {
	DynamicData

	// UUID of LUN on which the LUN operation was requested.
	Key string `xml:"key" json:"key"`
	// Fault if operation fails
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Contains the result of SCSI LUN operation requests.

Used as return value by `HostStorageSystem.AttachScsiLunEx_Task`, `HostStorageSystem.DetachScsiLunEx_Task` and `HostStorageSystem.MarkPerenniallyReservedEx_Task`

type HostStorageSystemVmfsVolumeResult

type HostStorageSystemVmfsVolumeResult struct {
	DynamicData

	// UUID of VMFS volume
	Key string `xml:"key" json:"key"`
	// Fault if volume operation fails, unset if operation succeeds
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Contains the result of the operation performed on a VMFS volume.

type HostSubSpecification added in v0.12.0

type HostSubSpecification struct {
	DynamicData

	// The full name of the host sub specification.
	//
	// The format of this member
	// variable is:
	// CompanyName\_ProductName\_SubSpecName.
	// Thus, name conflict is avoided by containing the
	// <code>company name</code>, <code>product name</code>, and <code> sub
	// specification name</code> in this full name.
	Name string `xml:"name" json:"name"`
	// Time at which the host sub specification was created.
	CreatedTime time.Time `xml:"createdTime" json:"createdTime"`
	// The host sub specification data
	Data []byte `xml:"data,omitempty" json:"data,omitempty"`
	// The host sub specification data in Binary for wire efficiency.
	BinaryData []byte `xml:"binaryData,omitempty" json:"binaryData,omitempty" vim:"6.7"`
}

Host sub specification data are the data used when create a virtual device, and/or configure the virtual device and its related host services.

A typical example of host sub specification data is the DVS host view specification, which is used when create DVS host view on an ESXi host and configure the virtual switch on the host. The introduction of this type of data is for improving the availability of the ESXi host management. For example, when the VirtualCenter server is not available, an ESXi host will have enough information to reconfigure DVS host view properly when the ESXi host is booted from stateless or stateless caching. Host sub specification data are data for VMware internal data structure used in virtual device creation and configuration. They are different to `AnswerFile` which are from public knowledge domain or the public API of VMware ESXi host services. When the host sub specification data for a single feature are stored in multiple host sub specification data objects, it is the responsibility of the host specification source in this feature to guarantee the completeness and consistency of these host sub specification objects.

type HostSubSpecificationDeleteEvent added in v0.21.0

type HostSubSpecificationDeleteEvent struct {
	HostEvent

	SubSpecName string `xml:"subSpecName" json:"subSpecName"`
}

This event suggests that delete the host sub specification specified by name.

type HostSubSpecificationUpdateEvent added in v0.21.0

type HostSubSpecificationUpdateEvent struct {
	HostEvent

	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
}

This event suggests that update the host sub specification with the encapsulated copy.

type HostSyncFailedEvent

type HostSyncFailedEvent struct {
	HostEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to sync up with the VirtualCenter agent on the host

type HostSystemComplianceCheckState added in v0.18.0

type HostSystemComplianceCheckState struct {
	DynamicData

	// The compliance check operation state.
	//
	// See
	// `ComplianceResultStatus_enum` for the valid values.
	State string `xml:"state" json:"state"`
	// The compliance check starting time for running state; compliance
	// check finish time for others.
	CheckTime time.Time `xml:"checkTime" json:"checkTime"`
}

The host profile compliance check state.

type HostSystemConnectionState

type HostSystemConnectionState string

Defines a host's connection state.

type HostSystemHealthInfo

type HostSystemHealthInfo struct {
	DynamicData

	// Health information provided by the power probes.
	NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty" json:"numericSensorInfo,omitempty"`
}

This data object provides information about the health of the phyical system.

The data is retrieved from numeric sensor probes.

type HostSystemIdentificationInfo

type HostSystemIdentificationInfo struct {
	DynamicData

	// The system identification information
	IdentifierValue string `xml:"identifierValue" json:"identifierValue"`
	// The description of the identifying information.
	//
	// See also `HostSystemIdentificationInfoIdentifier_enum`.
	IdentifierType BaseElementDescription `xml:"identifierType,typeattr" json:"identifierType"`
}

This data object describes system identifying information of the host.

This information may be vendor specific.

type HostSystemIdentificationInfoIdentifier

type HostSystemIdentificationInfoIdentifier string

type HostSystemInfo

type HostSystemInfo struct {
	DynamicData

	// Hardware vendor identification.
	Vendor string `xml:"vendor" json:"vendor"`
	// System model identification.
	Model string `xml:"model" json:"model"`
	// Hardware BIOS identification.
	Uuid string `xml:"uuid" json:"uuid"`
	// Other System identification information.
	//
	// This information may be vendor
	// specific
	OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty" json:"otherIdentifyingInfo,omitempty" vim:"2.5"`
	SerialNumber         string                         `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
	// List of qualified names used to identify the host in a specific context.
	//
	// Unlike the other types of system identification information, these can
	// potentially change as a result of configuration.
	QualifiedName []HostQualifiedName `xml:"qualifiedName,omitempty" json:"qualifiedName,omitempty" vim:"7.0.3.0"`
	// NVMe qualified name used by Vvol.
	//
	// A unique name, assigned to each host used by Vvol.
	// Obtained through vmkctl storage control path while fetching the NVMe info.
	VvolHostNQN *HostQualifiedName `xml:"vvolHostNQN,omitempty" json:"vvolHostNQN,omitempty" vim:"8.0.0.0"`
	// Host id used by Vvol.
	//
	// The hostd id, obtained through vmkctl storage control path while
	// fetching the NVMe info.
	VvolHostId string `xml:"vvolHostId,omitempty" json:"vvolHostId,omitempty" vim:"8.0.0.0"`
}

Information about the system as a whole.

type HostSystemPowerState

type HostSystemPowerState string

type HostSystemReconnectSpec

type HostSystemReconnectSpec struct {
	DynamicData

	// This flag should be set if on a host reconnect, state such as virtual
	// machine state in vCenter Server e.g.
	//
	// the virtual machine inventory
	// and autostart rules, has to be propogated to the host. Any virtual
	// machines that may have been unregistered or orphaned will be
	// reregistered according to the vCenter Server inventory. Any autostart
	// rules that may have changed on the host will be similarly restored.
	// This flag is primarily intended for stateless hosts to enable vCenter
	// Server to resync these hosts after a reboot.
	SyncState *bool `xml:"syncState" json:"syncState,omitempty"`
}

Specifies the parameters needed to merge vCenter Server settings and host settings on reconnect.

type HostSystemRemediationState added in v0.18.0

type HostSystemRemediationState struct {
	DynamicData

	// The remediation or precheck remediation operation state.
	//
	// See
	// `HostSystemRemediationStateState_enum` for the valid
	// values.
	State string `xml:"state" json:"state"`
	// For any "running" state, this is the starting time; for others, this
	// is the completion time.
	OperationTime time.Time `xml:"operationTime" json:"operationTime"`
}

The valid remediation states.

Host profile apply has two stages: precheck remediation and remediation. Precheck remediation generates task list and task requirement: apply may fail when task requirements are not satisfied. Remediation stage can be started only when precheck remediation succeeded.

type HostSystemRemediationStateState added in v0.18.0

type HostSystemRemediationStateState string

type HostSystemResourceInfo

type HostSystemResourceInfo struct {
	DynamicData

	// ID of the system resource group.
	Key string `xml:"key" json:"key"`
	// Configuration of this system resource group.
	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
	// List of child resource groups.
	Child []HostSystemResourceInfo `xml:"child,omitempty" json:"child,omitempty"`
}

The SystemResourceInfo data object describes the configuration of a single system resource group.

System resource groups are analogous to `ResourcePool` objects for virtual machines; however, their structure is fixed and groups may not be created nor destroyed, only configured.

type HostSystemSwapConfiguration

type HostSystemSwapConfiguration struct {
	DynamicData

	// The currently enabled options.
	//
	// When this property contains only one value and this value is `HostSystemSwapConfigurationDisabledOption`,
	// this indicates that the system swap is disabled.
	// If the `HostSystemSwapConfigurationDisabledOption` option is
	// used together with some other option in call to `HostSystem.UpdateSystemSwapConfiguration`, a
	// `InvalidArgument` is thrown.
	// It is not allowed to have duplicate values in this array. If so a
	// `InvalidArgument` is thrown.
	Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

Information and specification for control of the system swap configuration on the current host.

type HostSystemSwapConfigurationDatastoreOption

type HostSystemSwapConfigurationDatastoreOption struct {
	HostSystemSwapConfigurationSystemSwapOption

	// The datastore to be used with this swap option.
	//
	// This value should be always set when the encapsulating option is used,
	// otherwise a call to `HostSystem.UpdateSystemSwapConfiguration` will
	// result in a `InvalidArgument` fault.
	Datastore string `xml:"datastore" json:"datastore"`
}

Use option to indicate that a user specified datastore may be used for system swap.

type HostSystemSwapConfigurationDisabledOption

type HostSystemSwapConfigurationDisabledOption struct {
	HostSystemSwapConfigurationSystemSwapOption
}

Indicates that the system swap on the host is currently disabled.

This value is used with the `HostSystem.UpdateSystemSwapConfiguration` managed method to disable system swap. Presence of this value in `HostSystemSwapConfiguration.option` excludes appearance of any other options. Specifying additional options will result in a `InvalidArgument` fault being thrown from the `HostSystem.UpdateSystemSwapConfiguration` method.

type HostSystemSwapConfigurationHostCacheOption

type HostSystemSwapConfigurationHostCacheOption struct {
	HostSystemSwapConfigurationSystemSwapOption
}

Use option to indicate that the host cache may be used for system swap.

See also `HostCacheConfigurationManager`for more details..

type HostSystemSwapConfigurationHostLocalSwapOption

type HostSystemSwapConfigurationHostLocalSwapOption struct {
	HostSystemSwapConfigurationSystemSwapOption
}

Use option to indicate that the datastore configured for host local swap may be used for system swap.

type HostSystemSwapConfigurationSystemSwapOption

type HostSystemSwapConfigurationSystemSwapOption struct {
	DynamicData

	// Specifies the order the options are preferred among each other.
	//
	// The lower the value the more important.
	Key int32 `xml:"key" json:"key"`
}

Base class for all system swap options.

This class is not supposed to be used directly. These values are to be used in a `SystemSwapConfiguration.option` array.

func (*HostSystemSwapConfigurationSystemSwapOption) GetHostSystemSwapConfigurationSystemSwapOption

func (b *HostSystemSwapConfigurationSystemSwapOption) GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption

type HostTargetTransport

type HostTargetTransport struct {
	DynamicData
}

Transport information about a SCSI target.

func (*HostTargetTransport) GetHostTargetTransport

func (b *HostTargetTransport) GetHostTargetTransport() *HostTargetTransport

type HostTcpHba added in v0.27.0

type HostTcpHba struct {
	HostHostBusAdapter

	// Device name of the associated physical NIC, if any.
	//
	// Should match the `PhysicalNic.device` property
	// of the corresponding physical NIC.
	AssociatedPnic string `xml:"associatedPnic,omitempty" json:"associatedPnic,omitempty"`
}

This data object describes the Transmission Control Protocol (TCP) host bus adapter interface.

type HostTcpHbaCreateSpec added in v0.27.0

type HostTcpHbaCreateSpec struct {
	HostHbaCreateSpec

	// Device name of the associated physical NIC.
	//
	// Should match the `PhysicalNic.device` property
	// of the corresponding physical NIC.
	Pnic string `xml:"pnic" json:"pnic"`
}

A data object which specifies the parameters needed to create an NVME over TCP host bus adapter.

type HostTcpTargetTransport added in v0.27.0

type HostTcpTargetTransport struct {
	HostTargetTransport
}

Transmission Control Protocol (TCP) transport information about a target.

type HostTpmAttestationInfo added in v0.18.0

type HostTpmAttestationInfo struct {
	DynamicData

	// Time of TPM attestation.
	Time time.Time `xml:"time" json:"time"`
	// Attestation status.
	//
	// Valid values are enumerated by the
	// `HostTpmAttestationInfoAcceptanceStatus_enum` type.
	Status HostTpmAttestationInfoAcceptanceStatus `xml:"status" json:"status"`
	// Message explaining TPM attestation failure.
	Message *LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
}

This data object type represents result of TPM attestation.

type HostTpmAttestationInfoAcceptanceStatus added in v0.18.0

type HostTpmAttestationInfoAcceptanceStatus string

type HostTpmAttestationReport

type HostTpmAttestationReport struct {
	DynamicData

	// The array of PCR digest values stored in the TPM device since the last
	// host boot time.
	TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues" json:"tpmPcrValues"`
	// Log of TPM software stack attestation events.
	TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents" json:"tpmEvents"`
	// This flag indicates whether the provided TPM events are a complete and reliable
	// information about host boot status.
	//
	// TPM event log may be incomplete (and therfore unreliable) if certain modules have
	// inappropriate origin or if the package information is incomplete. Only first 1000
	// events are recorded by the kernel. Further events will not be recorded in the log
	// and will cause the log to be marked as unreliable.
	TpmLogReliable bool `xml:"tpmLogReliable" json:"tpmLogReliable"`
}

This class is used to report Trusted Platform Module (TPM) attestation information - values of the Platform Configuration Registers (PCRs) and the TPM event log to the external clients.

This information can be used to determine the integrity of the software stack running as reported by the platform.

The TPM stores digests (hashes) of the software stack components running on the host. Both binary modules and configuration information can be hashed. The calculated hash values are stored in special-purpose hardware registers called PCRs. Each PCR is defined to hold cumulative digest(s) of specific part(s) of the software stack.

Due to the limited amount of PCRs available a hash-chaining scheme is implemented. When adding new information to a PCR the new value of hash is computed according to the following formula: NewHash = hash\_function(OldHash + hash\_function(NewData)) This scheme allows storing measurements of an unlimited amount of components.

The TPM event log provides an exact sequence of the events that contributed to the value of a PCR. It contains information about the type of the event and event-specific information. The presence of the log allows verification of both the final PCR state and the entire attestation path that formed it.

It is possible for this report to be unreliable. This could be due to missing package information in the host database, errors in creation of the events. Only first 1000 events are recorded by the kernel. Further events will not be recorded in the log and will cause the log to be marked as incomplete.

type HostTpmBootCompleteEventDetails added in v0.31.0

type HostTpmBootCompleteEventDetails struct {
	HostTpmEventDetails
}

Details of a Trusted Platform Module (TPM) event recording the measurement of boot complete event.

The event digest is hash of the string "Boot Complete" including the nul character.

type HostTpmBootSecurityOptionEventDetails

type HostTpmBootSecurityOptionEventDetails struct {
	HostTpmEventDetails

	// Security-related options string, reflecting the state of an option set
	// in the kernel.
	//
	// This string is in the form of a KEY=VALUE pair.
	BootSecurityOption string `xml:"bootSecurityOption" json:"bootSecurityOption"`
}

Details of a Trusted Platform Module (TPM) event recording kernel security option passed at boot time and currently in effect.

This event type exists to simplify parsing of the security-related information by internal and third-party solutions. Each boot option may be passed to kernel multiple times and/or in different forms. Replicating the parsing logic of the kernel would be neither convinient, nor secure for the client applications.

Each instance of this event reports details of a single security-related boot option, as set in the kernel.

func (*HostTpmBootSecurityOptionEventDetails) GetHostTpmBootSecurityOptionEventDetails added in v0.26.0

func (b *HostTpmBootSecurityOptionEventDetails) GetHostTpmBootSecurityOptionEventDetails() *HostTpmBootSecurityOptionEventDetails

type HostTpmCommandEventDetails

type HostTpmCommandEventDetails struct {
	HostTpmEventDetails

	// Boot options as entered on the command line prompt at boot time.
	CommandLine string `xml:"commandLine" json:"commandLine"`
}

Details of an Trusted Platform Module (TPM) event recording options entered manually on the command line prompt at boot time.

type HostTpmDigestInfo

type HostTpmDigestInfo struct {
	HostDigestInfo

	// Index of the PCR that stores the TPM digest value.
	PcrNumber int32 `xml:"pcrNumber" json:"pcrNumber"`
}

This data object type describes the digest values in the Platform Configuration Register (PCR) of a Trusted Platform Module (TPM) device.

type HostTpmEventDetails

type HostTpmEventDetails struct {
	DynamicData

	// Value of the Platform Configuration Register (PCR) for this event.
	DataHash []byte `xml:"dataHash" json:"dataHash"`
	// Method in which the digest hash is calculated.
	//
	// The set of possible
	// values is described in `HostDigestInfoDigestMethodType_enum`.
	DataHashMethod string `xml:"dataHashMethod,omitempty" json:"dataHashMethod,omitempty" vim:"6.7"`
}

This is a base data object for describing an event generated by Trusted Platform Module (TPM).

It contains parameters common to all TPM event types.

func (*HostTpmEventDetails) GetHostTpmEventDetails

func (b *HostTpmEventDetails) GetHostTpmEventDetails() *HostTpmEventDetails

type HostTpmEventLogEntry

type HostTpmEventLogEntry struct {
	DynamicData

	// Index of the PCR that was affected by the event.
	PcrIndex int32 `xml:"pcrIndex" json:"pcrIndex"`
	// The details of the event.
	EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr" json:"eventDetails"`
}

This data object represents a single entry of an event log created by Trusted Platform Module (TPM).

An TPM event log entry represents a single change to the value of a Platform Configuration Register (PCR). It contains detailed information about the reason of PCR value change, and the specifics of the event.

Multiple objects of this type form an TPM event log. This log allows for verification of the both the software stack running on a host and the attestation process itself.

type HostTpmNvTagEventDetails added in v0.26.0

type HostTpmNvTagEventDetails struct {
	HostTpmBootSecurityOptionEventDetails
}

Details of an Trusted Platform Module (TPM) event recording TPM NVRAM tag.

type HostTpmOptionEventDetails

type HostTpmOptionEventDetails struct {
	HostTpmEventDetails

	// Name of the file containing the boot options.
	OptionsFileName string `xml:"optionsFileName" json:"optionsFileName"`
	// Options set by the boot option package.
	//
	// This array exposes the raw contents of the settings file (or files) that were
	// passed to kernel during the boot up process, and, therefore, should be treated
	// accordingly.
	BootOptions []byte `xml:"bootOptions,omitempty" json:"bootOptions,omitempty"`
}

Details of a Trusted Platform Module (TPM) event recording boot-time options.

The boot-time options set on the system are packaged into a file that is supplied to the kernel at boot time. The boot options may be a string of key=value pairs (possibly separated by a new line) or a blob of arbitrary data.

type HostTpmSignerEventDetails added in v0.29.0

type HostTpmSignerEventDetails struct {
	HostTpmBootSecurityOptionEventDetails
}

Details of a Trusted Platform Module (TPM) event recording the measurement of a signing key.

type HostTpmSoftwareComponentEventDetails

type HostTpmSoftwareComponentEventDetails struct {
	HostTpmEventDetails

	// Name of the software component that caused this TPM event.
	ComponentName string `xml:"componentName" json:"componentName"`
	// Name of the VIB containing the software component.
	VibName string `xml:"vibName" json:"vibName"`
	// Version of the VIB containing the software component.
	VibVersion string `xml:"vibVersion" json:"vibVersion"`
	// Vendor of the VIB containing the software component.
	VibVendor string `xml:"vibVendor" json:"vibVendor"`
}

Details of a Trusted Platform Module (TPM) event recording a software component related event.

This event is created when measuring a software component installed on the system. A software component may be a tardisk, a kernel module or any other type supported by the package system.

Some software components are not packaged as VIBs (currently the package database and persistent state information of ESXi). For these components the VIB fields will contain empty strings.

type HostTpmVersionEventDetails added in v0.29.0

type HostTpmVersionEventDetails struct {
	HostTpmEventDetails

	// A packed structure containing the module version.
	Version []byte `xml:"version" json:"version"`
}

Details of a Trusted Platform Module (TPM) event recording the measurement of a module version.

type HostTrustAuthorityAttestationInfo added in v0.24.0

type HostTrustAuthorityAttestationInfo struct {
	DynamicData

	// Status of the attestation.
	//
	// See `HostTrustAuthorityAttestationInfoAttestationStatus_enum` for the
	// supported values.
	AttestationStatus string `xml:"attestationStatus" json:"attestationStatus"`
	// ID of the attestation service in case of attestation success.
	//
	// Unset when
	// not attested.
	ServiceId string `xml:"serviceId,omitempty" json:"serviceId,omitempty"`
	// Time of attestation.
	AttestedAt *time.Time `xml:"attestedAt" json:"attestedAt,omitempty"`
	// Time until attestation is valid.
	AttestedUntil *time.Time `xml:"attestedUntil" json:"attestedUntil,omitempty"`
	// Messages explaining attestation failure or attestation status
	// retrieval errors, if any.
	Messages []LocalizableMessage `xml:"messages,omitempty" json:"messages,omitempty"`
}

This data object type represents result of the attestation done by Trust Authority attestation service.

type HostTrustAuthorityAttestationInfoAttestationStatus added in v0.24.0

type HostTrustAuthorityAttestationInfoAttestationStatus string

type HostUnresolvedVmfsExtent

type HostUnresolvedVmfsExtent struct {
	DynamicData

	// The device information
	Device HostScsiDiskPartition `xml:"device" json:"device"`
	// The device path of an VMFS extent
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// The UUID of the VMFS volume read from to the partition.
	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
	// Is this a copy of the head extent of the VMFS volume?
	IsHeadExtent bool `xml:"isHeadExtent" json:"isHeadExtent"`
	// A number indicating the order of an extent in a volume.
	//
	// An extent with
	// a lower ordinal value than another extent provides a range of blocks to
	// a volume at an earlier block address range. Extents with the same
	// ordinal provide the same range of blocks to a volume. A zero ordinal
	// indicates that the extent is a head extent.
	//
	// In the case each extent in the `HostUnresolvedVmfsVolume` is
	// represented in the list of `HostUnresolvedVmfsExtent` data objects,
	// the ordinal will refer to the absolute index of the extent in the
	// volume. For example, ordinal "1" refers to the second extent;
	// ordinal "2" refers to the third extent.
	//
	// In the case that some extents of the volume are not represented in
	// the `HostUnresolvedVmfsExtent` list, the ordinal will not precisely
	// describe the position in the list of extents. A number will be skipped
	// to indicate holes in the extent order. For example, given a volume with
	// five extents with the second and third extents missing, the ordinal
	// values in use will be {0, 2, 3}. The missing second and third extent
	// are represented by the missing ordinal value "1" while the fourth and
	// fifth extents will be assigned an ordinal of "2" and "3" respectively.
	//
	// The reason the ordinals are not reliable in the case of missing extents
	// is because the extents are identified by their start and end blocks.
	// The ordinals are just a hint used to help indicate extents that
	// correspond to the same start and end blocks.
	Ordinal int32 `xml:"ordinal" json:"ordinal"`
	// Index of the first block that this extent provides.
	StartBlock int32 `xml:"startBlock" json:"startBlock"`
	// Index of the last block that this extent provides.
	EndBlock int32 `xml:"endBlock" json:"endBlock"`
	// Reason as to why the partition is marked as copy
	// of a VMFS volume's extent.
	//
	// Possible reasons are the disk id is not matching with what
	// the scsi inq is saying or disk uuid is not matching
	//
	// See also `HostUnresolvedVmfsExtentUnresolvedReason_enum`.
	Reason string `xml:"reason" json:"reason"`
}

Information about an unresolved VMFS volume extent An unresolved VMFS volume extent is a device partition which is detected to have copy of an extent of a VMFS volume.

Such a copy can be created via replication or snapshots, for example.

See also `HostUnresolvedVmfsVolume`.

type HostUnresolvedVmfsExtentUnresolvedReason

type HostUnresolvedVmfsExtentUnresolvedReason string

Reasons for identifying the disk extent

type HostUnresolvedVmfsResignatureSpec

type HostUnresolvedVmfsResignatureSpec struct {
	DynamicData

	// List of device path each specifying VMFS extents.
	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
}

Specification to resignature an Unresolved VMFS volume.

type HostUnresolvedVmfsResolutionResult

type HostUnresolvedVmfsResolutionResult struct {
	DynamicData

	// The original UnresolvedVmfsResolutionSpec which user had specified
	Spec HostUnresolvedVmfsResolutionSpec `xml:"spec" json:"spec"`
	// Newly created VmfsVolume
	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
	// 'fault' would be set if the operation was not successful
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

When an UnresolvedVmfsVolume has been resignatured or forceMounted, we want to return the original spec information along with newly created VMFS volume.

type HostUnresolvedVmfsResolutionSpec

type HostUnresolvedVmfsResolutionSpec struct {
	DynamicData

	// List of device paths each specifying a VMFS extent.
	//
	// One extent must be specified. This property is represented as a
	// list to enable future enhancements to the interface.
	ExtentDevicePath []string `xml:"extentDevicePath" json:"extentDevicePath"`
	// When set to Resignature, new Uuid is assigned to the VMFS
	// volume.
	//
	// When set to 'forceMount', existing uuid is assigned
	// to the Vmfs volume and Vmfs volumes metadata doesn't change.
	//
	// See also `HostUnresolvedVmfsResolutionSpecVmfsUuidResolution_enum`.
	UuidResolution string `xml:"uuidResolution" json:"uuidResolution"`
}

An unresolved VMFS volume is reported when one or more device partitions of volume are detected to have copies of extents of the volume.

Such copies can be created via replication or snapshots, for example. This data object type describes how to resolve an unbound VMFS volume. The SCSI device path for each of the VMFS volume extent should be specified. For the current release, only head-extent needs to be specified. In future releases, we will allow user to specify explicitly all the extents which makes up a new Vmfs Volume.

type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution

type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string

type HostUnresolvedVmfsVolume

type HostUnresolvedVmfsVolume struct {
	DynamicData

	// List of detected copies of VMFS extents.
	Extent []HostUnresolvedVmfsExtent `xml:"extent" json:"extent"`
	// The detected VMFS label name
	VmfsLabel string `xml:"vmfsLabel" json:"vmfsLabel"`
	// The detected VMFS UUID
	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
	// Total number of blocks in this volume.
	TotalBlocks int32 `xml:"totalBlocks" json:"totalBlocks"`
	// Information related to how the volume might be resolved.
	ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus" json:"resolveStatus"`
}

Information about detected unbound, unresolved VMFS volume.

An unresolved VMFS volume is reported when one or more device partitions of volume are detected to have copies of extents of the volume. Such copies can be created via replication or snapshots.

UnresolvedVmfsVolume are not mounted on the host where they are detected. User may choose to resignature the volume in which case a new Uuid is assigned to the volume and contents of the VMFS volume is kept intact.

User may choose to keep the original Uuid and mount the VMFS volume as it is on the given host. In this case, user has chosen to mount the copy of the VMFS volume on that host with no change to the original Uuid. This may fail with VmfsVolumeAlreadyMounted exception if there is an existing VMFS volume with the same Uuid mounted somewhere in the same datacenter.

Simple diagram representing the possible operations on UnresolvedVmfsVolume

---------------------------------------------------------------------------
|                resignature                 forceMount                   |
|  VmfsVolume <---------------  Unresolved ------------>  VmfsVolume with |
| forceMountedInfo              Vmfs Volume              forceMountedInfo |
|  not set                                                  will be set   |
---------------------------------------------------------------------------

See also `HostStorageSystem`.

type HostUnresolvedVmfsVolumeResolveStatus

type HostUnresolvedVmfsVolumeResolveStatus struct {
	DynamicData

	// Can this volume be resolved? There may be other reasons a volume cannot
	// be resolved other than the fact that it is incomplete.
	//
	// This boolean will
	// authoritatively indicate if the server can resolve this volume.
	Resolvable bool `xml:"resolvable" json:"resolvable"`
	// Is the list of extents for the volume a partial list? A volume can only
	// be resignatured if all extents composing that volume are available.
	//
	// Hence, a volume with a partial extent list cannot be resignatured.
	//
	// In cases where this information is not known for a volume, this
	// property will be unset.
	IncompleteExtents *bool `xml:"incompleteExtents" json:"incompleteExtents,omitempty"`
	// Are there multiple copies of extents for this volume? If any extent of
	// the volume has multiple copies then the extents to be resolved must be
	// explicitly specified when resolving this volume.
	//
	// In cases where this information is not known for a volume, this
	// property will be unset.
	MultipleCopies *bool `xml:"multipleCopies" json:"multipleCopies,omitempty"`
}

Data object that describes the resolvability of a volume.

type HostUpdateVStorageObjectMetadataExRequestType added in v0.26.0

type HostUpdateVStorageObjectMetadataExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// array of key/value strings. (keys must be unique
	// within the list)
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
	// array of keys need to be deleted
	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
}

The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadataEx_Task`.

type HostUpdateVStorageObjectMetadataEx_Task added in v0.26.0

type HostUpdateVStorageObjectMetadataEx_Task HostUpdateVStorageObjectMetadataExRequestType

type HostUpdateVStorageObjectMetadataEx_TaskResponse added in v0.26.0

type HostUpdateVStorageObjectMetadataEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostUpdateVStorageObjectMetadataRequestType added in v0.21.0

type HostUpdateVStorageObjectMetadataRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// array of key/value strings. (keys must be unique
	// within the list)
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
	// array of keys need to be deleted
	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
}

The parameters of `HostVStorageObjectManager.HostUpdateVStorageObjectMetadata_Task`.

type HostUpdateVStorageObjectMetadata_Task added in v0.21.0

type HostUpdateVStorageObjectMetadata_Task HostUpdateVStorageObjectMetadataRequestType

type HostUpdateVStorageObjectMetadata_TaskResponse added in v0.21.0

type HostUpdateVStorageObjectMetadata_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostUpgradeFailedEvent

type HostUpgradeFailedEvent struct {
	HostEvent
}

This event records a failure to connect to a host due to an installation or upgrade issue.

type HostUserWorldSwapNotEnabledEvent

type HostUserWorldSwapNotEnabledEvent struct {
	HostEvent
}

Deprecated as of vSphere API 5.0, the event is no longer relevant.

This event records that the userworld swap is not enabled on the host.

HA needs userworld swap to be configured on embedded ESX hosts to function.

type HostVFlashManagerVFlashCacheConfigInfo

type HostVFlashManagerVFlashCacheConfigInfo struct {
	DynamicData

	// Cache configuration options for the supported vFlash modules.
	VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty" json:"vFlashModuleConfigOption,omitempty"`
	// Name of the default vFlash module for the read-write cache associated
	// with the VMs of this host.
	//
	// This setting can be overridden by
	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
	// per VMDK.
	DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty" json:"defaultVFlashModule,omitempty"`
	// Amount of vFlash resource is allocated to the host swap cache.
	//
	// As long as set,
	// reservation will be permanent and retain regardless of host power state. The host
	// swap cache will be disabled if reservation is set to zero.
	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty" json:"swapCacheReservationInGB,omitempty"`
}

Data object describes host vFlash cache configuration information.

type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption

type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct {
	DynamicData

	// Name of the vFlash module
	VFlashModule string `xml:"vFlashModule" json:"vFlashModule"`
	// Version of the vFlash module
	VFlashModuleVersion string `xml:"vFlashModuleVersion" json:"vFlashModuleVersion"`
	// Minimum supported version
	MinSupportedModuleVersion string `xml:"minSupportedModuleVersion" json:"minSupportedModuleVersion"`
	// Cache data consistency types.
	//
	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
	// Cache modes.
	//
	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
	// blockSizeInKBOption defines a range of virtual disk cache block size.
	BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption" json:"blockSizeInKBOption"`
	// reservationInMBOption defines a range of virtual disk cache size.
	ReservationInMBOption LongOption `xml:"reservationInMBOption" json:"reservationInMBOption"`
	// Maximal size of virtual disk supported in kilobytes.
	MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB" json:"maxDiskSizeInKB"`
}

type HostVFlashManagerVFlashCacheConfigSpec

type HostVFlashManagerVFlashCacheConfigSpec struct {
	DynamicData

	// Name of the default vFlash module for the read-write caches associated
	// with the VMs of this host.
	//
	// This setting can be overridden by
	// `VirtualDiskVFlashCacheConfigInfo.vFlashModule`
	// per VMDK.
	DefaultVFlashModule string `xml:"defaultVFlashModule" json:"defaultVFlashModule"`
	// Amount of vFlash resource is allocated to the host swap cache.
	//
	// As long as set,
	// reservation will be permanent and retain regardless of host power state. The host
	// swap cache will be disabled if the reservation is set to zero.
	SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB" json:"swapCacheReservationInGB"`
}

Specification to configure vFlash cache on the host.

type HostVFlashManagerVFlashConfigInfo

type HostVFlashManagerVFlashConfigInfo struct {
	DynamicData

	// vFlash resource configuration information
	VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty" json:"vFlashResourceConfigInfo,omitempty"`
	// vFlash cache configuration information
	VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty"`
}

vFlash configuration Information.

type HostVFlashManagerVFlashResourceConfigInfo

type HostVFlashManagerVFlashResourceConfigInfo struct {
	DynamicData

	// The contained VFFS volume
	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
	// Capacity of the vFlash resource.
	//
	// It is the capacity
	// of the contained VFFS volume.
	Capacity int64 `xml:"capacity" json:"capacity"`
}

vFlash resource configuration Information.

type HostVFlashManagerVFlashResourceConfigSpec

type HostVFlashManagerVFlashResourceConfigSpec struct {
	DynamicData

	// The contained VFFS volume uuid.
	VffsUuid string `xml:"vffsUuid" json:"vffsUuid"`
}

vFlash resource configuration specification.

type HostVFlashManagerVFlashResourceRunTimeInfo

type HostVFlashManagerVFlashResourceRunTimeInfo struct {
	DynamicData

	// Overall usage of vFlash resource, in bytes.
	Usage int64 `xml:"usage" json:"usage"`
	// Overall capacity of vFlash resource, in bytes.
	Capacity int64 `xml:"capacity" json:"capacity"`
	// True if all the included the VFFS volumes are accessible.
	//
	// False if one or
	// multiple included VFFS volumes are inaccessible.
	Accessible bool `xml:"accessible" json:"accessible"`
	// vFlash resource capacity can be allocated for VM caches
	CapacityForVmCache int64 `xml:"capacityForVmCache" json:"capacityForVmCache"`
	// Free vFlash resource can be allocated for VM caches
	FreeForVmCache int64 `xml:"freeForVmCache" json:"freeForVmCache"`
}

Data object provides vFlash resource runtime usage.

type HostVFlashResourceConfigurationResult

type HostVFlashResourceConfigurationResult struct {
	DynamicData

	// The original array of device path which user had specified
	DevicePath []string `xml:"devicePath,omitempty" json:"devicePath,omitempty"`
	// Newly configured VffsVolume
	Vffs *HostVffsVolume `xml:"vffs,omitempty" json:"vffs,omitempty"`
	// Array of device operation results.
	DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty" json:"diskConfigurationResult,omitempty"`
}

vFlash resource configuration result returns the newly-configured backend VFFS volume and operation result for each passed-in SSD device.

type HostVMotionCompatibility

type HostVMotionCompatibility struct {
	DynamicData

	// The prospective host for the virtual machine.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Ways in which the host is compatible with the designated virtual
	// machine that is a candidate for VMotion.
	//
	// This array will be
	// a subset of the set of VMotionCompatibilityType strings that
	// were input to queryVMotionCompatibility.
	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
}

The object type for the array returned by queryVMotionCompatibility; specifies the VMotion compatibility types for a host.

type HostVMotionConfig

type HostVMotionConfig struct {
	DynamicData

	// Key of the VirtualNic used for VMotion.
	VmotionNicKey string `xml:"vmotionNicKey,omitempty" json:"vmotionNicKey,omitempty"`
	// Flag to indicate whether or not VMotion is enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
}

This data object configuring VMotion on the host.

The runtime information is available from the `VMotionInfo` data object type.

type HostVMotionInfo

type HostVMotionInfo struct {
	DynamicData

	// VMotion network configuration.
	NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
	// IP configuration of the VMotion VirtualNic.
	IpConfig *HostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
}

Deprecated as of VI API 4.0, use `HostVirtualNicManagerInfo`.

This data object type describes VMotion host configuration data objects.

type HostVMotionManagerDstInstantCloneResult added in v0.23.0

type HostVMotionManagerDstInstantCloneResult struct {
	DynamicData

	// The destination VM ID of the InstantCloned VM.
	DstVmId int32 `xml:"dstVmId,omitempty" json:"dstVmId,omitempty"`
	// Time stamp at the start of the InstantClone operation at the dest
	// VM.
	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
	// Time stamp when the destination VM starts cpt load.
	CptLoadTime int64 `xml:"cptLoadTime,omitempty" json:"cptLoadTime,omitempty"`
	// Time stamp when the destination VM completes cpt load.
	CptLoadDoneTime int64 `xml:"cptLoadDoneTime,omitempty" json:"cptLoadDoneTime,omitempty"`
	// Time stamp when the destination VM completes replicating memory.
	ReplicateMemDoneTime int64 `xml:"replicateMemDoneTime,omitempty" json:"replicateMemDoneTime,omitempty"`
	// Time stamp when the migration completes on the destination VM.
	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
	// Device checkpoint stream time.
	CptXferTime int64 `xml:"cptXferTime,omitempty" json:"cptXferTime,omitempty"`
	// Checkpoint cache size used.
	CptCacheUsed int64 `xml:"cptCacheUsed,omitempty" json:"cptCacheUsed,omitempty"`
	// Device checkpoint stream size.
	DevCptStreamSize int64 `xml:"devCptStreamSize,omitempty" json:"devCptStreamSize,omitempty"`
	// Device checkpoint stream time.
	DevCptStreamTime int64 `xml:"devCptStreamTime,omitempty" json:"devCptStreamTime,omitempty"`
}

The result of an InstantClone task.

Contains the dest VM id and timestamp values at the time of different operations.

type HostVMotionManagerSrcInstantCloneResult added in v0.23.0

type HostVMotionManagerSrcInstantCloneResult struct {
	DynamicData

	// Time stamp at the start of the InstantClone operation at the
	// source VM.
	StartTime int64 `xml:"startTime,omitempty" json:"startTime,omitempty"`
	// Time stamp when the source VM enters quiesce state.
	QuiesceTime int64 `xml:"quiesceTime,omitempty" json:"quiesceTime,omitempty"`
	// Time stamp when the source VM successfully quiesces.
	QuiesceDoneTime int64 `xml:"quiesceDoneTime,omitempty" json:"quiesceDoneTime,omitempty"`
	// Time stamp when the source VM completes resuming.
	ResumeDoneTime int64 `xml:"resumeDoneTime,omitempty" json:"resumeDoneTime,omitempty"`
	// Time stamp when the migration completes on the source VM.
	EndTime int64 `xml:"endTime,omitempty" json:"endTime,omitempty"`
}

The result of an InstantClone InitiateSource task.

Contains the timestamp value at the time of different operations.

type HostVMotionNetConfig

type HostVMotionNetConfig struct {
	DynamicData

	// List of VirtualNic objects that may be used for VMotion.
	//
	// This will be a subset of the list of VirtualNics in
	// `HostNetworkInfo.vnic`.
	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
	// VirtualNic that is selected for use in VMotion operations.
	SelectedVnic string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
}

The NetConfig data object type contains the networking configuration for VMotion operations.

type HostVStorageObjectCreateDiskFromSnapshotRequestType added in v0.18.0

type HostVStorageObjectCreateDiskFromSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of the virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
	// A user friendly name to be associated with the new disk.
	Name string `xml:"name" json:"name"`
	// SPBM Profile requirement on the new virtual storage object.
	// If not specified datastore default policy would be
	// assigned.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
	// Crypto information of the new disk.
	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
	// Relative location in the specified datastore where disk needs
	// to be created. If not specified disk gets created at defualt
	// VStorageObject location on the specified datastore
	Path string `xml:"path,omitempty" json:"path,omitempty"`
	// Provisioining type of the disk as specified in above
	// mentioned profile. The list of supported values can be found in
	// `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty" vim:"8.0.0.1"`
}

The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateDiskFromSnapshot_Task`.

type HostVStorageObjectCreateDiskFromSnapshot_Task added in v0.18.0

type HostVStorageObjectCreateDiskFromSnapshot_Task HostVStorageObjectCreateDiskFromSnapshotRequestType

type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse added in v0.18.0

type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostVStorageObjectCreateSnapshotRequestType added in v0.18.0

type HostVStorageObjectCreateSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// A short description to be associated with the snapshot.
	Description string `xml:"description" json:"description"`
}

The parameters of `HostVStorageObjectManager.HostVStorageObjectCreateSnapshot_Task`.

type HostVStorageObjectCreateSnapshot_Task added in v0.18.0

type HostVStorageObjectCreateSnapshot_Task HostVStorageObjectCreateSnapshotRequestType

type HostVStorageObjectCreateSnapshot_TaskResponse added in v0.18.0

type HostVStorageObjectCreateSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostVStorageObjectDeleteSnapshotRequestType added in v0.18.0

type HostVStorageObjectDeleteSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `HostVStorageObjectManager.HostVStorageObjectDeleteSnapshot_Task`.

type HostVStorageObjectDeleteSnapshot_Task added in v0.18.0

type HostVStorageObjectDeleteSnapshot_Task HostVStorageObjectDeleteSnapshotRequestType

type HostVStorageObjectDeleteSnapshot_TaskResponse added in v0.18.0

type HostVStorageObjectDeleteSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostVStorageObjectRetrieveSnapshotInfo added in v0.18.0

type HostVStorageObjectRetrieveSnapshotInfo HostVStorageObjectRetrieveSnapshotInfoRequestType

type HostVStorageObjectRetrieveSnapshotInfoRequestType added in v0.18.0

type HostVStorageObjectRetrieveSnapshotInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostVStorageObjectManager.HostVStorageObjectRetrieveSnapshotInfo`.

type HostVStorageObjectRetrieveSnapshotInfoResponse added in v0.18.0

type HostVStorageObjectRetrieveSnapshotInfoResponse struct {
	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
}

type HostVStorageObjectRevertRequestType added in v0.18.0

type HostVStorageObjectRevertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `HostVStorageObjectManager.HostVStorageObjectRevert_Task`.

type HostVStorageObjectRevert_Task added in v0.18.0

type HostVStorageObjectRevert_Task HostVStorageObjectRevertRequestType

type HostVStorageObjectRevert_TaskResponse added in v0.18.0

type HostVStorageObjectRevert_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HostVfatVolume

type HostVfatVolume struct {
	HostFileSystemVolume
}

VFAT file system volume.

type HostVffsSpec

type HostVffsSpec struct {
	DynamicData

	// The device path of the SSD disk.
	//
	// See also `HostScsiDisk.devicePath`.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// Partition specification of the SSD disk.
	//
	// If this property
	// is not provided, partition information will be computed
	// and generated.
	Partition *HostDiskPartitionSpec `xml:"partition,omitempty" json:"partition,omitempty"`
	// Major version number of VFFS.
	//
	// This can be changed if the VFFS is
	// upgraded, but this is an irreversible change.
	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
	// Volume name of VFFS.
	VolumeName string `xml:"volumeName" json:"volumeName"`
}

This data object type describes the VFFS creation specification.

type HostVffsVolume

type HostVffsVolume struct {
	HostFileSystemVolume

	// Major version number of VFFS.
	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
	// Version string.
	//
	// Contains major and minor version numbers.
	Version string `xml:"version" json:"version"`
	// The universally unique identifier assigned to VFFS.
	Uuid string `xml:"uuid" json:"uuid"`
	// The list of partition names that comprise this disk's
	// VFFS extents.
	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
}

vFlash File System Volume.

type HostVirtualNic

type HostVirtualNic struct {
	DynamicData

	// Device name.
	Device string `xml:"device" json:"device"`
	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
	// portgroup connected.
	//
	// If the Virtual NIC is connecting to a
	// DistributedVirtualSwitch or opaque network, this property is an empty string.
	Portgroup string `xml:"portgroup" json:"portgroup"`
	// Configurable properties for the virtual network adapter object.
	Spec HostVirtualNicSpec `xml:"spec" json:"spec"`
	// Port(`HostPortGroup.port`) on the port group that the virtual
	// NIC is using when it is enabled.
	//
	// If the Virtual NIC is connected to
	// DistributedVirtualSwitch or opaque network, this property is unset.
	Port string `xml:"port,omitempty" json:"port,omitempty"`
}

The `HostVirtualNic` data object describes a virtual network adapter that connects to a virtual switch.

A host virtual NIC differs from a physical NIC:

  • A host virtual NIC is a virtual device that is connected to a virtual switch.
  • A physical NIC (`HostNetworkInfo.pnic`) corresponds to a physical device that is connected to the physical network.

A host virtual NIC provides access to the external network through a virtual switch that is bridged through a Physical NIC to a physical network.

type HostVirtualNicConfig

type HostVirtualNicConfig struct {
	DynamicData

	// Change operation to apply on this configuration specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// Virtual NIC device (`HostVirtualNic.device`) to which
	// configuration applies.
	Device string `xml:"device,omitempty" json:"device,omitempty"`
	// If the Virtual NIC is connecting to a vSwitch, this property is the name of
	// portgroup connected.
	//
	// If the Virtual NIC is connecting to a
	// `DistributedVirtualSwitch` or `HostOpaqueNetworkInfo`,
	// this property is ignored.
	Portgroup string `xml:"portgroup" json:"portgroup"`
	// Specification of the virtual network adapter.
	Spec *HostVirtualNicSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The `HostVirtualNicConfig` data object describes the virtual NIC configuration.

It represents both the configured properties on a `HostVirtualNic` and identification information.

type HostVirtualNicConnection

type HostVirtualNicConnection struct {
	DynamicData

	// Name of the portgroup to which the virtual nic is connected to.
	//
	// If this parameter is set, use a virtual nic connected to
	// a legacy portgroup.
	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
	// Identifier for the DistributedVirtualPort.
	//
	// If the virtual nic is to be connected to a DVS,
	// \#dvPort will be set instead of #portgroup
	DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty" json:"dvPort,omitempty"`
	// Identifier for the opaqueNetworkSpec virtual nic connected to.
	//
	// If the virtual nic is to be connected to a logicSwitch,
	// \#opNetwork will be set instead of #portgroup and #dvPort
	OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty" json:"opNetwork,omitempty" vim:"6.7"`
}

DataObject which provides a level of indirection when identifying VirtualNics during configuration.

This dataObject lets users specify a VirtualNic in terms of the portgroup/Dv Port the Virtual NIC is connected to. This is useful in cases where VirtualNic will be created as part of a configuration operation and the created VirtualNic is referred to in some other part of configuration. e.g: for configuring VMotion

type HostVirtualNicIpRouteSpec added in v0.12.0

type HostVirtualNicIpRouteSpec struct {
	DynamicData

	// By default, a host virtual NIC uses default gateway configuration
	// from it's `HostNetStackInstance`.
	//
	// A custom IPv4 and IPv6
	// default gateway can be configured by specifying valid
	// `HostIpRouteConfig.defaultGateway` and
	// `HostIpRouteConfig.ipV6DefaultGateway` properties.
	// A user defined IPv4 and IPv6 default gateway can be removed by
	// unsetting corresponding gateway property from ipRouteConfig.
	IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr" json:"ipRouteConfig,omitempty"`
}

The `HostVirtualNicIpRouteSpec` data object describes the IpRoute configuration used by virtual NIC.

type HostVirtualNicManagerInfo

type HostVirtualNicManagerInfo struct {
	DynamicData

	// List of VirtualNicManager network configuration.
	//
	// See also `VirtualNicManagerNetConfig`This contains the network
	// configuration for each NicType..
	NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty" json:"netConfig,omitempty"`
}

This data object type describes VirtualNic host configuration data objects.

type HostVirtualNicManagerNicType

type HostVirtualNicManagerNicType string

type HostVirtualNicManagerNicTypeSelection

type HostVirtualNicManagerNicTypeSelection struct {
	DynamicData

	// VirtualNic for the selection is being made
	Vnic    HostVirtualNicConnection `xml:"vnic" json:"vnic"`
	NicType []string                 `xml:"nicType,omitempty" json:"nicType,omitempty"`
}

DataObject which lets a VirtualNic be marked for use as a `HostVirtualNicManagerNicType_enum`.

type HostVirtualNicOpaqueNetworkSpec

type HostVirtualNicOpaqueNetworkSpec struct {
	DynamicData

	// ID of the Opaque network to which the virtual NIC is connected.
	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
	// Type of the Opaque network to which the virtual NIC is connected.
	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
}

The `HostVirtualNicOpaqueNetworkSpec` data object describes the opaque network(`HostOpaqueNetworkInfo`) configuration used by virtual NIC.

type HostVirtualNicSpec

type HostVirtualNicSpec struct {
	DynamicData

	// IP configuration on the virtual network adapter.
	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
	// Media access control (MAC) address of the virtual network adapter.
	Mac string `xml:"mac,omitempty" json:"mac,omitempty"`
	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
	// connection.
	//
	// To specify a port connection, set
	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portKey`
	// properties. To specify a portgroup connection, set
	// `DistributedVirtualSwitchPortConnection.switchUuid` and `DistributedVirtualSwitchPortConnection.portgroupKey`
	// properties.
	//
	// When reconfiguring a virtual NIC, this property indicates the new portgroup
	// to which the virtual NIC should connect. You can specify this property
	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
	// `HostVirtualNicSpec.opaqueNetwork`
	DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty" json:"distributedVirtualPort,omitempty" vim:"4.0"`
	// Portgroup (`HostPortGroup`) to which the virtual NIC is connected.
	//
	// When reconfiguring a virtual NIC, this property indicates the new portgroup
	// to which the virtual NIC should connect. You can specify this property
	// only if you do not specify `HostVirtualNicSpec.distributedVirtualPort` and
	// `HostVirtualNicSpec.opaqueNetwork`
	Portgroup string `xml:"portgroup,omitempty" json:"portgroup,omitempty" vim:"4.0"`
	// Maximum transmission unit for packets size in bytes for the virtual
	// NIC.
	//
	// If not specified, the Server will use the system default value.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"4.0"`
	// Flag enabling or disabling TCP segmentation offset for a virtual NIC.
	//
	// If not specified, a default value of true will be used.
	TsoEnabled *bool `xml:"tsoEnabled" json:"tsoEnabled,omitempty" vim:"4.0"`
	// The NetStackInstance that the virtual NIC uses, the value of this property
	// is default to be `defaultTcpipStack`
	NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty" json:"netStackInstanceKey,omitempty" vim:"5.5"`
	// Opaque network (`HostOpaqueNetworkInfo`) to which the
	// virtual NIC is connected.
	//
	// When reconfiguring a virtual NIC, this property indicates the specification
	// of opaque network to which the virtual NIC should connect. You can specify
	// this property only if you do not specify `HostVirtualNicSpec.distributedVirtualPort`
	// and `HostVirtualNicSpec.portgroup`.
	OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty" json:"opaqueNetwork,omitempty" vim:"6.0"`
	// An ID assigned to the vmkernel adapter by external management plane.
	//
	// The value and format of this property is determined by external management
	// plane, and vSphere doesn't do any validation. It's also up to external
	// management plane to set, unset or maintain this property.
	//
	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set,
	// otherwise it's value is ignored.
	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.0"`
	// The physical nic to which the vmkernel adapter is pinned.
	//
	// Setting this value
	// ensures that the virtual NIC will access external network only via the
	// the specified physical NIC.
	//
	// This property is applicable only when `HostVirtualNicSpec.opaqueNetwork` property is set.
	// If the vmkernel adapter is connected to a portgroup or dvPort, then such
	// pinning can be achieved by configuring correct teaming policy on the portgroup
	// or dvPort or dvPortgroup that is connected to virtual NIC.
	PinnedPnic string `xml:"pinnedPnic,omitempty" json:"pinnedPnic,omitempty" vim:"6.0"`
	// The ip route configuration used by the vmkernel adapter.
	//
	// This attribute
	// allows the vmkernel adapter to specify its own default gateway.
	IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty" json:"ipRouteSpec,omitempty" vim:"6.5"`
	// Set to true when the vmkernel adapter is configured by
	// other system indirectly other than by the user directly.
	SystemOwned *bool `xml:"systemOwned" json:"systemOwned,omitempty" vim:"7.0"`
	// The identifier of the DPU hosting the vmknic.
	//
	// If vmknic is on ESX host, dpuId will be unset.
	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
}

The `HostVirtualNicSpec` data object describes the `HostVirtualNic` configuration containing both the configured properties on a virtual NIC and identification information.

type HostVirtualSwitch

type HostVirtualSwitch struct {
	DynamicData

	// The name of the virtual switch.
	//
	// Maximum length is 32 characters.
	Name string `xml:"name" json:"name"`
	// The virtual switch key.
	Key string `xml:"key" json:"key"`
	// The number of ports that this virtual switch currently has.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// The number of ports that are available on this virtual switch.
	//
	// There
	// are a number of networking services that utilize a port on the virtual
	// switch and are not accounted for in the Port array of a PortGroup. For
	// example, each physical NIC attached to a virtual switch consumes one
	// port. This property should be used when attempting to implement
	// admission control for new services attaching to virtual switches.
	NumPortsAvailable int32 `xml:"numPortsAvailable" json:"numPortsAvailable"`
	// The maximum transmission unit (MTU) associated with this virtual switch
	// in bytes.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"2.5"`
	// The list of port groups configured for this virtual switch.
	Portgroup []string `xml:"portgroup,omitempty" json:"portgroup,omitempty"`
	// The set of physical network adapters associated with this bridge.
	Pnic []string `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// The specification of this virtual switch.
	Spec HostVirtualSwitchSpec `xml:"spec" json:"spec"`
}

The virtual switch is a software entity to which multiple virtual network adapters can connect to create a virtual network.

It can also be bridged to a physical network.

type HostVirtualSwitchAutoBridge

type HostVirtualSwitchAutoBridge struct {
	HostVirtualSwitchBridge

	// List of physical network adapters that have been excluded from
	// participating in the AutoBridge
	ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty" json:"excludedNicDevice,omitempty" vim:"2.5"`
}

This data type describes a bridge that automatically selects a particular physical network adapter on the host according to some predetermined policy.

Used primarily to support mobility scenarios.

type HostVirtualSwitchBeaconConfig

type HostVirtualSwitchBeaconConfig struct {
	DynamicData

	// Determines how often, in seconds, a beacon should be sent.
	Interval int32 `xml:"interval" json:"interval"`
}

This data object type describes the configuration of the beacon to probe connectivity of physical network adapters.

A beacon is sent out of one network adapter and should arrive on another network adapter in the team. The successful roundtrip indicates that the network adapters are working.

Define this data object to enable beacon probing as a method to validate the link status of a physical network adapter. Beacon probing must be configured in order to use the beacon status as a criteria to determine if a physical network adapter failed.

See also `HostNicFailureCriteria.checkBeacon`.

type HostVirtualSwitchBondBridge

type HostVirtualSwitchBondBridge struct {
	HostVirtualSwitchBridge

	// The list of keys of the physical network adapters to be bridged.
	NicDevice []string `xml:"nicDevice" json:"nicDevice"`
	// The beacon configuration to probe for the validity of a link.
	//
	// If this is set, beacon probing is configured and will be used.
	// If this is not set, beacon probing is disabled.
	Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty" json:"beacon,omitempty"`
	// The link discovery protocol configuration for the virtual switch.
	//
	// See also `LinkDiscoveryProtocolConfig`.
	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty" vim:"4.0"`
}

This data object type describes a bridge that provides network adapter teaming capabilities.

type HostVirtualSwitchBridge

type HostVirtualSwitchBridge struct {
	DynamicData
}

A bridge connects a virtual switch to a physical network adapter.

There are multiple types of bridges.

func (*HostVirtualSwitchBridge) GetHostVirtualSwitchBridge

func (b *HostVirtualSwitchBridge) GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge

type HostVirtualSwitchConfig

type HostVirtualSwitchConfig struct {
	DynamicData

	// This property indicates the change operation to apply on
	// this configuration specification.
	//
	// See also `HostConfigChangeOperation_enum`.
	ChangeOperation string `xml:"changeOperation,omitempty" json:"changeOperation,omitempty"`
	// The name of the virtual switch.
	//
	// Maximum length is 32 characters.
	Name string `xml:"name" json:"name"`
	// The specification of the VirtualSwitch.
	Spec *HostVirtualSwitchSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

This data object type describes the VirtualSwitch configuration containing both the configurable properties on a VirtualSwitch and identification information.

type HostVirtualSwitchSimpleBridge

type HostVirtualSwitchSimpleBridge struct {
	HostVirtualSwitchBridge

	// The key of the physical network adapter to be bridged.
	NicDevice string `xml:"nicDevice" json:"nicDevice"`
}

A bridge that is statically bound to a single physical network adapter.

type HostVirtualSwitchSpec

type HostVirtualSwitchSpec struct {
	DynamicData

	// The number of ports that this virtual switch is configured to use.
	//
	// Changing this setting does not take effect until the next reboot. The maximum
	// value is 1024, although other constraints, such as memory limits, may establish
	// a lower effective limit.
	NumPorts int32 `xml:"numPorts" json:"numPorts"`
	// The bridge specification describes how physical network adapters
	// can be bridged to a virtual switch.
	Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr" json:"bridge,omitempty"`
	// The virtual switch policy specification.
	//
	// This has a lower
	// precedence than PortGroup. If the policy property is not set
	// and you are creating a virtual switch, then a default
	// policy property setting is used. If the policy property is not
	// set and you are updating a virtual switch, then the policy will
	// be unchanged.
	Policy *HostNetworkPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
	// The maximum transmission unit (MTU) of the virtual switch in bytes.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty" vim:"2.5"`
}

This data object type describes the VirtualSwitch specification representing the properties on a VirtualSwitch that can be configured once the object exists.

type HostVmciAccessManagerAccessSpec

type HostVmciAccessManagerAccessSpec struct {
	DynamicData

	Vm       ManagedObjectReference `xml:"vm" json:"vm"`
	Services []string               `xml:"services,omitempty" json:"services,omitempty"`
	Mode     string                 `xml:"mode" json:"mode"`
}

The AccessSpec data object declares an update to the service access granted to a VM.

The given list of services will either be granted in addition to existing services, replace the existing service or be revoked depending on the mode specified. In case of a revoke, an empty or non-existing service list indicates that all granted services should be revoked.

type HostVmciAccessManagerMode

type HostVmciAccessManagerMode string

type HostVmfsRescanResult

type HostVmfsRescanResult struct {
	DynamicData

	// Host name on which rescan was performed
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// 'fault' would be set if the operation was not successful
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

When a user resignatures an UnresolvedVmfsVolume through DatastoreSystem API, we resignature and auto-mount on the other hosts which share the same underlying storage luns.

As part of the operation, we rescan host. This data object describes the outcome of rescan operation on a host

type HostVmfsSpec

type HostVmfsSpec struct {
	DynamicData

	// Head extent of VMFS.
	//
	// The head extent identifies the VMFS. However,
	// the head extent should not be used to identify the VMFS across host
	// reboots. The actual identifier is specified in "vmhbaI:T:L" format
	// which is not guaranteed to be stable across reboots. Define a volume
	// name that is unique to the host and use it to refer to the VMFS.
	// Alternatively, the immutable UUID of the VMFS can be used after it
	// is created.
	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
	// Deprecated as of vSphere API 6.5, use
	// `HostVmfsSpec.blockSize` instead.
	//
	// The block size of VMFS in megabytes (MB).
	//
	// Determines the maximum file
	// size. If this optional property is not set, the maximum
	// file size defaults to the maximum file size for the platform.
	//
	// In VMFS2, the valid block sizes 1MB, 2MB, 4MB, 8MB, 16MB, 32MB, 64MB,
	// 128MB, and 256MB.
	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
	// In VMFS5, the only valid block size is 1MB.
	BlockSizeMb int32 `xml:"blockSizeMb,omitempty" json:"blockSizeMb,omitempty"`
	// Major version number of VMFS.
	//
	// This can be changed if the VMFS is
	// upgraded, but this is an irreversible change.
	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
	// Volume name of VMFS.
	VolumeName string `xml:"volumeName" json:"volumeName"`
	// The block size of VMFS in kilotypes (KB).
	//
	// Determines the maximum file
	// size. If this optional property is not set, the maximum
	// file size defaults to the maximum file size for the platform.
	//
	// In VMFS3, the valid block sizes are 1MB, 2MB, 4MB, and 8MB.
	// In VMFS5, the only valid block size is 1MB.
	// In VMFS6, the valid block sizes are 64KB and 1MB.
	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty" vim:"6.5"`
	// The granularity of VMFS unmap operations.
	//
	// VMFS unmap reclaims
	// unused storage space.
	// The unit is KB. The minimum unmap granularity is 8KB. The maximum
	// unmap granularity is determined by the block size of VMFS
	// `HostVmfsVolume.blockSize`.
	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty" vim:"6.5"`
	// VMFS unmap priority.
	//
	// VMFS unmap reclaims unused storage space. This
	// determines the processing rate of unmaps.
	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty" vim:"6.5"`
	// VMFS unmap bandwidth related specification.
	//
	// See
	// `VmfsUnmapBandwidthSpec` for detail.
	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty" vim:"6.7"`
}

This data object type describes the VMware File System (VMFS) creation specification.

Once created, these properties for the most part cannot be changed. There are a few exceptions.

type HostVmfsVolume

type HostVmfsVolume struct {
	HostFileSystemVolume

	// Deprecated as of vSphere API 6.5, use
	// `HostVmfsVolume.blockSize` instead.
	//
	// Block size of VMFS.
	//
	// Determines maximum file size. The maximum number
	// of blocks is typically fixed with each specific version of VMFS. To
	// increase the maximum size of a VMFS file, increase the block size.
	//
	// The minimum block size is 1MB.
	BlockSizeMb int32 `xml:"blockSizeMb" json:"blockSizeMb"`
	// Block size of VMFS in KB.
	//
	// Determines maximum file size. The maximum
	// number of blocks is typically fixed with each specific version of VMFS.
	// To increase the maximum size of a VMFS file, increase the block size.
	//
	// The minimum block size is 1MB.
	BlockSize int32 `xml:"blockSize,omitempty" json:"blockSize,omitempty" vim:"6.5"`
	// VMFS unmap reclaims unused storage space.
	//
	// This property
	// determines the granularity of unmap operations.
	// The unit is KB. If not specified, the default value is the same as
	// the block size of VMFS `HostVmfsVolume.blockSize`.
	// This property cannot be changed after a VMFS volume is created.
	UnmapGranularity int32 `xml:"unmapGranularity,omitempty" json:"unmapGranularity,omitempty" vim:"6.5"`
	// VMFS unmap reclaims unused storage space.
	//
	// This property
	// determines the processing rate of unmaps.
	// See `HostVmfsVolumeUnmapPriority_enum` for supported values.
	// If not specified, the default value is
	// `low`, which means
	// unmap is processed at low rate. This property can be updated by
	// calling `HostStorageSystem.UpdateVmfsUnmapPriority`.
	UnmapPriority string `xml:"unmapPriority,omitempty" json:"unmapPriority,omitempty" vim:"6.5"`
	// VMFS unmap bandwidth related specification.
	//
	// See
	// `VmfsUnmapBandwidthSpec` for detail.
	UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty" json:"unmapBandwidthSpec,omitempty" vim:"6.7"`
	// Maximum number of blocks.
	//
	// Determines maximum file size along
	// with blockSize. See information about the blockSize.
	MaxBlocks int32 `xml:"maxBlocks" json:"maxBlocks"`
	// Major version number of VMFS.
	MajorVersion int32 `xml:"majorVersion" json:"majorVersion"`
	// Version string.
	//
	// Contains major and minor version numbers.
	Version string `xml:"version" json:"version"`
	// The universally unique identifier assigned to VMFS.
	Uuid string `xml:"uuid" json:"uuid"`
	// The list of partition names that comprise this disk's
	// VMFS extents.
	//
	// This property can be accessed via various enclosing objects.
	// In VirtualCenter, where it can be accessed from multiple
	// hosts, the value of this property may differ according to the context
	// in which it is accessed. When accessed from the
	// `VmfsDatastoreInfo` object, in VirtualCenter, this
	// property reflects the extent information of any one of the hosts visible
	// to the datastore.
	//
	// For a VirtualCenter system which manages ESX Server 2.x and
	// ESX Server 3.x hosts, this extent information is only correlatable
	// across hosts if the extents are exposed on the same adapter on all hosts
	// which can access them. To find the extent names for a specific host,
	// this same property should be accessed via the host's
	// `HostFileSystemVolume` object, by correlating the uuid of
	// the VMFS datastore in the VmfsDatastoreInfo object to the uuid in the
	// FileSystemVolume object.
	//
	// For a Virtual Center system which manages only ESX Server hosts with
	// versions 4.0 onwards , this extent information is correlatable across
	// hosts, irrespective of the adapters the extents are exposed on.
	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
	// Can the filesystem be upgraded to a newer version.
	//
	// See also `HostStorageSystem.UpgradeVmfs`.
	VmfsUpgradable bool `xml:"vmfsUpgradable" json:"vmfsUpgradable"`
	// Information about 'forceMounted' VmfsVolume.
	//
	// When the system detects a copy of a VmfsVolume, it will not be
	// auto-mounted on the host and it will be detected as
	// 'UnresolvedVmfsVolume'. If user decides to 'forceMount' the
	// VmfsVolume on the host, forceMountedInfo will be populated.
	// It will not be set for automounted VMFS volumes.
	ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty" json:"forceMountedInfo,omitempty" vim:"4.0"`
	// Indicates whether the volume is SSD backed.
	//
	// If unset, the information whether the volume is SSD backed is unknown.
	Ssd *bool `xml:"ssd" json:"ssd,omitempty" vim:"5.0"`
	// Indicates whether the volume is backed by local disk.
	//
	// If unset, the information of the volume is local-disk backed is unknown.
	Local *bool `xml:"local" json:"local,omitempty" vim:"5.5"`
	// The type of disk drives.
	//
	// See `ScsiDiskType_enum`
	// for supported types.
	// If unset, the default disk drive type is
	// `native512`.
	ScsiDiskType string `xml:"scsiDiskType,omitempty" json:"scsiDiskType,omitempty" vim:"6.5"`
}

The VMFS file system.

type HostVmfsVolumeUnmapBandwidthPolicy added in v0.18.0

type HostVmfsVolumeUnmapBandwidthPolicy string

VMFS unmap bandwidth policy.

VMFS unmap reclaims unused storage space.

type HostVmfsVolumeUnmapPriority added in v0.12.0

type HostVmfsVolumeUnmapPriority string

VMFS unmap priority.

VMFS unmap reclaims unused storage space.

type HostVnicConnectedToCustomizedDVPortEvent

type HostVnicConnectedToCustomizedDVPortEvent struct {
	HostEvent

	// Information about the Virtual NIC that is using the DVport.
	Vnic VnicPortArgument `xml:"vnic" json:"vnic"`
	// Information about the previous Virtual NIC that is using the DVport.
	PrevPortKey string `xml:"prevPortKey,omitempty" json:"prevPortKey,omitempty" vim:"6.5"`
}

This event records when some host Virtual NICs were reconfigured to use DVPorts with port level configuration, which might be different from the DVportgroup.

type HostVsanInternalSystemCmmdsQuery

type HostVsanInternalSystemCmmdsQuery struct {
	DynamicData

	// CMMDS type, e.g.
	//
	// DOM\_OBJECT, LSOM\_OBJECT, POLICY, DISK etc.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// UUID of the entry.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// UUID of the owning node.
	Owner string `xml:"owner,omitempty" json:"owner,omitempty"`
}

All fields in the CMMDS Query spec are optional, but at least one needs specified to make a valid query.

type HostVsanInternalSystemDeleteVsanObjectsResult

type HostVsanInternalSystemDeleteVsanObjectsResult struct {
	DynamicData

	// UUID of the VSAN object.
	Uuid string `xml:"uuid" json:"uuid"`
	// Indicates success or failure of object deletion.
	Success bool `xml:"success" json:"success"`
	// List of LocalizableMessages with the failure vobs.
	//
	// This is unset if delete is successful.
	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
}

Result of DeleteVsanObjects.

type HostVsanInternalSystemVsanObjectOperationResult

type HostVsanInternalSystemVsanObjectOperationResult struct {
	DynamicData

	// The UUID of the in question VSAN object.
	Uuid string `xml:"uuid" json:"uuid"`
	// List of LocalizableMessages with the failure vobs.
	FailureReason []LocalizableMessage `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
}

Operation result for a VSAN object upon failure.

type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult

type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct {
	DynamicData

	// VSAN Disk UUID of the checked disk.
	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
	// Indicates success or failure of object creation on the disk.
	Success bool `xml:"success" json:"success"`
	// A failure reason type, in case of failure.
	FailureReason string `xml:"failureReason,omitempty" json:"failureReason,omitempty"`
}

Result structure for a VSAN Physical Disk Diagnostics run.

Specifies the result of a single disk.

type HostVvolNQN added in v0.31.0

type HostVvolNQN struct {
	DynamicData

	TargetNQN    string `xml:"targetNQN" json:"targetNQN"`
	StorageArray string `xml:"storageArray" json:"storageArray"`
	Online       bool   `xml:"online" json:"online"`
}

type HostVvolVolume

type HostVvolVolume struct {
	HostFileSystemVolume

	// The universally unique identifier assigned to vvolDS.
	ScId   string       `xml:"scId" json:"scId"`
	HostPE []VVolHostPE `xml:"hostPE,omitempty" json:"hostPE,omitempty"`
	// Virtual Protocol endpoints for this volume
	HostVvolNQN []HostVvolVolumeHostVvolNQN `xml:"hostVvolNQN,omitempty" json:"hostVvolNQN,omitempty" vim:"8.0.2.0"`
	// VASA Providers that manage this volume
	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
	// List of storage array serving this VVol based storage container
	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
	// Backing protocol of the datastore
	ProtocolEndpointType string `xml:"protocolEndpointType,omitempty" json:"protocolEndpointType,omitempty" vim:"8.0.0.0"`
	// vVol NQN field availability
	VvolNQNFieldsAvailable *bool `xml:"vvolNQNFieldsAvailable" json:"vvolNQNFieldsAvailable,omitempty" vim:"8.0.2.0"`
}

type HostVvolVolumeHostVvolNQN added in v0.31.0

type HostVvolVolumeHostVvolNQN struct {
	DynamicData

	// The host associated with this volume.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Host-specific information about the virtual ProtocolEndpoint.
	VvolNQN []HostVvolNQN `xml:"vvolNQN,omitempty" json:"vvolNQN,omitempty"`
}

type HostVvolVolumeSpecification

type HostVvolVolumeSpecification struct {
	DynamicData

	// Maximum size of the container
	MaxSizeInMB int64 `xml:"maxSizeInMB" json:"maxSizeInMB"`
	// Container name.
	VolumeName string `xml:"volumeName" json:"volumeName"`
	// VASA Providers that manage this volume
	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
	// Storage Array
	StorageArray []VASAStorageArray `xml:"storageArray,omitempty" json:"storageArray,omitempty"`
	// Vendor specified storage-container ID
	Uuid string `xml:"uuid" json:"uuid"`
}

type HostWwnChangedEvent

type HostWwnChangedEvent struct {
	HostEvent

	// The old node WWN.
	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
	// The old port WWN.
	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
	// The new node WWN.
	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
	// The new port WWN.
	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
}

This event records a change in a host's WWN (World Wide Name).

type HostWwnConflictEvent

type HostWwnConflictEvent struct {
	HostEvent

	// The virtual machine whose WWN conflicts with the
	// current host's WWN.
	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
	// The host whose physical WWN conflicts with the
	// current host's WWN.
	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
	// The WWN in conflict.
	Wwn int64 `xml:"wwn" json:"wwn"`
}

This event records a conflict of host WWNs (World Wide Name).

type HotSnapshotMoveNotSupported

type HotSnapshotMoveNotSupported struct {
	SnapshotCopyNotSupported
}

An attempt is being made to move a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported by the host because the virtual machine is currently powered on.

type HotSnapshotMoveNotSupportedFault

type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported

type HourlyTaskScheduler

type HourlyTaskScheduler struct {
	RecurrentTaskScheduler

	// The minute at which the `RecurrentTaskScheduler` runs
	// the task.
	//
	// Specify the minute value as a UTC (Coordinated Universal Time)
	// value in the range 0 to 59.
	//
	// For vCenter 2.x and prior releases, use the server's local time.
	// For example, use Australia Northern Territory (UTC +9:30) or Indian (UTC +5:30)
	// time values, rather than a UTC value.
	Minute int32 `xml:"minute" json:"minute"`
}

The `HourlyTaskScheduler` data object sets the time for hourly task execution.

By default, the scheduled task will run once every hour, at the specified minute.

If you set the interval to a value greater than 1, the task will execute at the specified hourly interval. (For example, an interval of 2 will cause the task to execute at the specified minute every 2 hours.)

func (*HourlyTaskScheduler) GetHourlyTaskScheduler

func (b *HourlyTaskScheduler) GetHourlyTaskScheduler() *HourlyTaskScheduler

type HttpFault added in v0.18.0

type HttpFault struct {
	VimFault

	// HTTP status code received from external web-server.
	StatusCode int32 `xml:"statusCode" json:"statusCode"`
	// HTTP status message received from external web-server.
	StatusMessage string `xml:"statusMessage" json:"statusMessage"`
}

Generic base class for outbound HTTP communication errors.

type HttpFaultFault added in v0.18.0

type HttpFaultFault HttpFault

type HttpNfcLeaseAbort

type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType

type HttpNfcLeaseAbortRequestType

type HttpNfcLeaseAbortRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The fault that caused the abort, if any.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

The parameters of `HttpNfcLease.HttpNfcLeaseAbort`.

type HttpNfcLeaseAbortResponse

type HttpNfcLeaseAbortResponse struct {
}

type HttpNfcLeaseCapabilities added in v0.18.0

type HttpNfcLeaseCapabilities struct {
	DynamicData

	// True if overall this lease can be upgraded to pull mode and
	// all hosts in this lease support pull mode.
	//
	// Prerequisite before calling pullFromUrls.
	PullModeSupported bool `xml:"pullModeSupported" json:"pullModeSupported"`
	// True if all hosts in the lease support HTTP CORS.
	CorsSupported bool `xml:"corsSupported" json:"corsSupported"`
}

Descriptor of the lease capabilities.

type HttpNfcLeaseCompleteRequestType

type HttpNfcLeaseCompleteRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HttpNfcLeaseCompleteResponse

type HttpNfcLeaseCompleteResponse struct {
}

type HttpNfcLeaseDatastoreLeaseInfo

type HttpNfcLeaseDatastoreLeaseInfo struct {
	DynamicData

	// Datastore key.
	DatastoreKey string `xml:"datastoreKey" json:"datastoreKey"`
	// List of hosts connected to this datastore and covered by this lease.
	//
	// The
	// hosts in this list are multi-POST-capable, and any one of them can be used
	// to transfer disks on this datastore.
	Hosts []HttpNfcLeaseHostInfo `xml:"hosts" json:"hosts"`
}

For a given datastore, represented by datastoreKey, contains a list of leased multi-POST-capable hosts connected to it.

type HttpNfcLeaseDeviceUrl

type HttpNfcLeaseDeviceUrl struct {
	DynamicData

	// The immutable identifier for the device.
	//
	// This is set for both import/export
	// leases.
	Key string `xml:"key" json:"key"`
	// Identifies the device based on the names in an ImportSpec.
	//
	// This is only
	// set for import leases.
	ImportKey string `xml:"importKey" json:"importKey"`
	Url       string `xml:"url" json:"url"`
	// SSL thumbprint for the host the URL refers to.
	//
	// Empty if no SSL thumbprint
	// is available or needed.
	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
	// Optional value to specify if the attached file is a disk in
	// vmdk format.
	Disk *bool `xml:"disk" json:"disk,omitempty" vim:"4.1"`
	// Id for this target.
	//
	// This only used for multi-POSTing, where a single HTTP
	// POST is applied to multiple targets.
	TargetId string `xml:"targetId,omitempty" json:"targetId,omitempty" vim:"4.1"`
	// Key for the datastore this disk is on.
	//
	// This is used to look up hosts
	// which can be used to multi-POST disk contents, in the host map of the
	// lease.
	DatastoreKey string `xml:"datastoreKey,omitempty" json:"datastoreKey,omitempty" vim:"4.1"`
	// Specifies the size of the file backing for this device.
	//
	// This property
	// is only set for non-disk file backings.
	FileSize int64 `xml:"fileSize,omitempty" json:"fileSize,omitempty" vim:"4.1"`
}

Provides a mapping from logical device IDs to upload/download URLs.

For export, a single device id is returned based on the object identifiers for the objects.

For import, two device ids are returned. One based on the object names used in the ImportSpec, and one based on the object identifiers for the created objects. This is immutable and would match the id if an ExportLease is latter created.

type HttpNfcLeaseGetManifestRequestType

type HttpNfcLeaseGetManifestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type HttpNfcLeaseGetManifestResponse

type HttpNfcLeaseGetManifestResponse struct {
	Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HttpNfcLeaseHostInfo

type HttpNfcLeaseHostInfo struct {
	DynamicData

	// The host url will be of the form
	//
	//         https://hostname/nfc/ticket id/
	// The url can be used for both POST requests to a single device and for
	// multi-POST requests to multiple devices. A single-POST URL is formed
	// by adding the target id to the hostUrl:
	//
	//         https://hostname/nfc/ticket id/target id
	// a multi-POST URL looks like
	//
	//         https://hostname/nfc/ticket id/multi?targets=id1,id2,id3,...
	Url string `xml:"url" json:"url"`
	// SSL thumbprint for the host the URL refers to.
	//
	// Empty if no SSL thumbprint
	// is available or needed.
	SslThumbprint string `xml:"sslThumbprint" json:"sslThumbprint"`
}

Contains information about how to connect to a given host.

type HttpNfcLeaseInfo

type HttpNfcLeaseInfo struct {
	DynamicData

	// The `HttpNfcLease` object this information belongs to.
	//
	// Refers instance of `HttpNfcLease`.
	Lease ManagedObjectReference `xml:"lease" json:"lease"`
	// The `VirtualMachine` or `VirtualApp` this
	// lease covers.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The deviceUrl property contains a mapping from logical device keys
	// to URLs.
	DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty" json:"deviceUrl,omitempty"`
	// Total capacity in kilobytes of all disks in all Virtual Machines
	// covered by this lease.
	//
	// This can be used to track progress when
	// transferring disks.
	TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB" json:"totalDiskCapacityInKB"`
	// Number of seconds before the lease times out.
	//
	// The client extends
	// the lease by calling `HttpNfcLease.HttpNfcLeaseProgress` before
	// the timeout has expired.
	LeaseTimeout int32 `xml:"leaseTimeout" json:"leaseTimeout"`
	// Map of URLs for leased hosts for a given datastore.
	//
	// This is used to
	// look up multi-POST-capable hosts for a datastore.
	HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty" json:"hostMap,omitempty" vim:"4.1"`
}

This class holds information about the lease, such as the entity covered by the lease, and HTTP URLs for up/downloading file backings.

type HttpNfcLeaseManifestEntry

type HttpNfcLeaseManifestEntry struct {
	DynamicData

	// Key used to match this entry with the corresponding `HttpNfcLeaseDeviceUrl`
	// entry in `HttpNfcLease.info`.
	Key string `xml:"key" json:"key"`
	// SHA-1 checksum of the data stream sent from the server.
	//
	// This can be used
	// to verify that the bytes received by the client match those sent by the
	// HttpNfc server.
	Sha1 string `xml:"sha1" json:"sha1"`
	// Checksum of the data stream sent/recieved by host.
	//
	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for used algoritm.
	Checksum string `xml:"checksum,omitempty" json:"checksum,omitempty" vim:"6.7"`
	// Algorithm used to produce checksum in respective property.
	//
	// See `HttpNfcLeaseManifestEntryChecksumType_enum` for supported algorithms.
	ChecksumType string `xml:"checksumType,omitempty" json:"checksumType,omitempty" vim:"6.7"`
	// Size of the downloaded file.
	Size int64 `xml:"size" json:"size"`
	// True if the downloaded file is a virtual disk backing.
	Disk bool `xml:"disk" json:"disk"`
	// The capacity of the disk, if the file is a virtual disk backing.
	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
	// The populated size of the disk, if the file is a virtual disk backing.
	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty"`
}

Provides a manifest for downloaded (exported) files and disks.

type HttpNfcLeaseManifestEntryChecksumType added in v0.18.0

type HttpNfcLeaseManifestEntryChecksumType string

type HttpNfcLeaseMode added in v0.18.0

type HttpNfcLeaseMode string

type HttpNfcLeaseProbeResult added in v0.26.0

type HttpNfcLeaseProbeResult struct {
	DynamicData

	// True if target host can access the web server.
	ServerAccessible bool `xml:"serverAccessible" json:"serverAccessible"`
}

Descriptor of ProbeResult

type HttpNfcLeaseProbeUrls added in v0.26.0

type HttpNfcLeaseProbeUrls HttpNfcLeaseProbeUrlsRequestType

type HttpNfcLeaseProbeUrlsRequestType added in v0.26.0

type HttpNfcLeaseProbeUrlsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] List of remote source file descriptors
	// There should be the same number of `HttpNfcLeaseSourceFile`
	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
	// \[in\] time in seconds for each url validation.
	// Maximum timeout is 60.
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
}

The parameters of `HttpNfcLease.HttpNfcLeaseProbeUrls`.

type HttpNfcLeaseProbeUrlsResponse added in v0.26.0

type HttpNfcLeaseProbeUrlsResponse struct {
	Returnval []HttpNfcLeaseProbeResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type HttpNfcLeaseProgressRequestType

type HttpNfcLeaseProgressRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] Completion status represented as an integer
	// in the 0-100 range.
	Percent int32 `xml:"percent" json:"percent"`
}

The parameters of `HttpNfcLease.HttpNfcLeaseProgress`.

type HttpNfcLeaseProgressResponse

type HttpNfcLeaseProgressResponse struct {
}

type HttpNfcLeasePullFromUrlsRequestType added in v0.18.0

type HttpNfcLeasePullFromUrlsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] List of remote source file descriptors
	// There should be the same number of `HttpNfcLeaseSourceFile`
	// as `HttpNfcLeaseDeviceUrl` provided by this lease.
	// Privilege VApp.PullFromUrls is required.
	Files []HttpNfcLeaseSourceFile `xml:"files,omitempty" json:"files,omitempty"`
}

The parameters of `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`.

type HttpNfcLeasePullFromUrls_Task added in v0.18.0

type HttpNfcLeasePullFromUrls_Task HttpNfcLeasePullFromUrlsRequestType

type HttpNfcLeasePullFromUrls_TaskResponse added in v0.18.0

type HttpNfcLeasePullFromUrls_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type HttpNfcLeaseSetManifestChecksumType added in v0.18.0

type HttpNfcLeaseSetManifestChecksumType HttpNfcLeaseSetManifestChecksumTypeRequestType

type HttpNfcLeaseSetManifestChecksumTypeRequestType added in v0.18.0

type HttpNfcLeaseSetManifestChecksumTypeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] Should contain key value pairs:
	// where key is `HttpNfcLeaseDeviceUrl.key` returned in this lease info and value
	// is desired algorithm from `HttpNfcLeaseManifestEntryChecksumType_enum`.
	DeviceUrlsToChecksumTypes []KeyValue `xml:"deviceUrlsToChecksumTypes,omitempty" json:"deviceUrlsToChecksumTypes,omitempty"`
}

The parameters of `HttpNfcLease.HttpNfcLeaseSetManifestChecksumType`.

type HttpNfcLeaseSetManifestChecksumTypeResponse added in v0.18.0

type HttpNfcLeaseSetManifestChecksumTypeResponse struct {
}

type HttpNfcLeaseSourceFile added in v0.18.0

type HttpNfcLeaseSourceFile struct {
	DynamicData

	// Target device id that will be used to store remote file.
	//
	// Uniquely identifies host, vm and device.
	// Given by this lease in `HttpNfcLeaseDeviceUrl.importKey`.
	TargetDeviceId string `xml:"targetDeviceId" json:"targetDeviceId"`
	// Full url of the source file, for example https://server/path/disk-1.vmdk.
	//
	// Or url to OVA, in that case `HttpNfcLeaseSourceFile.memberName` should be specified.
	Url string `xml:"url" json:"url"`
	// Used only when OVA is specified in `HttpNfcLeaseSourceFile.url`.
	//
	// Should contain file name to extract from OVA.
	MemberName string `xml:"memberName,omitempty" json:"memberName,omitempty"`
	// True if PUT should be used for upload, otherwise POST.
	//
	// Same as `OvfFileItem.create`
	Create bool `xml:"create" json:"create"`
	// Esx has no CA database for checking arbitrary certificates.
	//
	// Client should verify the server certificate and provide
	// certificate thumbprint here.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
	// For the case when remote server requires authentication or any other
	// type of custom HTTP headers be provided with the request.
	HttpHeaders []KeyValue `xml:"httpHeaders,omitempty" json:"httpHeaders,omitempty"`
	// Size of the file, if known.
	//
	// Otherwise it will be determined by a HEAD
	// request. Not used for OVA members.
	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
}

Descriptor of the remote source file used in pull scenario.

type HttpNfcLeaseState

type HttpNfcLeaseState string

type ID added in v0.12.0

type ID struct {
	DynamicData

	// Id string which is globally unique to identify
	// an object.
	Id string `xml:"id" json:"id"`
}

This data object type describes an identifier class which is globally unique to identify the associated object.

type IDEDiskNotSupported

type IDEDiskNotSupported struct {
	DiskNotSupported
}

Deprecated as of VI API 2.5, use `DeviceControllerNotSupported`.

The virtual machine uses a virtual disk with an IDE controller, but this is not supported on the host.

type IDEDiskNotSupportedFault

type IDEDiskNotSupportedFault IDEDiskNotSupported

type IORMNotSupportedHostOnDatastore

type IORMNotSupportedHostOnDatastore struct {
	VimFault

	// The datastore.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The name of the datastore.
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
	// The list of hosts that do not support storage I/O
	// resource management.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

A IORMNotSupportedHostOnDatastore fault occurs when the datastore is connected to one or more hosts that do not support storage I/O resource management.

type IORMNotSupportedHostOnDatastoreFault

type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore

type IScsiBootFailureEvent

type IScsiBootFailureEvent struct {
	HostEvent
}

Could not boot from iScsi.

type ImpersonateUser

type ImpersonateUser ImpersonateUserRequestType

type ImpersonateUserRequestType

type ImpersonateUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The user or extension key to impersonate.
	UserName string `xml:"userName" json:"userName"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.ImpersonateUser`.

type ImpersonateUserResponse

type ImpersonateUserResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type ImportCertificateForCAMRequestType

type ImportCertificateForCAMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// full path of the certificate on ESXi
	CertPath string `xml:"certPath" json:"certPath"`
	// IP of server providing the CAM service.
	CamServer string `xml:"camServer" json:"camServer"`
}

The parameters of `HostActiveDirectoryAuthentication.ImportCertificateForCAM_Task`.

type ImportCertificateForCAM_Task

type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType

type ImportCertificateForCAM_TaskResponse

type ImportCertificateForCAM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ImportHostAddFailure

type ImportHostAddFailure struct {
	DvsFault

	// Hosts on which import operation failed
	HostIp []string `xml:"hostIp" json:"hostIp"`
}

Thrown if failure occurs while adding host to DVS during import operation

type ImportHostAddFailureFault

type ImportHostAddFailureFault ImportHostAddFailure

type ImportOperationBulkFault

type ImportOperationBulkFault struct {
	DvsFault

	// Faults occurred during the import operation
	ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults" json:"importFaults"`
}

Thrown if a Import operation fails

type ImportOperationBulkFaultFault

type ImportOperationBulkFaultFault ImportOperationBulkFault

type ImportOperationBulkFaultFaultOnImport

type ImportOperationBulkFaultFaultOnImport struct {
	DynamicData

	// The entity type on which import failed.
	//
	// See `EntityType_enum`
	// for valid values
	EntityType string `xml:"entityType,omitempty" json:"entityType,omitempty"`
	// The key on which import failed
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The fault that occurred.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

The fault occurred on the entity during an import operation.

type ImportSpec

type ImportSpec struct {
	DynamicData

	// Configuration of sub-entities (virtual machine or vApp).
	//
	// This is used for
	// sub-entities of a vApp that could be a virtual machine or a vApp.
	EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
	// The instantiation OST (see `OvfConsumer` ) to be consumed by OVF
	// consumers.
	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty" vim:"5.0"`
}

An ImportSpec is used when importing VMs or vApps.

It can be built from scratch, or it can be generated from an OVF descriptor using the service interface `OvfManager`.

This class is the abstract base for `VirtualMachineImportSpec` and `VirtualAppImportSpec`. These three classes form a composite structure that allows us to contain arbitrarily complex entitites in a single ImportSpec.

func (*ImportSpec) GetImportSpec

func (b *ImportSpec) GetImportSpec() *ImportSpec

type ImportUnmanagedSnapshotRequestType

type ImportUnmanagedSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \- The name of the disk to import, either a datastore path or a URL
	// referring to the virtual disk from which to get geometry information.
	Vdisk string `xml:"vdisk" json:"vdisk"`
	// If <code>vdisk</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>vdisk</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// \- unmanaged snapshot identifier
	VvolId string `xml:"vvolId" json:"vvolId"`
}

The parameters of `VirtualDiskManager.ImportUnmanagedSnapshot`.

type ImportUnmanagedSnapshotResponse

type ImportUnmanagedSnapshotResponse struct {
}

type ImportVApp

type ImportVApp ImportVAppRequestType

type ImportVAppRequestType

type ImportVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An `ImportSpec` describing what to import.
	Spec BaseImportSpec `xml:"spec,typeattr" json:"spec"`
	// The folder to which the entity will be attached.
	//
	// Required privileges: VApp.Import
	//
	// Refers instance of `Folder`.
	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
	// The target host on which the entity will run. This must
	// specify a host that is a member of the ComputeResource indirectly
	// specified by the pool. For a stand-alone host or a cluster with DRS,
	// host can be omitted, and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `ResourcePool.ImportVApp`.

type ImportVAppResponse

type ImportVAppResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InUseFeatureManipulationDisallowed

type InUseFeatureManipulationDisallowed struct {
	NotEnoughLicenses
}

A InUseFeatureManipulationDisallowed fault is thrown if an Vim.LicenseAssignmentManager.SetFeatureInUse or Vim.LicenseAssignmentManager.ResetFeatureInUse call can not complete because a feature is not available or the manipulation is not allowed.

type InUseFeatureManipulationDisallowedFault

type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed

type InaccessibleDatastore

type InaccessibleDatastore struct {
	InvalidDatastore

	Detail string `xml:"detail,omitempty" json:"detail,omitempty"`
}

An InaccessibleDatastore exception is thrown if the datastore corresponding to the given datastore path isn't currently accessible.

func (*InaccessibleDatastore) GetInaccessibleDatastore

func (b *InaccessibleDatastore) GetInaccessibleDatastore() *InaccessibleDatastore

type InaccessibleDatastoreFault

type InaccessibleDatastoreFault BaseInaccessibleDatastore

type InaccessibleFTMetadataDatastore

type InaccessibleFTMetadataDatastore struct {
	InaccessibleDatastore
}

An InaccessibleFTMetadataDatastore exception is thrown if the datastore corresponding to the specified FT Metadata Datastore path isn't currently accessible.

type InaccessibleFTMetadataDatastoreFault

type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore

type InaccessibleVFlashSource

type InaccessibleVFlashSource struct {
	VimFault

	// Name of the host which has the vFlash resource
	HostName string `xml:"hostName" json:"hostName"`
}

An InaccessibleVFlashSource exception is thrown when an attempt is made to access the vFlash resource on the host, such as creating vFlash cache file for the virtual disk.

type InaccessibleVFlashSourceFault

type InaccessibleVFlashSourceFault InaccessibleVFlashSource

type IncompatibleDefaultDevice

type IncompatibleDefaultDevice struct {
	MigrationFault

	// The label of the device.
	Device string `xml:"device" json:"device"`
}

A default device (see `VirtualMachineConfigOption.defaultDevice` for a definition) which the virtual machine is using is incompatible with the corresponding default device which will be created on the target host.

This is an issue with powered-on or suspended migration under some circumstances. The problem is that in cases where the virtual machine must be recreated, it will have the default device created with default settings that are appropriate for the target host. If those are not compatible with the settings for that device that the virtual machine is currently using, then resuming the virtual machine on the target host might fail.

This might happen if the device in question were reconfigured or the default is different between the source and the destination host. An example of a default device and associated setting which might cause this is `VirtualMachineVideoCard.videoRamSizeInKB`. This is an error.

type IncompatibleDefaultDeviceFault

type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice

type IncompatibleHostForFtSecondary

type IncompatibleHostForFtSecondary struct {
	VmFaultToleranceIssue

	// The host that is not compatible with the secondary virtual machine.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Information on why the host that was specified could not be used for
	// the FaultTolerance Secondary VirtualMachine.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

The IncompatibleHostForFtSecondary fault is thrown when an invalid host has been specified when calling `VirtualMachine.CreateSecondaryVM_Task` or `VirtualMachine.EnableSecondaryVM_Task`.

type IncompatibleHostForFtSecondaryFault

type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary

type IncompatibleHostForVmReplication

type IncompatibleHostForVmReplication struct {
	ReplicationFault

	// The VM which has replication configured
	VmName string `xml:"vmName" json:"vmName"`
	// The host which is incompatible for VM replication
	HostName string `xml:"hostName" json:"hostName"`
	// The reason why the host is incompatible
	Reason string `xml:"reason" json:"reason"`
}

A IncompatibleHostForVmReplication is thrown when a VM is powered on or migrated to a host which does not support the replication configuration of the VM.

type IncompatibleHostForVmReplicationFault

type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication

type IncompatibleHostForVmReplicationIncompatibleReason

type IncompatibleHostForVmReplicationIncompatibleReason string

type IncompatibleSetting

type IncompatibleSetting struct {
	InvalidArgument

	// The name of the setting that is conflicting.
	ConflictingProperty string `xml:"conflictingProperty" json:"conflictingProperty"`
}

Thrown when two parameters in the customization settings conflict with each other.

For example, a client may not specify both a Workgroup and a DomainName.

type IncompatibleSettingFault

type IncompatibleSettingFault IncompatibleSetting

type IncorrectFileType

type IncorrectFileType struct {
	FileFault
}

Thrown when an operation fails because the files do not match a specified file type.

type IncorrectFileTypeFault

type IncorrectFileTypeFault IncorrectFileType

type IncorrectHostInformation

type IncorrectHostInformation struct {
	NotEnoughLicenses
}

A IncorrectHostInformation is thrown if the host does not provide the information needed to acquire the correct set of licenses.

type IncorrectHostInformationEvent

type IncorrectHostInformationEvent struct {
	LicenseEvent
}

This event records if the host did not provide the information needed to acquire the correct set of licenses.

type IncorrectHostInformationFault

type IncorrectHostInformationFault IncorrectHostInformation

type IncreaseDirectorySize added in v0.31.0

type IncreaseDirectorySize IncreaseDirectorySizeRequestType

type IncreaseDirectorySizeRequestType added in v0.31.0

type IncreaseDirectorySizeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the datacenter of the namespace path. Needs to be set
	// when making the call to VC; ignored when the call is
	// made to ESX.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// stable vmfs path of the top-level directory
	StableName string `xml:"stableName" json:"stableName"`
	// the desired final size in MB of the directory, not a diff
	// from the current size; should be more than current size
	Size int64 `xml:"size" json:"size"`
}

The parameters of `DatastoreNamespaceManager.IncreaseDirectorySize`.

type IncreaseDirectorySizeResponse added in v0.31.0

type IncreaseDirectorySizeResponse struct {
}

type IndependentDiskVMotionNotSupported

type IndependentDiskVMotionNotSupported struct {
	MigrationFeatureNotSupported
}

An operation on a powered-on virtual machine requests that the virtual machine's disks be moved without choosing a new home datastore for the virtual machine, but the host does not have that capability.

type IndependentDiskVMotionNotSupportedFault

type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported

type InflateDiskRequestType added in v0.12.0

type InflateDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be inflated.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.InflateDisk_Task`.

type InflateDisk_Task added in v0.12.0

type InflateDisk_Task InflateDiskRequestType

type InflateDisk_TaskResponse added in v0.12.0

type InflateDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InflateVirtualDiskRequestType

type InflateVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk that should be inflated.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.InflateVirtualDisk_Task`.

type InflateVirtualDisk_Task

type InflateVirtualDisk_Task InflateVirtualDiskRequestType

type InflateVirtualDisk_TaskResponse

type InflateVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InfoUpgradeEvent

type InfoUpgradeEvent struct {
	UpgradeEvent
}

This event is a general information event from upgrade.

type InheritablePolicy

type InheritablePolicy struct {
	DynamicData

	// Whether the configuration is set to inherited value.
	Inherited bool `xml:"inherited" json:"inherited"`
}

The base class for any type of setting or configuration that may get a inherited value.

When used in a reconfigure operation specification, if `InheritablePolicy.inherited` is true, it specifies the intention to change the values of subclass's properties to the inherited values from the level above. In this case, users don't need to specify the values and any set property in the subclass will be ignored. if `InheritablePolicy.inherited` is false, it specifies the intention to explicitly set subclass's properties to user specified values. Users should set the properties in the subclass with the desired values.

When used in a configuration information object, The values of the properties in the subclass are the effective values. if `InheritablePolicy.inherited` is true, the object is getting the effective values from upper level. If false, the values are explicitly set by a user.

func (*InheritablePolicy) GetInheritablePolicy

func (b *InheritablePolicy) GetInheritablePolicy() *InheritablePolicy

type InitializeDisksRequestType

type InitializeDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// list of disk mappings to initialize
	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
}

The parameters of `HostVsanSystem.InitializeDisks_Task`.

type InitializeDisks_Task

type InitializeDisks_Task InitializeDisksRequestType

type InitializeDisks_TaskResponse

type InitializeDisks_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InitiateFailoverRequestType added in v0.18.0

type InitiateFailoverRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	Planned bool                   `xml:"planned" json:"planned"`
}

type InitiateFailover_Task added in v0.18.0

type InitiateFailover_Task InitiateFailoverRequestType

type InitiateFailover_TaskResponse added in v0.18.0

type InitiateFailover_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InitiateFileTransferFromGuestRequestType

type InitiateFileTransferFromGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the file inside the guest
	// that has to be transferred to the client. It cannot be a path to
	// a directory or a symbolic link.
	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
}

The parameters of `GuestFileManager.InitiateFileTransferFromGuest`.

type InitiateFileTransferFromGuestResponse

type InitiateFileTransferFromGuestResponse struct {
	Returnval FileTransferInformation `xml:"returnval" json:"returnval"`
}

type InitiateFileTransferToGuestRequestType

type InitiateFileTransferToGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete destination path in the guest to
	// transfer the file from the client. It cannot be a path to
	// a directory or a symbolic link.
	GuestFilePath string `xml:"guestFilePath" json:"guestFilePath"`
	// File attributes of the file that has to be
	// created in the guest. See `GuestFileAttributes`.
	// If any file attribute is not specified, then the default value
	// of that property will be set for the file.
	FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr" json:"fileAttributes"`
	// Size of the file to transfer to the guest in bytes.
	FileSize int64 `xml:"fileSize" json:"fileSize"`
	// If set, the destination file is clobbered.
	Overwrite bool `xml:"overwrite" json:"overwrite"`
}

The parameters of `GuestFileManager.InitiateFileTransferToGuest`.

type InitiateFileTransferToGuestResponse

type InitiateFileTransferToGuestResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type InstallDate added in v0.18.0

type InstallDate InstallDateRequestType

type InstallDateRequestType added in v0.18.0

type InstallDateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type InstallDateResponse added in v0.18.0

type InstallDateResponse struct {
	Returnval time.Time `xml:"returnval" json:"returnval"`
}

type InstallHostPatchRequestType

type InstallHostPatchRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Location of the repository that contains the
	// bulletin depot. The depot must be organized as a flat
	// collection of bulletins with each one being a folder named
	// after the bulletin ID. Each folder must contain both
	// update metadata and required binaries.
	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
	// The update to be installed on the host.
	UpdateID string `xml:"updateID" json:"updateID"`
	// Specify whether to force reinstall an update.
	// By default, installing an already-installed update would fail
	// with the `PatchAlreadyInstalled` fault. If
	// force is set to true, the update will be forcefully reinstalled,
	// thus overwriting the already installed update.
	Force *bool `xml:"force" json:"force,omitempty"`
}

The parameters of `HostPatchManager.InstallHostPatch_Task`.

type InstallHostPatchV2RequestType

type InstallHostPatchV2RequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of urls pointing to metadata.zip.
	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
	// The urls of update binary files to be installed.
	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.InstallHostPatchV2_Task`.

type InstallHostPatchV2_Task

type InstallHostPatchV2_Task InstallHostPatchV2RequestType

type InstallHostPatchV2_TaskResponse

type InstallHostPatchV2_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InstallHostPatch_Task

type InstallHostPatch_Task InstallHostPatchRequestType

type InstallHostPatch_TaskResponse

type InstallHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InstallIoFilterRequestType

type InstallIoFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The URL that points to the IO Filter VIB package.
	VibUrl string `xml:"vibUrl" json:"vibUrl"`
	// The compute resource to install the IO Filter on.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
}

The parameters of `IoFilterManager.InstallIoFilter_Task`.

type InstallIoFilter_Task

type InstallIoFilter_Task InstallIoFilterRequestType

type InstallIoFilter_TaskResponse

type InstallIoFilter_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InstallServerCertificateRequestType

type InstallServerCertificateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// SSL certificate in PEM format
	Cert string `xml:"cert" json:"cert"`
}

The parameters of `HostCertificateManager.InstallServerCertificate`.

type InstallServerCertificateResponse

type InstallServerCertificateResponse struct {
}

type InstallSmartCardTrustAnchorRequestType

type InstallSmartCardTrustAnchorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// SSL certificate in PEM format
	Cert string `xml:"cert" json:"cert"`
}

The parameters of `HostActiveDirectoryAuthentication.InstallSmartCardTrustAnchor`.

type InstallSmartCardTrustAnchorResponse

type InstallSmartCardTrustAnchorResponse struct {
}

type InstantCloneRequestType added in v0.18.0

type InstantCloneRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Is a `VirtualMachineInstantCloneSpec`. It specifies the
	// cloned virtual machine's configuration.
	Spec VirtualMachineInstantCloneSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.InstantClone_Task`.

type InstantClone_Task added in v0.18.0

type InstantClone_Task InstantCloneRequestType

type InstantClone_TaskResponse added in v0.18.0

type InstantClone_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type InsufficientAgentVmsDeployed

type InsufficientAgentVmsDeployed struct {
	InsufficientResourcesFault

	HostName string `xml:"hostName" json:"hostName"`
	// The number of agent virtual machines required to be deployed on the host.
	RequiredNumAgentVms int32 `xml:"requiredNumAgentVms" json:"requiredNumAgentVms"`
	// The number of agent virtual machines currently deployed on the host.
	CurrentNumAgentVms int32 `xml:"currentNumAgentVms" json:"currentNumAgentVms"`
}

This fault is returned when the required number of deployed agent virtual machines is not currently deployed on a host and hence the host cannot be used to run client virtual machines.

type InsufficientAgentVmsDeployedFault

type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed

type InsufficientCpuResourcesFault

type InsufficientCpuResourcesFault struct {
	InsufficientResourcesFault

	// The CPU available in the resource pool requested in MHz.
	Unreserved int64 `xml:"unreserved" json:"unreserved"`
	// The CPU resource amount requested in the failed operation in MHz.
	Requested int64 `xml:"requested" json:"requested"`
}

CPU resources admission control failed

type InsufficientCpuResourcesFaultFault

type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault

type InsufficientDisks

type InsufficientDisks struct {
	VsanDiskFault
}

Fault used to denote an insufficient group of disks for a given operation.

See also `HostVsanSystem.AddDisks_Task`, `HostVsanSystem.InitializeDisks_Task`.

type InsufficientDisksFault

type InsufficientDisksFault InsufficientDisks

type InsufficientFailoverResourcesEvent

type InsufficientFailoverResourcesEvent struct {
	ClusterEvent
}

This event records that the cluster resources are insufficient to satisfy the configured HA failover level.

type InsufficientFailoverResourcesFault

type InsufficientFailoverResourcesFault struct {
	InsufficientResourcesFault
}

This is thrown if an operation would violate the configured failover level of a HA cluster.

In a HA cluster, virtual machines provide high availability by moving among physical machines in the event of a failure. HA Admission Control ensures that the total resource requirements for the set of virtual machines in a HA cluster does not exceed the resources that would be available in the worst-case scenario failure. If HA Admission Control is not used, physical machines may have insufficient resources to provide the expected level of service.

This fault indicates that the virtual machine operation you attempted would have created a situation where the remaining physical machines would not meet the needs of the virtual machines in the event of a failure.

type InsufficientFailoverResourcesFaultFault

type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault

type InsufficientGraphicsResourcesFault

type InsufficientGraphicsResourcesFault struct {
	InsufficientResourcesFault
}

Graphics resources admission control failed

type InsufficientGraphicsResourcesFaultFault

type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault

type InsufficientHostCapacityFault

type InsufficientHostCapacityFault struct {
	InsufficientResourcesFault

	// The host which does not have the enough capacity.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
}

The host does not have enough capacity for running the virtual machine.

func (*InsufficientHostCapacityFault) GetInsufficientHostCapacityFault

func (b *InsufficientHostCapacityFault) GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault

type InsufficientHostCapacityFaultFault

type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault

type InsufficientHostCpuCapacityFault

type InsufficientHostCpuCapacityFault struct {
	InsufficientHostCapacityFault

	// The CPU available on the host in MHz.
	Unreserved int64 `xml:"unreserved" json:"unreserved"`
	// The CPU resource amount requested in the failed operation in MHz.
	Requested int64 `xml:"requested" json:"requested"`
}

The host does not have enough CPU capacity for running the virtual machine.

type InsufficientHostCpuCapacityFaultFault

type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault

type InsufficientHostMemoryCapacityFault

type InsufficientHostMemoryCapacityFault struct {
	InsufficientHostCapacityFault

	// The memory available on the host in bytes.
	Unreserved int64 `xml:"unreserved" json:"unreserved"`
	// The memory resource amount requested in the failed operation in bytes.
	Requested int64 `xml:"requested" json:"requested"`
}

The host does not have enough memory capacity for running the virtual machine.

type InsufficientHostMemoryCapacityFaultFault

type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault

type InsufficientMemoryResourcesFault

type InsufficientMemoryResourcesFault struct {
	InsufficientResourcesFault

	// The memory available in the resource pool requested in bytes.
	Unreserved int64 `xml:"unreserved" json:"unreserved"`
	// The memory resource amount requested in the failed operation in bytes.
	Requested int64 `xml:"requested" json:"requested"`
}

Memory resource admission control failed

type InsufficientMemoryResourcesFaultFault

type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault

type InsufficientNetworkCapacity

type InsufficientNetworkCapacity struct {
	InsufficientResourcesFault
}

The host does not have enough network capacity for running the virtual machine.

type InsufficientNetworkCapacityFault

type InsufficientNetworkCapacityFault InsufficientNetworkCapacity

type InsufficientNetworkResourcePoolCapacity

type InsufficientNetworkResourcePoolCapacity struct {
	InsufficientResourcesFault

	// Distributed Virtual Switch containing the resource pool
	// having unsufficient network bandwitdh.
	DvsName string `xml:"dvsName" json:"dvsName"`
	// UUID of the distributed Virtual Switch containing the resource pool
	// having unsufficient network bandwitdh.
	DvsUuid string `xml:"dvsUuid" json:"dvsUuid"`
	// Key of the resource pool on which network bandwidth is requested.
	ResourcePoolKey string `xml:"resourcePoolKey" json:"resourcePoolKey"`
	// Network bandwidth available (in MBs) in the requested resource pool.
	Available int64 `xml:"available" json:"available"`
	// Network bandwidth amount requested (in MBs).
	Requested int64 `xml:"requested" json:"requested"`
	// List of network devices that are requesting or already have requested
	// bandwidth on the network resource pool.
	Device []string `xml:"device" json:"device"`
}

Insufficient network resource pool bandwidth

type InsufficientNetworkResourcePoolCapacityFault

type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity

type InsufficientPerCpuCapacity

type InsufficientPerCpuCapacity struct {
	InsufficientHostCapacityFault
}

The host does not have enough per CPU capacity.

type InsufficientPerCpuCapacityFault

type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity

type InsufficientResourcesFault

type InsufficientResourcesFault struct {
	VimFault
}

Base fault that occurs when an operation conflicts with a resource configuration policy.

For example, this fault occurs if a power-on operation reserves more memory than is allocated to a resource pool.

func (*InsufficientResourcesFault) GetInsufficientResourcesFault

func (b *InsufficientResourcesFault) GetInsufficientResourcesFault() *InsufficientResourcesFault

type InsufficientResourcesFaultFault

type InsufficientResourcesFaultFault BaseInsufficientResourcesFault

type InsufficientStandbyCpuResource

type InsufficientStandbyCpuResource struct {
	InsufficientStandbyResource

	// The total amount of CPU resource available (in MHz) on all the usable hosts
	// in the cluster (including powered on and standby hosts).
	Available int64 `xml:"available" json:"available"`
	// The additional amount of CPU resource (other than that on the hosts included
	// in "available") needed (in MHz).
	Requested int64 `xml:"requested" json:"requested"`
}

This fault is thrown when Distributed Power Management cannot perform a given opeartion because there is insufficient CPU resource on standby hosts (if any) to meet the requirements of the operation.

type InsufficientStandbyCpuResourceFault

type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource

type InsufficientStandbyMemoryResource

type InsufficientStandbyMemoryResource struct {
	InsufficientStandbyResource

	// The total amount of memory resource available (in bytes) on all the usable hosts
	// in the cluster (including powered on and standby hosts).
	Available int64 `xml:"available" json:"available"`
	// The additional amount of memory resource (other than that on the hosts included
	// in "available") needed (in bytes).
	Requested int64 `xml:"requested" json:"requested"`
}

This fault is thrown by Distributed Power Management algorithm.

It indicates that there are insufficient memory resources on standby hosts (if any) to meet the requirements of a given operation.

type InsufficientStandbyMemoryResourceFault

type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource

type InsufficientStandbyResource

type InsufficientStandbyResource struct {
	InsufficientResourcesFault
}

This fault is thrown when Distributed Power Management cannot perform a given opeartion because there are insufficient CPU/memory resources on standby hosts (if any) to meet the requirements of the operation.

func (*InsufficientStandbyResource) GetInsufficientStandbyResource

func (b *InsufficientStandbyResource) GetInsufficientStandbyResource() *InsufficientStandbyResource

type InsufficientStandbyResourceFault

type InsufficientStandbyResourceFault BaseInsufficientStandbyResource

type InsufficientStorageIops

type InsufficientStorageIops struct {
	VimFault

	// The IOPs available on the datastore
	UnreservedIops int64 `xml:"unreservedIops" json:"unreservedIops"`
	// The IOPs resource amount requested in the failed operation
	RequestedIops int64 `xml:"requestedIops" json:"requestedIops"`
	// Name of the datastore with insufficient capacity
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
}

The datastore does not have enough IOPs capacity for running the virtual machine.

type InsufficientStorageIopsFault

type InsufficientStorageIopsFault InsufficientStorageIops

type InsufficientStorageSpace

type InsufficientStorageSpace struct {
	InsufficientResourcesFault
}

The fault occurs when Storage DRS cannot perform a given operation (e.g., fix the out of space condition, or place a virtual disk) because there is insufficient storage space in the given storage pod to meet the requirements of the operation.

type InsufficientStorageSpaceFault

type InsufficientStorageSpaceFault InsufficientStorageSpace

type InsufficientVFlashResourcesFault

type InsufficientVFlashResourcesFault struct {
	InsufficientResourcesFault

	// The vFlash resource available capacity in MB.
	FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty" json:"freeSpaceInMB,omitempty" vim:"6.0"`
	// The vFlash resource available capacity in bytes.
	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
	// The vFlash resource amount requested in MB.
	RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty" json:"requestedSpaceInMB,omitempty" vim:"6.0"`
	// The vFlash resource amount requested in bytes.
	RequestedSpace int64 `xml:"requestedSpace" json:"requestedSpace"`
}

Insufficient vFlash resource to consume

type InsufficientVFlashResourcesFaultFault

type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault

type IntExpression

type IntExpression struct {
	NegatableExpression

	// The integer value that is either negated or used as it is
	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
}

The integer type of setting or configuration that may get a negated value.

type IntOption

type IntOption struct {
	OptionType

	// The minimum value.
	Min int32 `xml:"min" json:"min"`
	// The maximum value.
	Max int32 `xml:"max" json:"max"`
	// The default value.
	DefaultValue int32 `xml:"defaultValue" json:"defaultValue"`
}

The IntOption data object type is used to define the minimum, maximum, and default values for an integer option.

type IntPolicy

type IntPolicy struct {
	InheritablePolicy

	// The integer value that is either set or inherited.
	Value int32 `xml:"value,omitempty" json:"value,omitempty"`
}

The integer type of setting or configuration that may get an inherited value.

type InternetScsiSnsDiscoveryMethod

type InternetScsiSnsDiscoveryMethod string

The available iSNS discovery methods.

type InvalidAffinitySettingFault

type InvalidAffinitySettingFault struct {
	VimFault
}

An InvalidAffinitySettingsFault is thrown if an invalid affinity setting is specified for a virtual machine.

type InvalidAffinitySettingFaultFault

type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault

type InvalidArgument

type InvalidArgument struct {
	RuntimeFault

	// Optional name of the invalid property.
	InvalidProperty string `xml:"invalidProperty,omitempty" json:"invalidProperty,omitempty"`
}

An InvalidArgument exception is thrown if the set of arguments passed to the function is not specified correctly.

func (*InvalidArgument) GetInvalidArgument

func (b *InvalidArgument) GetInvalidArgument() *InvalidArgument

type InvalidArgumentFault

type InvalidArgumentFault BaseInvalidArgument

type InvalidBmcRole

type InvalidBmcRole struct {
	VimFault
}

An InvalidBmcRole fault is thrown when a BMC user doesn't have the necessary privileges.

BMC (Board Management Controller) is a piece of hardware required for IPMI.

type InvalidBmcRoleFault

type InvalidBmcRoleFault InvalidBmcRole

type InvalidBundle

type InvalidBundle struct {
	PlatformConfigFault
}

An Invalid Bundle fault is thrown if an operation fails because of a problem with the supplied bundle.

type InvalidBundleFault

type InvalidBundleFault InvalidBundle

type InvalidCAMCertificate

type InvalidCAMCertificate struct {
	InvalidCAMServer
}

Fault indicating that the CAM server's certificate cannot be verified.

type InvalidCAMCertificateFault

type InvalidCAMCertificateFault InvalidCAMCertificate

type InvalidCAMServer

type InvalidCAMServer struct {
	ActiveDirectoryFault

	// The address of the CAM server.
	CamServer string `xml:"camServer" json:"camServer"`
}

Fault indicating that the CAM server for camServer cannot be reached, or is not a valid IP address.

func (*InvalidCAMServer) GetInvalidCAMServer

func (b *InvalidCAMServer) GetInvalidCAMServer() *InvalidCAMServer

type InvalidCAMServerFault

type InvalidCAMServerFault BaseInvalidCAMServer

type InvalidClientCertificate

type InvalidClientCertificate struct {
	InvalidLogin
}

This exception is thrown when a client has provided a certificate that fails certificate validation at the server.

type InvalidClientCertificateFault

type InvalidClientCertificateFault InvalidClientCertificate

type InvalidCollectorVersion

type InvalidCollectorVersion struct {
	MethodFault
}

InvalidCollectorVersion is thrown when a collector version is out of date or invalid.

type InvalidCollectorVersionFault

type InvalidCollectorVersionFault InvalidCollectorVersion

type InvalidController

type InvalidController struct {
	InvalidDeviceSpec

	ControllerKey int32 `xml:"controllerKey" json:"controllerKey"`
}

An InvalidController exception is thrown if a device refers to a controller that cannot be found.

For example, an exception might be thrown if the client incorrectly passes a controller key, or if the client did not specify a controller where one is required (such as for disks or CD-ROMs).

type InvalidControllerFault

type InvalidControllerFault InvalidController

type InvalidDasConfigArgument

type InvalidDasConfigArgument struct {
	InvalidArgument

	// The entry for the invalid argument
	Entry string `xml:"entry,omitempty" json:"entry,omitempty"`
	// Name of the cluster to be configured
	ClusterName string `xml:"clusterName,omitempty" json:"clusterName,omitempty"`
}

This fault is thrown when an attempt is made to configure an HA cluster with invalid argument.

type InvalidDasConfigArgumentEntryForInvalidArgument

type InvalidDasConfigArgumentEntryForInvalidArgument string

type InvalidDasConfigArgumentFault

type InvalidDasConfigArgumentFault InvalidDasConfigArgument

type InvalidDasRestartPriorityForFtVm

type InvalidDasRestartPriorityForFtVm struct {
	InvalidArgument

	// The virtual machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The name of the virtual machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is thrown when an attempt is made to set the DAS restart priority of a FT VM to disabled.

type InvalidDasRestartPriorityForFtVmFault

type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm

type InvalidDatastore

type InvalidDatastore struct {
	VimFault

	// The datastore that is invalid.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// The name of the datastore that is invalid.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

An InvalidDatastore exception is thrown if an operation fails because of a problem with the specified datastore.

Typically, a subclass of this exception is thrown, indicating a problem such as an inaccessible datastore or an invalid datastore path.

func (*InvalidDatastore) GetInvalidDatastore

func (b *InvalidDatastore) GetInvalidDatastore() *InvalidDatastore

type InvalidDatastoreFault

type InvalidDatastoreFault BaseInvalidDatastore

type InvalidDatastorePath

type InvalidDatastorePath struct {
	InvalidDatastore

	// The invalid datastore path name, if one was provided.
	DatastorePath string `xml:"datastorePath" json:"datastorePath"`
}

An InvalidDatastorePath exception is thrown if a datastore path violates the expected format.

The expected format is "\[dsName\] path", e.g. "\[storage1\] folder/Vm1.vmdk". This exception is also thrown if a datastore corresponding to the given datastore path is not found.

type InvalidDatastorePathFault

type InvalidDatastorePathFault InvalidDatastorePath

type InvalidDatastoreState

type InvalidDatastoreState struct {
	InvalidState

	// The name of the datastore.
	DatastoreName string `xml:"datastoreName,omitempty" json:"datastoreName,omitempty"`
}

The datastore is in an invalid state (e.g., maintenance mode) for a given operation.

type InvalidDatastoreStateFault

type InvalidDatastoreStateFault InvalidDatastoreState

type InvalidDeviceBacking

type InvalidDeviceBacking struct {
	InvalidDeviceSpec
}

An InvalidDeviceBacking exception is thrown if a device with an incompatible device backing is added or edited.

type InvalidDeviceBackingFault

type InvalidDeviceBackingFault InvalidDeviceBacking

type InvalidDeviceOperation

type InvalidDeviceOperation struct {
	InvalidDeviceSpec

	// The invalid operation attempted.
	BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty" json:"badOp,omitempty"`
	// The invalid file operation attempted.
	BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty" json:"badFileOp,omitempty"`
}

An InvalidDeviceOperation exception is thrown if virtual machine creation or configuration fails because an invalid operation is attempted on the given device.

type InvalidDeviceOperationFault

type InvalidDeviceOperationFault InvalidDeviceOperation

type InvalidDeviceSpec

type InvalidDeviceSpec struct {
	InvalidVmConfig

	// Index of the device in the configuration specification that has the invalid value.
	DeviceIndex int32 `xml:"deviceIndex" json:"deviceIndex"`
}

An InvalidDeviceSpec exception is thrown if a virtual machine creation or configuration fails because a device specification contains an invalid value.

func (*InvalidDeviceSpec) GetInvalidDeviceSpec

func (b *InvalidDeviceSpec) GetInvalidDeviceSpec() *InvalidDeviceSpec

type InvalidDeviceSpecFault

type InvalidDeviceSpecFault BaseInvalidDeviceSpec

type InvalidDiskFormat

type InvalidDiskFormat struct {
	InvalidFormat
}

The disk format is either corrupted or not supported.

type InvalidDiskFormatFault

type InvalidDiskFormatFault InvalidDiskFormat

type InvalidDrsBehaviorForFtVm

type InvalidDrsBehaviorForFtVm struct {
	InvalidArgument

	// The virtual machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The name of the virtual machine
	VmName string `xml:"vmName" json:"vmName"`
}

This fault is thrown when an attempt is made to set the DRS behavior of an FT VM to an unsupported value.

Currently, the only supported behavior is **DRS Disabled**.

type InvalidDrsBehaviorForFtVmFault

type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm

type InvalidEditionEvent

type InvalidEditionEvent struct {
	LicenseEvent

	Feature string `xml:"feature" json:"feature"`
}

This event records if the edition is set to an invalid value.

type InvalidEditionLicense

type InvalidEditionLicense struct {
	NotEnoughLicenses

	Feature string `xml:"feature" json:"feature"`
}

An ExpiredEditionLicense fault is thrown if an attempt to acquire an Edition license 'feature failed for count 'count'.

type InvalidEditionLicenseFault

type InvalidEditionLicenseFault InvalidEditionLicense

type InvalidEvent

type InvalidEvent struct {
	VimFault
}

A InvalidEvent fault is thrown when the event is malformed.

type InvalidEventFault

type InvalidEventFault InvalidEvent

type InvalidFolder

type InvalidFolder struct {
	VimFault

	// Reference to invalid target.
	//
	// Refers instance of `ManagedEntity`.
	Target ManagedObjectReference `xml:"target" json:"target"`
}

An InvalidFolderFault exception is thrown when a node is moved to an invalid place in the hierarchy.

This can be because it is a child of the current node, or a wrong kind of container.

func (*InvalidFolder) GetInvalidFolder

func (b *InvalidFolder) GetInvalidFolder() *InvalidFolder

type InvalidFolderFault

type InvalidFolderFault BaseInvalidFolder

type InvalidFormat

type InvalidFormat struct {
	VmConfigFault
}

Throws when an invalid format is detected.

For example, when a virtual machine is registered and the system is unable to parse the files as a virtual machine.

func (*InvalidFormat) GetInvalidFormat

func (b *InvalidFormat) GetInvalidFormat() *InvalidFormat

type InvalidFormatFault

type InvalidFormatFault BaseInvalidFormat

type InvalidGuestLogin

type InvalidGuestLogin struct {
	GuestOperationsFault
}

An InvalidGuestLogin exception is thrown when an operation fails because authentication information used to authenticate with the guest was not accepted.

type InvalidGuestLoginFault

type InvalidGuestLoginFault InvalidGuestLogin

type InvalidHostConnectionState

type InvalidHostConnectionState struct {
	InvalidHostState
}

The host has an invalid connection state.

type InvalidHostConnectionStateFault

type InvalidHostConnectionStateFault InvalidHostConnectionState

type InvalidHostName

type InvalidHostName struct {
	HostConfigFault
}

The attempted operation requires that the host has a suitable FQDN.

type InvalidHostNameFault

type InvalidHostNameFault InvalidHostName

type InvalidHostState

type InvalidHostState struct {
	InvalidState

	// The host that has an invalid state.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The host has an invalid state.

func (*InvalidHostState) GetInvalidHostState

func (b *InvalidHostState) GetInvalidHostState() *InvalidHostState

type InvalidHostStateFault

type InvalidHostStateFault BaseInvalidHostState

type InvalidIndexArgument

type InvalidIndexArgument struct {
	InvalidArgument

	// Value of index that was not found
	Key string `xml:"key" json:"key"`
}

An InvalidIndexArgument exception is thrown if the index was not found

type InvalidIndexArgumentFault

type InvalidIndexArgumentFault InvalidIndexArgument

type InvalidIpfixConfig

type InvalidIpfixConfig struct {
	DvsFault

	// Path of the property in IpfixConfig that has an invalid value.
	Property string `xml:"property,omitempty" json:"property,omitempty"`
}

Illegal value specified for a property of the switch's IpfixConfig.

type InvalidIpfixConfigFault

type InvalidIpfixConfigFault InvalidIpfixConfig

type InvalidIpmiLoginInfo

type InvalidIpmiLoginInfo struct {
	VimFault
}

A InvalidIpmiLoginInfo fault is thrown when the IPMI user name and/or password is invalid.

type InvalidIpmiLoginInfoFault

type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo

type InvalidIpmiMacAddress

type InvalidIpmiMacAddress struct {
	VimFault

	UserProvidedMacAddress string `xml:"userProvidedMacAddress" json:"userProvidedMacAddress"`
	ObservedMacAddress     string `xml:"observedMacAddress" json:"observedMacAddress"`
}

A InvalidIpmiMacAddress fault is thrown when the IPMI mac address provided by the user doesn't match with the observed mac address on the host.

type InvalidIpmiMacAddressFault

type InvalidIpmiMacAddressFault InvalidIpmiMacAddress

type InvalidLicense

type InvalidLicense struct {
	VimFault

	// The content of the license being reported as invalid.
	LicenseContent string `xml:"licenseContent" json:"licenseContent"`
}

Thrown when an attempt is made to upload license content that is invalid.

type InvalidLicenseFault

type InvalidLicenseFault InvalidLicense

type InvalidLocale

type InvalidLocale struct {
	VimFault
}

Thrown when a locale name is unknown or invalid.

type InvalidLocaleFault

type InvalidLocaleFault InvalidLocale

type InvalidLogin

type InvalidLogin struct {
	VimFault
}

Thrown when a server logon fails due to a bad user name or password.

func (*InvalidLogin) GetInvalidLogin

func (b *InvalidLogin) GetInvalidLogin() *InvalidLogin

type InvalidLoginFault

type InvalidLoginFault BaseInvalidLogin

type InvalidName

type InvalidName struct {
	VimFault

	// The invalid name.
	Name string `xml:"name" json:"name"`
	// Entity, if any, that has an invalid name.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

A InvalidName fault is thrown when the name contains an invalid character or format.

type InvalidNameFault

type InvalidNameFault InvalidName

type InvalidNasCredentials

type InvalidNasCredentials struct {
	NasConfigFault

	// The username associated with the CIFS connection.
	UserName string `xml:"userName" json:"userName"`
}

This fault is thrown when an operation to configure a CIFS volume fails because the credentials specified in the `spec` are incorrect.

type InvalidNasCredentialsFault

type InvalidNasCredentialsFault InvalidNasCredentials

type InvalidNetworkInType

type InvalidNetworkInType struct {
	VAppPropertyFault
}

The network specified in the property does not exists.

type InvalidNetworkInTypeFault

type InvalidNetworkInTypeFault InvalidNetworkInType

type InvalidNetworkResource

type InvalidNetworkResource struct {
	NasConfigFault

	// The host that runs the CIFS or NFS server.
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote share.
	RemotePath string `xml:"remotePath" json:"remotePath"`
}

This fault is thrown when an operation to configure a NAS volume fails because the network resource specified is invalid.

type InvalidNetworkResourceFault

type InvalidNetworkResourceFault InvalidNetworkResource

type InvalidOperationOnSecondaryVm

type InvalidOperationOnSecondaryVm struct {
	VmFaultToleranceIssue

	// Instance UUID of the secondary virtual machine.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This fault is thrown when an attempt is made to invoke an operation on a secondary virtual machine that is only supported on the primary virtual machine of the fault tolerant group.

type InvalidOperationOnSecondaryVmFault

type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm

type InvalidPowerState

type InvalidPowerState struct {
	InvalidState

	// Power state of the virtual machine required to
	// allow the operation to succeed.
	RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty" json:"requestedState,omitempty"`
	// Power state of the virtual machine that
	// prevented the operation from succeeding.
	ExistingState VirtualMachinePowerState `xml:"existingState" json:"existingState"`
}

This exception is thrown if the power operation attempted could not be performed given the current power state of the virtual machine.

type InvalidPowerStateFault

type InvalidPowerStateFault InvalidPowerState

type InvalidPrivilege

type InvalidPrivilege struct {
	VimFault

	// The invalid privilege.
	Privilege string `xml:"privilege" json:"privilege"`
}

A InvalidPrivilege fault is thrown when the privilege does not exist.

type InvalidPrivilegeFault

type InvalidPrivilegeFault InvalidPrivilege

type InvalidProfileReferenceHost

type InvalidProfileReferenceHost struct {
	RuntimeFault

	// The reason for the invalid reference host if known.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The incompatible host if associated with the profile.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The profile with the invalid or missing reference host.
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
	// The profile name: the replacement of the member above.
	ProfileName string `xml:"profileName,omitempty" json:"profileName,omitempty" vim:"6.5"`
}

A InvalidProfileReferenceHost fault is thrown when a valid host is not associated with a profile in the Virtual Center inventory.

This could be because there is no host assciated with the profile or because the associated host is incompatible with the profile.

type InvalidProfileReferenceHostFault

type InvalidProfileReferenceHostFault InvalidProfileReferenceHost

type InvalidProfileReferenceHostReason

type InvalidProfileReferenceHostReason string

type InvalidProperty

type InvalidProperty struct {
	MethodFault

	// The property name that generated the error.
	Name string `xml:"name" json:"name"`
}

Thrown when an invalid property path has been referenced.

type InvalidPropertyFault

type InvalidPropertyFault InvalidProperty

type InvalidPropertyType

type InvalidPropertyType struct {
	VAppPropertyFault
}

The type specification in the property in invalid.

type InvalidPropertyTypeFault

type InvalidPropertyTypeFault InvalidPropertyType

type InvalidPropertyValue

type InvalidPropertyValue struct {
	VAppPropertyFault
}

The value of the property is not valid given the type of the property.

func (*InvalidPropertyValue) GetInvalidPropertyValue

func (b *InvalidPropertyValue) GetInvalidPropertyValue() *InvalidPropertyValue

type InvalidPropertyValueFault

type InvalidPropertyValueFault BaseInvalidPropertyValue

type InvalidRequest

type InvalidRequest struct {
	RuntimeFault
}

An InvalidRequest fault is thrown in response to a malformed request to the server that fails in the transport layer, e.g., the SOAP XML request was invalid.

Sub-types of this fault, provides more specific transport errors, such as a using a reference to an unknown managed object type or method.

func (*InvalidRequest) GetInvalidRequest

func (b *InvalidRequest) GetInvalidRequest() *InvalidRequest

type InvalidRequestFault

type InvalidRequestFault BaseInvalidRequest

type InvalidResourcePoolStructureFault

type InvalidResourcePoolStructureFault struct {
	InsufficientResourcesFault
}

This fault is thrown when an operation will cause the structure of a resource pool hiearchy to exceed its limit.

The limits are typically imposed by the total number of nodes, maximum fan-out, and total depth of the hierarchy.

type InvalidResourcePoolStructureFaultFault

type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault

type InvalidScheduledTask added in v0.31.0

type InvalidScheduledTask struct {
	RuntimeFault
}

This exception is thrown when an unauthorized user runs a scheduled task.

type InvalidScheduledTaskFault added in v0.31.0

type InvalidScheduledTaskFault InvalidScheduledTask

type InvalidSnapshotFormat

type InvalidSnapshotFormat struct {
	InvalidFormat
}

Thrown when an invalid snapshot configuration is detected.

For example, when a virtual machine's snapshot tree includes snapshots that are no longer present.

type InvalidSnapshotFormatFault

type InvalidSnapshotFormatFault InvalidSnapshotFormat

type InvalidState

type InvalidState struct {
	VimFault
}

An InvalidState fault is thrown if the operation failed due to the current state of the system.

func (*InvalidState) GetInvalidState

func (b *InvalidState) GetInvalidState() *InvalidState

type InvalidStateFault

type InvalidStateFault BaseInvalidState

type InvalidType

type InvalidType struct {
	InvalidRequest

	// Name of the argument that was malformed.
	Argument string `xml:"argument,omitempty" json:"argument,omitempty"`
}

InvalidType is thrown when a managed object request refers to an unexpected or unknown type.

type InvalidTypeFault

type InvalidTypeFault InvalidType

type InvalidVmConfig

type InvalidVmConfig struct {
	VmConfigFault

	// Path of the property in configSpec that has an invalid value.
	Property string `xml:"property,omitempty" json:"property,omitempty"`
}

Thrown when virtual machine creation or configuration fails.

This is a base type for all virtual machine configuration errors.

func (*InvalidVmConfig) GetInvalidVmConfig

func (b *InvalidVmConfig) GetInvalidVmConfig() *InvalidVmConfig

type InvalidVmConfigFault

type InvalidVmConfigFault BaseInvalidVmConfig

type InvalidVmState added in v0.12.0

type InvalidVmState struct {
	InvalidState

	// The VM that has an invalid state.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The VM has an invalid state.

type InvalidVmStateFault added in v0.12.0

type InvalidVmStateFault InvalidVmState

type InventoryDescription

type InventoryDescription struct {
	DynamicData

	// The number of hosts.
	NumHosts int32 `xml:"numHosts" json:"numHosts"`
	// The number of virtual machines.
	NumVirtualMachines int32 `xml:"numVirtualMachines" json:"numVirtualMachines"`
	// The number of resource pools.
	//
	// Default value is equal to numHosts
	NumResourcePools int32 `xml:"numResourcePools,omitempty" json:"numResourcePools,omitempty"`
	// The number of clusters.
	//
	// Default value is equal to numHosts/5.
	NumClusters int32 `xml:"numClusters,omitempty" json:"numClusters,omitempty"`
	// The number cpu devices per host.
	//
	// Default value is 4.
	NumCpuDev int32 `xml:"numCpuDev,omitempty" json:"numCpuDev,omitempty"`
	// The number network devices per host.
	//
	// Default value is 2.
	NumNetDev int32 `xml:"numNetDev,omitempty" json:"numNetDev,omitempty"`
	// The number disk devices per host.
	//
	// Default value is 10.
	NumDiskDev int32 `xml:"numDiskDev,omitempty" json:"numDiskDev,omitempty"`
	// The number cpu devices per vm.
	//
	// Default value is 2.
	NumvCpuDev int32 `xml:"numvCpuDev,omitempty" json:"numvCpuDev,omitempty"`
	// The number network devices per vm.
	//
	// Default value is 1.
	NumvNetDev int32 `xml:"numvNetDev,omitempty" json:"numvNetDev,omitempty"`
	// The number disk devices per vm.
	//
	// Default value is 4.
	NumvDiskDev int32 `xml:"numvDiskDev,omitempty" json:"numvDiskDev,omitempty"`
}

Data object to capture all information needed to describe a sample inventory.

type InventoryHasStandardAloneHosts

type InventoryHasStandardAloneHosts struct {
	NotEnoughLicenses

	Hosts []string `xml:"hosts" json:"hosts"`
}

A InventoryHasStandardAloneHosts fault is thrown if an assignment operation tries to downgrade a license that does have allow hosts licensed with StandardAlone license in the inventory.

type InventoryHasStandardAloneHostsFault

type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts

type IoFilterHostIssue

type IoFilterHostIssue struct {
	DynamicData

	// Host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The issues.
	Issue []LocalizedMethodFault `xml:"issue" json:"issue"`
}

The issues on a host.

type IoFilterInfo

type IoFilterInfo struct {
	DynamicData

	// IO Filter identifier.
	Id string `xml:"id" json:"id"`
	// Name of the IO Filter.
	Name string `xml:"name" json:"name"`
	// Vendor of the IO Filter.
	Vendor string `xml:"vendor" json:"vendor"`
	// Version of the IO Filter.
	Version string `xml:"version" json:"version"`
	// Type of the IO Filter.
	//
	// The set of possible values are listed in
	// `IoFilterType_enum`.
	// The property is unset if the information is not available.
	Type string `xml:"type,omitempty" json:"type,omitempty" vim:"6.5"`
	// Short description of the IO Filter.
	//
	// The property is unset if the information is not available.
	Summary string `xml:"summary,omitempty" json:"summary,omitempty"`
	// Release date of the IO Filter.
	//
	// The property is unset if the information is not available.
	ReleaseDate string `xml:"releaseDate,omitempty" json:"releaseDate,omitempty"`
}

Information about an IO Filter.

func (*IoFilterInfo) GetIoFilterInfo

func (b *IoFilterInfo) GetIoFilterInfo() *IoFilterInfo

type IoFilterOperation

type IoFilterOperation string

type IoFilterQueryIssueResult

type IoFilterQueryIssueResult struct {
	DynamicData

	// The type of the operation performed on the IO Filter.
	//
	// The set of possible values are defined in
	// `IoFilterOperation_enum`.
	OpType string `xml:"opType" json:"opType"`
	// The issues on hosts.
	HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty" json:"hostIssue,omitempty"`
}

Result for `IoFilterManager.QueryIoFilterIssues`.

type IoFilterType added in v0.12.0

type IoFilterType string

type IpAddress

type IpAddress struct {
	NegatableExpression
}

This is the abstract base class for IP address.

func (*IpAddress) GetIpAddress

func (b *IpAddress) GetIpAddress() *IpAddress

type IpAddressProfile

type IpAddressProfile struct {
	ApplyProfile
}

The `IpAddressProfile` represents the Virtual NIC IP address.

The `ApplyProfile.policy` property contains the configuration data values for the IP address.

type IpHostnameGeneratorError

type IpHostnameGeneratorError struct {
	CustomizationFault
}

An error occurred while running the IP/hostname generator application

type IpHostnameGeneratorErrorFault

type IpHostnameGeneratorErrorFault IpHostnameGeneratorError

type IpPool

type IpPool struct {
	DynamicData

	// Unique ID, generated by the server.
	//
	// This is used to identify the pool in
	// subsequent lookups or updates. The generated value is also returned by the `IpPoolManager.CreateIpPool` method.
	Id int32 `xml:"id,omitempty" json:"id,omitempty"`
	// Pool name.
	//
	// The pool name must be unique within the datacenter.
	//
	// Any / (slash), \\ (backslash), character used in this
	// name element is escaped. Similarly, any % (percent) character used in
	// this name element is escaped, unless it is used to start an escape
	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
	// %5c, and a percent is escaped as %25.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// IPv4 configuration.
	//
	// This configuration is always present on the pool. To disable allocation, set the
	// ipPoolEnabled flag of the config to false.
	Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty" json:"ipv4Config,omitempty"`
	// IPv6 configuration.
	//
	// This configuration is always present on the pool. To disable allocation, set the
	// ipPoolEnabled flag of the config to false.
	Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty" json:"ipv6Config,omitempty"`
	// DNS Domain.
	//
	// For example, vmware.com. This can be an empty string if no
	// domain is configured.
	DnsDomain string `xml:"dnsDomain,omitempty" json:"dnsDomain,omitempty"`
	// DNS Search Path.
	//
	// For example, eng.vmware.com;vmware.com
	DnsSearchPath string `xml:"dnsSearchPath,omitempty" json:"dnsSearchPath,omitempty"`
	// Prefix for hostnames.
	HostPrefix string `xml:"hostPrefix,omitempty" json:"hostPrefix,omitempty"`
	// The HTTP proxy to use on this network, e.g., &lt;host&gt;:&lt;port&gt;
	HttpProxy string `xml:"httpProxy,omitempty" json:"httpProxy,omitempty"`
	// The networks that are associated with this IP pool
	NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty" json:"networkAssociation,omitempty"`
	// The number of IPv4 addresses available for allocation.
	AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty" json:"availableIpv4Addresses,omitempty" vim:"5.1"`
	// The number of IPv6 addresses available for allocation.
	AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty" json:"availableIpv6Addresses,omitempty" vim:"5.1"`
	// The number of allocated IPv4 addresses.
	AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty" json:"allocatedIpv4Addresses,omitempty" vim:"5.1"`
	// The number of allocated IPv6 addresses.
	AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty" json:"allocatedIpv6Addresses,omitempty" vim:"5.1"`
}

Specifications of the network configuration to be used on a network.

This is used to generate IP addresses and for self-customization of vApps.

type IpPoolAssociation

type IpPoolAssociation struct {
	DynamicData

	// The network object
	//
	// Refers instance of `Network`.
	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
	// The name of the network or portgroup
	//
	// This field is only used when querying existing IP pools. It is ignored when
	// creating or updating pools.
	NetworkName string `xml:"networkName" json:"networkName"`
}

Information about a network or portgroup that is associated to an IP pool.

type IpPoolIpPoolConfigInfo

type IpPoolIpPoolConfigInfo struct {
	DynamicData

	// Address of the subnet.
	//
	// For example:
	//     - IPv4: 192.168.5.0
	//     - IPv6: 2001:0db8:85a3::
	SubnetAddress string `xml:"subnetAddress,omitempty" json:"subnetAddress,omitempty"`
	// Netmask
	//
	// For example:
	//     - IPv4: 255.255.255.0
	//     - IPv6: ffff:ffff:ffff::
	Netmask string `xml:"netmask,omitempty" json:"netmask,omitempty"`
	// Gateway.
	//
	// This can be an empty string - if no gateway is configured.
	//
	// Examples:
	//     - IPv4: 192.168.5.1
	//     - IPv6: 2001:0db8:85a3::1
	Gateway string `xml:"gateway,omitempty" json:"gateway,omitempty"`
	// IP range.
	//
	// This is specified as a set of ranges separated with commas.
	// One range is given by a start address, a hash (#), and the length
	// of the range.
	//
	// For example:
	//     - 192.0.2.235 # 20 is the IPv4 range from 192.0.2.235 to 192.0.2.254
	//     - 2001::7334 # 20 is the IPv6 range from 2001::7334 to 2001::7347
	Range string `xml:"range,omitempty" json:"range,omitempty"`
	// DNS servers
	//
	// For example:
	//     - IPv4: \["10.20.0.1", "10.20.0.2"\]
	//     - IPv6: \["2001:0db8:85a3::0370:7334", "2001:0db8:85a3::0370:7335"\]
	//
	// If an empty list is passed, the existing value remains unchanged. To clear this
	// list, pass an array containing the empty string as it's only element.
	Dns []string `xml:"dns,omitempty" json:"dns,omitempty"`
	// Whether a DHCP server is available on this network.
	DhcpServerAvailable *bool `xml:"dhcpServerAvailable" json:"dhcpServerAvailable,omitempty"`
	// IP addresses can only be allocated from the range if the IP pool is
	// enabled.
	IpPoolEnabled *bool `xml:"ipPoolEnabled" json:"ipPoolEnabled,omitempty"`
}

Specifications of either IPv4 or IPv6 configuration to be used on this network.

This is a part of network configuration.

IPv4 addresses are in dot-decimal notation, e.g.: 192.0.2.235

IPv6 addresses are in colon-hexadecimal notation, e.g.: 2001:0db8:85a3::0370:7334

type IpPoolManagerIpAllocation

type IpPoolManagerIpAllocation struct {
	DynamicData

	// IP address
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// The allocation ID
	AllocationId string `xml:"allocationId" json:"allocationId"`
}

Describes an IP allocation.

type IpRange

type IpRange struct {
	IpAddress

	// IP address prefix.
	AddressPrefix string `xml:"addressPrefix" json:"addressPrefix"`
	// Prefix length with max value of 32 for IPv4 and 128 for IPv6.
	PrefixLength int32 `xml:"prefixLength,omitempty" json:"prefixLength,omitempty"`
}

This class specifies a range of IP addresses by using prefix.

Usage: 128.20.20.10/24. Here 128.20.20.10 is IP address and 24 is prefix length.

type IpRouteProfile

type IpRouteProfile struct {
	ApplyProfile

	// List of static routes to be configured.
	StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty" json:"staticRoute,omitempty"`
}

The `IpRouteProfile` data object represents the host IP route configuration.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type IsClusteredVmdkEnabled added in v0.31.0

type IsClusteredVmdkEnabled IsClusteredVmdkEnabledRequestType

type IsClusteredVmdkEnabledRequestType added in v0.31.0

type IsClusteredVmdkEnabledRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type IsClusteredVmdkEnabledResponse added in v0.31.0

type IsClusteredVmdkEnabledResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type IsKmsClusterActive added in v0.23.0

type IsKmsClusterActive IsKmsClusterActiveRequestType

type IsKmsClusterActiveRequestType added in v0.23.0

type IsKmsClusterActiveRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	// Will use default cluster if omitted.
	Cluster *KeyProviderId `xml:"cluster,omitempty" json:"cluster,omitempty"`
}

The parameters of `CryptoManagerKmip.IsKmsClusterActive`.

type IsKmsClusterActiveResponse added in v0.23.0

type IsKmsClusterActiveResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type IsSharedGraphicsActiveRequestType

type IsSharedGraphicsActiveRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type IsSharedGraphicsActiveResponse

type IsSharedGraphicsActiveResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type IscsiDependencyEntity

type IscsiDependencyEntity struct {
	DynamicData

	// The affected Physical NIC device
	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
	// The affected Virtual NIC device
	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
	// The iSCSI HBA that the Virtual NIC is associated with, if any.
	VmhbaName string `xml:"vmhbaName" json:"vmhbaName"`
}

Defines a dependency entity.

Contains the affected Virtual NIC device name and iSCSI HBA name (if Virtual NIC is associated with the HBA). See `IscsiMigrationDependency`

type IscsiFault

type IscsiFault struct {
	VimFault
}

Base class for faults that can be thrown while invoking iSCSI management operations.

func (*IscsiFault) GetIscsiFault

func (b *IscsiFault) GetIscsiFault() *IscsiFault

type IscsiFaultFault

type IscsiFaultFault BaseIscsiFault

type IscsiFaultInvalidVnic

type IscsiFaultInvalidVnic struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates an attempt is made to bind a Virtual NIC to an iSCSI adapter where the Virtual NIC has no association with the adapter.

For ex: The uplink for the given Virtual NIC is not valid for the iSCSI HBA.

type IscsiFaultInvalidVnicFault

type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic

type IscsiFaultPnicInUse

type IscsiFaultPnicInUse struct {
	IscsiFault

	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
}

This fault indicates the given Physical NIC is being used by iSCSI HBA.

type IscsiFaultPnicInUseFault

type IscsiFaultPnicInUseFault IscsiFaultPnicInUse

type IscsiFaultVnicAlreadyBound

type IscsiFaultVnicAlreadyBound struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates that the given Virtual NIC is already bound to the iSCSI HBA.

type IscsiFaultVnicAlreadyBoundFault

type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound

type IscsiFaultVnicHasActivePaths

type IscsiFaultVnicHasActivePaths struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates the given Virtual NIC has active storage paths associated with it.

type IscsiFaultVnicHasActivePathsFault

type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths
type IscsiFaultVnicHasMultipleUplinks struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates that the Virtual NIC has multiple uplinks and not suitable for iSCSI multi-pathing and can not be bound to iSCSI HBA.

type IscsiFaultVnicHasMultipleUplinksFault

type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks
type IscsiFaultVnicHasNoUplinks struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates the given Virtual NIC has no uplinks and not suitable for iSCSI multi-pathing configuration.

type IscsiFaultVnicHasNoUplinksFault

type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks
type IscsiFaultVnicHasWrongUplink struct {
	IscsiFault

	// Contains the VMkernel virtual NIC device name.
	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates the given Virtual NIC has the wrong Physical uplink for iSCSI multi-pathing configuration.

The Physical uplink is not associated with the iSCSI Host Bus Adapter.

type IscsiFaultVnicHasWrongUplinkFault

type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink

type IscsiFaultVnicInUse

type IscsiFaultVnicInUse struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates the given Virtual NIC is being used by iSCSI and the requested operation can't be completed.

type IscsiFaultVnicInUseFault

type IscsiFaultVnicInUseFault IscsiFaultVnicInUse

type IscsiFaultVnicIsLastPath

type IscsiFaultVnicIsLastPath struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates that the given Virtual NIC is associated with the only path to the storage.

Any attempt to unbind this from iSCSI HBA would result in storage being inaccessible.

type IscsiFaultVnicIsLastPathFault

type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath

type IscsiFaultVnicNotBound

type IscsiFaultVnicNotBound struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates an attempt was made to remove a Virtual NIC from an iSCSI HBA while Virtual NIC is not associated with the adapter.

type IscsiFaultVnicNotBoundFault

type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound

type IscsiFaultVnicNotFound

type IscsiFaultVnicNotFound struct {
	IscsiFault

	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

This fault indicates an attempt was made to add a non-existent Virtual NIC adapter.

type IscsiFaultVnicNotFoundFault

type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound

type IscsiMigrationDependency

type IscsiMigrationDependency struct {
	DynamicData

	// Indicates whether migration can be safely performed
	// If migrationAllowed is False, the disallowReason will
	// contain the specific condition that makes the migration
	// attempt unsafe.
	MigrationAllowed bool `xml:"migrationAllowed" json:"migrationAllowed"`
	// Reasons for not allowing migration.
	//
	// Unset if migrationAllowed is true.
	DisallowReason *IscsiStatus `xml:"disallowReason,omitempty" json:"disallowReason,omitempty"`
	// Details of all the resources affected by migration.
	Dependency []IscsiDependencyEntity `xml:"dependency,omitempty" json:"dependency,omitempty"`
}

Provides migration dependency information for a given Physical NIC.

Lists all the iSCSI and networking resources impacted if migration of a given Physical NIC is to take place.

type IscsiPortInfo

type IscsiPortInfo struct {
	DynamicData

	// Virtual NIC Name.
	//
	// Contains the name of the Virtual NIC device. This may be
	// unset in case where the bound Virtual NIC doesn't have the system object or
	// where a candidate Physical NIC isn't associated with any Virtual NIC.
	VnicDevice string `xml:"vnicDevice,omitempty" json:"vnicDevice,omitempty"`
	// Virtual NIC Object corresponding to the vnicDevice.
	//
	// May be unset if Virtual NIC object corresponding to vnicDevice doesn't
	// exist in the system.
	Vnic *HostVirtualNic `xml:"vnic,omitempty" json:"vnic,omitempty"`
	// Physical NIC Name.
	PnicDevice string `xml:"pnicDevice,omitempty" json:"pnicDevice,omitempty"`
	// Physical NIC Object corresponding to the pnicDevice.
	//
	// May be unset if Physical NIC object corresponding to pnicDevice doesn't
	// exist in the system or the vnicDevice doesn't have any Physical NIC
	// associated with it.
	Pnic *PhysicalNic `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// Name of the virtual switch this Physical/Virtual NIC belongs.
	//
	// May be unset if the vnicDevice and/or pnicDevice do not have a
	// virtual switch associated with them.
	SwitchName string `xml:"switchName,omitempty" json:"switchName,omitempty"`
	// UUID of the virtual switch this Physical/Virtual NIC belongs.
	//
	// May be unset if the vnicDevice and/or pnicDevice do not have a
	// virtual switch associated with them or the associated switch is not VDS.
	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
	// Name of the portgroup to which this Virtual NIC belongs.
	//
	// May be unset if the vnicDevice and/or pnicDevice do not have a
	// Portgroup associated with them.
	PortgroupName string `xml:"portgroupName,omitempty" json:"portgroupName,omitempty"`
	// Portgroup key to which this Virtual NIC belongs.
	//
	// May be unset if the vnicDevice and/or pnicDevice do not have a
	// Portgroup associated with them or the associated portgroup does
	// is not of VDS type.
	PortgroupKey string `xml:"portgroupKey,omitempty" json:"portgroupKey,omitempty"`
	// portkey to which this Virtual NIC belongs.
	//
	// May be unset if the vnicDevice is not assigned to a specific port or
	// the switch is not VDS.
	PortKey string `xml:"portKey,omitempty" json:"portKey,omitempty"`
	// ID of the Opaque network to which the virtual NIC is connected.
	//
	// This property is set only when vnicDevice is associated with an
	// opaque network.
	OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty" json:"opaqueNetworkId,omitempty" vim:"6.5"`
	// Type of the Opaque network to which the virtual NIC is connected.
	//
	// This property is set only when vnicDevice is associated with an
	// opaque network.
	OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty" json:"opaqueNetworkType,omitempty" vim:"6.5"`
	// Name of the Opaque network to which the virtual NIC is connected.
	//
	// This property is set only when vnicDevice is associated with an
	// opaque network.
	OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty" json:"opaqueNetworkName,omitempty" vim:"6.5"`
	// An ID assigned to the vmkernel adapter by external management plane
	// or controller.
	//
	// This property is set only when vnicDevice is associated with an
	// opaque network.
	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.5"`
	// Status indicating whether the Virtual NIC is compliant with the
	// network policy that is required by iSCSI port binding.
	//
	// May be unset in the candidate NIC list.
	ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty" json:"complianceStatus,omitempty"`
	// A status, as defined in `IscsiPortInfoPathStatus_enum`, indicating the
	// existing storage paths dependency level on a given Virtual NIC.
	//
	// May be unset in the candidate NIC list.
	PathStatus string `xml:"pathStatus,omitempty" json:"pathStatus,omitempty"`
}

The `IscsiPortInfo` data object describes the Virtual NIC that are bound to an iSCSI adapter and also it describes the candidate Virtual NICs that can be bound to a given iSCSI adapter.

type IscsiPortInfoPathStatus

type IscsiPortInfoPathStatus string

type IscsiStatus

type IscsiStatus struct {
	DynamicData

	// List of failure reason and associated remedy.
	//
	// An array of fault codes associated with the failure. The fault itself
	// will provide an indication of the actual failure code and
	// `MethodFault.faultMessage` will indicate the remedy that
	// needs to be taken to correct the failure.
	Reason []LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
}

The `IscsiStatus` data object describes the status of an operation.

type IsoImageFileInfo

type IsoImageFileInfo struct {
	FileInfo
}

This data object type describes a file that is an ISO CD-ROM image.

type IsoImageFileQuery

type IsoImageFileQuery struct {
	FileQuery
}

This data object type describes the query specification for an ISO CD-ROM image.

type JoinDomainRequestType

type JoinDomainRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name of the domain to be joined.
	DomainName string `xml:"domainName" json:"domainName"`
	// Name for an Active Directory account
	// that has the authority to add hosts to the domain.
	UserName string `xml:"userName" json:"userName"`
	// Password for the <code>userName</code> account.
	Password string `xml:"password" json:"password"`
}

The parameters of `HostActiveDirectoryAuthentication.JoinDomain_Task`.

type JoinDomainWithCAMRequestType

type JoinDomainWithCAMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Name of the domain to be joined.
	DomainName string `xml:"domainName" json:"domainName"`
	// Name of server providing the CAM service.
	CamServer string `xml:"camServer" json:"camServer"`
}

The parameters of `HostActiveDirectoryAuthentication.JoinDomainWithCAM_Task`.

type JoinDomainWithCAM_Task

type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType

type JoinDomainWithCAM_TaskResponse

type JoinDomainWithCAM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type JoinDomain_Task

type JoinDomain_Task JoinDomainRequestType

type JoinDomain_TaskResponse

type JoinDomain_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type KernelModuleInfo

type KernelModuleInfo struct {
	DynamicData

	// Module ID.
	Id int32 `xml:"id" json:"id"`
	// Module name.
	Name string `xml:"name" json:"name"`
	// Version string.
	Version string `xml:"version" json:"version"`
	// Module filename, without the path.
	Filename string `xml:"filename" json:"filename"`
	// Option string configured to be passed to the kernel module when loaded.
	//
	// Note that this is not necessarily the option string currently in use by
	// the kernel module.
	OptionString string `xml:"optionString" json:"optionString"`
	// Is the module loaded?
	Loaded bool `xml:"loaded" json:"loaded"`
	// Is the module enabled?
	Enabled bool `xml:"enabled" json:"enabled"`
	// Number of references to this module.
	UseCount int32 `xml:"useCount" json:"useCount"`
	// Read-only section information.
	ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection" json:"readOnlySection"`
	// Writable section information.
	WritableSection KernelModuleSectionInfo `xml:"writableSection" json:"writableSection"`
	// Text section information.
	TextSection KernelModuleSectionInfo `xml:"textSection" json:"textSection"`
	// Data section information.
	DataSection KernelModuleSectionInfo `xml:"dataSection" json:"dataSection"`
	// BSS section information.
	BssSection KernelModuleSectionInfo `xml:"bssSection" json:"bssSection"`
}

Information about a kernel module.

type KernelModuleSectionInfo

type KernelModuleSectionInfo struct {
	DynamicData

	// Base address of section.
	Address int64 `xml:"address" json:"address"`
	// Section length.
	Length int32 `xml:"length,omitempty" json:"length,omitempty"`
}

Information about a module section.

type KeyAnyValue

type KeyAnyValue struct {
	DynamicData

	// the key
	Key string `xml:"key" json:"key"`
	// the value
	Value AnyType `xml:"value,typeattr" json:"value"`
}

Non-localized key/value pair in which the the value can be of any type.

type KeyNotFound added in v0.21.0

type KeyNotFound struct {
	VimFault

	// The non existing key.
	Key string `xml:"key" json:"key"`
}

An KeyNotFound fault is returned when the key does not exist among key value pairs.

type KeyNotFoundFault added in v0.21.0

type KeyNotFoundFault KeyNotFound

type KeyProviderId added in v0.12.0

type KeyProviderId struct {
	DynamicData

	// Globally unique ID for the crypto key provider.
	//
	// Servers with the same ID must provide the same keys.
	// Cannot be empty.
	Id string `xml:"id" json:"id"`
}

Data Object representing a crypto key provider's unique identifier.

type KeyValue

type KeyValue struct {
	DynamicData

	// Key.
	Key string `xml:"key" json:"key"`
	// Value.
	Value string `xml:"value" json:"value"`
}

Non-localized key/value pair

type KmipClusterInfo added in v0.12.0

type KmipClusterInfo struct {
	DynamicData

	// Globally unique ID for the servers providing the same keys.
	//
	// All KMIP servers with the same clusterId are in a cluster and all must
	// provide the same keys for redundancy.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// Servers in this cluster.
	Servers []KmipServerInfo `xml:"servers,omitempty" json:"servers,omitempty"`
	// Use this cluster as default for system wide,
	// when the optional CryptoKeyId.providerId is not set.
	UseAsDefault bool `xml:"useAsDefault" json:"useAsDefault"`
	// Key provider management type.
	//
	// See `KmipClusterInfoKmsManagementType_enum` for valid values.
	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty" vim:"7.0"`
	// Use this cluster as default for the managed entities,
	// when the optional CryptoKeyId.providerId is not set.
	//
	// See `CryptoManagerKmip.SetDefaultKmsCluster` for
	// supported managed entity type.
	//
	// Refers instances of `ManagedEntity`.
	UseAsEntityDefault []ManagedObjectReference `xml:"useAsEntityDefault,omitempty" json:"useAsEntityDefault,omitempty" vim:"7.0"`
	HasBackup          *bool                    `xml:"hasBackup" json:"hasBackup,omitempty"`
	TpmRequired        *bool                    `xml:"tpmRequired" json:"tpmRequired,omitempty"`
	KeyId              string                   `xml:"keyId,omitempty" json:"keyId,omitempty"`
}

Data Object representing a cluster of KMIP servers.

All servers in a cluster must provide the same keys.

type KmipClusterInfoKmsManagementType added in v0.23.0

type KmipClusterInfoKmsManagementType string

type KmipServerInfo added in v0.12.0

type KmipServerInfo struct {
	DynamicData

	// Name for the KMIP server.
	Name string `xml:"name" json:"name"`
	// Address of the KMIP server.
	Address string `xml:"address" json:"address"`
	// Port of the KMIP server.
	Port int32 `xml:"port" json:"port"`
	// Address of the proxy server.
	//
	// Set value to empty string to delete the entry.
	ProxyAddress string `xml:"proxyAddress,omitempty" json:"proxyAddress,omitempty"`
	// Port of the proxy server.
	//
	// Set value "-1" to delete the entry.
	ProxyPort int32 `xml:"proxyPort,omitempty" json:"proxyPort,omitempty"`
	// Should auto-reconnect be done.
	//
	// Set value "-1" to delete the entry.
	Reconnect int32 `xml:"reconnect,omitempty" json:"reconnect,omitempty"`
	// KMIP library protocol handler, e.g.
	//
	// KMIP1.
	// Set value to empty string to delete the entry.
	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
	// Non-blocking I/O required.
	//
	// Set value "-1" to delete the entry.
	Nbio int32 `xml:"nbio,omitempty" json:"nbio,omitempty"`
	// I/O timeout in seconds (-1=none,0=infinite).
	//
	// Set value "-1" to delete the entry.
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
	// Username to authenticate to the KMIP server.
	//
	// Set value to empty string to delete the entry.
	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
}

Data Object representing a KMIP server connection information.

type KmipServerSpec added in v0.12.0

type KmipServerSpec struct {
	DynamicData

	// The ID of the KMIP cluster.
	//
	// KMIP servers with the same clusterId are in
	// one cluster and provide the same keys for redundancy.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// Connection information for the KMIP server.
	Info KmipServerInfo `xml:"info" json:"info"`
	// Password to authenticate to the KMIP server.
	//
	// Set value to empty string to delete the entry.
	Password string `xml:"password,omitempty" json:"password,omitempty"`
}

Data Object representing a KMIP server connection spec.

type KmipServerStatus added in v0.12.0

type KmipServerStatus struct {
	DynamicData

	// The ID of the KMIP cluster.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// Name for the KMIP server.
	Name string `xml:"name" json:"name"`
	// KMIP server status.
	Status ManagedEntityStatus `xml:"status" json:"status"`
	// KMIP server status description.
	Description string `xml:"description" json:"description"`
}

Data Object representing a KMIP server status.

type LargeRDMConversionNotSupported

type LargeRDMConversionNotSupported struct {
	MigrationFault

	// The name of the disk device using the RDM.
	Device string `xml:"device" json:"device"`
}

The virtual machine is using a 2TB+ RDM device and operation is unable to convert the disk to a different type.

type LargeRDMConversionNotSupportedFault

type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported

type LargeRDMNotSupportedOnDatastore

type LargeRDMNotSupportedOnDatastore struct {
	VmConfigFault

	// The label of the 2TB+ RDM device that would have its backing placed on
	// the datastore.
	//
	// This is not guaranteed to be the only such device.
	Device string `xml:"device" json:"device"`
	// The datastore.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The name of the datastore.
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
}

The virtual machine is configured with a 2TB+ Raw Disk Mapping.

This is not supported on the datastore.

type LargeRDMNotSupportedOnDatastoreFault

type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore

type LatencySensitivity

type LatencySensitivity struct {
	DynamicData

	// The nominal latency-sensitive level of the application.
	Level LatencySensitivitySensitivityLevel `xml:"level" json:"level"`
	// Deprecated as of vSphere version 5.5, this field is deprecated.
	//
	// The custom absolute latency-sensitivity value of the application.
	//
	// This value will be used only when the latency-sensitivity
	// `LatencySensitivity.level` property is is set to
	// <code>custom</code>. It is ignored in all other cases.
	//
	// The unit of this value is micro-seconds and the application is more
	// latency sensitive when this value is smaller. For example, if the
	// absolute latency-sensitivity is 2000us, the kernel will
	// try to schedule the virtual machine in a way so that its scheduling
	// latency is not more than 2ms.
	Sensitivity int32 `xml:"sensitivity,omitempty" json:"sensitivity,omitempty"`
}

Specification of the latency-sensitivity information.

The latency-sensitivity is used to request from the kernel a constraint on the scheduling delay of the virtual CPUs or other resources. This allows latency-sensitive applications(e.g. VOIP, audio/video streaming, etc.) to run in a virtual machine which is configured to use specific scheduling latencies and to be scheduled with low latency.

The kernel does not provide any guarantee that it will meet the latency-sensitivity requirement of a virtual machine CPU or other resources but it will always accept the latency-sensitivity value provided.

type LatencySensitivitySensitivityLevel

type LatencySensitivitySensitivityLevel string

Enumeration of the nominal latency-sensitive values which can be used to specify the latency-sensitivity level of the application.

In terms of latency-sensitivity the values relate:

type LeaveCurrentDomainRequestType

type LeaveCurrentDomainRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If <code>True</code>, any existing permissions on managed entities for
	// Active Directory users will be deleted. If <code>False</code> and such
	// permissions exist, the operation will fail.
	Force bool `xml:"force" json:"force"`
}

The parameters of `HostActiveDirectoryAuthentication.LeaveCurrentDomain_Task`.

type LeaveCurrentDomain_Task

type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType

type LeaveCurrentDomain_TaskResponse

type LeaveCurrentDomain_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type LegacyNetworkInterfaceInUse

type LegacyNetworkInterfaceInUse struct {
	CannotAccessNetwork
}

A virtual machine's network connectivity cannot be determined because it uses a legacy network interface.

If returned as part of migration checks, this is an error if the virtual machine is currently connected to the legacy interface, and a warning otherwise.

type LegacyNetworkInterfaceInUseFault

type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse

type LicenseAssignmentFailed

type LicenseAssignmentFailed struct {
	RuntimeFault

	// The reason why the assignment failed, if known.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

A LicenseAssignmentFailed fault is thrown when VirtualCenter fails to assign a license to an entity.

type LicenseAssignmentFailedFault

type LicenseAssignmentFailedFault LicenseAssignmentFailed

type LicenseAssignmentFailedReason

type LicenseAssignmentFailedReason string

type LicenseAssignmentManagerLicenseAssignment

type LicenseAssignmentManagerLicenseAssignment struct {
	DynamicData

	// Id for the entity
	EntityId string `xml:"entityId" json:"entityId"`
	// Scope of the entityId
	Scope string `xml:"scope,omitempty" json:"scope,omitempty"`
	// Display name of the entity
	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
	// License assigned to the entity
	AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense" json:"assignedLicense"`
	// Additional properties associated with this assignment
	// Some of the properties are:
	// "inUseFeatures" -- Features in the license key that are being used by the entity
	// "ProductName" -- Name of the entity.
	//
	// Should match the product name of the assigned license.
	// "ProductVersion" -- Version of the entity. Should match the product version of the assigned license.
	// "Evaluation" -- EvaluationInfo object representing the evaluation left for the entity.
	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
}

type LicenseAvailabilityInfo

type LicenseAvailabilityInfo struct {
	DynamicData

	// Describes the feature.
	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
	// Total number of licenses for this given type that are installed on the source.
	Total int32 `xml:"total" json:"total"`
	// The number of licenses that have not yet been reserved on the source.
	Available int32 `xml:"available" json:"available"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

Describes how many licenses of a particular feature is provided by the licensing source.

type LicenseDiagnostics

type LicenseDiagnostics struct {
	DynamicData

	// A timestamp of when sourceAvailable last changed state, expressed in UTC.
	SourceLastChanged time.Time `xml:"sourceLastChanged" json:"sourceLastChanged"`
	// Counter to track number of times connection to source was lost.
	//
	// This value starts at zero and wraps at 2^32-1 to zero.
	// Discontinuity: sourceLastChanged.
	SourceLost string `xml:"sourceLost" json:"sourceLost"`
	// Exponentially decaying average of the transaction time for license
	// acquisition and routine communications with LicenseSource.
	//
	// Units: milliseconds.
	SourceLatency float32 `xml:"sourceLatency" json:"sourceLatency"`
	// Counter to track total number of licenses requested.
	//
	// This value starts at zero and wraps at 2^32-1 to zero.
	// Discontinuity: sourceLastChanged.
	LicenseRequests string `xml:"licenseRequests" json:"licenseRequests"`
	// Counter to track Total number of licenses requests that were
	// not fulfilled (denied, timeout, or other).
	//
	// This value starts at zero and wraps at 2^32-1 to zero.
	// Discontinuity: sourceLastChanged.
	LicenseRequestFailures string `xml:"licenseRequestFailures" json:"licenseRequestFailures"`
	// Counter to track Total number of license features parsed from
	// License source that are not recognized.
	//
	// This value starts at zero and wraps at 2^32-1 to zero.
	// Discontinuity: sourceLastChanged.
	LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns" json:"licenseFeatureUnknowns"`
	// The general state of the license subsystem.
	OpState LicenseManagerState `xml:"opState" json:"opState"`
	// A timestamp of when opState was last updated.
	LastStatusUpdate time.Time `xml:"lastStatusUpdate" json:"lastStatusUpdate"`
	// A human readable reason when optState reports Fault condition.
	OpFailureMessage string `xml:"opFailureMessage" json:"opFailureMessage"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

This data object type provides summary status and diagnostic information for `LicenseManager`.

Counters in this property can be reset to zero. The property specified as a discontinuity is used to determine when this last occurred.

type LicenseDowngradeDisallowed

type LicenseDowngradeDisallowed struct {
	NotEnoughLicenses

	Edition  string `xml:"edition" json:"edition"`
	EntityId string `xml:"entityId" json:"entityId"`
	// List of conflicting features that prevent
	// downgrade
	Features []KeyAnyValue `xml:"features" json:"features"`
}

A LicenseDowngradeDisallowed fault is thrown if an assignment operation tries to downgrade a license that does have certain licensed features which are in use.

type LicenseDowngradeDisallowedFault

type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed

type LicenseEntityNotFound

type LicenseEntityNotFound struct {
	VimFault

	EntityId string `xml:"entityId" json:"entityId"`
}

An LicenseEntityNotFound fault is thrown when an attempt is do any operation on an entity/licensed asset that does not exist.

Example, remove an entity that does not exist.

type LicenseEntityNotFoundFault

type LicenseEntityNotFoundFault LicenseEntityNotFound

type LicenseEvent

type LicenseEvent struct {
	Event
}

This is a base licensing event to group all license events.

func (*LicenseEvent) GetLicenseEvent

func (b *LicenseEvent) GetLicenseEvent() *LicenseEvent

type LicenseExpired

type LicenseExpired struct {
	NotEnoughLicenses

	// License key that has expired
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
}

A LicenseExpired fault is thrown if it an operation is unsuccessful because the license used for the operation has expired.

type LicenseExpiredEvent

type LicenseExpiredEvent struct {
	Event

	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
}

This event records the expiration of a license.

type LicenseExpiredFault

type LicenseExpiredFault LicenseExpired

type LicenseFeatureInfo

type LicenseFeatureInfo struct {
	DynamicData

	// Unique identifier for license as defined in License source data.
	//
	// Max length of this string is 64 characters of ASCII/ISO Latin-1
	// character set.
	Key string `xml:"key" json:"key"`
	// The display string for the feature name.
	FeatureName string `xml:"featureName" json:"featureName"`
	// A human readable description of what function this feature enables.
	FeatureDescription string `xml:"featureDescription,omitempty" json:"featureDescription,omitempty" vim:"2.5"`
	// Describes the state of the feature based on the current edition license.
	//
	// This
	// property is unset for an edition license.
	State LicenseFeatureInfoState `xml:"state,omitempty" json:"state,omitempty"`
	// Each license has a cost associated with it and the value of costUnit
	// specifies the applicable unit.
	//
	// See also `LicenseFeatureInfoUnit_enum`.
	CostUnit string `xml:"costUnit" json:"costUnit"`
	// Describe any restriction on the source of a license for this feature.
	//
	// See also `LicenseFeatureInfoSourceRestriction_enum`.
	SourceRestriction string `xml:"sourceRestriction,omitempty" json:"sourceRestriction,omitempty" vim:"2.5"`
	// Report List of feature keys used by this edition.
	DependentKey []string `xml:"dependentKey,omitempty" json:"dependentKey,omitempty" vim:"2.5"`
	// Flag to indicate whether the feature is an edition.
	Edition *bool `xml:"edition" json:"edition,omitempty" vim:"2.5"`
	// Date representing the expiration date
	ExpiresOn *time.Time `xml:"expiresOn" json:"expiresOn,omitempty" vim:"2.5"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

A single feature that can be licensed.

This information is immutable.

type LicenseFeatureInfoSourceRestriction

type LicenseFeatureInfoSourceRestriction string

Some licenses may only be allowed to load from a specified source.

type LicenseFeatureInfoState

type LicenseFeatureInfoState string

Describes the state of the feature.

type LicenseFeatureInfoUnit

type LicenseFeatureInfoUnit string

Cost units apply to licenses for the purpose of determining how many licenses are needed.

type LicenseKeyEntityMismatch

type LicenseKeyEntityMismatch struct {
	NotEnoughLicenses
}

A LicenseKeyEntityMismatch fault is thrown if an assignment operation tries to assign a license that does not apply to an entity.

For example assigning a host license to VirtualCenter.

type LicenseKeyEntityMismatchFault

type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch

type LicenseManagerEvaluationInfo

type LicenseManagerEvaluationInfo struct {
	DynamicData

	// Evaluation properties
	Properties []KeyAnyValue `xml:"properties" json:"properties"`
}

Encapsulates product evaluation information

type LicenseManagerLicenseInfo

type LicenseManagerLicenseInfo struct {
	DynamicData

	// Key for the license.
	//
	// E.g. serial number.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// Edition key.
	EditionKey string `xml:"editionKey" json:"editionKey"`
	// Display name for the license
	Name string `xml:"name" json:"name"`
	// Total number of units contain in the license
	Total int32 `xml:"total" json:"total"`
	// Number of units used from this license
	Used int32 `xml:"used,omitempty" json:"used,omitempty"`
	// The cost unit for this license
	CostUnit string `xml:"costUnit" json:"costUnit"`
	// Additional properties associated with this license
	Properties []KeyAnyValue `xml:"properties,omitempty" json:"properties,omitempty"`
	// Key-value lables for this license
	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
}

Encapsulates information about a license

type LicenseManagerLicenseKey

type LicenseManagerLicenseKey string

Deprecated as of VI API 2.5, use `LicenseManager.QueryLicenseSourceAvailability` to obtain an array of `LicenseAvailabilityInfo` data objects.

Licensed features have unique keys to identify them.

type LicenseManagerState

type LicenseManagerState string

Deprecated as of vSphere API 4.0, this is not used by the system.

type LicenseNonComplianceEvent

type LicenseNonComplianceEvent struct {
	LicenseEvent

	// Gives the url at which more details about non-compliance
	// can be found.
	Url string `xml:"url" json:"url"`
}

This event records that the inventory is not license compliant.

type LicenseReservationInfo

type LicenseReservationInfo struct {
	DynamicData

	// Key of the License Feature.
	//
	// See also `LicenseFeatureInfo.key`.
	Key string `xml:"key" json:"key"`
	// Describes the reservation state of a license.
	State LicenseReservationInfoState `xml:"state" json:"state"`
	// Contains the required number of licenses of the particular type that the
	// product needs in its current configuration.
	//
	// Licenses are normally allocated at the same time as they are needed, so the
	// value of required is set at the time the license is needed. For example,
	// in the case of the number of licenses based on virtual machines, the required
	// count is set at the time a virtual machine is powered on, just before the
	// license is checked out.
	Required int32 `xml:"required" json:"required"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

A reservation describes how many licenses of a particular feature are being used by a particular feature.

type LicenseReservationInfoState

type LicenseReservationInfoState string

Describes the reservation state of a license.

type LicenseRestricted

type LicenseRestricted struct {
	NotEnoughLicenses
}

This fault is thrown if the required licenses were unable to be checked out due to a restriction in the option file of the license server.

type LicenseRestrictedEvent

type LicenseRestrictedEvent struct {
	LicenseEvent
}

This event records if the required licenses could not be reserved because of a restriction in the option file.

type LicenseRestrictedFault

type LicenseRestrictedFault LicenseRestricted

type LicenseServerAvailableEvent

type LicenseServerAvailableEvent struct {
	LicenseEvent

	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
}

This event is reported if the LicenseServer was previously unreachable and is now reachable.

type LicenseServerSource

type LicenseServerSource struct {
	LicenseSource

	// This property defines the server to establish a TCP session to
	// obtain license data.
	//
	// Format of string is host:port
	// Port is optional unsigned 16 bit integer license
	// server is listening on. A trailing colon ':' without a port number
	// is a valid expression.
	// Host can either be an IPv4 address in dotted quad
	// format or a resolvable DNS name &leq;254 characters. See RFC 3696.
	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

Specify a license server reachable via IPv4 network.

type LicenseServerUnavailable

type LicenseServerUnavailable struct {
	VimFault

	// The name of the unavailable license server.
	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
}

This fault is thrown when the License Server is unavailable during an attempt to change license state.

type LicenseServerUnavailableEvent

type LicenseServerUnavailableEvent struct {
	LicenseEvent

	LicenseServer string `xml:"licenseServer" json:"licenseServer"`
}

This event is reported if the LicenseServer becomes unreachable.

type LicenseServerUnavailableFault

type LicenseServerUnavailableFault LicenseServerUnavailable

type LicenseSource

type LicenseSource struct {
	DynamicData
}

Deprecated as of vSphere API 4.0, this is not used by the system.

This data object type is used to communicate configuration about where to find licenses to use for this system.

func (*LicenseSource) GetLicenseSource

func (b *LicenseSource) GetLicenseSource() *LicenseSource

type LicenseSourceUnavailable

type LicenseSourceUnavailable struct {
	NotEnoughLicenses

	// License source
	LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr" json:"licenseSource"`
}

A LicenseSourceUnavailable is thrown if it is unable to check out a license because the license source is unavailable.

type LicenseSourceUnavailableFault

type LicenseSourceUnavailableFault LicenseSourceUnavailable

type LicenseUsageInfo

type LicenseUsageInfo struct {
	DynamicData

	// The source from which licensing data is acquired.
	//
	// See also `LicenseSource`.
	Source BaseLicenseSource `xml:"source,typeattr" json:"source"`
	// Returns whether or not the source is currently available.
	//
	// See also `LicenseManager.sourceAvailable`.
	SourceAvailable bool `xml:"sourceAvailable" json:"sourceAvailable"`
	// A list of feature reservations.
	ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty" json:"reservationInfo,omitempty"`
	// Includes all the features that are referenced in the reservation array.
	FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty" json:"featureInfo,omitempty"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

Contains source information, licensed features, and usage.

type LimitExceeded

type LimitExceeded struct {
	VimFault

	// The name of the property that exceeds the limit.
	Property string `xml:"property,omitempty" json:"property,omitempty"`
	// The limit value.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
}

This exception is thrown if one of the arguments passed to the function exceeds a limit.

type LimitExceededFault

type LimitExceededFault LimitExceeded

type LinkDiscoveryProtocolConfig

type LinkDiscoveryProtocolConfig struct {
	DynamicData

	// The discovery protocol type.
	//
	// For valid values
	// see `LinkDiscoveryProtocolConfigProtocolType_enum`.
	Protocol string `xml:"protocol" json:"protocol"`
	// Whether to advertise or listen.
	//
	// For valid values see
	// `LinkDiscoveryProtocolConfigOperationType_enum`.
	Operation string `xml:"operation" json:"operation"`
}

Dataobject representing the link discovery protocol configuration for a virtual or distributed virtual switch.

type LinkDiscoveryProtocolConfigOperationType

type LinkDiscoveryProtocolConfigOperationType string

type LinkDiscoveryProtocolConfigProtocolType

type LinkDiscoveryProtocolConfigProtocolType string

type LinkLayerDiscoveryProtocolInfo

type LinkLayerDiscoveryProtocolInfo struct {
	DynamicData

	// ChassisId represents the chassis identification for the device that
	// transmitted the LLDP frame.
	//
	// The receiving LLDP agent combines the
	// Chassis ID and portId to represent the entity connected to the port
	// where the frame was received.
	ChassisId string `xml:"chassisId" json:"chassisId"`
	// This property identifies the specific port that transmitted the LLDP
	// frame.
	//
	// The receiving LLDP agent combines the Chassis ID and Port to
	// represent the entity connected to the port where the frame was received.
	PortId string `xml:"portId" json:"portId"`
	// It is the duration of time in seconds for which information contained
	// in the received LLDP frame shall be valid.
	//
	// If a value of zero is sent
	// it can also identify a device that has shut down or is no longer
	// transmitting, prompting deletion of the record from the local database.
	TimeToLive int32 `xml:"timeToLive" json:"timeToLive"`
	// LLDP parameters
	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

The Link Layer Discovery Protocol information.

type LinkProfile

type LinkProfile struct {
	ApplyProfile
}

The LinkProfile data object represents a subprofile for links connected to virtual switch.

type LinuxVolumeNotClean

type LinuxVolumeNotClean struct {
	CustomizationFault
}

Customization operation is performed on a linux source vm that was not shut down properly.

If the filesystem has significant fsck errors on it, customization process cannot make changes to it.

type LinuxVolumeNotCleanFault

type LinuxVolumeNotCleanFault LinuxVolumeNotClean

type ListCACertificateRevocationListsRequestType

type ListCACertificateRevocationListsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ListCACertificateRevocationListsResponse

type ListCACertificateRevocationListsResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListCACertificates

type ListCACertificates ListCACertificatesRequestType

type ListCACertificatesRequestType

type ListCACertificatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ListCACertificatesResponse

type ListCACertificatesResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListFilesInGuest

type ListFilesInGuest ListFilesInGuestRequestType

type ListFilesInGuestRequestType

type ListFilesInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the directory or file to query.
	FilePath string `xml:"filePath" json:"filePath"`
	// Which result to start the list with. The default is 0.
	Index int32 `xml:"index,omitempty" json:"index,omitempty"`
	// The maximum number of results to return. The default
	// is 50.
	MaxResults int32 `xml:"maxResults,omitempty" json:"maxResults,omitempty"`
	// A filter for the return values.
	// Match patterns are specified using perl-compatible regular
	// expressions.
	// If matchPattern is unset, then the pattern '.\*' is used.
	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
}

The parameters of `GuestFileManager.ListFilesInGuest`.

type ListFilesInGuestResponse

type ListFilesInGuestResponse struct {
	Returnval GuestListFileInfo `xml:"returnval" json:"returnval"`
}

type ListGuestAliases

type ListGuestAliases ListGuestAliasesRequestType

type ListGuestAliasesRequestType

type ListGuestAliasesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data for this operation. See
	// `GuestAuthentication`. These credentials must satisfy
	// authentication requirements
	// for a guest account on the specified virtual machine.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The guest user whose Alias store is being queried.
	Username string `xml:"username" json:"username"`
}

The parameters of `GuestAliasManager.ListGuestAliases`.

type ListGuestAliasesResponse

type ListGuestAliasesResponse struct {
	Returnval []GuestAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListGuestMappedAliasesRequestType

type ListGuestMappedAliasesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.QueryAliases
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data for this operation. See
	// `GuestAuthentication`. These credentials must satisfy
	// authentication requirements
	// for a guest account on the specified virtual machine.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
}

The parameters of `GuestAliasManager.ListGuestMappedAliases`.

type ListGuestMappedAliasesResponse

type ListGuestMappedAliasesResponse struct {
	Returnval []GuestMappedAliases `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListKeys added in v0.12.0

type ListKeys ListKeysRequestType

type ListKeysRequestType added in v0.12.0

type ListKeysRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] maximum keys to return.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
}

The parameters of `CryptoManager.ListKeys`.

type ListKeysResponse added in v0.12.0

type ListKeysResponse struct {
	Returnval []CryptoKeyId `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListKmipServers added in v0.12.0

type ListKmipServers ListKmipServersRequestType

type ListKmipServersRequestType added in v0.12.0

type ListKmipServersRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] maximum clusters to return.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
}

The parameters of `CryptoManagerKmip.ListKmipServers`.

type ListKmipServersResponse added in v0.12.0

type ListKmipServersResponse struct {
	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListKmsClusters added in v0.23.0

type ListKmsClusters ListKmsClustersRequestType

type ListKmsClustersRequestType added in v0.23.0

type ListKmsClustersRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] Whether to list KMS servers information
	// in the cluster.
	// By default will not include the KMS servers
	// information.
	IncludeKmsServers *bool `xml:"includeKmsServers" json:"includeKmsServers,omitempty"`
	// \[in\] The KMS cluster management type filter.
	// Bit map values:
	// 0x01 - Return VC managed Key Providers
	// registered in the CryptoManager.
	// 0x02 - Return Trusted Key Providers
	// registered in the CryptoManager.
	// 0x04 - Return Trusted Key Providers which are
	// not registered with the CryptoManager.
	// 0x08 - Return Native Key Providers.
	// others - reserved, will be ignored
	// If omitted or -1, then all kinds of Key Providers
	// will be returned.
	ManagementTypeFilter int32 `xml:"managementTypeFilter,omitempty" json:"managementTypeFilter,omitempty"`
	// \[in\] The Key Provider status filter.
	// Bit map values:
	// 0x01 - Return active Key Providers.
	// 0x02 - Return inactive Key Providers.
	// others - reserved, will be ignored
	// If omitted or -1, then all status of Key Providers
	// will be returned.
	StatusFilter int32 `xml:"statusFilter,omitempty" json:"statusFilter,omitempty"`
}

The parameters of `CryptoManagerKmip.ListKmsClusters`.

type ListKmsClustersResponse added in v0.23.0

type ListKmsClustersResponse struct {
	Returnval []KmipClusterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListProcessesInGuestRequestType

type ListProcessesInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// If set, only return information about the specified processes.
	// Otherwise, information about all processes are returned.
	// If a specified processes does not exist, nothing will
	// be returned for that process.
	Pids []int64 `xml:"pids,omitempty" json:"pids,omitempty"`
}

The parameters of `GuestProcessManager.ListProcessesInGuest`.

type ListProcessesInGuestResponse

type ListProcessesInGuestResponse struct {
	Returnval []GuestProcessInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListRegistryKeysInGuestRequestType

type ListRegistryKeysInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The path to the registry key for which all subkeys are to
	// be listed.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// If true, all subkeys are listed recursively.
	Recursive bool `xml:"recursive" json:"recursive"`
	// A filter for the key names returned, specified using
	// perl-compatible regular expressions. If matchPattern
	// is unset, then the pattern '.\*' is used, which returns
	// all key names found, otherwise only those key names
	// that match the input pattern shall be returned.
	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
}

The parameters of `GuestWindowsRegistryManager.ListRegistryKeysInGuest`.

type ListRegistryKeysInGuestResponse

type ListRegistryKeysInGuestResponse struct {
	Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListRegistryValuesInGuestRequestType

type ListRegistryValuesInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The path to the registry key for which all values are to be
	// listed.
	KeyName GuestRegKeyNameSpec `xml:"keyName" json:"keyName"`
	// If true, all values that have expandable data such
	// as environment variable names, shall get expanded in
	// the result.
	ExpandStrings bool `xml:"expandStrings" json:"expandStrings"`
	// A filter for the value names returned, specified using
	// perl-compatible regular expressions. If matchPattern
	// is unset, then the pattern '.\*' is used, which returns
	// all value names found, otherwise only those value
	// names that match the input pattern shall be returned.
	MatchPattern string `xml:"matchPattern,omitempty" json:"matchPattern,omitempty"`
}

The parameters of `GuestWindowsRegistryManager.ListRegistryValuesInGuest`.

type ListRegistryValuesInGuestResponse

type ListRegistryValuesInGuestResponse struct {
	Returnval []GuestRegValueSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListSmartCardTrustAnchorsRequestType

type ListSmartCardTrustAnchorsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ListSmartCardTrustAnchorsResponse

type ListSmartCardTrustAnchorsResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListTagsAttachedToVStorageObject added in v0.12.0

type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType

type ListTagsAttachedToVStorageObjectRequestType added in v0.12.0

type ListTagsAttachedToVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
}

The parameters of `VcenterVStorageObjectManager.ListTagsAttachedToVStorageObject`.

type ListTagsAttachedToVStorageObjectResponse added in v0.12.0

type ListTagsAttachedToVStorageObjectResponse struct {
	Returnval []VslmTagEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListVStorageObject added in v0.12.0

type ListVStorageObject ListVStorageObjectRequestType

type ListVStorageObjectRequestType added in v0.12.0

type ListVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.ListVStorageObject`.

type ListVStorageObjectResponse added in v0.12.0

type ListVStorageObjectResponse struct {
	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ListVStorageObjectsAttachedToTag added in v0.12.0

type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType

type ListVStorageObjectsAttachedToTagRequestType added in v0.12.0

type ListVStorageObjectsAttachedToTagRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The category to which the tag belongs.
	Category string `xml:"category" json:"category"`
	// The tag to be queried.
	Tag string `xml:"tag" json:"tag"`
}

The parameters of `VcenterVStorageObjectManager.ListVStorageObjectsAttachedToTag`.

type ListVStorageObjectsAttachedToTagResponse added in v0.12.0

type ListVStorageObjectsAttachedToTagResponse struct {
	Returnval []ID `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type LocalDatastoreCreatedEvent

type LocalDatastoreCreatedEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
	// Url of the associated datastore.
	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
}

This event records when a local datastore is created.

type LocalDatastoreInfo

type LocalDatastoreInfo struct {
	DatastoreInfo

	// The local path on a host.
	//
	// May not
	// be available when the datastore is not accessible.
	Path string `xml:"path,omitempty" json:"path,omitempty"`
}

The information details about a datastore that is local to a host.

type LocalLicenseSource

type LocalLicenseSource struct {
	LicenseSource

	// The size of this string is implementation dependent.
	//
	// It must contain ASCII or ISO Latin-1 characters only.
	LicenseKeys string `xml:"licenseKeys" json:"licenseKeys"`
}

Deprecated as of vSphere API 4.0, this is not used by the system.

Specify license key data to store locally.

type LocalTSMEnabledEvent

type LocalTSMEnabledEvent struct {
	HostEvent
}

Local Tech Support Mode for the host has been enabled.

type LocalizableMessage

type LocalizableMessage struct {
	DynamicData

	// Unique key identifying the message in the localized message catalog.
	Key string `xml:"key" json:"key"`
	// Substitution arguments for variables in the localized message.
	Arg []KeyAnyValue `xml:"arg,omitempty" json:"arg,omitempty"`
	// Message in session locale.
	//
	// Use vim.SessionManager.setLocale() to change the session locale.
	Message string `xml:"message,omitempty" json:"message,omitempty"`
}

Message data which is intended to be displayed according to the locale of a client.

A `LocalizableMessage` contains both a formatted, localized version of the text and the data needed to perform localization in conjunction with localization catalogs.

Clients of the VIM API may use vim.SessionManager.setLocale() to cause the server to emit a localized `LocalizableMessage.message`, or may perform client-side localization based on message catalogs provided by the server.

  • If the substition variable is a string, no further lookup is required.
  • `LocalizableMessage.arg` = \[("address" = "127.0.0.1")\]
  • CATALOG(locmsg, `LocalizableMessage.key`) = "IP address is {address}"
  • \==&gt; `LocalizableMessage.message` = "IP address is 127.0.0.1"
  • If the substitution variable is an integer, value is a lookup key.
  • `LocalizableMessage.arg` = \[("1" = "button.cancel"), ("2" = "msg.revert")\]
  • CATALOG(locmsg, `LocalizableMessage.key`) = "Select '{1}' to {2}"
  • CATALOG(locmsg, button.cancel) = "Cancel"
  • CATALOG(locmsg, msg.revert) = "revert"
  • \==&gt; `LocalizableMessage.message` = "Select 'Cancel' to revert"
  • If the variable contains '@', value is a label lookup in another catalog, where {name.@CATALOG.prefix} looks up prefix.`LocalizableMessage.arg`\[name\].label in CATALOG.
  • `LocalizableMessage.arg` = \[("field" = "queued")\]
  • CATALOG(locmsg, `LocalizableMessage.key`) = "State is {field.@enum.TaskInfo.State}"
  • CATALOG(enum, TaskInfo.State.queued.label) is "Queued"
  • \==&gt; `LocalizableMessage.message` = "State is Queued"

type LocalizationManagerMessageCatalog

type LocalizationManagerMessageCatalog struct {
	DynamicData

	// The module or extension that publishes this catalog.
	//
	// The moduleName will be empty for the core catalogs for the
	// VirtualCenter server itself.
	ModuleName string `xml:"moduleName" json:"moduleName"`
	// The name of the catalog.
	CatalogName string `xml:"catalogName" json:"catalogName"`
	// The locale for the catalog.
	Locale string `xml:"locale" json:"locale"`
	// The URI (relative to the connection URL for the VirtualCenter server
	// itself) from which the catalog can be downloaded.
	//
	// The caller will need to augment this with a scheme and authority (host
	// and port) to make a complete URL.
	CatalogUri string `xml:"catalogUri" json:"catalogUri"`
	// The last-modified time of the catalog file, if available
	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
	// The checksum of the catalog file, if available
	Md5sum string `xml:"md5sum,omitempty" json:"md5sum,omitempty"`
	// The version of the catalog file, if available
	// The format is dot-separated version string, e.g.
	//
	// "1.2.3".
	Version string `xml:"version,omitempty" json:"version,omitempty" vim:"5.0"`
}

Description of an available message catalog

type LocalizedMethodFault

type LocalizedMethodFault struct {
	DynamicData

	Fault BaseMethodFault `xml:"fault,typeattr" json:"fault"`
	// The localized message that would be sent in the faultstring element
	// of the SOAP Fault.
	//
	// It is optional so that clients are not required
	// to send a localized message to the server, but servers are required
	// to send the localized message to clients.
	LocalizedMessage string `xml:"localizedMessage,omitempty" json:"localizedMessage,omitempty"`
}

A wrapper class used to pass MethodFault data objects over the wire along with a localized display message for the fault.

type LockerMisconfiguredEvent

type LockerMisconfiguredEvent struct {
	Event

	// The datastore that has been configured to back the locker
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
}

Locker has not been configured properly.

This event is fired when the datastore configured to back the locker does not exist or when connectivity to the datastore is lost.

type LockerReconfiguredEvent

type LockerReconfiguredEvent struct {
	Event

	// The datastore that was previously backing the locker.
	//
	// This field is not
	// set if a datastore was not backing the locker previously.
	OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty" json:"oldDatastore,omitempty"`
	// The datastore that is now used to back the locker.
	//
	// This field is not set if no datastore is currently backing the locker.
	NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty" json:"newDatastore,omitempty"`
}

Locker was reconfigured to a new location.

type LogBundlingFailed

type LogBundlingFailed struct {
	VimFault
}

A LogBundlingFailed exception is thrown when generation of a diagnostic data bundle fails.

type LogBundlingFailedFault

type LogBundlingFailedFault LogBundlingFailed

type LogUserEvent

type LogUserEvent LogUserEventRequestType

type LogUserEventRequestType

type LogUserEventRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity against which the event is logged. The entity must be
	// the root folder, a DataCenter, a VirtualMachine, a HostSystem,
	// or a ComputeResource.
	//
	// Required privileges: Global.LogEvent
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The message to be logged.
	Msg string `xml:"msg" json:"msg"`
}

The parameters of `EventManager.LogUserEvent`.

type LogUserEventResponse

type LogUserEventResponse struct {
}

type Login

type Login LoginRequestType

type LoginBySSPI

type LoginBySSPI LoginBySSPIRequestType

type LoginBySSPIRequestType

type LoginBySSPIRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The partially formed context returned from
	// InitializeSecurityContext().
	Base64Token string `xml:"base64Token" json:"base64Token"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.LoginBySSPI`.

type LoginBySSPIResponse

type LoginBySSPIResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type LoginByToken

type LoginByToken LoginByTokenRequestType

type LoginByTokenRequestType

type LoginByTokenRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.LoginByToken`.

type LoginByTokenResponse

type LoginByTokenResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type LoginExtensionByCertificateRequestType

type LoginExtensionByCertificateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of extension that is logging in.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.LoginExtensionByCertificate`.

type LoginExtensionByCertificateResponse

type LoginExtensionByCertificateResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type LoginExtensionBySubjectNameRequestType

type LoginExtensionBySubjectNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of extension that is logging in.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.LoginExtensionBySubjectName`.

type LoginExtensionBySubjectNameResponse

type LoginExtensionBySubjectNameResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type LoginRequestType

type LoginRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The `ID`
	// of the user who is logging on to the server.
	UserName string `xml:"userName" json:"userName"`
	// The `HostAccountSpec.password`
	// of the user who is logging on to the server.
	Password string `xml:"password" json:"password"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale,omitempty" json:"locale,omitempty"`
}

The parameters of `SessionManager.Login`.

type LoginResponse

type LoginResponse struct {
	Returnval UserSession `xml:"returnval" json:"returnval"`
}

type Logout

type Logout LogoutRequestType

type LogoutRequestType

type LogoutRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type LogoutResponse

type LogoutResponse struct {
}

type LongOption

type LongOption struct {
	OptionType

	// The minimum value.
	Min int64 `xml:"min" json:"min"`
	// The maximum value.
	Max int64 `xml:"max" json:"max"`
	// The default value.
	DefaultValue int64 `xml:"defaultValue" json:"defaultValue"`
}

The LongOption data object type is used to define the minimum, maximum, and default values for a 64-bit long option.

type LongPolicy

type LongPolicy struct {
	InheritablePolicy

	// The boolean value that is either set or inherited.
	Value int64 `xml:"value,omitempty" json:"value,omitempty"`
}

The long integer type of setting or configuration that may get an inherited value.

type LookupDvPortGroup

type LookupDvPortGroup LookupDvPortGroupRequestType

type LookupDvPortGroupRequestType

type LookupDvPortGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key that identifies a portgroup of this VDS.
	PortgroupKey string `xml:"portgroupKey" json:"portgroupKey"`
}

The parameters of `DistributedVirtualSwitch.LookupDvPortGroup`.

type LookupDvPortGroupResponse

type LookupDvPortGroupResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type LookupVmOverheadMemoryRequestType

type LookupVmOverheadMemoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Virtual Machine managed object reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The Host managed object reference.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `OverheadMemoryManager.LookupVmOverheadMemory`.

type LookupVmOverheadMemoryResponse

type LookupVmOverheadMemoryResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type MacAddress

type MacAddress struct {
	NegatableExpression
}

Base class for specifying MAC addresses.

func (*MacAddress) GetMacAddress

func (b *MacAddress) GetMacAddress() *MacAddress

type MacRange

type MacRange struct {
	MacAddress

	// MAC address.
	Address string `xml:"address" json:"address"`
	// Mask that is used in matching the MAC address.
	//
	// A MAC address is
	// considered matched if the "and" operation of the mask on the
	// MAC address and `MacRange.address` yields the same result.
	// For example, a MAC of "00:A0:FF:14:FF:29" is considered matched
	// for a `MacRange.address` of "00:A0:C9:14:C8:29" and a
	// `MacRange.mask` of "FF:FF:00:FF:00:FF".
	Mask string `xml:"mask" json:"mask"`
}

This class defines a range of MAC address.

type MaintenanceModeFileMove

type MaintenanceModeFileMove struct {
	MigrationFault
}

Migration of the virtual machine to the target host will need a move of virtual machine files, like configuration file or virtual disks, which is not permitted if the source host is in maintenance mode.

type MaintenanceModeFileMoveFault

type MaintenanceModeFileMoveFault MaintenanceModeFileMove

type MakeDirectory

type MakeDirectory MakeDirectoryRequestType

type MakeDirectoryInGuestRequestType

type MakeDirectoryInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the directory to be created.
	DirectoryPath string `xml:"directoryPath" json:"directoryPath"`
	// Whether any parent directories
	// are to be created.
	CreateParentDirectories bool `xml:"createParentDirectories" json:"createParentDirectories"`
}

The parameters of `GuestFileManager.MakeDirectoryInGuest`.

type MakeDirectoryInGuestResponse

type MakeDirectoryInGuestResponse struct {
}

type MakeDirectoryRequestType

type MakeDirectoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the folder, either a URL or a datastore path
	// referring to the folder to be created.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// If true, any non-existent intermediate level
	// folders will be created. If not specified,
	// it is assumed to be false.
	CreateParentDirectories *bool `xml:"createParentDirectories" json:"createParentDirectories,omitempty"`
}

The parameters of `FileManager.MakeDirectory`.

type MakeDirectoryResponse

type MakeDirectoryResponse struct {
}

type MakePrimaryVMRequestType

type MakePrimaryVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The secondary virtual machine specified will be made the primary
	// virtual machine.
	// This field must specify a secondary virtual machine that is part of the fault
	// tolerant group that this virtual machine is currently associated with. It can
	// only be invoked from the primary virtual machine in the group.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The parameters of `VirtualMachine.MakePrimaryVM_Task`.

type MakePrimaryVM_Task

type MakePrimaryVM_Task MakePrimaryVMRequestType

type MakePrimaryVM_TaskResponse

type MakePrimaryVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ManagedByInfo

type ManagedByInfo struct {
	DynamicData

	// Key of the extension managing the entity.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// Managed entity type, as defined by the extension managing the entity.
	//
	// An extension can manage different types of entities - different kinds
	// of virtual machines, vApps, etc. - and this property is used to find
	// the corresponding `managedEntityInfo`
	// entry from the extension.
	Type string `xml:"type" json:"type"`
}

The ManagedByInfo data object contains information about the extension responsible for the life-cycle of the entity.

type ManagedEntityEventArgument

type ManagedEntityEventArgument struct {
	EntityEventArgument

	// The managed entity.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The general event argument for a managed entity.

type ManagedEntityStatus

type ManagedEntityStatus string

The Status enumeration defines a general "health" value for a managed entity.

type ManagedObjectNotFound

type ManagedObjectNotFound struct {
	RuntimeFault

	// The managed object reference that generated the error.
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
}

A ManagedObjectNotFound exception is thrown when a request refers to a managed object that no longer exists or has never existed.

type ManagedObjectNotFoundFault

type ManagedObjectNotFoundFault ManagedObjectNotFound

type ManagedObjectReference

type ManagedObjectReference struct {
	Type       string `xml:"type,attr" json:"type"`
	Value      string `xml:",chardata" json:"value"`
	ServerGUID string `xml:"serverGuid,attr,omitempty" json:"serverGuid,omitempty"`
}

The ManagedObjectReference data object type is a special-purpose data object. Commonly referred to as simply a "reference", "MoRef", "MOR", or other variations of this theme, instances of managed object references contain data that identifies specific server-side managed objects. Managed object references are typically one of the return types from a method invocation.

Managed object references are client application references to server-side managed objects. The client application uses ManagedObjectReference objects when it invokes operations on a server. A ManagedObjectReference is guaranteed to be unique and persistent during an object's lifetime. The reference persists after an object has moved within the inventory, across sessions, and across server restarts. If you remove an object, for example, a virtual machine, from the inventory, and then put it back, the reference changes.

func NewReference added in v0.4.0

func (ManagedObjectReference) Encode added in v0.24.0

func (r ManagedObjectReference) Encode() string

Encode ManagedObjectReference for use with URL and File paths

func (*ManagedObjectReference) FromString added in v0.8.0

func (r *ManagedObjectReference) FromString(o string) bool

func (ManagedObjectReference) Reference added in v0.8.0

func (ManagedObjectReference) String added in v0.8.0

func (r ManagedObjectReference) String() string

type MarkAsLocalRequestType

type MarkAsLocalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUID.
	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
}

The parameters of `HostStorageSystem.MarkAsLocal_Task`.

type MarkAsLocal_Task

type MarkAsLocal_Task MarkAsLocalRequestType

type MarkAsLocal_TaskResponse

type MarkAsLocal_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MarkAsNonLocalRequestType

type MarkAsNonLocalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUID.
	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
}

The parameters of `HostStorageSystem.MarkAsNonLocal_Task`.

type MarkAsNonLocal_Task

type MarkAsNonLocal_Task MarkAsNonLocalRequestType

type MarkAsNonLocal_TaskResponse

type MarkAsNonLocal_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MarkAsNonSsdRequestType

type MarkAsNonSsdRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUID.
	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
}

The parameters of `HostStorageSystem.MarkAsNonSsd_Task`.

type MarkAsNonSsd_Task

type MarkAsNonSsd_Task MarkAsNonSsdRequestType

type MarkAsNonSsd_TaskResponse

type MarkAsNonSsd_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MarkAsSsdRequestType

type MarkAsSsdRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUID.
	ScsiDiskUuid string `xml:"scsiDiskUuid" json:"scsiDiskUuid"`
}

The parameters of `HostStorageSystem.MarkAsSsd_Task`.

type MarkAsSsd_Task

type MarkAsSsd_Task MarkAsSsdRequestType

type MarkAsSsd_TaskResponse

type MarkAsSsd_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MarkAsTemplate

type MarkAsTemplate MarkAsTemplateRequestType

type MarkAsTemplateRequestType

type MarkAsTemplateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type MarkAsTemplateResponse

type MarkAsTemplateResponse struct {
}

type MarkAsVirtualMachineRequestType

type MarkAsVirtualMachineRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Resource pool to associate with the virtual machine.
	//
	// Required privileges: Resource.AssignVMToPool
	//
	// Refers instance of `ResourcePool`.
	Pool ManagedObjectReference `xml:"pool" json:"pool"`
	// The target host on which the virtual machine is intended to run. The
	// host
	// parameter must specify a host that is a member of the ComputeResource
	// indirectly specified by the pool. For a stand-alone host or a cluster with
	// DRS, it can be omitted and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `VirtualMachine.MarkAsVirtualMachine`.

type MarkAsVirtualMachineResponse

type MarkAsVirtualMachineResponse struct {
}

type MarkDefault added in v0.12.0

type MarkDefault MarkDefaultRequestType

type MarkDefaultRequestType added in v0.12.0

type MarkDefaultRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster ID to become default.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
}

The parameters of `CryptoManagerKmip.MarkDefault`.

type MarkDefaultResponse added in v0.12.0

type MarkDefaultResponse struct {
}

type MarkForRemoval

type MarkForRemoval MarkForRemovalRequestType

type MarkForRemovalRequestType

type MarkForRemovalRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	HbaName string                 `xml:"hbaName" json:"hbaName"`
	Remove  bool                   `xml:"remove" json:"remove"`
}

type MarkForRemovalResponse

type MarkForRemovalResponse struct {
}

type MarkPerenniallyReserved added in v0.21.0

type MarkPerenniallyReserved MarkPerenniallyReservedRequestType

type MarkPerenniallyReservedExRequestType added in v0.21.0

type MarkPerenniallyReservedExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The UUIDs of the ScsiLun devices that need a change in
	// the perennially reserved flag state.
	LunUuid []string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
	// State of the ScsiLun perennially reserved flag to be set.
	State bool `xml:"state" json:"state"`
}

The parameters of `HostStorageSystem.MarkPerenniallyReservedEx_Task`.

type MarkPerenniallyReservedEx_Task added in v0.21.0

type MarkPerenniallyReservedEx_Task MarkPerenniallyReservedExRequestType

type MarkPerenniallyReservedEx_TaskResponse added in v0.21.0

type MarkPerenniallyReservedEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MarkPerenniallyReservedRequestType added in v0.21.0

type MarkPerenniallyReservedRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The UUID of the ScsiLun device to be marked as perennially
	// reserved.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
	// State of the ScsiLun perennially reserved flag to be set.
	State bool `xml:"state" json:"state"`
}

The parameters of `HostStorageSystem.MarkPerenniallyReserved`.

type MarkPerenniallyReservedResponse added in v0.21.0

type MarkPerenniallyReservedResponse struct {
}

type MarkServiceProviderEntities added in v0.23.0

type MarkServiceProviderEntities MarkServiceProviderEntitiesRequestType

type MarkServiceProviderEntitiesRequestType added in v0.23.0

type MarkServiceProviderEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// an array of management entities.
	//
	// Required privileges: TenantManager.Update
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `TenantTenantManager.MarkServiceProviderEntities`.

type MarkServiceProviderEntitiesResponse added in v0.23.0

type MarkServiceProviderEntitiesResponse struct {
}

type MemoryFileFormatNotSupportedByDatastore

type MemoryFileFormatNotSupportedByDatastore struct {
	UnsupportedDatastore

	// The name of the Datastore.
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
	// Datastore file system volume type.
	//
	// See `DatastoreSummary.type`
	Type string `xml:"type" json:"type"`
}

Virtual memory file format is not supported on the datastore.

type MemoryFileFormatNotSupportedByDatastoreFault

type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore

type MemoryHotPlugNotSupported

type MemoryHotPlugNotSupported struct {
	VmConfigFault
}

Thrown when memory cannot be hot-added or hot-removed from the virtual machine.

type MemoryHotPlugNotSupportedFault

type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported

type MemorySizeNotRecommended

type MemorySizeNotRecommended struct {
	VirtualHardwareCompatibilityIssue

	// The configured memory size of the virtual machine.
	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
	// The minimum recommended memory size.
	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
	// The maximum recommended memory size.
	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
}

The memory amount of the virtual machine is not within the recommended memory bounds for the virtual machine's guest OS.

type MemorySizeNotRecommendedFault

type MemorySizeNotRecommendedFault MemorySizeNotRecommended

type MemorySizeNotSupported

type MemorySizeNotSupported struct {
	VirtualHardwareCompatibilityIssue

	// The configured memory size of the virtual machine.
	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
	// The minimum acceptable memory size.
	MinMemorySizeMB int32 `xml:"minMemorySizeMB" json:"minMemorySizeMB"`
	// The maximum acceptable memory size.
	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
}

The memory amount of the virtual machine is not within the acceptable guest memory bounds supported by the virtual machine's host.

type MemorySizeNotSupportedByDatastore

type MemorySizeNotSupportedByDatastore struct {
	VirtualHardwareCompatibilityIssue

	// The datastore which does not support the requested memory size.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The configured memory size of the virtual machine.
	MemorySizeMB int32 `xml:"memorySizeMB" json:"memorySizeMB"`
	// The maximum acceptable memory size supported by the datastore.
	MaxMemorySizeMB int32 `xml:"maxMemorySizeMB" json:"maxMemorySizeMB"`
}

The memory amount of the virtual machine is not within the acceptable guest memory bounds supported by the virtual machine's datastore.

type MemorySizeNotSupportedByDatastoreFault

type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore

type MemorySizeNotSupportedFault

type MemorySizeNotSupportedFault MemorySizeNotSupported

type MemorySnapshotOnIndependentDisk

type MemorySnapshotOnIndependentDisk struct {
	SnapshotFault
}

Thrown if a request to take a memory snapshot is issued on a virtual machine with an independent disk.

type MemorySnapshotOnIndependentDiskFault

type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk

type MergeDvsRequestType

type MergeDvsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The switch (source) to be merged
	//
	// Required privileges: DVSwitch.Delete
	//
	// Refers instance of `DistributedVirtualSwitch`.
	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
}

The parameters of `DistributedVirtualSwitch.MergeDvs_Task`.

type MergeDvs_Task

type MergeDvs_Task MergeDvsRequestType

type MergeDvs_TaskResponse

type MergeDvs_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MergePermissions

type MergePermissions MergePermissionsRequestType

type MergePermissionsRequestType

type MergePermissionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the source role providing the permissions
	// which are changing.
	SrcRoleId int32 `xml:"srcRoleId" json:"srcRoleId"`
	// The ID of the destination role to which the
	// permissions are reassigned.
	DstRoleId int32 `xml:"dstRoleId" json:"dstRoleId"`
}

The parameters of `AuthorizationManager.MergePermissions`.

type MergePermissionsResponse

type MergePermissionsResponse struct {
}

type MethodAction

type MethodAction struct {
	Action

	// Name of the operation.
	Name string `xml:"name" json:"name"`
	// An array consisting of the arguments for the operation.
	Argument []MethodActionArgument `xml:"argument,omitempty" json:"argument,omitempty"`
}

This data object type defines an operation and its arguments, invoked on a particular entity.

type MethodActionArgument

type MethodActionArgument struct {
	DynamicData

	// The value of the argument.
	Value AnyType `xml:"value,typeattr" json:"value"`
}

This data object type defines a named argument for an operation.

type MethodAlreadyDisabledFault

type MethodAlreadyDisabledFault struct {
	RuntimeFault

	SourceId string `xml:"sourceId" json:"sourceId"`
}

A MethodAlreadyDisabledFault fault is thrown when an attempt is made to disable a method that is already disabled.

type MethodAlreadyDisabledFaultFault

type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault

type MethodDescription

type MethodDescription struct {
	Description

	// Method being described.
	Key string `xml:"key" json:"key"`
}

Static strings used for describing an object model method.

type MethodDisabled

type MethodDisabled struct {
	RuntimeFault

	Source string `xml:"source,omitempty" json:"source,omitempty"`
}

A MethodDisabled fault is thrown if a disabled method is invoked by the client.

The method denote an invalid state operation or may have been explicitly disabled.

type MethodDisabledFault

type MethodDisabledFault MethodDisabled

type MethodFault

type MethodFault struct {
	// Fault which is the cause of this fault.
	FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty" json:"faultCause,omitempty" vim:"4.0"`
	// Message which has details about the error
	// Message can also contain a key to message catalog which
	// can be used to generate better localized messages.
	FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty" json:"faultMessage,omitempty" vim:"4.0"`
}

The base data object type for all the object model faults that an application might handle.

func (*MethodFault) GetMethodFault

func (b *MethodFault) GetMethodFault() *MethodFault

type MethodFaultFault

type MethodFaultFault BaseMethodFault

type MethodNotFound

type MethodNotFound struct {
	InvalidRequest

	// The receiver of the call
	Receiver ManagedObjectReference `xml:"receiver" json:"receiver"`
	// The method called.
	Method string `xml:"method" json:"method"`
}

MethodNotFound is thrown to indicate that a method called on a managed object does not exist.

type MethodNotFoundFault

type MethodNotFoundFault MethodNotFound

type MetricAlarmExpression

type MetricAlarmExpression struct {
	AlarmExpression

	// The operation to be tested on the metric.
	Operator MetricAlarmOperator `xml:"operator" json:"operator"`
	// Name of the object type containing the property.
	Type string `xml:"type" json:"type"`
	// The instance of the metric.
	Metric PerfMetricId `xml:"metric" json:"metric"`
	// Whether or not to test for a yellow condition.
	//
	// If not set, do not calculate yellow status.
	// If set, it contains the threshold value that triggers yellow status.
	Yellow int32 `xml:"yellow,omitempty" json:"yellow,omitempty"`
	// Time interval in seconds for which the yellow condition must be true
	// before the yellow status is triggered.
	//
	// If unset, the yellow status is
	// triggered immediately when the yellow condition becomes true.
	YellowInterval int32 `xml:"yellowInterval,omitempty" json:"yellowInterval,omitempty" vim:"4.0"`
	// Whether or not to test for a red condition.
	//
	// If not set, do not calculate red status.
	// If set, it contains the threshold value that triggers red status.
	Red int32 `xml:"red,omitempty" json:"red,omitempty"`
	// Time interval in seconds for which the red condition must be true
	// before the red status is triggered.
	//
	// If unset, the red status is
	// triggered immediately when the red condition becomes true.
	RedInterval int32 `xml:"redInterval,omitempty" json:"redInterval,omitempty" vim:"4.0"`
}

An alarm expression that uses a metric as the condition that triggers an alarm.

Base type.

There are two alarm operands: yellow and red. At least one of them must be set. The value of the alarm expression is determined as follows:

  • If the host is not connected, the host metric expression is gray.
  • If the vm is not connected, the vm metric expression is gray.
  • If red is set but yellow is not, the expression is red when the metric is over (isAbove operator) or under (isBelow operator) the red value. Otherwise, the expression is green.
  • If yellow is set but red is not, the expression is yellow when the metric is over (isAbove) or under (isBelow) the yellow value. Otherwise, the expression is green.
  • If both yellow and red are set, the value of the expression is red when the metric is over (isAbove) or under (isBelow) the red value. Otherwise, the expression is yellow when the metric is over (isAbove) or under (isBelow) the yellow value. Otherwise, the expression is green.

type MetricAlarmOperator

type MetricAlarmOperator string

The operation on the target metric item.

type MigrateVMRequestType

type MigrateVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The target resource pool for the virtual machine. If the pool
	// parameter is left unset, the virtual machine's current pool is used
	// as the target pool.
	//
	// Required privileges: Resource.AssignVMToPool
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The target host to which the virtual machine is intended to migrate.
	// The host parameter
	// may be left unset if the compute resource associated with the
	// target pool represents a stand-alone host or a DRS-enabled cluster.
	// In the former case the stand-alone host is used as the target host.
	// In the latter case, the DRS system selects an appropriate
	// target host from the cluster.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The task priority (@see vim.VirtualMachine.MovePriority).
	Priority VirtualMachineMovePriority `xml:"priority" json:"priority"`
	// If specified, the virtual machine migrates only if
	// its state matches the specified state.
	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
}

The parameters of `VirtualMachine.MigrateVM_Task`.

type MigrateVM_Task

type MigrateVM_Task MigrateVMRequestType

type MigrateVM_TaskResponse

type MigrateVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MigrationDisabled

type MigrationDisabled struct {
	MigrationFault
}

An MigrationDisabled fault is thrown if the migration failed due to disabled migration

type MigrationDisabledFault

type MigrationDisabledFault MigrationDisabled

type MigrationErrorEvent

type MigrationErrorEvent struct {
	MigrationEvent
}

A migration error.

type MigrationEvent

type MigrationEvent struct {
	VmEvent

	// The fault that describes the migration issue.
	//
	// This is typically either a
	// MigrationFault or a VmConfigFault.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

These are events used to describe migration warning and errors

func (*MigrationEvent) GetMigrationEvent

func (b *MigrationEvent) GetMigrationEvent() *MigrationEvent

type MigrationFault

type MigrationFault struct {
	VimFault
}

Base object type for issues that can occur when reassigning the execution host of a virtual machine using migrate or relocate.

These issues are typically used as argument in the MigrationEvent. When a MigrationFault is used as a value in a MigrationEvent, the type of MigrationEvent determines if the issue is a warning or an error (for example, MigrationHostWarningEvent or MigrationHostErrorEvent). When thrown as an exception, the fault is an error.

Issues are categorized as errors or warnings according to the following criteria:

If the virtual machine is powered on:

  1. Error for fatal problems with the VMotion interfaces or licensing.
  2. Error if VMotion would fail.
  3. Error if VMotion would in any way interrupt the continuous and consistent operation of the virtual machine.
  4. Warning for potential performance or connectivity problems between the source and destination VMotion interfaces.
  5. Warning if the virtual machine's currently disconnected devices may not be connectable after VMotion.

If the virtual machine is powered off or suspended:

  1. Error if the destination host cannot access all the files that comprise the virtual machine (including virtual disks).
  2. Error if aspects of the virtual machine are not supported by the destination host's hardware or software.
  3. Warning if problems would occur when powering on or resuming the virtual machine, if the usage/configuration of the destination host were to remain in its current state.

func (*MigrationFault) GetMigrationFault

func (b *MigrationFault) GetMigrationFault() *MigrationFault

type MigrationFaultFault

type MigrationFaultFault BaseMigrationFault

type MigrationFeatureNotSupported

type MigrationFeatureNotSupported struct {
	MigrationFault

	// Whether this error is for the source host.
	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
	// The name of the host.
	FailedHostName string `xml:"failedHostName" json:"failedHostName"`
	// The host.
	//
	// Refers instance of `HostSystem`.
	FailedHost ManagedObjectReference `xml:"failedHost" json:"failedHost"`
}

A migration operation that requires feature support on source and destination hosts is lacking support on the host.

func (*MigrationFeatureNotSupported) GetMigrationFeatureNotSupported

func (b *MigrationFeatureNotSupported) GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported

type MigrationFeatureNotSupportedFault

type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported

type MigrationHostErrorEvent

type MigrationHostErrorEvent struct {
	MigrationEvent

	// The name of the destination host.
	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
}

A migration error that includes the destination host.

type MigrationHostWarningEvent

type MigrationHostWarningEvent struct {
	MigrationEvent

	// The name of the destination host.
	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
}

A migration warning that includes the destination host.

type MigrationNotReady

type MigrationNotReady struct {
	MigrationFault

	Reason string `xml:"reason" json:"reason"`
}

The VM to be migrated is not ready for the migration operation.

This might because the VM is still in the progress of powering on or resuming from a suspended state.

type MigrationNotReadyFault

type MigrationNotReadyFault MigrationNotReady

type MigrationResourceErrorEvent

type MigrationResourceErrorEvent struct {
	MigrationEvent

	// The name of the destination resource pool.
	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
	// The name of the destination host.
	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
}

A migration error that includes both the destination host and resource pool.

type MigrationResourceWarningEvent

type MigrationResourceWarningEvent struct {
	MigrationEvent

	// The name of the destination resource pool.
	DstPool ResourcePoolEventArgument `xml:"dstPool" json:"dstPool"`
	// The name of the destination host.
	DstHost HostEventArgument `xml:"dstHost" json:"dstHost"`
}

A migration warning that includes both the destination host and resource pool.

type MigrationWarningEvent

type MigrationWarningEvent struct {
	MigrationEvent
}

A migration warning.

type MismatchedBundle

type MismatchedBundle struct {
	VimFault

	// The uuid of the host that the bundle was generated for
	BundleUuid string `xml:"bundleUuid" json:"bundleUuid"`
	// The uuid of the host
	HostUuid string `xml:"hostUuid" json:"hostUuid"`
	// The build number of the host that the bundle was generated for
	BundleBuildNumber int32 `xml:"bundleBuildNumber" json:"bundleBuildNumber"`
	// The build number of the host
	HostBuildNumber int32 `xml:"hostBuildNumber" json:"hostBuildNumber"`
}

A MismatchedBundle fault is thrown when the bundle supplied for `HostFirmwareSystem.RestoreFirmwareConfiguration` does not match the specifications of the host

type MismatchedBundleFault

type MismatchedBundleFault MismatchedBundle

type MismatchedNetworkPolicies

type MismatchedNetworkPolicies struct {
	MigrationFault

	// The label of the interface device.
	Device string `xml:"device" json:"device"`
	// The name of the network.
	Backing string `xml:"backing" json:"backing"`
	// The connected/disconnected state of the device.
	Connected bool `xml:"connected" json:"connected"`
}

Deprecated as of vSphere API 5.5, use `CannotUseNetwork` with a correct reason for the fault.

The virtual machine network uses different offload or security policies on the destination host than on the source host.

This is an error if the virtual machine is currently connected to the network, and a warning otherwise.

type MismatchedNetworkPoliciesFault

type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies

type MismatchedVMotionNetworkNames

type MismatchedVMotionNetworkNames struct {
	MigrationFault

	// The name of the network used by the source host VMotion interface.
	SourceNetwork string `xml:"sourceNetwork" json:"sourceNetwork"`
	// The name of the network used by the destination host VMotion interface.
	DestNetwork string `xml:"destNetwork" json:"destNetwork"`
}

The source and destination hosts do not use the same network name for their VMotion interfaces.

This is a warning for migrating powered-on virtual machines.

type MismatchedVMotionNetworkNamesFault

type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames

type MissingBmcSupport

type MissingBmcSupport struct {
	VimFault
}

A MissingBmcSuppport fault is thrown when a host's BMC doesn't support IPMI.

BMC (Board Management Controller) is a piece of hardware required for IPMI.

type MissingBmcSupportFault

type MissingBmcSupportFault MissingBmcSupport

type MissingController

type MissingController struct {
	InvalidDeviceSpec
}

A controller key has not been specified for a new device that requires a controller, such as a disk or CD-ROM device.

type MissingControllerFault

type MissingControllerFault MissingController

type MissingIpPool

type MissingIpPool struct {
	VAppPropertyFault
}

No IP pool is associated with a network.

type MissingIpPoolFault

type MissingIpPoolFault MissingIpPool

type MissingLinuxCustResources

type MissingLinuxCustResources struct {
	CustomizationFault
}

Usable open source components required for Linux customization were not found on the server.

type MissingLinuxCustResourcesFault

type MissingLinuxCustResourcesFault MissingLinuxCustResources

type MissingNetworkIpConfig

type MissingNetworkIpConfig struct {
	VAppPropertyFault
}

No IP configuration exists for network.

type MissingNetworkIpConfigFault

type MissingNetworkIpConfigFault MissingNetworkIpConfig

type MissingObject

type MissingObject struct {
	DynamicData

	// The object that is being reported missing
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Fault describing the failure to lookup this object
	//
	// The possible faults for missing objects are:
	//     - `SystemError` if there was some unknown problem
	//       looking up the object
	//     - `ManagedObjectNotFound` if the object is no
	//       longer available
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Used for reporting missing objects that were explicitly referenced by a filter spec.

In other words, any of the objects referenced in `PropertyFilterSpec.objectSet`

type MissingPowerOffConfiguration

type MissingPowerOffConfiguration struct {
	VAppConfigFault
}

Attempting to power-off a vApp for which no virtual machines has been configured to power off.

type MissingPowerOffConfigurationFault

type MissingPowerOffConfigurationFault MissingPowerOffConfiguration

type MissingPowerOnConfiguration

type MissingPowerOnConfiguration struct {
	VAppConfigFault
}

Attempting to power-on a vApp service for which no virtual machines has been configured to power on.

type MissingPowerOnConfigurationFault

type MissingPowerOnConfigurationFault MissingPowerOnConfiguration

type MissingProperty

type MissingProperty struct {
	DynamicData

	// Property for which a value could not be retrieved
	Path string `xml:"path" json:"path"`
	// Fault describing the failure to retrieve the property value.
	//
	// The possible faults for missing properties are:
	//     - `SystemError` if there was some unknown problem
	//       reading the value
	//     - `SecurityError` if the logged in session did
	//       not have permission to read the value
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Used for reporting properties for which values could not be retrieved.

type MissingWindowsCustResources

type MissingWindowsCustResources struct {
	CustomizationFault
}

A usable sysprep file was not found on the server.

type MissingWindowsCustResourcesFault

type MissingWindowsCustResourcesFault MissingWindowsCustResources

type MksConnectionLimitReached

type MksConnectionLimitReached struct {
	InvalidState

	// MKS connection limit for the virtual machine.
	ConnectionLimit int32 `xml:"connectionLimit" json:"connectionLimit"`
}

Thrown when a mouse-keyboard-screen connection ticket to a virtual machine cannot be granted because the configured connection limit has been reached.

type MksConnectionLimitReachedFault

type MksConnectionLimitReachedFault MksConnectionLimitReached

type ModeInfo

type ModeInfo struct {
	DynamicData

	// Can see the existence of a file.
	Browse string `xml:"browse,omitempty" json:"browse,omitempty"`
	// Can read a file.
	Read string `xml:"read" json:"read"`
	// Can read and write a file.
	Modify string `xml:"modify" json:"modify"`
	// Can execute or operate a file or look inside a directory.
	Use string `xml:"use" json:"use"`
	// Can change permissions for a file.
	Admin string `xml:"admin,omitempty" json:"admin,omitempty"`
	// Can do anything to a file, including change permissions.
	Full string `xml:"full" json:"full"`
}

The FileAccess.Modes data object type defines the known access modes for a datastore.

The property values specify how to interpret the "what" property for a FileAccess object.

type ModifyListView

type ModifyListView ModifyListViewRequestType

type ModifyListViewRequestType

type ModifyListViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Optional list of objects to add to the view.
	//
	// Required privileges: System.View
	Add []ManagedObjectReference `xml:"add,omitempty" json:"add,omitempty"`
	// Optional list of objects to remove from the view.
	//
	// Required privileges: System.View
	Remove []ManagedObjectReference `xml:"remove,omitempty" json:"remove,omitempty"`
}

The parameters of `ListView.ModifyListView`.

type ModifyListViewResponse

type ModifyListViewResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type MonthlyByDayTaskScheduler

type MonthlyByDayTaskScheduler struct {
	MonthlyTaskScheduler

	// The day in every month to run the scheduled task.
	//
	// Valid values are 1 to 31.
	//
	// In any month where the value of "day" exceeds the total number of days
	// in the month, the scheduled task will run on the last day of the month.
	Day int32 `xml:"day" json:"day"`
}

The `MonthlyByDayTaskScheduler` data object sets the time for monthly task execution.

You can set the schedule for task execution on one day during the month, and you complete the schedule by setting the inherited properties for the hour and minute.

By default the scheduler executes the task on the specified day every month. If you set the interval to a value greater than 1, the task will execute at the specified monthly interval. (For example, an interval of 2 will cause the task to execute on the specified day, hour, and minute every 2 months.)

type MonthlyByWeekdayTaskScheduler

type MonthlyByWeekdayTaskScheduler struct {
	MonthlyTaskScheduler

	// The week in the month during which the scheduled task is to run.
	Offset WeekOfMonth `xml:"offset" json:"offset"`
	// The day in the week when the scheduled task is to run.
	Weekday DayOfWeek `xml:"weekday" json:"weekday"`
}

The `MonthlyByWeekdayTaskScheduler` data object sets the time for monthly task execution.

You identify a single day for task execution by specifying the week of the month and day of the week, and you complete the schedule by setting the inherited properties for the hour and minute.

By default, the scheduler executes the task on the specified day every month. If you set the interval to a value greater than 1, the task will execute at the specified monthly interval. (For example, an interval of 2 will cause the task to execute on the specified day, hour, and minute every 2 months.)

type MonthlyTaskScheduler

type MonthlyTaskScheduler struct {
	DailyTaskScheduler
}

The `MonthlyTaskScheduler` data object is the base type for the monthly schedulers (`MonthlyByDayTaskScheduler` and `MonthlyByWeekdayTaskScheduler`).

func (*MonthlyTaskScheduler) GetMonthlyTaskScheduler

func (b *MonthlyTaskScheduler) GetMonthlyTaskScheduler() *MonthlyTaskScheduler

type MountError

type MountError struct {
	CustomizationFault

	// The virtual machine to be customized.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Index into the virtual machine's device list,
	// representing the key value that identifies the virtual device
	// that is the presumed boot disk.
	DiskIndex int32 `xml:"diskIndex" json:"diskIndex"`
}

Customization failed because the customization process was unable to mount a remote virtual disk file.

type MountErrorFault

type MountErrorFault MountError

type MountToolsInstaller

type MountToolsInstaller MountToolsInstallerRequestType

type MountToolsInstallerRequestType

type MountToolsInstallerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type MountToolsInstallerResponse

type MountToolsInstallerResponse struct {
}

type MountVffsVolume

type MountVffsVolume MountVffsVolumeRequestType

type MountVffsVolumeRequestType

type MountVffsVolumeRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
}

The parameters of `HostStorageSystem.MountVffsVolume`.

type MountVffsVolumeResponse

type MountVffsVolumeResponse struct {
}

type MountVmfsVolume

type MountVmfsVolume MountVmfsVolumeRequestType

type MountVmfsVolumeExRequestType

type MountVmfsVolumeExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies the UUID of a VMFS volume to be unmounted.
	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.MountVmfsVolumeEx_Task`.

type MountVmfsVolumeEx_Task

type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType

type MountVmfsVolumeEx_TaskResponse

type MountVmfsVolumeEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MountVmfsVolumeRequestType

type MountVmfsVolumeRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.MountVmfsVolume`.

type MountVmfsVolumeResponse

type MountVmfsVolumeResponse struct {
}

type MoveDVPortRequestType

type MoveDVPortRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The keys of the ports to be moved into the portgroup.
	PortKey []string `xml:"portKey" json:"portKey"`
	// The key of the portgroup to be moved into.
	// If unset, the port will be moved under the switch.
	DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty" json:"destinationPortgroupKey,omitempty"`
}

The parameters of `DistributedVirtualSwitch.MoveDVPort_Task`.

type MoveDVPort_Task

type MoveDVPort_Task MoveDVPortRequestType

type MoveDVPort_TaskResponse

type MoveDVPort_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MoveDatastoreFileRequestType

type MoveDatastoreFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the source, either a URL or a datastore path
	// referring to the file or folder to be moved.
	SourceName string `xml:"sourceName" json:"sourceName"`
	// If <code>sourceName</code> is a datastore path, the
	// datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>sourceName</code> must be a URL.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
	// The name of the destination, either a URL or a
	// datastore path referring to the destination file or folder.
	DestinationName string `xml:"destinationName" json:"destinationName"`
	// If <code>destinationName</code> is a datastore
	// path, the datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter, it is assumed that
	// the destination path belongs to the source datacenter.
	//
	// Required privileges: System.View
	//
	// Refers instance of `Datacenter`.
	DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty" json:"destinationDatacenter,omitempty"`
	// If true, overwrite any identically named file
	// at the destination. If not specified, it is assumed to be false.
	Force *bool `xml:"force" json:"force,omitempty"`
}

The parameters of `FileManager.MoveDatastoreFile_Task`.

type MoveDatastoreFile_Task

type MoveDatastoreFile_Task MoveDatastoreFileRequestType

type MoveDatastoreFile_TaskResponse

type MoveDatastoreFile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MoveDirectoryInGuestRequestType

type MoveDirectoryInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the directory to be moved.
	SrcDirectoryPath string `xml:"srcDirectoryPath" json:"srcDirectoryPath"`
	// The complete path to the where the directory is
	// moved or its new name. It cannot be a path to an existing directory
	// or an existing file.
	DstDirectoryPath string `xml:"dstDirectoryPath" json:"dstDirectoryPath"`
}

The parameters of `GuestFileManager.MoveDirectoryInGuest`.

type MoveDirectoryInGuestResponse

type MoveDirectoryInGuestResponse struct {
}

type MoveFileInGuest

type MoveFileInGuest MoveFileInGuestRequestType

type MoveFileInGuestRequestType

type MoveFileInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual Machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The complete path to the original file or
	// symbolic link to be moved.
	SrcFilePath string `xml:"srcFilePath" json:"srcFilePath"`
	// The complete path to the where the file is renamed.
	// It cannot be a path to an existing directory.
	DstFilePath string `xml:"dstFilePath" json:"dstFilePath"`
	// If set, the destination file is clobbered.
	Overwrite bool `xml:"overwrite" json:"overwrite"`
}

The parameters of `GuestFileManager.MoveFileInGuest`.

type MoveFileInGuestResponse

type MoveFileInGuestResponse struct {
}

type MoveHostIntoRequestType

type MoveHostIntoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The list of hosts to move into the cluster.
	//
	// Required privileges: Host.Inventory.MoveHost
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The resource pool to match the root resource pool of
	// stand-alone hosts. This argument has no effect if the host is part of a
	// cluster.
	//
	// Refers instance of `ResourcePool`.
	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
}

The parameters of `ClusterComputeResource.MoveHostInto_Task`.

type MoveHostInto_Task

type MoveHostInto_Task MoveHostIntoRequestType

type MoveHostInto_TaskResponse

type MoveHostInto_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MoveIntoFolderRequestType

type MoveIntoFolderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The list of objects to be moved into the folder.
	//
	// Refers instances of `ManagedEntity`.
	List []ManagedObjectReference `xml:"list" json:"list"`
}

The parameters of `Folder.MoveIntoFolder_Task`.

type MoveIntoFolder_Task

type MoveIntoFolder_Task MoveIntoFolderRequestType

type MoveIntoFolder_TaskResponse

type MoveIntoFolder_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MoveIntoRequestType

type MoveIntoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The list of hosts to move into the cluster.
	//
	// Required privileges: Host.Inventory.MoveHost
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `ClusterComputeResource.MoveInto_Task`.

type MoveIntoResourcePoolRequestType

type MoveIntoResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of ResourcePool and VirtualMachine objects.
	//
	// Refers instances of `ManagedEntity`.
	List []ManagedObjectReference `xml:"list" json:"list"`
}

The parameters of `ResourcePool.MoveIntoResourcePool`.

type MoveIntoResourcePoolResponse

type MoveIntoResourcePoolResponse struct {
}

type MoveInto_Task

type MoveInto_Task MoveIntoRequestType

type MoveInto_TaskResponse

type MoveInto_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MoveVirtualDiskRequestType

type MoveVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the source, either a datastore path
	// or a URL referring to the virtual disk to be moved.
	SourceName string `xml:"sourceName" json:"sourceName"`
	// If <code>sourceName</code> is a datastore path, the
	// datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>sourceName</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty"`
	// The name of the destination, either a datastore path
	// or a URL referring to the destination virtual disk.
	DestName string `xml:"destName" json:"destName"`
	// If <code>destName</code> is a datastore
	// path, the datacenter for that datastore path.
	// Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter, it is assumed that
	// the destination path belongs to the source datacenter.
	//
	// Refers instance of `Datacenter`.
	DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty"`
	// If true, overwrite any indentically named disk at the destination.
	// If not specified, it is assumed to be false
	Force *bool `xml:"force" json:"force,omitempty"`
	// User can specify new set of profile when moving virtual disk.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
}

The parameters of `VirtualDiskManager.MoveVirtualDisk_Task`.

type MoveVirtualDisk_Task

type MoveVirtualDisk_Task MoveVirtualDiskRequestType

type MoveVirtualDisk_TaskResponse

type MoveVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type MtuMatchEvent

type MtuMatchEvent struct {
	DvsHealthStatusChangeEvent
}

The value of MTU configured in the vSphere Distributed Switch matches physical switch.

type MtuMismatchEvent

type MtuMismatchEvent struct {
	DvsHealthStatusChangeEvent
}

The value of MTU configured in the vSphere Distributed Switch mismatches physical switch.

type MultiWriterNotSupported

type MultiWriterNotSupported struct {
	DeviceNotSupported
}

The multi-writer sharing of the specified virtual disk is not supported.

Typically, this fault is returned as part of a parent fault like `VmConfigIncompatibleForFaultTolerance`, indicating that the virtual disk's multi-writer sharing needs to be changed before fault tolerance can be enabled on the associated virtual machine.

type MultiWriterNotSupportedFault

type MultiWriterNotSupportedFault MultiWriterNotSupported

type MultipathState

type MultipathState string

Set of constants defining the possible states of a multipath path.

type MultipleCertificatesVerifyFault

type MultipleCertificatesVerifyFault struct {
	HostConnectFault

	// The thumbprints (and associated ports) used by the services on the host.
	ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData" json:"thumbprintData"`
}

MultipleCertificatesVerifyFault is thrown by the host connect method `HostSystem.ReconnectHost_Task` as well as the methods to add a host to VirtualCenter (`Folder.AddStandaloneHost_Task` and `ClusterComputeResource.AddHost_Task`) if VirtualCenter detects that the host has different SSL certificates for different management ports.

This can occur, for example, if an ESX 2.x host has different SSL certificates for the authd service (port 902) and the Management UI port (port 443). VirtualCenter is not able to manage such hosts. To fix this issue, the user should modify the host to ensure there is only one certificate for all services. Alternatively, different certificates are allowed as long as each certificate is verifiable (trusted) by the VirtualCenter server.

type MultipleCertificatesVerifyFaultFault

type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault

type MultipleCertificatesVerifyFaultThumbprintData

type MultipleCertificatesVerifyFaultThumbprintData struct {
	DynamicData

	// The port used by the service.
	Port int32 `xml:"port" json:"port"`
	// The SSL thumbprint of the host's certificate used by the service.
	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
}

type MultipleSnapshotsNotSupported

type MultipleSnapshotsNotSupported struct {
	SnapshotFault
}

Fault thrown when an attempt is made to create a second snapshot on a VM that only supports a single snapshot at a time.

type MultipleSnapshotsNotSupportedFault

type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported

type NASDatastoreCreatedEvent

type NASDatastoreCreatedEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
	// Url of the associated datastore.
	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
}

This event records when a NAS datastore is created.

type NamePasswordAuthentication

type NamePasswordAuthentication struct {
	GuestAuthentication

	// The user name for Name-Password authentication.
	Username string `xml:"username" json:"username"`
	// The password for Name-Password authentication.
	Password string `xml:"password" json:"password"`
}

NamePasswordAuthentication contains the information necessary to authenticate within a guest using a name and password.

This is the typical method for authentication within a guest and the one currently used by VIX. This method of authentication is stateless.

To use NamePasswordAuthentication, populate username and password with the appropriate login information. You should not use `GuestAuthManager.AcquireCredentialsInGuest` or `GuestAuthManager.ReleaseCredentialsInGuest` for NamePasswordAuthentication.

Once populated, you can use NamePasswordAuthentication in any guest operations function call.

type NamespaceFull

type NamespaceFull struct {
	VimFault

	// The namespace in question.
	Name string `xml:"name" json:"name"`
	// Current maximum size.
	CurrentMaxSize int64 `xml:"currentMaxSize" json:"currentMaxSize"`
	// Size necessary to complete operation.
	//
	// If not present,
	// system was not able to determine how much space would
	// be necessary to complete operation.
	RequiredSize int64 `xml:"requiredSize,omitempty" json:"requiredSize,omitempty"`
}

A NamespaceFull fault is thrown when an operation on namespace requires more space to complete.

type NamespaceFullFault

type NamespaceFullFault NamespaceFull

type NamespaceLimitReached

type NamespaceLimitReached struct {
	VimFault

	// Allowed maximum number of namespaces per virtual machine.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
}

A NamespaceLimitReached fault is thrown when the maximum allowed namespaces for a virtual machine will be exceeded.

type NamespaceLimitReachedFault

type NamespaceLimitReachedFault NamespaceLimitReached

type NamespaceWriteProtected

type NamespaceWriteProtected struct {
	VimFault

	// The namespace in question.
	Name string `xml:"name" json:"name"`
}

A NamespaceWriteProtected fault is thrown when an operation on namespace fails because namespace is write-protected.

type NamespaceWriteProtectedFault

type NamespaceWriteProtectedFault NamespaceWriteProtected

type NasConfigFault

type NasConfigFault struct {
	HostConfigFault

	// Name of the Nas datastore being configured.
	Name string `xml:"name" json:"name"`
}

Base class for all network-attached storage configuration faults.

func (*NasConfigFault) GetNasConfigFault

func (b *NasConfigFault) GetNasConfigFault() *NasConfigFault

type NasConfigFaultFault

type NasConfigFaultFault BaseNasConfigFault

type NasConnectionLimitReached

type NasConnectionLimitReached struct {
	NasConfigFault

	// The host that runs the NFS server.
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote share.
	RemotePath string `xml:"remotePath" json:"remotePath"`
}

This fault is thrown when an operation to configure a CIFS volume fails because the request exceeds the maximum allowed connections on this host for the specified remote path.

type NasConnectionLimitReachedFault

type NasConnectionLimitReachedFault NasConnectionLimitReached

type NasDatastoreInfo

type NasDatastoreInfo struct {
	DatastoreInfo

	// The NFS mount information for the datastore.
	//
	// May not
	// be available when the datastore is not accessible.
	Nas *HostNasVolume `xml:"nas,omitempty" json:"nas,omitempty"`
}

Information details about a network-attached storage (NAS) datastore.

type NasSessionCredentialConflict

type NasSessionCredentialConflict struct {
	NasConfigFault

	// The host that runs the NFS server.
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote share.
	RemotePath string `xml:"remotePath" json:"remotePath"`
	UserName   string `xml:"userName" json:"userName"`
}

This fault is thrown when an operation to configure a CIFS volume fails when attempting to log on more than once with the same user name.

type NasSessionCredentialConflictFault

type NasSessionCredentialConflictFault NasSessionCredentialConflict

type NasStorageProfile

type NasStorageProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `NasStorageProfile` data object represents one NAS datastore configuration.

Use the `ApplyProfile.policy` list for access to configuration data for the NAS storage profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type NasVolumeNotMounted

type NasVolumeNotMounted struct {
	NasConfigFault

	// The host that runs the NFS server.
	RemoteHost string `xml:"remoteHost" json:"remoteHost"`
	// The remote share.
	RemotePath string `xml:"remotePath" json:"remotePath"`
}

This fault is thrown when an operation to configure a NAS datastore fails because the specified NFS volume is not mounted.

type NasVolumeNotMountedFault

type NasVolumeNotMountedFault NasVolumeNotMounted

type NegatableExpression

type NegatableExpression struct {
	DynamicData

	// Whether the configuration needs to be negated or not.
	Negate *bool `xml:"negate" json:"negate,omitempty"`
}

The base class for any type of setting or configuration to which negation can be applied.

When used in a configuration information object: if `NegatableExpression.negate` is true, then ~(objectValue) will be used for the configuration. If false, then objectValue will be used as it is.

func (*NegatableExpression) GetNegatableExpression

func (b *NegatableExpression) GetNegatableExpression() *NegatableExpression

type NetBIOSConfigInfo

type NetBIOSConfigInfo struct {
	DynamicData

	// NetBIOS configuration mode.
	//
	// The supported values are described by
	// `NetBIOSConfigInfoMode_enum`.
	Mode string `xml:"mode" json:"mode"`
}

This data object type describes the NetBIOS configuration of an operating system.

func (*NetBIOSConfigInfo) GetNetBIOSConfigInfo

func (b *NetBIOSConfigInfo) GetNetBIOSConfigInfo() *NetBIOSConfigInfo

type NetBIOSConfigInfoMode

type NetBIOSConfigInfoMode string

type NetDhcpConfigInfo

type NetDhcpConfigInfo struct {
	DynamicData

	// IPv6 DHCP client settings.
	Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
	// IPv4 DHCP client settings.
	Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
}

Dynamic Host Configuration Protocol reporting for IP version 4 and version 6.

type NetDhcpConfigInfoDhcpOptions

type NetDhcpConfigInfoDhcpOptions struct {
	DynamicData

	// Report state of dhcp client services.
	Enable bool `xml:"enable" json:"enable"`
	// Platform specific settings for DHCP Client.
	//
	// The key part is a unique number, the value part
	// is the platform specific configuration command.
	// For example on Linux, BSD systems using the file dhclient.conf
	// output would be reported at system scope:
	// key='1', value='timeout 60;'
	// key='2', value='reboot 10;'
	// output reported at per interface scope:
	// key='1', value='prepend domain-name-servers 192.0.2.1;'
	// key='2', value='equire subnet-mask, domain-name-servers;'
	Config []KeyValue `xml:"config,omitempty" json:"config,omitempty"`
}

Provides for reporting of DHCP client.

This data object may be used at a per interface or per system scope.

type NetDhcpConfigSpec

type NetDhcpConfigSpec struct {
	DynamicData

	// Configure IPv6 DHCP client settings.
	Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty" json:"ipv6,omitempty"`
	// Configure IPv4 DHCP client settings.
	Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty" json:"ipv4,omitempty"`
}

Dynamic Host Configuration Protocol Configuration for IP version 4 and version 6.

type NetDhcpConfigSpecDhcpOptionsSpec

type NetDhcpConfigSpecDhcpOptionsSpec struct {
	DynamicData

	// Enable or disable dhcp for IPv4.
	Enable *bool `xml:"enable" json:"enable,omitempty"`
	// Platform specific settings for DHCP Client.
	//
	// The key part is a unique number, the value part
	// is the platform specific configuration command.
	// See `NetDhcpConfigInfo` for value formatting.
	Config []KeyValue `xml:"config" json:"config"`
	// Requires one of the values from `HostConfigChangeOperation_enum`.
	Operation string `xml:"operation" json:"operation"`
}

Provides for configuration of IPv6

type NetDnsConfigInfo

type NetDnsConfigInfo struct {
	DynamicData

	// Indicates whether or not dynamic host control
	// protocol (DHCP) is used to configure DNS configuration.
	Dhcp bool `xml:"dhcp" json:"dhcp"`
	// The host name portion of DNS name.
	//
	// For example, "esx01" part of
	// esx01.example.com.
	HostName string `xml:"hostName" json:"hostName"`
	// The domain name portion of the DNS name.
	//
	// "example.com" part of
	// esx01.example.com.
	DomainName string `xml:"domainName" json:"domainName"`
	// The IP addresses of the DNS servers in order of use.
	//
	// IPv4 addresses are specified using
	// dotted decimal notation. For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses represented as
	// eight fields of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
	// symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// The domain in which to search for hosts, placed in order of preference.
	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
}

Domain Name Server (DNS) Configuration Specification - a data object for reporting the configuration of RFC 1034 client side DNS settings.

type NetDnsConfigSpec

type NetDnsConfigSpec struct {
	DynamicData

	// The flag to indicate whether or not dynamic host control
	// protocol (DHCP) will be used to set DNS configuration automatically.
	//
	// See vim.net.DhcpConfigSpec
	Dhcp *bool `xml:"dhcp" json:"dhcp,omitempty"`
	// The host name portion of DNS name.
	//
	// For example,
	// "esx01" part of esx01.example.com. The rules for forming a hostname
	// are specified in RFC 1034.
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The domain name portion of the DNS name.
	//
	// This would be the
	// "example.com" part of esx01.example.com. The rules for forming
	// a domain name are defined in RFC 1034.
	DomainName string `xml:"domainName,omitempty" json:"domainName,omitempty"`
	// Unicast IP address(s) of one or more DNS servers in order of use.
	//
	// IPv4 addresses are specified using
	// dotted decimal notation. For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses represented as
	// eight fields of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
	// symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// The domain in which to search for hosts in order of preference.
	SearchDomain []string `xml:"searchDomain,omitempty" json:"searchDomain,omitempty"`
}

Domain Name Server (DNS) Configuration Specification - a data object for configuring the RFC 1034 client side DNS settings.

TBD: remove this section, only for discussing what goes into this object. Place properties here that are specific to the RFC/common to all systems. Properties that are platform specific should go into a separate config spec. http://technet.microsoft.com/en-us/library/cc778792.aspx http://en.wikipedia.org/wiki/Microsoft\_DNS

type NetIpConfigInfo

type NetIpConfigInfo struct {
	DynamicData

	// Zero, one or more manual (static) assigned IP addresses to be configured
	// on a given interface.
	IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// Client side DHCP for a given interface.
	Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
	// Enable or disable ICMPv6 router solictitation requests from a given interface
	// to acquire an IPv6 address and default gateway route from zero, one or more
	// routers on the connected network.
	//
	// If not set then ICMPv6 is not available on this system,
	// See vim.host.Network.Capabilities
	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
}

Protocol version independent address reporting data object for network interfaces.

type NetIpConfigInfoIpAddress

type NetIpConfigInfoIpAddress struct {
	DynamicData

	// IPv4 address is specified using dotted decimal notation.
	//
	// For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses represented as eight fields
	// of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
	// symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// Denotes the length of a generic Internet network address
	// prefix.
	//
	// The prefix length for IPv4 the value range is 0-32.
	// For IPv6 prefixLength is a decimal value range 0-128.
	// A value of n corresponds to an IP address mask
	// that has n contiguous 1-bits from the most significant
	// bit (MSB), with all other bits set to 0.
	// A value of zero is valid only if the calling context defines
	// it.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// How this address was configured.
	//
	// This can be
	// one of the values from the enum IpAddressOrigin
	// See `NetIpConfigInfoIpAddressOrigin_enum` for values.
	Origin string `xml:"origin,omitempty" json:"origin,omitempty"`
	// The state of this ipAddress.
	//
	// Can be one of `NetIpConfigInfoIpAddressStatus_enum`.
	State string `xml:"state,omitempty" json:"state,omitempty"`
	// The time when will this address expire.
	//
	// Durning this time
	// `state` may change states but is still visible
	// from the network.
	Lifetime *time.Time `xml:"lifetime" json:"lifetime,omitempty"`
}

Information about a specific IP Address.

type NetIpConfigInfoIpAddressOrigin

type NetIpConfigInfoIpAddressOrigin string

This specifies how an IP address was obtained for a given interface.

type NetIpConfigInfoIpAddressStatus

type NetIpConfigInfoIpAddressStatus string

type NetIpConfigSpec

type NetIpConfigSpec struct {
	DynamicData

	// A set of manual (static) IP addresses to be configured on a given interface.
	IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// Configure client side DHCP for a given interface.
	Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty" json:"dhcp,omitempty"`
	// Enable or disable ICMPv6 router solictitation requests from a given interface
	// to acquire an IPv6 address and default gateway route from zero, one or more
	// routers on the connected network.
	AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled" json:"autoConfigurationEnabled,omitempty"`
}

Internet Protocol Address Configuration for version 4 and version 6.

type NetIpConfigSpecIpAddressSpec

type NetIpConfigSpecIpAddressSpec struct {
	DynamicData

	// IPv4 address is specified using
	// dotted decimal notation.
	//
	// For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses specified as
	// eight fields of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
	// symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// Denotes the length of a generic Internet network address
	// prefix.
	//
	// The prefix length for IPv4 the value range is 0-32.
	// For IPv6 prefixLength is a decimal value range 0-128.
	// A value of n corresponds to an IP address mask
	// that has n contiguous 1-bits from the most significant
	// bit (MSB), with all other bits set to 0.
	// A value of zero is valid only if the calling context defines
	// it.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// Requires one of: "add" and "remove" or "change"
	// See `HostConfigChangeOperation_enum`.
	Operation string `xml:"operation" json:"operation"`
}

Provides for configuration of IP Addresses.

type NetIpRouteConfigInfo

type NetIpRouteConfigInfo struct {
	DynamicData

	// IP routing table for all address families.
	IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
}

This data object reports the IP Route Table.

type NetIpRouteConfigInfoGateway

type NetIpRouteConfigInfoGateway struct {
	DynamicData

	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	Device    string `xml:"device,omitempty" json:"device,omitempty"`
}

Next hop Gateway for a given route.

type NetIpRouteConfigInfoIpRoute

type NetIpRouteConfigInfoIpRoute struct {
	DynamicData

	// IP Address of the destination IP network.
	//
	// IPv6 addresses are 128-bit addresses represented
	// as eight fields of up to four hexadecimal digits. A colon separates each
	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
	// also consist of symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	Network string `xml:"network" json:"network"`
	// The prefix length.
	//
	// For IPv4 the value range is 0-31.
	// For IPv6 prefixLength is a decimal value range 0-127. The property
	// represents the number of contiguous, higher-order bits of the address that make
	// up the network portion of the IP address.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// Where to send the packets for this route.
	Gateway NetIpRouteConfigInfoGateway `xml:"gateway" json:"gateway"`
}

IpRoute report an individual host, network or default destination network reachable through a given gateway.

type NetIpRouteConfigSpec

type NetIpRouteConfigSpec struct {
	DynamicData

	// The set of updates to apply to the routing table.
	IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty" json:"ipRoute,omitempty"`
}

Address family independent IP Route Table Configuration data object.

type NetIpRouteConfigSpecGatewaySpec

type NetIpRouteConfigSpecGatewaySpec struct {
	DynamicData

	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	Device    string `xml:"device,omitempty" json:"device,omitempty"`
}

IpRoute report an individual host, network or default destination network reachable through a given gateway.

type NetIpRouteConfigSpecIpRouteSpec

type NetIpRouteConfigSpecIpRouteSpec struct {
	DynamicData

	// IP Address of the destination IP network.
	//
	// IPv6 addresses are 128-bit addresses represented
	// as eight fields of up to four hexadecimal digits. A colon separates each
	// field (:). For example, 2001:DB8:101::230:6eff:fe04:d9ff. The address can
	// also consist of symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	// To Specify a default network use the value: 0 with prefixLenth 0.
	Network string `xml:"network" json:"network"`
	// The prefix length.
	//
	// For IPv4 the value range is 0-31.
	// For IPv6 prefixLength is a decimal value range 0-127. The property
	// represents the number of contiguous, higher-order bits of the address that make
	// up the network portion of the IP address.
	PrefixLength int32 `xml:"prefixLength" json:"prefixLength"`
	// Where to send the packets for this route.
	Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway" json:"gateway"`
	// Requires one of the values from `HostConfigChangeOperation_enum`.
	Operation string `xml:"operation" json:"operation"`
}

Specify an individual host, network or default destination network reachable through a given gateway.

type NetIpStackInfo

type NetIpStackInfo struct {
	DynamicData

	// Zero, one or more entries of neighbors discovered using ARP or NDP.
	//
	// This information is used to help diagnose connectivity or performance
	// issues. This property maps to RFC 4293 ipNetToPhysicalTable.
	Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty" json:"neighbor,omitempty"`
	// Zero one or more entries of discovered IP routers that are directly
	// reachable from a an interface on this system.
	//
	// This property maps to RFC 4293 ipDefaultRouterTable.
	DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty" json:"defaultRouter,omitempty"`
}

Protocol version independent reporting data object for IP stack.

type NetIpStackInfoDefaultRouter

type NetIpStackInfoDefaultRouter struct {
	DynamicData

	// Unicast IP address of a next-hop router.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// This value will contain the name of the interface as reported by the
	// operationg system.
	Device string `xml:"device" json:"device"`
	// When this entry will no longer valid.
	//
	// For IPv6 this value
	// see For IPv6 RFC 2462 sections 4.2 and 6.3.4.
	Lifetime time.Time `xml:"lifetime" json:"lifetime"`
	// Value of this entry compared to others that this IP stack uses
	// when making selection to route traffic on the default
	// route when there are multiple default routers.
	//
	// Value must be one of
	// `NetIpStackInfoPreference_enum`
	Preference string `xml:"preference" json:"preference"`
}

type NetIpStackInfoEntryType

type NetIpStackInfoEntryType string

IP Stack keeps state on entries in IpNetToMedia table to perform physical address lookups for IP addresses.

Here are the standard

type NetIpStackInfoNetToMedia

type NetIpStackInfoNetToMedia struct {
	DynamicData

	// A Unicast IP address of another system directly reachable w/o routing.
	//
	// IPv4 address is specified using dotted decimal notation.
	// For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses represented as eight fields
	// of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff. The address can also consist of the
	// symbol '::' to represent multiple 16-bit groups of
	// contiguous 0's only once in an address as described in RFC 2373.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// The media-dependent of the address or empty string if not yet learned.
	//
	// For Ethernet interfaces this is a MAC address reported in the format:
	// XX:XX:XX:XX:XX:XX where XX are hexadecimal numbers.
	PhysicalAddress string `xml:"physicalAddress" json:"physicalAddress"`
	// The value will be the name of the interface as reported by the
	// operating system.
	Device string `xml:"device" json:"device"`
	// The type/state of this entry as reported by the IP stack.
	//
	// See `NetIpStackInfoEntryType_enum` for values.
	Type string `xml:"type" json:"type"`
}

Information from an IP stack about known mappings betwwen an IP address and the underlying physical address it maps to as learned by: IPv4: Address Resolution Protocol (ARP) RFC 826 IPv6: Neighbor Discovery Protocol (NDP) RFC 4861

type NetIpStackInfoPreference

type NetIpStackInfoPreference string

The set of values used to determine ordering of default routers.

type NetStackInstanceProfile

type NetStackInstanceProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// DnsConfig SubProfile for this instance of the stack.
	DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig" json:"dnsConfig"`
	// IpRoute SubProfile for this instance of the stack.
	IpRouteConfig IpRouteProfile `xml:"ipRouteConfig" json:"ipRouteConfig"`
}

The `NetStackInstanceProfile` data object represents a subprofile for a netStackInstance.

type NetworkCopyFault

type NetworkCopyFault struct {
	FileFault
}

A network copy of the file failed.

type NetworkCopyFaultFault

type NetworkCopyFaultFault NetworkCopyFault

type NetworkDisruptedAndConfigRolledBack

type NetworkDisruptedAndConfigRolledBack struct {
	VimFault

	// The name of host on which the network configuration was rolled back.
	Host string `xml:"host" json:"host"`
}

Thrown if network configuration change disconnected the host from vCenter server and has been rolled back.

type NetworkDisruptedAndConfigRolledBackFault

type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack

type NetworkEventArgument

type NetworkEventArgument struct {
	EntityEventArgument

	// The Network object.
	//
	// Refers instance of `Network`.
	Network ManagedObjectReference `xml:"network" json:"network"`
}

The event argument is a Network object.

type NetworkInaccessible

type NetworkInaccessible struct {
	NasConfigFault
}

This fault is thrown when an operation to configure a NAS volume fails because network access is unavailable.

type NetworkInaccessibleFault

type NetworkInaccessibleFault NetworkInaccessible

type NetworkPolicyProfile

type NetworkPolicyProfile struct {
	ApplyProfile
}

The `NetworkPolicyProfile` data object represents a network policy.

The `ApplyProfile.policy` property contains network configuration data values.

type NetworkProfile

type NetworkProfile struct {
	ApplyProfile

	// List of virtual switch subprofiles.
	//
	// Use the `VirtualSwitchProfile.key` property to access
	// a subprofile in the list.
	Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty" json:"vswitch,omitempty"`
	// List of port groups for use by virtual machines.
	//
	// Use the `VmPortGroupProfile*.*PortGroupProfile.key`
	// property to access a port group in the list.
	VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty" json:"vmPortGroup,omitempty"`
	// List of port groups for use by the host.
	//
	// Use the `HostPortGroupProfile*.*PortGroupProfile.key` property
	// to access port groups in the list.
	HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty" json:"hostPortGroup,omitempty"`
	// List of port groups for use by the service console.
	//
	// The Profile Engine uses this field only when applying a profile
	// to a host that has a service console.
	ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty" json:"serviceConsolePortGroup,omitempty"`
	// DNS (Domain Name System) configuration subprofile.
	DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty" json:"dnsConfig,omitempty"`
	// Subprofile that describes the IP Route
	// configuration for the VMKernel gateway.
	IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty" json:"ipRouteConfig,omitempty"`
	// Subprofile that describes the IP Route configuration
	// for the Service Console gateway.
	ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty" json:"consoleIpRouteConfig,omitempty"`
	// List of subprofiles that represent physical NIC configuration.
	//
	// Use the `PhysicalNicProfile.key` property to access a
	// subprofile in the list.
	Pnic []PhysicalNicProfile `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// List of subprofiles for distributed virtual switches to which this host is connected.
	//
	// Use the `DvsProfile.key` property to access a subprofile in the list.
	Dvswitch []DvsProfile `xml:"dvswitch,omitempty" json:"dvswitch,omitempty"`
	// List of subprofiles for service console Virtual NICs connected to a distributed virtual switch.
	//
	// Use the `DvsServiceConsoleVNicProfile*.*DvsVNicProfile.key` property
	// to access a subprofile in the list.
	DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty" json:"dvsServiceConsoleNic,omitempty"`
	// List of subprofiles for host Virtual NICs connected to a distributed virtual switch.
	//
	// Use the `DvsHostVNicProfile*.*DvsVNicProfile.key` property
	// to access a subprofile in the list.
	DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty" json:"dvsHostNic,omitempty"`
	// List of subprofiles for host Virtual NICs connected to a NSX logic switch.
	//
	// Use the `NsxHostVNicProfile*.*NsxHostVNicProfile.key` property
	// to access a subprofile in the list.
	NsxHostNic []NsxHostVNicProfile `xml:"nsxHostNic,omitempty" json:"nsxHostNic,omitempty" vim:"6.7"`
	// List of NetStackInstance subprofiles.
	//
	// Use the `NetStackInstanceProfile.key` property to access
	// a subprofile in the list.
	NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty" json:"netStackInstance,omitempty" vim:"5.5"`
	// OpaqueSwitch subprofile.
	OpaqueSwitch *OpaqueSwitchProfile `xml:"opaqueSwitch,omitempty" json:"opaqueSwitch,omitempty" vim:"7.0"`
}

The `NetworkProfile` data object contains a set of subprofiles for network configuration.

type NetworkProfileDnsConfigProfile

type NetworkProfileDnsConfigProfile struct {
	ApplyProfile
}

The `NetworkProfileDnsConfigProfile` data object represents DNS configuration for the host.

Use the `ApplyProfile.policy` list for access to configuration data for the DNS profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

type NetworkRollbackEvent

type NetworkRollbackEvent struct {
	Event

	// Method name which caused the disconnect
	MethodName string `xml:"methodName" json:"methodName"`
	// Transaction ID for the method call that caused the disconnect
	TransactionId string `xml:"transactionId" json:"transactionId"`
}

This event records when networking configuration on the host is rolled back as it disconnects the host from vCenter server.

type NetworkSummary

type NetworkSummary struct {
	DynamicData

	// Reference to the associated managed object.
	//
	// Refers instance of `Network`.
	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
	// Name of the network.
	Name string `xml:"name" json:"name"`
	// At least one host is configured to provide this network.
	Accessible bool `xml:"accessible" json:"accessible"`
	// Name of the associated IP pool.
	//
	// Empty if the network is not associated with an
	// IP pool.
	IpPoolName string `xml:"ipPoolName" json:"ipPoolName" vim:"4.0"`
	// Identifier of the associated IP pool.
	//
	// Zero if the network is not associated
	// with an IP pool.
	IpPoolId *int32 `xml:"ipPoolId" json:"ipPoolId,omitempty" vim:"5.1"`
}

General information about a network.

func (*NetworkSummary) GetNetworkSummary

func (b *NetworkSummary) GetNetworkSummary() *NetworkSummary

type NetworksMayNotBeTheSame

type NetworksMayNotBeTheSame struct {
	MigrationFault

	// The name of the network.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

Used as a warning if a virtual machine provisioning operation is done across datacenters.

This warns that the network used by the virtual machine before and after the operation may not be the same even though the two networks have the same name. This is because network names are only unique within a datacenter.

type NetworksMayNotBeTheSameFault

type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame

type NicSettingMismatch

type NicSettingMismatch struct {
	CustomizationFault

	// The number of network adapter settings specified in the customization
	// specification.
	NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec" json:"numberOfNicsInSpec"`
	// The number of network adapters present in the virtual machine.
	NumberOfNicsInVM int32 `xml:"numberOfNicsInVM" json:"numberOfNicsInVM"`
}

The number of network adapter settings in the customization specification does not match the number of network adapters present in the virtual machine.

type NicSettingMismatchFault

type NicSettingMismatchFault NicSettingMismatch

type NoAccessUserEvent

type NoAccessUserEvent struct {
	SessionEvent

	// The IP address of the peer that initiated the connection.
	//
	// This may
	// be the client that originated the session, or it may be an intervening
	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
}

This event records a failed user logon due to insufficient access permission.

type NoActiveHostInCluster

type NoActiveHostInCluster struct {
	InvalidState

	// The compute resource that does not have any active hosts.
	//
	// Refers instance of `ComputeResource`.
	ComputeResource ManagedObjectReference `xml:"computeResource" json:"computeResource"`
}

A NoActiveHostInCluster fault is thrown when there is no host in a valid state in the given compute resource to perform a specified operation.

This can happen, for example, if all the hosts are disconnected or in maintenance mode.

type NoActiveHostInClusterFault

type NoActiveHostInClusterFault NoActiveHostInCluster

type NoAvailableIp

type NoAvailableIp struct {
	VAppPropertyFault

	// A reference to the network
	//
	// Refers instance of `Network`.
	Network ManagedObjectReference `xml:"network" json:"network"`
}

There are no more IP addresses available on the given network.

type NoAvailableIpFault

type NoAvailableIpFault NoAvailableIp

type NoClientCertificate

type NoClientCertificate struct {
	VimFault
}

This exception is thrown when a client has connected without supplying a certificate but the associated call expects that the client has done so.

type NoClientCertificateFault

type NoClientCertificateFault NoClientCertificate

type NoCompatibleDatastore

type NoCompatibleDatastore struct {
	VimFault
}

A NoCompatibleDatastore fault is thrown when Storage DRS cannot find a compatible datastore in a given storage pod to place a disk or a virtual machine.

a virtual machine.

type NoCompatibleDatastoreFault

type NoCompatibleDatastoreFault NoCompatibleDatastore

type NoCompatibleHardAffinityHost

type NoCompatibleHardAffinityHost struct {
	VmConfigFault

	// The vm for which there are no compatible hard-affine hosts in the cluster.
	VmName string `xml:"vmName" json:"vmName"`
}

The cluster contains no hosts satisfying the hard VM/host affinity rules constraint for the VM.

type NoCompatibleHardAffinityHostFault

type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost

type NoCompatibleHost

type NoCompatibleHost struct {
	VimFault

	// The list of hosts that are not compatible, each element has a
	// corresponding fault in the error array.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// An error in this array indicates why the corresponding host in the
	// host array is incompatible.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

A NoCompatibleHost fault is thrown when DRS cannot find a compatible host in a given compute resource to run a virtual machine on.

func (*NoCompatibleHost) GetNoCompatibleHost

func (b *NoCompatibleHost) GetNoCompatibleHost() *NoCompatibleHost

type NoCompatibleHostFault

type NoCompatibleHostFault BaseNoCompatibleHost

type NoCompatibleHostWithAccessToDevice

type NoCompatibleHostWithAccessToDevice struct {
	NoCompatibleHost
}

This fault is used to report that a FT VM cannot be placed because there is no compatible host that can access all devices required to be connected when the VM powers on.

type NoCompatibleHostWithAccessToDeviceFault

type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice

type NoCompatibleSoftAffinityHost

type NoCompatibleSoftAffinityHost struct {
	VmConfigFault

	// The vm for which there are no compatible soft-affine hosts in the cluster.
	VmName string `xml:"vmName" json:"vmName"`
}

The cluster contains no hosts satisfying the soft VM/host affinity rules constraint for the VM.

type NoCompatibleSoftAffinityHostFault

type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost

type NoConnectedDatastore

type NoConnectedDatastore struct {
	VimFault
}

The fault occurs when Storage DRS cannot move a virtual machine because the host it is registered on is not connected to any other datastore in the storage pod.

type NoConnectedDatastoreFault

type NoConnectedDatastoreFault NoConnectedDatastore

type NoDatastoresConfiguredEvent

type NoDatastoresConfiguredEvent struct {
	HostEvent
}

No datastores have been configured on the host.

type NoDiskFound

type NoDiskFound struct {
	VimFault
}

This exception is thrown when a virtual machine which has no virtual disks is being upgraded or relaid out using the VirtualMachine.upgradeVirtualHardware or upgradeVmLayout commands.

type NoDiskFoundFault

type NoDiskFoundFault NoDiskFound

type NoDiskSpace

type NoDiskSpace struct {
	FileFault

	// The name of the datastore with insufficient disk space.
	Datastore string `xml:"datastore" json:"datastore"`
}

This fault is thrown when an operation fails because of insufficient disk space.

type NoDiskSpaceFault

type NoDiskSpaceFault NoDiskSpace

type NoDisksToCustomize

type NoDisksToCustomize struct {
	CustomizationFault
}

None of the disks attached to the VM are suitable for customization.

type NoDisksToCustomizeFault

type NoDisksToCustomizeFault NoDisksToCustomize

type NoGateway

type NoGateway struct {
	HostConfigFault
}

This error occurs when an operation fails because of vmkernel gateway is unset.

type NoGatewayFault

type NoGatewayFault NoGateway

type NoGuestHeartbeat

type NoGuestHeartbeat struct {
	MigrationFault
}

A powered-on virtual machine has a guest OS with Tools installed, but it does not have a valid heartbeat.

type NoGuestHeartbeatFault

type NoGuestHeartbeatFault NoGuestHeartbeat

type NoHost

type NoHost struct {
	HostConnectFault

	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

A NoHostFault fault occurs when a host cannot be reached.

type NoHostFault

type NoHostFault NoHost

type NoHostSuitableForFtSecondary

type NoHostSuitableForFtSecondary struct {
	VmFaultToleranceIssue

	// The primary virtual machine corresponding to the secondary virtual
	// machine.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The name of the primary virtual machine corresponding to the secondary
	// virtual machine.
	VmName string `xml:"vmName" json:"vmName"`
}

The NoHostSuitableForFtSecondary fault is thrown when the system is unable to find a suitable host for the Fault Tolerance secondary virtual machine.

This fault can be thrown when Virtual Center is trying to place or power on a Fault Tolerance Secondary, in both DRS or non-DRS cases.

type NoHostSuitableForFtSecondaryFault

type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary

type NoLicenseEvent

type NoLicenseEvent struct {
	LicenseEvent

	Feature LicenseFeatureInfo `xml:"feature" json:"feature"`
}

These are events reported by License Manager.

A NoLicenseEvent is reported if the required licenses could not be reserved. Each feature that is not fully licensed is reported.

type NoLicenseServerConfigured

type NoLicenseServerConfigured struct {
	NotEnoughLicenses
}

The NoLicenseServerConfigured fault is thrown when there is no valid license server configured for the system and the system is not in evaluation mode.

Any operation occurs that requires evaluation license or a valid license will throw the NoLicenseServerConfigured. This can happen with the new licensing scheme that is a hybrid of flex-based licensing and serial number based licensing. There can be cases where VirtualCenter is licensed by a serial number and there is no need for a flex license server. These cases are valid as long as no operation that requires flex- based license server is invoked, for example, adding a pre-4.0 host that requires flex licenses. If however, such an operation is invoked, the NoLicenseServerConfigured fault is thrown.

type NoLicenseServerConfiguredFault

type NoLicenseServerConfiguredFault NoLicenseServerConfigured

type NoMaintenanceModeDrsRecommendationForVM

type NoMaintenanceModeDrsRecommendationForVM struct {
	VmEvent
}

This event records that DRS did not recommend a migration for a powered on virtual machine, even though its host is going into maintenance mode.

DRS may not be able to recommend a migration for a virtual machine for reasons, include but not limited to:

  • No other connected host is compatible with this virtual machine.
  • None of the other compatible hosts have sufficient resources to satisfy the reservation requirements of this virtual machine.
  • Moving to any other host would violate a DRS rule. For example, all other compatible hosts have some incompatible virtual machines running.
  • DRS is disabled on this virtual machine.
  • This virtual machine was still in the process of migrating into the host going into maintenance mode and was not considered by DRS.
  • This virtual machine was in the process of migrating to another host when the host tried to enter maintenance mode.

type NoPeerHostFound

type NoPeerHostFound struct {
	HostPowerOpFailed
}

This fault is thrown when no peer host is found to wake up this host.

type NoPeerHostFoundFault

type NoPeerHostFoundFault NoPeerHostFound

type NoPermission

type NoPermission struct {
	SecurityError

	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
	//
	// The managed object on which a permission is required.
	Object *ManagedObjectReference `xml:"object,omitempty" json:"object,omitempty"`
	// Deprecated as of vSphere 8.0, use the `NoPermission.missingPrivileges` field.
	//
	// The privilege identifier required
	PrivilegeId string `xml:"privilegeId,omitempty" json:"privilegeId,omitempty"`
	// List of entities and missing privileges for each entity
	MissingPrivileges []NoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty" json:"missingPrivileges,omitempty" vim:"7.0.3.2"`
}

Thrown when an operation is denied because of privileges not held on managed object(s).

func (*NoPermission) GetNoPermission

func (b *NoPermission) GetNoPermission() *NoPermission

type NoPermissionEntityPrivileges added in v0.29.0

type NoPermissionEntityPrivileges struct {
	DynamicData

	Entity       ManagedObjectReference `xml:"entity" json:"entity"`
	PrivilegeIds []string               `xml:"privilegeIds,omitempty" json:"privilegeIds,omitempty"`
}

Entity and privileges for the entity

type NoPermissionFault

type NoPermissionFault BaseNoPermission

type NoPermissionOnAD

type NoPermissionOnAD struct {
	ActiveDirectoryFault
}

Fault indicating that the user account used to connect to the Active Directory doesn not have enough permissions for the action that was attempted.

type NoPermissionOnADFault

type NoPermissionOnADFault NoPermissionOnAD

type NoPermissionOnHost

type NoPermissionOnHost struct {
	HostConnectFault
}

This indicates that the user account used to connect to the host does not have enough permissions to enable VirtualCenter to manage the host.

type NoPermissionOnHostFault

type NoPermissionOnHostFault NoPermissionOnHost

type NoPermissionOnNasVolume

type NoPermissionOnNasVolume struct {
	NasConfigFault

	UserName string `xml:"userName,omitempty" json:"userName,omitempty"`
}

This fault is thrown when an operation to configure a NAS volume fails because of insufficient user permissions.

For CIFS volumes, this implies that the user specified in the `spec` does not have access to the network resource.

type NoPermissionOnNasVolumeFault

type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume

type NoSubjectName

type NoSubjectName struct {
	VimFault
}

This exception is thrown when an extension has attempted to use certificate-based authentication but the extension has been registered without a subject name.

type NoSubjectNameFault

type NoSubjectNameFault NoSubjectName

type NoVcManagedIpConfigured

type NoVcManagedIpConfigured struct {
	VAppPropertyFault
}

The IP address of the VC server has not be configured, and a vApp property is requesting to use it.

type NoVcManagedIpConfiguredFault

type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured

type NoVirtualNic

type NoVirtualNic struct {
	HostConfigFault
}

This error occurs when an operation fails because of no virtual NIC available.

type NoVirtualNicFault

type NoVirtualNicFault NoVirtualNic

type NoVmInVApp

type NoVmInVApp struct {
	VAppConfigFault
}

Attempting to power-on or power-off a vApp that contains no virtual machines.

type NoVmInVAppFault

type NoVmInVAppFault NoVmInVApp

type NodeDeploymentSpec added in v0.12.0

type NodeDeploymentSpec struct {
	DynamicData

	// ESX host on which the VM is to be deployed.
	//
	// For behavior when an esxHost is not specified,
	//
	// See also `VirtualMachineRelocateSpec.host`.
	//
	// Refers instance of `HostSystem`.
	EsxHost *ManagedObjectReference `xml:"esxHost,omitempty" json:"esxHost,omitempty"`
	// Datastore used for deploying the VM.
	//
	// For behavior when a datastore is not specified,
	//
	// See also `VirtualMachineRelocateSpec.datastore`.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// Name of the portgroup that is associated with the public IP address
	// where clients connect to vCenter Server.
	//
	// If a portgroup is not
	// specified same portgroup present on source is used to deploy the VM
	// with an assumption that portgroup is present on destination.
	//
	// Refers instance of `Network`.
	PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty" json:"publicNetworkPortGroup,omitempty"`
	// Name of the portgroup that is associated with the VCHA Cluster IP
	// address where clients connect to vCenter Server.
	//
	// If a portgroup is not
	// specified same portgroup present on source is used to deploy the VM
	// with an assumption that portgroup is present on destination.
	//
	// Refers instance of `Network`.
	ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty" json:"clusterNetworkPortGroup,omitempty"`
	// Folder in which the VM is to be created.
	//
	// Refers instance of `Folder`.
	Folder ManagedObjectReference `xml:"folder" json:"folder"`
	// ResourcePool that will be used to deploy this node.
	//
	// If the ResourcePool is not specified, the root resource pool for the
	// host will be used.
	//
	// Refers instance of `ResourcePool`.
	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
	// Management vCenter Server managing this VM.
	//
	// If the managementVc is not specified, managementVc specified as
	// part of SourceNodeSpec is used.
	ManagementVc *ServiceLocator `xml:"managementVc,omitempty" json:"managementVc,omitempty"`
	// nodeName here refers to a name that will be assigned to the VM to which
	// this node will be deployed to.
	NodeName string `xml:"nodeName" json:"nodeName"`
	// VCHA Cluster network configuration of the node.
	//
	// All cluster communication (state replication, heartbeat,
	// cluster messages) happens over this network.
	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
}

The NodeDeploymentSpec class defines location specification of the nodes the VCHA Cluster along with Management vCenter Server information that manages node VM.

func (*NodeDeploymentSpec) GetNodeDeploymentSpec added in v0.12.0

func (b *NodeDeploymentSpec) GetNodeDeploymentSpec() *NodeDeploymentSpec

type NodeNetworkSpec added in v0.12.0

type NodeNetworkSpec struct {
	DynamicData

	// VCHA Cluster network configuration of the node.
	//
	// All cluster communication (state replication, heartbeat,
	// cluster messages) happens over this network.
	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
}

The NodeNetworkSpec class defines network specification of a node in the VCHA Cluster.

func (*NodeNetworkSpec) GetNodeNetworkSpec added in v0.12.0

func (b *NodeNetworkSpec) GetNodeNetworkSpec() *NodeNetworkSpec

type NonADUserRequired

type NonADUserRequired struct {
	ActiveDirectoryFault
}

Fault indicating that an operation must be executed by a non Active Directory user.

type NonADUserRequiredFault

type NonADUserRequiredFault NonADUserRequired

type NonHomeRDMVMotionNotSupported

type NonHomeRDMVMotionNotSupported struct {
	MigrationFeatureNotSupported

	// The label of an RDM device for which an unsupported move was requested.
	//
	// This is not guaranteed to be the only such device.
	Device string `xml:"device" json:"device"`
}

An operation on a powered-on virtual machine requests that an existing Raw Disk Mapping end up in a location other than the new home datastore for the virtual machine, but the host does not have that capability.

type NonHomeRDMVMotionNotSupportedFault

type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported

type NonPersistentDisksNotSupported

type NonPersistentDisksNotSupported struct {
	DeviceNotSupported
}

The virtual machine has nonpersistent virtual disk.

This is an error for any powered-on migration which involves moving virtual disks.

type NonPersistentDisksNotSupportedFault

type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported

type NonVIWorkloadDetectedOnDatastoreEvent

type NonVIWorkloadDetectedOnDatastoreEvent struct {
	DatastoreEvent
}

This event records that non-VI workload is detected on the datastore.

type NonVmwareOuiMacNotSupportedHost

type NonVmwareOuiMacNotSupportedHost struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
}

The host does not support VM that has VPX assigned prefix or ranged based MAC address (i.e.

MAC is not prefixed with 00:50:56:\[80-BF\])

type NonVmwareOuiMacNotSupportedHostFault

type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost

type NotADirectory

type NotADirectory struct {
	FileFault
}

This fault is thrown when an operation fails because the specified object is not a directory.

type NotADirectoryFault

type NotADirectoryFault NotADirectory

type NotAFile

type NotAFile struct {
	FileFault
}

This fault is thrown when an operation fails because the specified object is not a file.

type NotAFileFault

type NotAFileFault NotAFile

type NotAuthenticated

type NotAuthenticated struct {
	NoPermission
}

Thrown when an operation is denied because the session has not yet successfully logged in.

type NotAuthenticatedFault

type NotAuthenticatedFault NotAuthenticated

type NotEnoughCpus

type NotEnoughCpus struct {
	VirtualHardwareCompatibilityIssue

	// The number of CPUs present on the host.
	NumCpuDest int32 `xml:"numCpuDest" json:"numCpuDest"`
	// The number of virtual CPUs present in the virtual machine.
	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
}

The host hardware does not have enough CPU cores to support the number of virtual CPUs in the virtual machine.

If the host is using hyperthreading, NotEnoughLogicalCpus is employed instead of NotEnoughCpus.

func (*NotEnoughCpus) GetNotEnoughCpus

func (b *NotEnoughCpus) GetNotEnoughCpus() *NotEnoughCpus

type NotEnoughCpusFault

type NotEnoughCpusFault BaseNotEnoughCpus

type NotEnoughLicenses

type NotEnoughLicenses struct {
	RuntimeFault
}

A NotEnoughLicensesFault occurs when an operation fails because there are not enough licenses installed.

func (*NotEnoughLicenses) GetNotEnoughLicenses

func (b *NotEnoughLicenses) GetNotEnoughLicenses() *NotEnoughLicenses

type NotEnoughLicensesFault

type NotEnoughLicensesFault BaseNotEnoughLicenses

type NotEnoughLogicalCpus

type NotEnoughLogicalCpus struct {
	NotEnoughCpus

	// The host that does not have enough logical CPUs.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
}

The host hardware does not have enough logical CPUs (hyperthreads) to support the number of virtual CPUs in the virtual machine.

type NotEnoughLogicalCpusFault

type NotEnoughLogicalCpusFault NotEnoughLogicalCpus

type NotEnoughResourcesToStartVmEvent

type NotEnoughResourcesToStartVmEvent struct {
	VmEvent

	// The reason why the virtual machine could not be restarted
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"6.0"`
}

This event records when the HA does not find sufficient resources to failover a virtual machine.

type NotFound

type NotFound struct {
	VimFault
}

A NotFound error occurs when a referenced component of a managed object cannot be found.

The referenced component can be a data object type (such as a role or permission) or a primitive (such as a string).

For example, if the missing referenced component is a data object, such as VirtualSwitch, the NotFound error is thrown. The NotFound error is also thrown if the data object is found, but the referenced name (for example, "vswitch0") is not.

type NotFoundFault

type NotFoundFault NotFound

type NotImplemented

type NotImplemented struct {
	RuntimeFault
}

NotImplemented exception is thrown if the method is not yet implemented.

type NotImplementedFault

type NotImplementedFault NotImplemented

type NotSupported

type NotSupported struct {
	RuntimeFault
}

Thrown if the method is not supported on the server.

Not all methods are supported on all servers (for example, an ESX Server host supports less functionality than a VirtualCenter server). A feature might also be disabled due to missing liceneses.

func (*NotSupported) GetNotSupported

func (b *NotSupported) GetNotSupported() *NotSupported

type NotSupportedDeviceForFT

type NotSupportedDeviceForFT struct {
	VmFaultToleranceIssue

	// The host
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The host name
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The virtual machine
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The virtual machine name
	VmName string `xml:"vmName,omitempty" json:"vmName,omitempty"`
	// The device type
	DeviceType string `xml:"deviceType" json:"deviceType"`
	// The device label
	DeviceLabel string `xml:"deviceLabel,omitempty" json:"deviceLabel,omitempty"`
}

Deprecated as of vSphere API 7.0. Not used since vSphere API 6.5.

VMs with pvscsi or vmxnet3 virtual devices support Fault Tolerance only on 4.1 or later hosts.

type NotSupportedDeviceForFTDeviceType

type NotSupportedDeviceForFTDeviceType string

type NotSupportedDeviceForFTFault

type NotSupportedDeviceForFTFault NotSupportedDeviceForFT

type NotSupportedFault

type NotSupportedFault BaseNotSupported

type NotSupportedHost

type NotSupportedHost struct {
	HostConnectFault

	// The name of the unsupported product if available;
	// for example, "VMware ESX Server".
	ProductName string `xml:"productName,omitempty" json:"productName,omitempty"`
	// The version of the unsupported product; for example, "1.5.2"
	ProductVersion string `xml:"productVersion,omitempty" json:"productVersion,omitempty"`
}

A NotSupportedHostFault occurs when the host is of a type that is not supported.

func (*NotSupportedHost) GetNotSupportedHost

func (b *NotSupportedHost) GetNotSupportedHost() *NotSupportedHost

type NotSupportedHostFault

type NotSupportedHostFault BaseNotSupportedHost

type NotSupportedHostForChecksum

type NotSupportedHostForChecksum struct {
	VimFault
}

Base class for host checksum related faults

type NotSupportedHostForChecksumFault

type NotSupportedHostForChecksumFault NotSupportedHostForChecksum

type NotSupportedHostForVFlash

type NotSupportedHostForVFlash struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
}

The host does not support vFlash feature.

type NotSupportedHostForVFlashFault

type NotSupportedHostForVFlashFault NotSupportedHostForVFlash

type NotSupportedHostForVmcp

type NotSupportedHostForVmcp struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
}

The host does not support VM Component Protection.

type NotSupportedHostForVmcpFault

type NotSupportedHostForVmcpFault NotSupportedHostForVmcp

type NotSupportedHostForVmemFile

type NotSupportedHostForVmemFile struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
}

The host does not support VM Component Protection.

type NotSupportedHostForVmemFileFault

type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile

type NotSupportedHostForVsan

type NotSupportedHostForVsan struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
}

The host does not support VSAN.

type NotSupportedHostForVsanFault

type NotSupportedHostForVsanFault NotSupportedHostForVsan

type NotSupportedHostInCluster

type NotSupportedHostInCluster struct {
	NotSupportedHost
}

A NotSupportedHostInCluster fault occurs when the host does not support the necessary features to participate in the cluster.

func (*NotSupportedHostInCluster) GetNotSupportedHostInCluster

func (b *NotSupportedHostInCluster) GetNotSupportedHostInCluster() *NotSupportedHostInCluster

type NotSupportedHostInClusterFault

type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster

type NotSupportedHostInDvs

type NotSupportedHostInDvs struct {
	NotSupportedHost

	// The product spec of the DVS.
	//
	// This determines which host versions may
	// participate in the DVS; that information may be queried by using
	// `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.
	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
}

A NotSupportedHostInDvs fault occurs when the host does not support the necessary features to participate in the DVS.

type NotSupportedHostInDvsFault

type NotSupportedHostInDvsFault NotSupportedHostInDvs

type NotSupportedHostInHACluster

type NotSupportedHostInHACluster struct {
	NotSupportedHost

	// The name of the host.
	HostName string `xml:"hostName" json:"hostName"`
	// The product build number of the host.
	Build string `xml:"build" json:"build"`
}

A NotSupportedHostInHACluster fault occurs when the host does not support the necessary features to participate in the HA cluster.

type NotSupportedHostInHAClusterFault

type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster

type NotUserConfigurableProperty

type NotUserConfigurableProperty struct {
	VAppPropertyFault
}

The property value cannot be changed since it is not user configurable.

type NotUserConfigurablePropertyFault

type NotUserConfigurablePropertyFault NotUserConfigurableProperty

type NsxHostVNicProfile added in v0.18.0

type NsxHostVNicProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// IP address for the Virtual NIC belonging to a logic switch.
	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
}

The `NsxHostVNicProfile` data object is the base object for host Virtual NIC connected to NSX logic switch subprofiles.

If a profile plug-in defines additional policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the configuration data.

type NumPortsProfile

type NumPortsProfile struct {
	ApplyProfile
}

The NumPortsProfile data object represents a subprofile for the number of ports for a virtual switch

type NumVirtualCoresPerSocketNotSupported

type NumVirtualCoresPerSocketNotSupported struct {
	VirtualHardwareCompatibilityIssue

	// The maximum number of cores per socket supported on the host.
	MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest" json:"maxSupportedCoresPerSocketDest"`
	// The number of cores per socket in the virtual machine.
	NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm" json:"numCoresPerSocketVm"`
}

The host's software does not support enough cores per socket to accommodate the virtual machine.

This is always an error.

type NumVirtualCoresPerSocketNotSupportedFault

type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported

type NumVirtualCpusExceedsLimit

type NumVirtualCpusExceedsLimit struct {
	InsufficientResourcesFault

	// The maximum number of virtual CPUs supported on the host.
	MaxSupportedVcpus int32 `xml:"maxSupportedVcpus" json:"maxSupportedVcpus"`
}

This fault is thrown when the total number of virtual CPUs present or requested in virtual machines' configuration has exceeded the limit on the host.

type NumVirtualCpusExceedsLimitFault

type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit

type NumVirtualCpusIncompatible

type NumVirtualCpusIncompatible struct {
	VmConfigFault

	// The reason for the incompatibility.
	//
	// See `NumVirtualCpusIncompatibleReason_enum` for valid values.
	Reason string `xml:"reason" json:"reason"`
	// The number of virtual CPUs in the virtual machine.
	NumCpu int32 `xml:"numCpu" json:"numCpu"`
}

The number of virtual CPUs present or requested in the virtual machine's configuration is not supported for a specific feature.

type NumVirtualCpusIncompatibleFault

type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible

type NumVirtualCpusIncompatibleReason

type NumVirtualCpusIncompatibleReason string

type NumVirtualCpusNotSupported

type NumVirtualCpusNotSupported struct {
	VirtualHardwareCompatibilityIssue

	// The maximum number of virtual CPUs supported on the host.
	MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest" json:"maxSupportedVcpusDest"`
	// The number of virtual CPUs in the virtual machine.
	NumCpuVm int32 `xml:"numCpuVm" json:"numCpuVm"`
}

The host's software does not support enough virtual CPUs to accommodate the virtual machine.

This is always an error.

type NumVirtualCpusNotSupportedFault

type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported

type NumericRange

type NumericRange struct {
	DynamicData

	// The starting number.
	Start int32 `xml:"start" json:"start"`
	// The ending number (inclusive).
	End int32 `xml:"end" json:"end"`
}

The class that describe an integer range.

type NvdimmDimmInfo added in v0.18.0

type NvdimmDimmInfo struct {
	DynamicData

	// Unique device identifier
	DimmHandle int32 `xml:"dimmHandle" json:"dimmHandle"`
	// Health status of nvdimm.
	//
	// `NvdimmHealthInfo`
	HealthInfo NvdimmHealthInfo `xml:"healthInfo" json:"healthInfo"`
	// Total capacity of NVDIMM in bytes
	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
	// Total persistent capacity in DIMM (in bytes)
	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
	// Persistent Capacity in DIMM currently not allocated
	AvailablePersistentCapacity int64 `xml:"availablePersistentCapacity" json:"availablePersistentCapacity"`
	// Total volatile capacity in DIMM (in bytes)
	VolatileCapacity int64 `xml:"volatileCapacity" json:"volatileCapacity"`
	// Volatile capacity in DIMM currently not allocated
	AvailableVolatileCapacity int64 `xml:"availableVolatileCapacity" json:"availableVolatileCapacity"`
	// Total block capacity in DIMM (in bytes)
	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
	// NVDIMM region information.
	//
	// List of regions in the NVDIMM. These regions may or maynot
	// be a part of an interleave set.
	RegionInfo []NvdimmRegionInfo `xml:"regionInfo,omitempty" json:"regionInfo,omitempty"`
	// NVDIMM Representation string which is a sequence of
	// numbers to uniquely identify the DIMM.
	RepresentationString string `xml:"representationString" json:"representationString"`
}

Get detailed information of a nvdimm

type NvdimmGuid added in v0.18.0

type NvdimmGuid struct {
	DynamicData

	// Universally unique identifier in string format
	Uuid string `xml:"uuid" json:"uuid"`
}

A unique identifier used for namespaces

type NvdimmHealthInfo added in v0.18.0

type NvdimmHealthInfo struct {
	DynamicData

	// Device health status.
	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
	// Health status description.
	HealthInformation string `xml:"healthInformation" json:"healthInformation"`
	// State flag information.
	//
	// This information is the cumulation of state flags of all the
	// NVDIMM region state flags. It must be one or more of
	// `NvdimmNvdimmHealthInfoState_enum`
	StateFlagInfo []string `xml:"stateFlagInfo,omitempty" json:"stateFlagInfo,omitempty"`
	// Current Nvdimm temperature in degree Celsius.
	DimmTemperature int32 `xml:"dimmTemperature" json:"dimmTemperature"`
	// Nvdimm temperature threshold.
	//
	// Default value is 0, indicating threshold has not reached,
	// if set to 1, reached threshold limit.
	DimmTemperatureThreshold int32 `xml:"dimmTemperatureThreshold" json:"dimmTemperatureThreshold"`
	// Percentage of spare capavity as a percentage of
	// factory configured space (valid range 0 to 100)
	SpareBlocksPercentage int32 `xml:"spareBlocksPercentage" json:"spareBlocksPercentage"`
	// Spare block threshold.
	//
	// Default value is 0, indicating threshold has not reached,
	// if set to 1, reached threshold limit.
	SpareBlockThreshold int32 `xml:"spareBlockThreshold" json:"spareBlockThreshold"`
	// Lifespan of Nvdimm as percentage.
	//
	// 100% = Warranted life span has reached.
	DimmLifespanPercentage int32 `xml:"dimmLifespanPercentage" json:"dimmLifespanPercentage"`
	// Energy source current temperature in degree Celsius.
	//
	// Default value is 0, indicating there is no
	// energy source for these nvdimms.
	EsTemperature int32 `xml:"esTemperature,omitempty" json:"esTemperature,omitempty"`
	// Energy source temperature threshold.
	//
	// Default value is 0, indicating threshold has not reached,
	// if set to 1, reached threshold limit.
	EsTemperatureThreshold int32 `xml:"esTemperatureThreshold,omitempty" json:"esTemperatureThreshold,omitempty"`
	// Lifespan of Energy source as percentage.
	//
	// 100% = Warranted life span has reached.
	// Default value is 0, indicating there is no energy
	// source.
	EsLifespanPercentage int32 `xml:"esLifespanPercentage,omitempty" json:"esLifespanPercentage,omitempty"`
}

\\brief NVDIMM health information

type NvdimmInterleaveSetInfo added in v0.18.0

type NvdimmInterleaveSetInfo struct {
	DynamicData

	// Unique set ID
	SetId int32 `xml:"setId" json:"setId"`
	// Volatile or persistent interleave set.
	//
	// Must be one of the values of
	// `NvdimmRangeType_enum`
	RangeType string `xml:"rangeType" json:"rangeType"`
	// Start address of range
	BaseAddress int64 `xml:"baseAddress" json:"baseAddress"`
	// Length of range in bytes
	Size int64 `xml:"size" json:"size"`
	// Capacity currently not allocated to namespace in bytes
	AvailableSize int64 `xml:"availableSize" json:"availableSize"`
	// List of nvdimms contributing to this interleave set
	DeviceList []int32 `xml:"deviceList,omitempty" json:"deviceList,omitempty"`
	// State of interleave set.
	//
	// Must be one of the values in
	// `NvdimmInterleaveSetState_enum`
	State string `xml:"state" json:"state"`
}

Characteristics of an interleave set of a NVDIMM

type NvdimmInterleaveSetState added in v0.18.0

type NvdimmInterleaveSetState string

type NvdimmNamespaceCreateSpec added in v0.18.0

type NvdimmNamespaceCreateSpec struct {
	DynamicData

	// Friendly name of the namespace to be created.
	//
	// A friendly name can be provided by user to assosiate a name to
	// the created namespace, but such a name is not mandatory and is
	// empty string by default.
	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
	// Size of block in the namespace.
	//
	// For persistent region type, block size is one.
	// For block region, block size represents one of the logical block sizes
	// of 512, 4096 etc.
	BlockSize int64 `xml:"blockSize" json:"blockSize"`
	// Number of blocks in the namespace.
	//
	// For persistent region type, blockCount is the size of persistent
	// region in bytes.
	// For block region type, block count represent number of bytes per
	// block size.
	BlockCount int64 `xml:"blockCount" json:"blockCount"`
	// Type of the namespace to be created - block or persistent.
	//
	// Must be one of the values in
	// `NvdimmNamespaceType_enum`
	Type string `xml:"type" json:"type"`
	// This identifier is the interleave set ID if the namespace
	// is being used in persistent mode.
	//
	// If in block mode, this
	// is a device handle.
	LocationID int32 `xml:"locationID" json:"locationID"`
}

Deprecated as of vSphere 6.7u1, use PMemNamespaceCreateReq.

Arguments for creating a namespace.

type NvdimmNamespaceDeleteSpec added in v0.18.0

type NvdimmNamespaceDeleteSpec struct {
	DynamicData

	// Universally unique identifier of the namespace to be deleted
	Uuid string `xml:"uuid" json:"uuid"`
}

Arguments for deleting a namespace

type NvdimmNamespaceDetails added in v0.21.0

type NvdimmNamespaceDetails struct {
	DynamicData

	// Universally unique identifier assigned to namespace
	// in string format
	Uuid string `xml:"uuid" json:"uuid"`
	// Human readable name of namespace
	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
	// Size of namespace in bytes.
	Size int64 `xml:"size" json:"size"`
	// Type of the namespace to be created - block or persistent.
	//
	// Must be one of the values in
	// `NvdimmNamespaceType_enum`
	Type string `xml:"type" json:"type"`
	// Health status of DIMM(s) part of the namespace.
	//
	// Must be one of the values of
	// `NvdimmNamespaceDetailsHealthStatus_enum`
	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
	// The interleave set ID of the namespace.
	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
	// State of namespace.
	//
	// Must be one of
	// `NvdimmNamespaceDetailsState_enum`
	State string `xml:"state" json:"state"`
}

Detailed information about a particular namespace.

type NvdimmNamespaceDetailsHealthStatus added in v0.21.0

type NvdimmNamespaceDetailsHealthStatus string

type NvdimmNamespaceDetailsState added in v0.21.0

type NvdimmNamespaceDetailsState string

type NvdimmNamespaceHealthStatus added in v0.18.0

type NvdimmNamespaceHealthStatus string

type NvdimmNamespaceInfo added in v0.18.0

type NvdimmNamespaceInfo struct {
	DynamicData

	// Universally unique identifier assigned to namespace
	// in string format
	Uuid string `xml:"uuid" json:"uuid"`
	// Friendly name of namespace
	FriendlyName string `xml:"friendlyName" json:"friendlyName"`
	// Size of logical block size.
	//
	// For persistent region type, block size is one.
	// For block region, block size represents one of the logical block sizes
	// of 512, 4096 etc.
	BlockSize int64 `xml:"blockSize" json:"blockSize"`
	// Number of blocks in the namespace.
	//
	// For persistent region type, blockCount is the size of persistent
	// region in bytes.
	// For block region type, block count represent number of bytes per
	// block size.
	BlockCount int64 `xml:"blockCount" json:"blockCount"`
	// Type of the namespace to be created - block or persistent.
	//
	// Must be one of the values in
	// `NvdimmNamespaceType_enum`
	Type string `xml:"type" json:"type"`
	// Health status of DIMM(s) part of the namespace.
	//
	// Must be one of the values of
	// `NvdimmNamespaceHealthStatus_enum`
	NamespaceHealthStatus string `xml:"namespaceHealthStatus" json:"namespaceHealthStatus"`
	// This identifier is the interleave set ID if this namespace
	// is being used in persistent mode.
	//
	// If in block mode, this
	// is a nvdimm device handle.
	LocationID int32 `xml:"locationID" json:"locationID"`
	// State of namespace.
	//
	// Must be one of
	// `NvdimmNamespaceState_enum`
	State string `xml:"state" json:"state"`
}

Deprecated as of vSphere 6.7u1, use NamespaceDetails.

Detailed information about a particular namespace.

type NvdimmNamespaceState added in v0.18.0

type NvdimmNamespaceState string

type NvdimmNamespaceType added in v0.18.0

type NvdimmNamespaceType string

type NvdimmNvdimmHealthInfoState added in v0.18.0

type NvdimmNvdimmHealthInfoState string

type NvdimmPMemNamespaceCreateSpec added in v0.21.0

type NvdimmPMemNamespaceCreateSpec struct {
	DynamicData

	// Friendly name of the namespace to be created.
	//
	// A friendly name can be provided by user to associate a name to
	// the created namespace, but such a name is not mandatory and is
	// empty string by default.
	FriendlyName string `xml:"friendlyName,omitempty" json:"friendlyName,omitempty"`
	// Size of the namespace in bytes.
	Size int64 `xml:"size" json:"size"`
	// The interleave set ID of the namespace.
	InterleavesetID int32 `xml:"interleavesetID" json:"interleavesetID"`
}

Arguments for creating a persistent memory mode namespace

type NvdimmRangeType added in v0.18.0

type NvdimmRangeType string

type NvdimmRegionInfo added in v0.18.0

type NvdimmRegionInfo struct {
	DynamicData

	// NVDIMM region ID
	RegionId int32 `xml:"regionId" json:"regionId"`
	// Interleave set ID.
	//
	// Interleave set to which this region belongs. A value
	// of 0 indicates that this region is not a part of any
	// interleave set.
	SetId int32 `xml:"setId" json:"setId"`
	// Type of region.
	//
	// Must be one of the values of
	// `NvdimmRangeType_enum`
	RangeType string `xml:"rangeType" json:"rangeType"`
	// Region start address.
	//
	// This represents the address within the NVDIMM to which this
	// NVDIMM region belongs (Dimm physical address).
	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
	StartAddr int64 `xml:"startAddr" json:"startAddr"`
	// Size of region in bytes.
	//
	// If this region is part of interleave set (represented by non zero
	// `NvdimmRegionInfo.setId`) and the region is interleaved across
	// multiple dimms (represented by more that one element in
	// `NvdimmInterleaveSetInfo.deviceList` for assosiated set id
	// `NvdimmRegionInfo.setId`), this size represents part of the
	// interleave set size - (total interleave set size / number
	// of dimms in `NvdimmInterleaveSetInfo.deviceList`).
	// Example: If Interleave set with set id 5, has a size of 2TB
	// and has 2 NVDIMMs contributing to it (size of
	// `NvdimmInterleaveSetInfo.deviceList` is 2), then this size
	// parameter is 2TB/2 = 1TB.
	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
	Size int64 `xml:"size" json:"size"`
	// Offset of nvdimm within interleave set.
	//
	// This represents offset with respect to base address
	// in `NvdimmInterleaveSetInfo.baseAddress`.
	// If `NvdimmRegionInfo.setId` is 0, this field is not valid.
	Offset int64 `xml:"offset" json:"offset"`
}

\\brief NVDIMM region information.

This represents a region which is a part of NVDIMM.

type NvdimmSummary added in v0.18.0

type NvdimmSummary struct {
	DynamicData

	// Number of NVDIMMs in the system
	NumDimms int32 `xml:"numDimms" json:"numDimms"`
	// Summary of health status of all NVDIMMs in the system.
	HealthStatus string `xml:"healthStatus" json:"healthStatus"`
	// Total capacity of all NVDIMMs in bytes
	TotalCapacity int64 `xml:"totalCapacity" json:"totalCapacity"`
	// Persistent region capacity in bytes
	PersistentCapacity int64 `xml:"persistentCapacity" json:"persistentCapacity"`
	// Block region capacity in bytes
	BlockCapacity int64 `xml:"blockCapacity" json:"blockCapacity"`
	// Capacity not covered by namespace in bytes
	AvailableCapacity int64 `xml:"availableCapacity" json:"availableCapacity"`
	// Total number of interleave sets in the system
	NumInterleavesets int32 `xml:"numInterleavesets" json:"numInterleavesets"`
	// Total number of namespaces in the system
	NumNamespaces int32 `xml:"numNamespaces" json:"numNamespaces"`
}

\\brief Get summary of nvdimm

type NvdimmSystemInfo added in v0.18.0

type NvdimmSystemInfo struct {
	DynamicData

	// Host NVDIMM system summary.
	//
	// Summary is unset if the system does not support PMem feature.
	Summary *NvdimmSummary `xml:"summary,omitempty" json:"summary,omitempty"`
	// List of NVDIMMs on the host.
	//
	// NVDIMM list unset if the system does not support PMem feature.
	Dimms []int32 `xml:"dimms,omitempty" json:"dimms,omitempty"`
	// List of DIMM information of all NVDIMMs on the host.
	//
	// Dimm information is unset if the system does not support PMem feature.
	DimmInfo []NvdimmDimmInfo `xml:"dimmInfo,omitempty" json:"dimmInfo,omitempty"`
	// List of NVDIMM Interleave sets on the host.
	//
	// Interleave set is unset if the system does not support PMem feature.
	InterleaveSet []int32 `xml:"interleaveSet,omitempty" json:"interleaveSet,omitempty"`
	// List of information of all NVDIMM interleave sets on the host.
	//
	// Interleave set information is unset if the system does not
	// support PMem feature.
	ISetInfo []NvdimmInterleaveSetInfo `xml:"iSetInfo,omitempty" json:"iSetInfo,omitempty"`
	// List of NVDIMM namespaces on the host.
	//
	// Namespace is unset if the system does not support PMem feature.
	Namespace []NvdimmGuid `xml:"namespace,omitempty" json:"namespace,omitempty"`
	// Deprecated as of vSphere 6.7u1, use nsDetails.
	//
	// List of information of all NVDIMM namespaces on the host.
	//
	// Namespace information is unset if the system does not support
	// PMem feature.
	NsInfo []NvdimmNamespaceInfo `xml:"nsInfo,omitempty" json:"nsInfo,omitempty"`
	// List of details of all NVDIMM namespaces on the host.
	//
	// Namespace details is unset if the system does not support
	// PMem feature.
	NsDetails []NvdimmNamespaceDetails `xml:"nsDetails,omitempty" json:"nsDetails,omitempty" vim:"6.7.1"`
}

This data object represents Non-Volatile DIMMs host configuration.

type ObjectContent

type ObjectContent struct {
	DynamicData

	// Reference to the managed object that contains properties of interest.
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Set of name-value pairs for the properties of the managed object.
	PropSet []DynamicProperty `xml:"propSet,omitempty" json:"propSet,omitempty"`
	// Properties for which values could not be retrieved and the associated
	// fault.
	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
}

The `ObjectContent` data object type contains the contents retrieved for a single managed object.

type ObjectSpec

type ObjectSpec struct {
	DynamicData

	// Starting object.
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Flag to specify whether or not to report this managed object's
	// properties.
	//
	// If the flag is true, the filter will not report this
	// managed object's properties.
	Skip *bool `xml:"skip" json:"skip,omitempty"`
	// Set of selections to specify additional objects to filter.
	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
}

Within a `PropertyFilterSpec`, the `ObjectSpec` data object type specifies the managed object at which the filter begins to collect the managed object references and properties specified by the associated `PropertySpec` set.

If the "skip" property is present and set to true, then the filter does not check to see if the starting object's type matches any of the types listed in the associated sets of `PropertySpec` data objects.

If the `ObjectSpec.selectSet` property is present, then this specifies additional objects to filter. These objects are defined by one or more `SelectionSpec` objects.

type ObjectUpdate

type ObjectUpdate struct {
	DynamicData

	// Kind of update that caused the filter to report a change.
	Kind ObjectUpdateKind `xml:"kind" json:"kind"`
	// Reference to the managed object to which this update applies.
	Obj ManagedObjectReference `xml:"obj" json:"obj"`
	// Optional set of changes to the object.
	//
	// Present only if the "kind" is
	// either "modify" or "enter".
	ChangeSet []PropertyChange `xml:"changeSet,omitempty" json:"changeSet,omitempty"`
	// Properties whose value could not be retrieved and their associated
	// faults.
	//
	// Present only if the "kind" is either "modify" or "enter".
	MissingSet []MissingProperty `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
}

The `ObjectUpdate` data object type contains information about changes to a particular managed object.

We distinguish updates when an object is created, destroyed, or modified, as well as when the object enters or leaves the set of objects dynamically associated with a filter.

type ObjectUpdateKind

type ObjectUpdateKind string

Enumeration of different kinds of updates.

type OnceTaskScheduler

type OnceTaskScheduler struct {
	TaskScheduler

	// The time a task will run.
	//
	// If you do not set the time, it executes immediately.
	RunAt *time.Time `xml:"runAt" json:"runAt,omitempty"`
}

The `OnceTaskScheduler` data object establishes the time for running a scheduled task only once.

type OpaqueNetworkCapability added in v0.12.0

type OpaqueNetworkCapability struct {
	DynamicData

	// Indicates whether network I/O control is supported for a network
	// adapter that connects to the opaque network.
	NetworkReservationSupported bool `xml:"networkReservationSupported" json:"networkReservationSupported"`
}

The data object representing the capabilities supported by the Opaque Network.

type OpaqueNetworkSummary

type OpaqueNetworkSummary struct {
	NetworkSummary

	// The opaque network ID
	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
	// The opaque network type
	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
}

The summary of a opaque network.

An object of this class is returned by the `Network.summary` property.

type OpaqueNetworkTargetInfo

type OpaqueNetworkTargetInfo struct {
	VirtualMachineTargetInfo

	// Information about the opaque network
	Network OpaqueNetworkSummary `xml:"network" json:"network"`
	// Indicates whether network bandwidth reservation is supported on
	// the opaque network
	NetworkReservationSupported *bool `xml:"networkReservationSupported" json:"networkReservationSupported,omitempty" vim:"6.0"`
}

This class describes an opaque network that a device backing can attached to.

type OpaqueSwitchProfile added in v0.23.0

type OpaqueSwitchProfile struct {
	ApplyProfile
}

The `OpaqueSwitchProfile` data object represents opaque switch configuration for the host.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type OpenInventoryViewFolderRequestType

type OpenInventoryViewFolderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of managed object references. Each array entry is a reference
	// to an entity to expand. Expands each entity in the
	// order given. If an entity is not in the current view,
	// expands the view as needed.
	//
	// Required privileges: System.View
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `InventoryView.OpenInventoryViewFolder`.

type OpenInventoryViewFolderResponse

type OpenInventoryViewFolderResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type OperationDisabledByGuest

type OperationDisabledByGuest struct {
	GuestOperationsFault
}

An OperationDisabledByGuest exception is thrown when an operation fails because the guest operations agent has been configured to disable the operation.

type OperationDisabledByGuestFault

type OperationDisabledByGuestFault OperationDisabledByGuest

type OperationDisallowedOnHost

type OperationDisallowedOnHost struct {
	RuntimeFault
}

An OperationDisallowedOnHost is thrown if an operation is diasllowed on host when a direct connection is used.

Examples for such operations include VM powering on / memory hot-plug which could potentially violate hard-enforcement licenses if allowed on host. The functionality these operations provide is still available, but only through calls to an external entity.

type OperationDisallowedOnHostFault

type OperationDisallowedOnHostFault OperationDisallowedOnHost

type OperationNotSupportedByGuest

type OperationNotSupportedByGuest struct {
	GuestOperationsFault
}

An OperationNotSupportedByGuest exception is thrown when an operation fails because the guest OS does not support the operation (e.g., Registry manipulation in Linux guests.).

type OperationNotSupportedByGuestFault

type OperationNotSupportedByGuestFault OperationNotSupportedByGuest

type OptionDef

type OptionDef struct {
	ElementDescription

	// The option type which defines allowed values.
	OptionType BaseOptionType `xml:"optionType,typeattr" json:"optionType"`
}

Describes a user-defined option.

The name of each option is identified by the "key" property, inherited from the `ElementDescription` data object type. You can indicate the property's position in a hierarchy by using a dot-separated notation. The string preceding the first dot is the top of the hierarchy. The hierarchy descends to a new sublevel with each dot. For example, "Ethernet.NetworkConnection.Bridged".

type OptionProfile

type OptionProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `OptionProfile` data object encapsulates one advanced configuration.

Use the `ApplyProfile.policy` list for access to configuration data for the option profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type OptionType

type OptionType struct {
	DynamicData

	// The flag to indicate whether or not a user
	// can modify a value belonging to this option type.
	//
	// If
	// the flag is not set, the value can be modified.
	ValueIsReadonly *bool `xml:"valueIsReadonly" json:"valueIsReadonly,omitempty"`
}

The base data object type for all options.

func (*OptionType) GetOptionType

func (b *OptionType) GetOptionType() *OptionType

type OptionValue

type OptionValue struct {
	DynamicData

	// The name of the option using dot notation to reflect the
	// option's position in a hierarchy.
	//
	// For example, you might
	// have an option called "Ethernet" and another option that is
	// a child of that called "Connection". In this case, the key
	// for the latter could be defined as "Ethernet.Connection"
	Key string `xml:"key" json:"key"`
	// The value of the option.
	//
	// The Any data object type enables you to
	// define any value for the option. Typically, however, the value
	// of an option is of type String or Integer.
	Value AnyType `xml:"value,typeattr" json:"value"`
}

Describes the key/value pair of a configured option.

func (*OptionValue) GetOptionValue

func (b *OptionValue) GetOptionValue() *OptionValue

type OrAlarmExpression

type OrAlarmExpression struct {
	AlarmExpression

	// List of alarm expressions that define the overall status of the alarm.
	//     - The state of the alarm expression is gray if all subexpressions are gray.
	//       Otherwise, gray subexpressions are ignored.
	//     - The state is red if any subexpression is red.
	//     - Otherwise, the state is yellow if any subexpression is yellow.
	//     - Otherwise, the state of the alarm expression is green.
	Expression []BaseAlarmExpression `xml:"expression,typeattr" json:"expression"`
}

A data object type that links multiple alarm expressions with OR operators.

type OutOfBounds

type OutOfBounds struct {
	VimFault

	// This should be the name of the field that holds the allowed maximum
	// (for example, Host.capability.maxSupportedVMs).
	ArgumentName string `xml:"argumentName" json:"argumentName"`
}

Thrown if a parameter exceeds the acceptable range of values.

type OutOfBoundsFault

type OutOfBoundsFault OutOfBounds

type OutOfSyncDvsHost

type OutOfSyncDvsHost struct {
	DvsEvent

	// The host that went out of sync.
	HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync" json:"hostOutOfSync"`
}

The list of hosts that have the DVS configuration on the host diverged from that of the Virtual Center Server.

type OverwriteCustomizationSpecRequestType

type OverwriteCustomizationSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Item CustomizationSpecItem  `xml:"item" json:"item"`
}

The parameters of `CustomizationSpecManager.OverwriteCustomizationSpec`.

type OverwriteCustomizationSpecResponse

type OverwriteCustomizationSpecResponse struct {
}

type OvfAttribute

type OvfAttribute struct {
	OvfInvalidPackage

	// Element name where the attribute is defined
	ElementName string `xml:"elementName" json:"elementName"`
	// Attribute name
	AttributeName string `xml:"attributeName" json:"attributeName"`
}

An OVF descriptor Attribute base class.

func (*OvfAttribute) GetOvfAttribute

func (b *OvfAttribute) GetOvfAttribute() *OvfAttribute

type OvfAttributeFault

type OvfAttributeFault BaseOvfAttribute

type OvfConnectedDevice

type OvfConnectedDevice struct {
	OvfHardwareExport
}

func (*OvfConnectedDevice) GetOvfConnectedDevice

func (b *OvfConnectedDevice) GetOvfConnectedDevice() *OvfConnectedDevice

type OvfConnectedDeviceFault

type OvfConnectedDeviceFault BaseOvfConnectedDevice

type OvfConnectedDeviceFloppy

type OvfConnectedDeviceFloppy struct {
	OvfConnectedDevice

	// The filename of the floppy image
	Filename string `xml:"filename" json:"filename"`
}

type OvfConnectedDeviceFloppyFault

type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy

type OvfConnectedDeviceIso

type OvfConnectedDeviceIso struct {
	OvfConnectedDevice

	// The filename of the ISO
	Filename string `xml:"filename" json:"filename"`
}

type OvfConnectedDeviceIsoFault

type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso

type OvfConstraint

type OvfConstraint struct {
	OvfInvalidPackage

	// The name of the element
	Name string `xml:"name" json:"name"`
}

A base fault for Ovf descriptor constraints

func (*OvfConstraint) GetOvfConstraint

func (b *OvfConstraint) GetOvfConstraint() *OvfConstraint

type OvfConstraintFault

type OvfConstraintFault BaseOvfConstraint

type OvfConsumerCallbackFault

type OvfConsumerCallbackFault struct {
	OvfFault

	// The OVF consumer's extension key.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// The OVF consumer's extension name.
	ExtensionName string `xml:"extensionName" json:"extensionName"`
}

Superclass for all faults that can be thrown during the callback to an OVF consumer.

The `MethodFault.faultCause` gives details about what went wrong.

func (*OvfConsumerCallbackFault) GetOvfConsumerCallbackFault

func (b *OvfConsumerCallbackFault) GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault

type OvfConsumerCallbackFaultFault

type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault

type OvfConsumerCommunicationError

type OvfConsumerCommunicationError struct {
	OvfConsumerCallbackFault

	// The network library error message.
	Description string `xml:"description" json:"description"`
}

A fault type indicating that network communication with an OVF consumer failed.

type OvfConsumerCommunicationErrorFault

type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError

type OvfConsumerFault

type OvfConsumerFault struct {
	OvfConsumerCallbackFault

	// An error code that uniquely describes the fault within this extension.
	ErrorKey string `xml:"errorKey" json:"errorKey"`
	// The error message, localized by the OVF consumer
	Message string `xml:"message" json:"message"`
	// Additional parameters for this fault
	Params []KeyValue `xml:"params,omitempty" json:"params,omitempty"`
}

Localized fault that may be thrown by an OVF consumer.

type OvfConsumerFaultFault

type OvfConsumerFaultFault OvfConsumerFault

type OvfConsumerInvalidSection

type OvfConsumerInvalidSection struct {
	OvfConsumerCallbackFault

	// The line number in the section on which the error was found.
	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
	// The XML parser error message.
	Description string `xml:"description" json:"description"`
}

A fault type indicating that the XML of a section appended by an OVF consumer was invalid.

type OvfConsumerInvalidSectionFault

type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection

type OvfConsumerOstNode

type OvfConsumerOstNode struct {
	DynamicData

	// The OVF id of the Content (VirtualSystem or VirtualSystemCollection)
	// element.
	//
	// Empty on the envelope node.
	Id string `xml:"id" json:"id"`
	// The type of the node.
	//
	// Possible values are defined in the OstNodeType enum.
	//
	// Since the OstNode tree structure mirrors the structure of the OVF descriptor,
	// only one Envelope node is defined, and it is always the root of the tree.
	Type string `xml:"type" json:"type"`
	// The list of sections on this node.
	Section []OvfConsumerOvfSection `xml:"section,omitempty" json:"section,omitempty"`
	// The list of child nodes.
	//
	// As dictated by OVF, this list is subject to the
	// following rules:
	//     - The Envelope node must have exactly one child.
	//     - VirtualSystemCollection nodes may have zero or more children.
	//     - VirtualSystem nodes must have no children.
	Child []OvfConsumerOstNode `xml:"child,omitempty" json:"child,omitempty"`
	// The VM or vApp corresponding to this node.
	//
	// This field is set when this OstNode represents an existing managed entity.
	//
	// The entity is unset on nodes of type OstNodeType.envelope.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

A node in the OVF section tree.

This class represents a node on which OVF sections can be defined. The possible node types are OstNodeType.envelope, OstNodeType.virtualSystem or OstNodeType.virtualSystemCollection, corresponding to the identically named OVF element types.

Since the node contains a list of children, it can also be regarded as a tree. This tree mirrors the structure of the OVF descriptor. It is provided to OVF consumers as a more convenient way to navigate and modify the OVF than by working directly on the XML.

type OvfConsumerOstNodeType

type OvfConsumerOstNodeType string

The type of an OST node.

Each OST node corresponds to an element in the OVF descriptor. See `OvfConsumerOstNode`

type OvfConsumerOvfSection

type OvfConsumerOvfSection struct {
	DynamicData

	// The line number in the OVF descriptor on which this section starts.
	//
	// The line number is only present on sections that were imported as part of an OVF
	// descriptor (as opposed to sections that are about to be exported to OVF).
	//
	// The value is zero if the section did not originate from an OVF descriptor.
	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
	// The XML fragment for the section.
	//
	// The XML fragment must explicitly define all namespaces and namespace prefixes
	// that are used in the fragment, including the default namespace.
	Xml string `xml:"xml" json:"xml"`
}

A self-contained OVF section

type OvfConsumerPowerOnFault

type OvfConsumerPowerOnFault struct {
	InvalidState

	// The OVF consumer's extension key.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// The OVF consumer's extension name.
	ExtensionName string `xml:"extensionName" json:"extensionName"`
	// A localized, human-readable description of the error.
	Description string `xml:"description" json:"description"`
}

A fault type indicating that the power on operation failed.

type OvfConsumerPowerOnFaultFault

type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault

type OvfConsumerUndeclaredSection

type OvfConsumerUndeclaredSection struct {
	OvfConsumerCallbackFault

	// The undeclared qualified section type appended by the OVF consumer.
	QualifiedSectionType string `xml:"qualifiedSectionType" json:"qualifiedSectionType"`
}

A fault type indicating that an OVF consumer appended an undeclared section to an OST.

An undeclared section means a section with a qualified type that the OVF consumer was not registered as a handler of.

type OvfConsumerUndeclaredSectionFault

type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection

type OvfConsumerUndefinedPrefix

type OvfConsumerUndefinedPrefix struct {
	OvfConsumerCallbackFault

	// The prefix for which no namespace definition was found.
	Prefix string `xml:"prefix" json:"prefix"`
}

A fault type indicating that an OVF consumer added a section with an unbound prefix.

type OvfConsumerUndefinedPrefixFault

type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix

type OvfConsumerValidationFault

type OvfConsumerValidationFault struct {
	VmConfigFault

	// The OVF consumer's extension key.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// The OVF consumer's extension name.
	ExtensionName string `xml:"extensionName" json:"extensionName"`
	// The error message, localized by the OVF consumer
	Message string `xml:"message" json:"message"`
}

Thrown by an OVF consumer if an error occurred while validating an instantiation OST.

type OvfConsumerValidationFaultFault

type OvfConsumerValidationFaultFault OvfConsumerValidationFault

type OvfCpuCompatibility

type OvfCpuCompatibility struct {
	OvfImport

	// Possible register names are eax, ebx, ecx, or edx.
	RegisterName string `xml:"registerName" json:"registerName"`
	// The CpuId level where a problem was detected.
	//
	// Other levels may
	// also have problems
	Level int32 `xml:"level" json:"level"`
	// The register value where the problem was detected
	RegisterValue string `xml:"registerValue" json:"registerValue"`
	// The desired register value return from the host
	DesiredRegisterValue string `xml:"desiredRegisterValue" json:"desiredRegisterValue"`
}

type OvfCpuCompatibilityCheckNotSupported

type OvfCpuCompatibilityCheckNotSupported struct {
	OvfImport
}

type OvfCpuCompatibilityCheckNotSupportedFault

type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported

type OvfCpuCompatibilityFault

type OvfCpuCompatibilityFault OvfCpuCompatibility

type OvfCreateDescriptorParams

type OvfCreateDescriptorParams struct {
	DynamicData

	// Contains information about the files of the entity, if they have already been
	// downloaded.
	//
	// Needed to construct the References section of the descriptor.
	//
	// OvfFile is a positive list of files to include in the export. An Empty list
	// will do no filtering.
	OvfFiles []OvfFile `xml:"ovfFiles,omitempty" json:"ovfFiles,omitempty"`
	// The ovf:id to use for the top-level OVF Entity.
	//
	// If unset, the entity's
	// product name is used if available. Otherwise, the VI entity name is used.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The contents of the Annontation section of the top-level OVF Entity.
	//
	// If unset,
	// any existing annotation on the entity is left unchanged.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Controls whether attached image files should be included in the descriptor.
	//
	// This applies to image files attached to VirtualCdrom and VirtualFloppy.
	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty" vim:"4.1"`
	// An optional argument for modifying the export process.
	//
	// The option is used to control what extra information that will be included in the
	// OVF descriptor.
	//
	// To get a list of supported keywords see `OvfManager.ovfExportOption`. Unknown
	// options will be ignored by the server.
	ExportOption []string `xml:"exportOption,omitempty" json:"exportOption,omitempty" vim:"5.1"`
	// Snapshot reference from which the OVF descriptor should be based.
	//
	// If this parameter is set, the OVF descriptor is based off the
	// snapshot point. This means that the OVF descriptor will have the
	// same configuration as the virtual machine at the time the snapshot
	// was taken.
	//
	// The snapshot must be belong to the specified ManagedEntity in the
	// createDescriptor call.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty" vim:"5.5"`
}

Collection of parameters for createDescriptor

type OvfCreateDescriptorResult

type OvfCreateDescriptorResult struct {
	DynamicData

	// The OVF descriptor for the entity.
	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
	// Errors that happened during processing.
	//
	// For example, unknown or unsupported devices could be found (in which case
	// this array will contain one or more instances of Unsupported-/UnknownDevice).
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// Non-fatal warnings from the processing.
	//
	// The result will be valid, but the user may choose to reject it based on these
	// warnings.
	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
	// Returns true if there are ISO or Floppy images attached to one or more VMs.
	IncludeImageFiles *bool `xml:"includeImageFiles" json:"includeImageFiles,omitempty" vim:"4.1"`
}

The result of creating the OVF descriptor for the entity.

type OvfCreateImportSpecParams

type OvfCreateImportSpecParams struct {
	OvfManagerCommonParams

	// The name to set on the entity (more precisely, on the top-level vApp or
	// VM of the entity) as it appears in VI.
	//
	// If empty, the product name is obtained
	// from the ProductSection of the descriptor. If that name is not specified, the
	// ovf:id of the top-level entity is used.
	EntityName string `xml:"entityName" json:"entityName"`
	// The host to validate the OVF descriptor against, if it cannot be deduced from
	// the resource pool.
	//
	// The privilege System.Read is required on the host.
	//
	// Refers instance of `HostSystem`.
	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
	// The mapping of network identifiers from the descriptor to networks in the VI
	// infrastructure.
	//
	// The privilege Network.Assign is required on all networks in the list.
	NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
	// The IP allocation policy chosen by the caller.
	//
	// See `VAppIPAssignmentInfo`.
	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
	// The IP protocol chosen by the caller.
	//
	// See `VAppIPAssignmentInfo`.
	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
	// The assignment of values to the properties found in the descriptor.
	//
	// If no value
	// is specified for an option, the default value from the descriptor is used.
	PropertyMapping []KeyValue `xml:"propertyMapping,omitempty" json:"propertyMapping,omitempty"`
	// Deprecated as of vSphere API 5.1.
	//
	// The resource configuration for the created vApp.
	//
	// This can be used to distribute
	// a vApp across multiple resource pools (and create linked children).
	ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty" vim:"4.1"`
	// An optional disk provisioning.
	//
	// If set, all the disks in the deployed OVF will
	// have get the same specified disk type (e.g., thin provisioned).
	// The valide values for disk provisioning are:
	//     - `monolithicSparse`
	//     - `monolithicFlat`
	//     - `twoGbMaxExtentSparse`
	//     - `twoGbMaxExtentFlat`
	//     - `thin`
	//     - `thick`
	//     - `sparse`
	//     - `flat`
	//     - `seSparse`
	//
	// See also `VirtualDiskMode_enum`.
	DiskProvisioning string `xml:"diskProvisioning,omitempty" json:"diskProvisioning,omitempty" vim:"4.1"`
	// The instantiation OST to configure OVF consumers.
	//
	// This is created by the client
	// from the annotated OST. See `OvfConsumer` for details.
	InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty" json:"instantiationOst,omitempty" vim:"5.0"`
}

Parameters for deploying an OVF.

type OvfCreateImportSpecParamsDiskProvisioningType

type OvfCreateImportSpecParamsDiskProvisioningType string

Types of disk provisioning that can be set for the disk in the deployed OVF

type OvfCreateImportSpecResult

type OvfCreateImportSpecResult struct {
	DynamicData

	// The ImportSpec contains information about which `VirtualMachine`s
	// and `VirtualApp`s are present in the entity and
	// how they relate to each other.
	ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr" json:"importSpec,omitempty"`
	// The files that must be uploaded by the caller as part of importing the entity.
	//
	// The files must be uploaded in order, because some of them may be delta files
	// that patch already-uploaded files.
	FileItem []OvfFileItem `xml:"fileItem,omitempty" json:"fileItem,omitempty"`
	// Non-fatal warnings from the processing.
	//
	// The ImportSpec will be valid, but the
	// user may choose to reject it based on these warnings.
	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
	// Errors that happened during processing.
	//
	// Something will be wrong with the
	// ImportSpec, or it is not present.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

The CreateImportSpecResult contains all information regarding the import that can be extracted from the OVF descriptor.

For example, this includes the list of items that the caller must upload in order to complete the import, but not the list of URLs to which the files must be uploaded. These paths are not known until the VMs have been created, ie. until `ResourcePool.importVApp` has been called.

type OvfDeploymentOption

type OvfDeploymentOption struct {
	DynamicData

	// The key of the deployment option, corresponding to the ovf:id attribute in the
	// OVF descriptor
	Key string `xml:"key" json:"key"`
	// A localized label for the deployment option
	Label string `xml:"label" json:"label"`
	// A localizable description for the deployment option.
	Description string `xml:"description" json:"description"`
}

A deployment option as defined in the OVF specfication.

This corresponds to the Configuration element of the DeploymentOptionSection in the specification.

type OvfDiskMappingNotFound

type OvfDiskMappingNotFound struct {
	OvfSystemFault

	// The disk name that is not found
	DiskName string `xml:"diskName" json:"diskName"`
	// The VM Name
	VmName string `xml:"vmName" json:"vmName"`
}

type OvfDiskMappingNotFoundFault

type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound

type OvfDiskOrderConstraint

type OvfDiskOrderConstraint struct {
	OvfConstraint
}

Class used to indicate that the Disks in a DiskSection was not defined in the same order as in the Reference section

type OvfDiskOrderConstraintFault

type OvfDiskOrderConstraintFault OvfDiskOrderConstraint

type OvfDuplicateElement

type OvfDuplicateElement struct {
	OvfElement
}

OvfDuplicateElement is thrown if Ovf descriptor contains an invalid duplicate element.

type OvfDuplicateElementFault

type OvfDuplicateElementFault OvfDuplicateElement

type OvfDuplicatedElementBoundary

type OvfDuplicatedElementBoundary struct {
	OvfElement

	// Name of duplicated boundary
	Boundary string `xml:"boundary" json:"boundary"`
}

If the Ovf descriptor element have duplicated element bound.

type OvfDuplicatedElementBoundaryFault

type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary

type OvfDuplicatedPropertyIdExport

type OvfDuplicatedPropertyIdExport struct {
	OvfExport

	// The fully qualified property id.
	Fqid string `xml:"fqid" json:"fqid"`
}

Two or more user-configurable properties are found with the same fully-qualified property name.

type OvfDuplicatedPropertyIdExportFault

type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport

type OvfDuplicatedPropertyIdImport

type OvfDuplicatedPropertyIdImport struct {
	OvfExport
}

Two or more user-configurable properties are found with the same fully-qualified property name.

type OvfDuplicatedPropertyIdImportFault

type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport

type OvfElement

type OvfElement struct {
	OvfInvalidPackage

	// The name of the element
	Name string `xml:"name" json:"name"`
}

A base fault for element exceptions in the Ovf XML descriptor.

func (*OvfElement) GetOvfElement

func (b *OvfElement) GetOvfElement() *OvfElement

type OvfElementFault

type OvfElementFault BaseOvfElement

type OvfElementInvalidValue

type OvfElementInvalidValue struct {
	OvfElement

	// The value of the element
	Value string `xml:"value" json:"value"`
}

A class used if a element node is found to have an invalid value.

Base class for OvfProperty errors.

type OvfElementInvalidValueFault

type OvfElementInvalidValueFault OvfElementInvalidValue

type OvfExport

type OvfExport struct {
	OvfFault
}

A common base class to host all the Ovf Lib Export Exceptions.

func (*OvfExport) GetOvfExport

func (b *OvfExport) GetOvfExport() *OvfExport

type OvfExportFailed

type OvfExportFailed struct {
	OvfExport
}

This fault is used if we fail to export an OVF package.

type OvfExportFailedFault

type OvfExportFailedFault OvfExportFailed

type OvfExportFault

type OvfExportFault BaseOvfExport

type OvfFault

type OvfFault struct {
	VimFault
}

A common base type fault for all Ovf related faults.

The structure of OvfFault is as listed.

  • OvfFault
  • OvfInvalidPackage
  • OvfXmlFormat
  • OvfWrongNamespace
  • OvfElement
  • OvfElementInvalidValue
  • OvfUnexpectedElement
  • OvfDuplicateElement
  • OvfMissingElement
  • OvfMissingElementNormalBoundary
  • OvfDuplicatedElementBoundary
  • OvfAttribute
  • OvfMissingAttribute
  • OvfInvalidValue
  • OvfInvalidValueFormatMalformed
  • OvfInvalidValueConfiguration
  • OvfInvalidValueReference
  • OvfInvalidValueEmpty
  • OvfProperty
  • OvfPropertyType
  • OvfPropertyValue
  • OvfPropertyNetwork
  • OvfPropertyQualifier
  • OvfPropertyQualifierWarning
  • OvfConstraint
  • OvfDiskOrderConstraint
  • OvfHostResourceConstraint
  • OvfUnsupportedPackage
  • OvfNoHostNic
  • OvfInvalidVmName
  • OvfUnsupportedAttribute
  • OvfUnsupportedAttributeValue
  • OvfUnsupportedElement
  • OvfUnsupportedElementValue
  • OvfUnsupportedSection
  • OvfNoSpaceOnController
  • OvfUnsupportedType
  • OvfUnsupportedSubType
  • OvfHardwareCheck
  • OvfNoSupportedHardwareFamily
  • OvfExport
  • OvfExportFailed
  • OvfHardwareExport
  • OvfUnsupportedDeviceExport
  • OvfUnknownDeviceBacking
  • OvfConnectedDevice
  • OvfConnectedDeviceISO
  • OvfUnableToExportDisk
  • OvfPropertyExport
  • OvfPropertyNetworkExport
  • OvfDuplicatedPropertyIdExport
  • OvfImport (these are typically returned as warnings)
  • OvfImportFailed
  • OvfHardwareCheck
  • OvfMissingHardware
  • OvfCpuCompatibility
  • OvfCpuCompatibilityCheckNotSupported
  • OvfUnsupportedDiskProvisioning
  • OvfDuplicatedPropertyIdImport
  • OvfNetworkMappingNotSupported
  • OvfSystemFault
  • OvfDiskMappingNotFound
  • OvfHostValueNotParsed
  • OvfInternalError
  • OvfUnsupportedDeviceBackingOption
  • OvfUnsupportedDeviceBackingInfo
  • OvfToXmlUnsupportedElement
  • OvfUnknownDevice
  • OvfUnknownEntity
  • OvfConsumerCallbackFault
  • OvfConsumerFault
  • OvfConsumerCommunicationError
  • OvfConsumerInvalidSection
  • OvfConsumerUndeclaredSection
  • OvfConsumerUndefinedPrefix

All messages go into the vimlocale

func (*OvfFault) GetOvfFault

func (b *OvfFault) GetOvfFault() *OvfFault

type OvfFaultFault

type OvfFaultFault BaseOvfFault

type OvfFile

type OvfFile struct {
	DynamicData

	// The ID of the device backed by this file.
	//
	// This ID uniquely identifies the
	// device within the entity hierarchy.
	//
	// The caller will have received this along with the URL needed to download the
	// file (this is handled by another service interface).
	DeviceId string `xml:"deviceId" json:"deviceId"`
	// The path chosen by the caller for this file.
	//
	// This path becomes the value of the
	// "href" attribute of the corresponding "File" element in the OVF descriptor.
	//
	// This path must be relative to the path chosen for the OVF descriptor. This
	// implies that the caller must decide in advance on the path to which it will
	// write the OVF descriptor, once it is returned.
	//
	// The folder separator must be "/" (forward slash).
	//
	// The path must not begin with a slash - ie. it must not be an absolute path.
	Path string `xml:"path" json:"path"`
	// The compression method the caller chose to employ for this file.
	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
	// The chunksize chosen by the caller.
	//
	// When using chunking, the caller must adhere to the method described in the OVF
	// specification.
	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
	// The file size, as observed by the caller during download.
	Size int64 `xml:"size" json:"size"`
	// The capacity of the disk backed by this file.
	//
	// This should only be set if the
	// device backed by this file is a disk. This value will be written in the
	// "capacity" attribute of the corresponding "Disk" element in the OVF descriptor.
	//
	// Note that the "capacity" attribute is normally set to the capacity of the
	// corresponding `VirtualDisk`. Setting this variable
	// overrides the capacity from the VirtualDisk.
	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty" vim:"4.1"`
	// The populated size of the disk backed by this file.
	//
	// This should only be set if
	// the device backed by this file is a disk. This value will be written in the
	// "populatedSize" attribute of the corresponding "Disk" element in the OVF
	// descriptor.
	PopulatedSize int64 `xml:"populatedSize,omitempty" json:"populatedSize,omitempty" vim:"4.1"`
}

Represents a file that the caller has downloaded and stored somewhere appropriate.

An instance of this class is used to tell OvfManager about the choices the caller made about a file. This information is needed when the OVF descriptor is generated with createDescriptor.

type OvfFileItem

type OvfFileItem struct {
	DynamicData

	// Uniquely identifies the device (disk, CD-ROM etc.) within the entity hierarchy.
	//
	// When `ResourcePool.importVApp` is
	// called to create the `VirtualMachine`s and `VirtualApp`s, it returns a map,
	// device ID -&gt; URL, of where to upload the backing files.
	DeviceId string `xml:"deviceId" json:"deviceId"`
	// The path of the item to upload, relative to the path of the OVF descriptor.
	Path string `xml:"path" json:"path"`
	// The compression method as specified by the OVF
	// specification (for example "gzip" or "bzip2").
	CompressionMethod string `xml:"compressionMethod,omitempty" json:"compressionMethod,omitempty"`
	// The chunksize as specified by the OVF specification.
	//
	// If this attribute is set, the "path" attribute is a prefix to
	// each chunk of the complete file.
	// For example, if chunksize is 2000000000 bytes, the actual files
	// might be:
	// myfile.000000000 (2000000000 bytes)
	// myfile.000000001 (2000000000 bytes)
	// myfile.000000002 (1500000000 bytes)
	ChunkSize int64 `xml:"chunkSize,omitempty" json:"chunkSize,omitempty"`
	// The complete size of the file, if it is specified in the
	// OVF descriptor.
	Size int64 `xml:"size,omitempty" json:"size,omitempty"`
	// The CIM type of the device for which this file provides
	// backing.
	//
	// For example, the value 17 means "Disk drive".
	CimType int32 `xml:"cimType" json:"cimType"`
	// True if the item is not expected to exist in the infrastructure
	// and should therefore be created by the caller (for example using HTTP PUT).
	Create bool `xml:"create" json:"create"`
}

An FileItem represents a file that must be uploaded by the caller when the inventory objects has been created in VI.

These objects are created by `ResourcePool.importVApp`.

Files can either be new files, in which case the "create" flag will be true, or updates to existing files in VI. The latter is used to support the OVF parentRef mechanism for Disks.

type OvfHardwareCheck

type OvfHardwareCheck struct {
	OvfImport
}

type OvfHardwareCheckFault

type OvfHardwareCheckFault OvfHardwareCheck

type OvfHardwareExport

type OvfHardwareExport struct {
	OvfExport

	// The virtual device we are exporting to OVF
	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
	// The path to the VM containing the device.
	//
	// This path shows the location of the VM in the vApp hierarchy, on the form:
	//
	// /ParentVApp/ChildVApp/VMName
	VmPath string `xml:"vmPath" json:"vmPath"`
}

A common base class to host all the OvfLib Export Exceptions for hardware.

func (*OvfHardwareExport) GetOvfHardwareExport

func (b *OvfHardwareExport) GetOvfHardwareExport() *OvfHardwareExport

type OvfHardwareExportFault

type OvfHardwareExportFault BaseOvfHardwareExport

type OvfHostResourceConstraint

type OvfHostResourceConstraint struct {
	OvfConstraint

	// Value of the element
	Value string `xml:"value" json:"value"`
}

Class used to indicate that the value in HostResoruce did not map to a valid reference element.

type OvfHostResourceConstraintFault

type OvfHostResourceConstraintFault OvfHostResourceConstraint

type OvfHostValueNotParsed

type OvfHostValueNotParsed struct {
	OvfSystemFault

	// The host property field that could not be parsed.
	Property string `xml:"property" json:"property"`
	// Value of the field that could not be parsed.
	Value string `xml:"value" json:"value"`
}

type OvfHostValueNotParsedFault

type OvfHostValueNotParsedFault OvfHostValueNotParsed

type OvfImport

type OvfImport struct {
	OvfFault
}

A common base class for errors that can happen during Import and that is not due to an invalid package (OvfInvalidPackage).

These are typically issued as warnings.

func (*OvfImport) GetOvfImport

func (b *OvfImport) GetOvfImport() *OvfImport

type OvfImportFailed

type OvfImportFailed struct {
	OvfImport
}

This fault is used if we fail to deploy an OVF package.

type OvfImportFailedFault

type OvfImportFailedFault OvfImportFailed

type OvfImportFault

type OvfImportFault BaseOvfImport

type OvfInternalError

type OvfInternalError struct {
	OvfSystemFault
}

Disk mode not supported

type OvfInternalErrorFault

type OvfInternalErrorFault OvfInternalError

type OvfInvalidPackage

type OvfInvalidPackage struct {
	OvfFault

	// XML OVF descriptor line numbers
	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
}

Base fault class for all Invalid OVF package faults.

func (*OvfInvalidPackage) GetOvfInvalidPackage

func (b *OvfInvalidPackage) GetOvfInvalidPackage() *OvfInvalidPackage

type OvfInvalidPackageFault

type OvfInvalidPackageFault BaseOvfInvalidPackage

type OvfInvalidValue

type OvfInvalidValue struct {
	OvfAttribute

	// Attribute value
	Value string `xml:"value" json:"value"`
}

If an invalid value is found in the Ovf descriptor we throw an OvfInvalidValue exception.

func (*OvfInvalidValue) GetOvfInvalidValue

func (b *OvfInvalidValue) GetOvfInvalidValue() *OvfInvalidValue

type OvfInvalidValueConfiguration

type OvfInvalidValueConfiguration struct {
	OvfInvalidValue
}

If an malformed ovf:configuration attribute value is found in the Ovf descriptor we throw an OvfInvalidValueConfiguration exception.

type OvfInvalidValueConfigurationFault

type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration

type OvfInvalidValueEmpty

type OvfInvalidValueEmpty struct {
	OvfInvalidValue
}

If an attribute is found with an empty value where it is not allowed.

type OvfInvalidValueEmptyFault

type OvfInvalidValueEmptyFault OvfInvalidValueEmpty

type OvfInvalidValueFault

type OvfInvalidValueFault BaseOvfInvalidValue

type OvfInvalidValueFormatMalformed

type OvfInvalidValueFormatMalformed struct {
	OvfInvalidValue
}

If an malformed value is found in the Ovf descriptor we throw an OvfInvalidValueFormatMalformed exception.

type OvfInvalidValueFormatMalformedFault

type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed

type OvfInvalidValueReference

type OvfInvalidValueReference struct {
	OvfInvalidValue
}

If a value refer to something that is not found is found in the Ovf descriptor we throw an OvfInvalidValueReference exception.

type OvfInvalidValueReferenceFault

type OvfInvalidValueReferenceFault OvfInvalidValueReference

type OvfInvalidVmName

type OvfInvalidVmName struct {
	OvfUnsupportedPackage

	// The name of the invalid Virtual Machine
	Name string `xml:"name" json:"name"`
}

This fault is used if we can not normalize the vm name

type OvfInvalidVmNameFault

type OvfInvalidVmNameFault OvfInvalidVmName

type OvfManagerCommonParams

type OvfManagerCommonParams struct {
	DynamicData

	// The locale-identifier to choose from the descriptor.
	//
	// If empty, the
	// default locale on the server is used.
	Locale string `xml:"locale" json:"locale"`
	// The key of the chosen deployment option.
	//
	// If empty, the default option is
	// chosen. The list of possible deployment options is returned in the result of
	// parseDescriptor.
	DeploymentOption string `xml:"deploymentOption" json:"deploymentOption"`
	// An optional set of localization strings to be used.
	//
	// The server will use
	// these message strings to localize information in the result and in
	// error and warning messages.
	//
	// This argument allows a client to pass messages from external
	// string bundles. The client is responsible for selecting the right string
	// bundle (based on locale) and parsing the external string bundle. The
	// passed in key/value pairs are looked up before any messages
	// included in the OVF descriptor itself.
	MsgBundle []KeyValue `xml:"msgBundle,omitempty" json:"msgBundle,omitempty"`
	// An optional argument for modifing the OVF parsing.
	//
	// When the server parses an OVF
	// descriptor a set of options can be used to modify the parsing. The argument is a list
	// of keywords.
	//
	// To get a list of supported keywords see `OvfManager.ovfImportOption`. Unknown
	// options will be ignored by the server.
	ImportOption []string `xml:"importOption,omitempty" json:"importOption,omitempty" vim:"5.1"`
}

A common super-class for basic OVF descriptor parameters

func (*OvfManagerCommonParams) GetOvfManagerCommonParams

func (b *OvfManagerCommonParams) GetOvfManagerCommonParams() *OvfManagerCommonParams

type OvfMappedOsId

type OvfMappedOsId struct {
	OvfImport

	// The operating system id specified in the OVF descriptor.
	OvfId int32 `xml:"ovfId" json:"ovfId"`
	// The OS description specified in the OVF descriptor.
	OvfDescription string `xml:"ovfDescription" json:"ovfDescription"`
	// The display name of the target OS
	TargetDescription string `xml:"targetDescription" json:"targetDescription"`
}

type OvfMappedOsIdFault

type OvfMappedOsIdFault OvfMappedOsId

type OvfMissingAttribute

type OvfMissingAttribute struct {
	OvfAttribute
}

If the Ovf descriptor is missing an attribute this exception is thrown.

type OvfMissingAttributeFault

type OvfMissingAttributeFault OvfMissingAttribute

type OvfMissingElement

type OvfMissingElement struct {
	OvfElement
}

If the Ovf descriptor is missing an Element this exception is thrown.

func (*OvfMissingElement) GetOvfMissingElement

func (b *OvfMissingElement) GetOvfMissingElement() *OvfMissingElement

type OvfMissingElementFault

type OvfMissingElementFault BaseOvfMissingElement

type OvfMissingElementNormalBoundary

type OvfMissingElementNormalBoundary struct {
	OvfMissingElement

	// The missing bound
	Boundary string `xml:"boundary" json:"boundary"`
}

If the Ovf descriptor element normal boundary is not met this exception is thrown.

type OvfMissingElementNormalBoundaryFault

type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary

type OvfMissingHardware

type OvfMissingHardware struct {
	OvfImport

	// Name of the missing hardware.
	Name string `xml:"name" json:"name"`
	// OVF rasd resource type of the missing hardware.
	ResourceType int32 `xml:"resourceType" json:"resourceType"`
}

The OVF descriptor does not have a description of a required hardware element e.g CPU, Memory

type OvfMissingHardwareFault

type OvfMissingHardwareFault OvfMissingHardware

type OvfNetworkInfo

type OvfNetworkInfo struct {
	DynamicData

	Name        string `xml:"name" json:"name"`
	Description string `xml:"description" json:"description"`
}

The name and description of a network as specified by the OVF descriptor.

type OvfNetworkMapping

type OvfNetworkMapping struct {
	DynamicData

	Name    string                 `xml:"name" json:"name"`
	Network ManagedObjectReference `xml:"network" json:"network"`
}

A NetworkMapping is a choice made by the caller about which VI network to use for a specific network in the OVF descriptor.

type OvfNetworkMappingNotSupported

type OvfNetworkMappingNotSupported struct {
	OvfImport
}

The network mapping provided for OVF Import is not supported by any hosts

type OvfNetworkMappingNotSupportedFault

type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported

type OvfNoHostNic

type OvfNoHostNic struct {
	OvfUnsupportedPackage
}

This fault is used if there is no network defined on host

type OvfNoHostNicFault

type OvfNoHostNicFault OvfNoHostNic

type OvfNoSpaceOnController

type OvfNoSpaceOnController struct {
	OvfUnsupportedElement

	// The parent reference
	Parent string `xml:"parent" json:"parent"`
}

If the hardware element (RASD) point to a parent controller where there is no space left.

type OvfNoSpaceOnControllerFault

type OvfNoSpaceOnControllerFault OvfNoSpaceOnController

type OvfNoSupportedHardwareFamily

type OvfNoSupportedHardwareFamily struct {
	OvfUnsupportedPackage

	// Version found that was not supported
	Version string `xml:"version" json:"version"`
}

type OvfNoSupportedHardwareFamilyFault

type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily

type OvfOptionInfo

type OvfOptionInfo struct {
	DynamicData

	// The name of the OVF option that is supported by the server
	Option string `xml:"option" json:"option"`
	// A description of the OVF option
	Description LocalizableMessage `xml:"description" json:"description"`
}

Represents the OVF options the server support for import and export of OVFs

type OvfParseDescriptorParams

type OvfParseDescriptorParams struct {
	OvfManagerCommonParams
}

type OvfParseDescriptorResult

type OvfParseDescriptorResult struct {
	DynamicData

	// The list of all EULAs contained in the OVF
	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
	// The list of networks required by the OVF
	Network []OvfNetworkInfo `xml:"network,omitempty" json:"network,omitempty"`
	// The kind of IP allocation supported by the guest.
	//
	// See `VAppIPAssignmentInfo`.
	IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty" json:"ipAllocationScheme,omitempty"`
	// The IP protocols supported by the guest.
	//
	// See `VAppIPAssignmentInfo`.
	IpProtocols []string `xml:"ipProtocols,omitempty" json:"ipProtocols,omitempty"`
	// Metadata about the properties contained in the OVF
	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
	// The product info contained in the OVF
	ProductInfo *VAppProductInfo `xml:"productInfo,omitempty" json:"productInfo,omitempty"`
	// The annotation info contained in the OVF
	Annotation string `xml:"annotation" json:"annotation"`
	// The OVF Manager's best guess as to the total amount
	// of data that must be transferred to download the entity.
	//
	// This may be inaccurate due to disk compression etc.
	ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty" json:"approximateDownloadSize,omitempty"`
	// The OVF Manager's best guess as to the total amount of space required to deploy
	// the entity if using flat disks.
	ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty" json:"approximateFlatDeploymentSize,omitempty"`
	// The OVF Manager's best guess as to the total amount of space required to deploy
	// the entity using sparse disks.
	ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty" json:"approximateSparseDeploymentSize,omitempty"`
	// The default name to use for the entity, if a product name is not
	// specified.
	//
	// This is the ID of the OVF top-level entity, or taken from a
	// ProductSection.
	DefaultEntityName string `xml:"defaultEntityName" json:"defaultEntityName"`
	// True if the OVF contains a vApp (containing one or more vApps
	// and/or virtual machines), as opposed to a single virtual machine.
	VirtualApp bool `xml:"virtualApp" json:"virtualApp"`
	// The list of possible deployment options.
	DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty" json:"deploymentOption,omitempty"`
	// The key of the default deployment option.
	//
	// Empty only if there are no
	// deployment options.
	DefaultDeploymentOption string `xml:"defaultDeploymentOption" json:"defaultDeploymentOption"`
	// A list of the child entities contained in this package
	// and their location in the vApp hierarchy.
	//
	// Each entry is a
	// (key,value) pair, where the key is the display name, and
	// the value is a unique path identifier for the entity in
	// the vApp. The path is constructed by appending the id
	// of each entity of the path down to the entity, separated
	// by slashes. For example, the path for a child of the root
	// entity with id = "vm1", would simply be "vm1". If the vm is
	// the child of a VirtualSystemCollection called "webTier", then
	// the path would be "webTier/vm".
	EntityName []KeyValue `xml:"entityName,omitempty" json:"entityName,omitempty" vim:"4.1"`
	// The annotated OST for the OVF descriptor, generated by OVF
	// consumers.
	//
	// See `OvfConsumer` for details.
	AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty" json:"annotatedOst,omitempty" vim:"5.0"`
	// Errors that happened during processing.
	//
	// Something
	// will be wrong with the result.
	//
	// For example, during export, devices could be
	// missing (in which case this array will contain one
	// or more instances of Unsupported-/UnknownDevice).
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// Non-fatal warnings from the processing.
	//
	// The result will be valid, but the
	// user may choose to reject it based on these
	// warnings.
	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
}

type OvfProperty

type OvfProperty struct {
	OvfInvalidPackage

	// The type of the property
	Type string `xml:"type" json:"type"`
	// The value of the property
	Value string `xml:"value" json:"value"`
}

A base fault for property faults in the property section of the Ovf XML descriptor.

func (*OvfProperty) GetOvfProperty

func (b *OvfProperty) GetOvfProperty() *OvfProperty

type OvfPropertyExport

type OvfPropertyExport struct {
	OvfExport

	// VIM type
	Type string `xml:"type" json:"type"`
	// VIM value
	Value string `xml:"value" json:"value"`
}

VIM property type that can not be converted to OVF

type OvfPropertyExportFault

type OvfPropertyExportFault OvfPropertyExport

type OvfPropertyFault

type OvfPropertyFault BaseOvfProperty

type OvfPropertyNetwork

type OvfPropertyNetwork struct {
	OvfProperty
}

A class used indicate there was a property network error

type OvfPropertyNetworkExport

type OvfPropertyNetworkExport struct {
	OvfExport

	// name of network
	Network string `xml:"network" json:"network"`
}

VIM property type that refers to a network that does not exist in the package since no virtual machines are hooked up to it.

type OvfPropertyNetworkExportFault

type OvfPropertyNetworkExportFault OvfPropertyNetworkExport

type OvfPropertyNetworkFault

type OvfPropertyNetworkFault OvfPropertyNetwork

type OvfPropertyQualifier

type OvfPropertyQualifier struct {
	OvfProperty

	// qualifiers
	Qualifier string `xml:"qualifier" json:"qualifier"`
}

A class used to indicate there was a property qualifier error

type OvfPropertyQualifierDuplicate

type OvfPropertyQualifierDuplicate struct {
	OvfProperty

	// qualifiers
	Qualifier string `xml:"qualifier" json:"qualifier"`
}

Indicate that a property qualifier was duplicated.

type OvfPropertyQualifierDuplicateFault

type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate

type OvfPropertyQualifierFault

type OvfPropertyQualifierFault OvfPropertyQualifier

type OvfPropertyQualifierIgnored

type OvfPropertyQualifierIgnored struct {
	OvfProperty

	// qualifiers
	Qualifier string `xml:"qualifier" json:"qualifier"`
}

Indicate that the was qualifier was ignored

type OvfPropertyQualifierIgnoredFault

type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored

type OvfPropertyType

type OvfPropertyType struct {
	OvfProperty
}

A class used to indicate there was a property type error

type OvfPropertyTypeFault

type OvfPropertyTypeFault OvfPropertyType

type OvfPropertyValue

type OvfPropertyValue struct {
	OvfProperty
}

A class used indicate there was a property value error

type OvfPropertyValueFault

type OvfPropertyValueFault OvfPropertyValue

type OvfResourceMap

type OvfResourceMap struct {
	DynamicData

	// Identifies a source VirtualSystem or VirtualSystemCollection in an OVF
	// descriptor.
	//
	// The source cannot be the root VirtualSystem or
	// VirtualSystemCollection of the OVF.
	// This is a path created by concatenating the OVF ids for each entity, e.g., "vm1",
	// "WebTier/vm2", etc.
	Source string `xml:"source" json:"source"`
	// The parent resource pool to use for the entity.
	//
	// This must specify a
	// resource pool that is not part of the vApp. If this is specified, a linked
	// child (as opposed to a direct child) is created for the vApp.
	//
	// Refers instance of `ResourcePool`.
	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
	// An optional resource configuration for the created entity.
	//
	// If
	// not specified, the resource configuration given in the OVF descriptor
	// is used.
	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
	// A client can optionally specify a datastore location in the resource map to
	// override the default datastore passed into `OvfManager.CreateImportSpec` field.
	//
	// This enables importing to different compute resources that do not have shared
	// datastores.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

Deprecated as of vSphere API 5.1.

Maps source child entities to destination resource pools and resource settings.

If a mapping is not specified, a child is copied as a direct child of the parent.

type OvfSystemFault

type OvfSystemFault struct {
	OvfFault
}

A common base class to host all the OVF subsystems's system faults.

This is a class of fault that can be thrown because of some api changes, new hardware that are not supported by the host.

func (*OvfSystemFault) GetOvfSystemFault

func (b *OvfSystemFault) GetOvfSystemFault() *OvfSystemFault

type OvfSystemFaultFault

type OvfSystemFaultFault BaseOvfSystemFault

type OvfToXmlUnsupportedElement

type OvfToXmlUnsupportedElement struct {
	OvfSystemFault

	// The name of the xml element we could not write to the xml descriptor
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

Unsupported element to export to XML

type OvfToXmlUnsupportedElementFault

type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement

type OvfUnableToExportDisk

type OvfUnableToExportDisk struct {
	OvfHardwareExport

	// disk name
	DiskName string `xml:"diskName" json:"diskName"`
}

type OvfUnableToExportDiskFault

type OvfUnableToExportDiskFault OvfUnableToExportDisk

type OvfUnexpectedElement

type OvfUnexpectedElement struct {
	OvfElement
}

Class used to indicate an unexpected element in the Ovf descriptor

type OvfUnexpectedElementFault

type OvfUnexpectedElementFault OvfUnexpectedElement

type OvfUnknownDevice

type OvfUnknownDevice struct {
	OvfSystemFault

	// The unknown device
	Device BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
	// The name of the Virtual Machine containing the unkown device
	VmName string `xml:"vmName" json:"vmName"`
}

type OvfUnknownDeviceBacking

type OvfUnknownDeviceBacking struct {
	OvfHardwareExport

	// The VirtualDevice BackingInfo that is not supported by OVF export.
	Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr" json:"backing"`
}

type OvfUnknownDeviceBackingFault

type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking

type OvfUnknownDeviceFault

type OvfUnknownDeviceFault OvfUnknownDevice

type OvfUnknownEntity

type OvfUnknownEntity struct {
	OvfSystemFault

	// line number where the unknown entity was found
	LineNumber int32 `xml:"lineNumber" json:"lineNumber"`
}

type OvfUnknownEntityFault

type OvfUnknownEntityFault OvfUnknownEntity

type OvfUnsupportedAttribute

type OvfUnsupportedAttribute struct {
	OvfUnsupportedPackage

	// The name of the element with the unsupported attribute
	ElementName string `xml:"elementName" json:"elementName"`
	// The name of the unsupported attribute
	AttributeName string `xml:"attributeName" json:"attributeName"`
}

If the Ovf descriptor have an unsupported attribute.

func (*OvfUnsupportedAttribute) GetOvfUnsupportedAttribute

func (b *OvfUnsupportedAttribute) GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute

type OvfUnsupportedAttributeFault

type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute

type OvfUnsupportedAttributeValue

type OvfUnsupportedAttributeValue struct {
	OvfUnsupportedAttribute

	// Unsupported attribute value
	Value string `xml:"value" json:"value"`
}

Used when an OVF descriptor attribute has an unsupported value.

type OvfUnsupportedAttributeValueFault

type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue

type OvfUnsupportedDeviceBackingInfo

type OvfUnsupportedDeviceBackingInfo struct {
	OvfSystemFault

	// The element name
	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
	// The InstanceId on the hardware description
	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
	// The device name
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// The name of the VirtualDevice Backing Info not supported on the device.
	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
}

type OvfUnsupportedDeviceBackingInfoFault

type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo

type OvfUnsupportedDeviceBackingOption

type OvfUnsupportedDeviceBackingOption struct {
	OvfSystemFault

	// The element name
	ElementName string `xml:"elementName,omitempty" json:"elementName,omitempty"`
	// The InstanceId for the hardware element
	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
	// The device name
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// The name of the VirtualDevice Backing Option not supported on the device.
	BackingName string `xml:"backingName,omitempty" json:"backingName,omitempty"`
}

type OvfUnsupportedDeviceBackingOptionFault

type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption

type OvfUnsupportedDeviceExport

type OvfUnsupportedDeviceExport struct {
	OvfHardwareExport
}

type OvfUnsupportedDeviceExportFault

type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport

type OvfUnsupportedDiskProvisioning

type OvfUnsupportedDiskProvisioning struct {
	OvfImport

	// The disk provisioning that was not supported.
	DiskProvisioning string `xml:"diskProvisioning" json:"diskProvisioning"`
	// Disk modes supported by the host.
	SupportedDiskProvisioning string `xml:"supportedDiskProvisioning" json:"supportedDiskProvisioning"`
}

Disk provisioning not supported

type OvfUnsupportedDiskProvisioningFault

type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning

type OvfUnsupportedElement

type OvfUnsupportedElement struct {
	OvfUnsupportedPackage

	// The name of the unsupported element
	Name string `xml:"name" json:"name"`
}

If the Ovf descriptor has an unsupported element where it is not allowed.

func (*OvfUnsupportedElement) GetOvfUnsupportedElement

func (b *OvfUnsupportedElement) GetOvfUnsupportedElement() *OvfUnsupportedElement

type OvfUnsupportedElementFault

type OvfUnsupportedElementFault BaseOvfUnsupportedElement

type OvfUnsupportedElementValue

type OvfUnsupportedElementValue struct {
	OvfUnsupportedElement

	// The unsupported element value
	Value string `xml:"value" json:"value"`
}

If the Ovf descriptor has an unsupported value of a element in the OVF descriptor.

type OvfUnsupportedElementValueFault

type OvfUnsupportedElementValueFault OvfUnsupportedElementValue

type OvfUnsupportedPackage

type OvfUnsupportedPackage struct {
	OvfFault

	// OVF descriptor linenumber
	LineNumber int32 `xml:"lineNumber,omitempty" json:"lineNumber,omitempty"`
}

A common base class to host all the Ovf Lib Unsupported Package faults

func (*OvfUnsupportedPackage) GetOvfUnsupportedPackage

func (b *OvfUnsupportedPackage) GetOvfUnsupportedPackage() *OvfUnsupportedPackage

type OvfUnsupportedPackageFault

type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage

type OvfUnsupportedSection

type OvfUnsupportedSection struct {
	OvfUnsupportedElement

	// The info of the unsupported section
	Info string `xml:"info" json:"info"`
}

If the Ovf descriptor has an unsupported required section.

type OvfUnsupportedSectionFault

type OvfUnsupportedSectionFault OvfUnsupportedSection

type OvfUnsupportedSubType

type OvfUnsupportedSubType struct {
	OvfUnsupportedPackage

	// The name of the element with the unsupported type
	ElementName string `xml:"elementName" json:"elementName"`
	// The OVF RASD InstanceId for the hardware description
	InstanceId string `xml:"instanceId" json:"instanceId"`
	// The device type
	DeviceType int32 `xml:"deviceType" json:"deviceType"`
	// The device subtype that is unsupported
	DeviceSubType string `xml:"deviceSubType" json:"deviceSubType"`
}

type OvfUnsupportedSubTypeFault

type OvfUnsupportedSubTypeFault OvfUnsupportedSubType

type OvfUnsupportedType

type OvfUnsupportedType struct {
	OvfUnsupportedPackage

	// The name of the element with the unsupported type
	Name string `xml:"name" json:"name"`
	// The OVF RASD InstanceId for the hardware description
	InstanceId string `xml:"instanceId" json:"instanceId"`
	// The device type that is unsupported
	DeviceType int32 `xml:"deviceType" json:"deviceType"`
}

type OvfUnsupportedTypeFault

type OvfUnsupportedTypeFault OvfUnsupportedType

type OvfValidateHostParams

type OvfValidateHostParams struct {
	OvfManagerCommonParams
}

type OvfValidateHostResult

type OvfValidateHostResult struct {
	DynamicData

	// The total amount of data that must be transferred to download the entity.
	//
	// This may be inaccurate due to disk compression etc.
	DownloadSize int64 `xml:"downloadSize,omitempty" json:"downloadSize,omitempty"`
	// The total amount of space required to deploy the entity if using flat disks.
	FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty" json:"flatDeploymentSize,omitempty"`
	// The total amount of space required to deploy the entity using sparse disks,
	// if known.
	SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty" json:"sparseDeploymentSize,omitempty"`
	// Errors that happened during validation.
	//
	// The presence of faults in this list
	// indicates that the validation failed.
	Error []LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// Non-fatal warnings from the validation.
	Warning []LocalizedMethodFault `xml:"warning,omitempty" json:"warning,omitempty"`
	// An array of the disk provisioning type supported by the target host system.
	SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty" json:"supportedDiskProvisioning,omitempty" vim:"4.1"`
}

type OvfWrongElement

type OvfWrongElement struct {
	OvfElement
}

If the Ovf descriptor has an element that is not accepted, this exception is thrown.

type OvfWrongElementFault

type OvfWrongElementFault OvfWrongElement

type OvfWrongNamespace

type OvfWrongNamespace struct {
	OvfInvalidPackage

	// The name of the invalid namespace
	NamespaceName string `xml:"namespaceName" json:"namespaceName"`
}

A OvfWrongNamespace exception is throw if the ovf descriptor has a Namespace error as defined in the Ovf spec

type OvfWrongNamespaceFault

type OvfWrongNamespaceFault OvfWrongNamespace

type OvfXmlFormat

type OvfXmlFormat struct {
	OvfInvalidPackage

	// Description of the XML parser error
	//
	// High level error description
	Description string `xml:"description" json:"description"`
}

Class used to specify if the Ovf XML descriptor could not be parsed

type OvfXmlFormatFault

type OvfXmlFormatFault OvfXmlFormat

type PMemDatastoreInfo added in v0.18.0

type PMemDatastoreInfo struct {
	DatastoreInfo

	Pmem HostPMemVolume `xml:"pmem" json:"pmem"`
}

type ParaVirtualSCSIController

type ParaVirtualSCSIController struct {
	VirtualSCSIController
}

ParaVirtualSCSIController is the data object that represents a paravirtualized SCSI controller.

type ParaVirtualSCSIControllerOption

type ParaVirtualSCSIControllerOption struct {
	VirtualSCSIControllerOption
}

ParaVirtualSCSIControllerOption is the data object that contains the options for a a paravirtualized SCSI controller.

type ParseDescriptor

type ParseDescriptor ParseDescriptorRequestType

type ParseDescriptorRequestType

type ParseDescriptorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The OVF descriptor to examine.
	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
	// Additional parameters for parseDescriptor, wrapped in an instance of
	// ParseDescriptorParams.
	Pdp OvfParseDescriptorParams `xml:"pdp" json:"pdp"`
}

The parameters of `OvfManager.ParseDescriptor`.

type ParseDescriptorResponse

type ParseDescriptorResponse struct {
	Returnval OvfParseDescriptorResult `xml:"returnval" json:"returnval"`
}

type PassiveNodeDeploymentSpec added in v0.12.0

type PassiveNodeDeploymentSpec struct {
	NodeDeploymentSpec

	// Failover IP address that this node must assume after the failover
	// to serve client requests.
	//
	// If not specified, it will assume the public
	// IP address of the Active vCenter Server.
	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
}

The PassiveNodeDeploymentSpec class defines VCHA Cluster configuration of the Passive node VM in the VCHA Cluster.

type PassiveNodeNetworkSpec added in v0.12.0

type PassiveNodeNetworkSpec struct {
	NodeNetworkSpec

	// Failover IP address that this node must assume after the failover
	// to serve client requests.
	//
	// If not specified, it will assume the public
	// IP address of the Active vCenter Server.
	FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty" json:"failoverIpSettings,omitempty"`
}

The PassiveNodeNetworkSpec class defines VCHA Failover and Cluster network configuration of the Passive node VM in the VCHA Cluster.

type PasswordExpired added in v0.21.0

type PasswordExpired struct {
	InvalidLogin
}

Thrown when a server login fails due to expired user password.

type PasswordExpiredFault added in v0.21.0

type PasswordExpiredFault PasswordExpired

type PasswordField

type PasswordField struct {
	DynamicData

	Value string `xml:"value" json:"value"`
}

DataObject which represents a Password field.

Password is functionally equivalent to String.

type PatchAlreadyInstalled

type PatchAlreadyInstalled struct {
	PatchNotApplicable
}

This fault is thrown if a patch install fails because the patch is already installed on the host.

type PatchAlreadyInstalledFault

type PatchAlreadyInstalledFault PatchAlreadyInstalled

type PatchBinariesNotFound

type PatchBinariesNotFound struct {
	VimFault

	// The patch whose associated binaries are not found.
	PatchID string `xml:"patchID" json:"patchID"`
	// The binaries that are not found.
	Binary []string `xml:"binary,omitempty" json:"binary,omitempty"`
}

This fault is thrown if a patch install fails because the binaries associated with the patch are not found.

type PatchBinariesNotFoundFault

type PatchBinariesNotFoundFault PatchBinariesNotFound

type PatchInstallFailed

type PatchInstallFailed struct {
	PlatformConfigFault

	// Whether or not the patch install has been rolled back.
	//
	// If not,
	// a manual rollback is required.
	RolledBack bool `xml:"rolledBack" json:"rolledBack"`
}

This is a general-purpose fault indicating that some error has occurred regarding a patch install.

Data about the fault is available and is presented as a platform specific string.

type PatchInstallFailedFault

type PatchInstallFailedFault PatchInstallFailed

type PatchIntegrityError

type PatchIntegrityError struct {
	PlatformConfigFault
}

This fault is thrown if a patch operation fails because the signature of the patch did not check out.

type PatchIntegrityErrorFault

type PatchIntegrityErrorFault PatchIntegrityError

type PatchMetadataCorrupted

type PatchMetadataCorrupted struct {
	PatchMetadataInvalid
}

This fault is thrown if the metadata associated with a patch is corrupted or unreadable when a patch query or install is attempted.

type PatchMetadataCorruptedFault

type PatchMetadataCorruptedFault PatchMetadataCorrupted

type PatchMetadataInvalid

type PatchMetadataInvalid struct {
	VimFault

	// The patch ID whose associated metadata is invalid.
	PatchID string `xml:"patchID" json:"patchID"`
	// The metadata file that is not available or corrupted.
	MetaData []string `xml:"metaData,omitempty" json:"metaData,omitempty"`
}

This fault is thrown if a patch query or installation operation fails because of a problem with the metadata associated with the patch.

Typically, a subclass of this exception is thrown, indicating a problem such as the metadata is not found or the metadata is corrupted.

func (*PatchMetadataInvalid) GetPatchMetadataInvalid

func (b *PatchMetadataInvalid) GetPatchMetadataInvalid() *PatchMetadataInvalid

type PatchMetadataInvalidFault

type PatchMetadataInvalidFault BasePatchMetadataInvalid

type PatchMetadataNotFound

type PatchMetadataNotFound struct {
	PatchMetadataInvalid
}

This fault is thrown if the metadata associated with a patch is not found when a patch query or install is attempted.

type PatchMetadataNotFoundFault

type PatchMetadataNotFoundFault PatchMetadataNotFound

type PatchMissingDependencies

type PatchMissingDependencies struct {
	PatchNotApplicable

	// The ID of required patches.
	PrerequisitePatch []string `xml:"prerequisitePatch,omitempty" json:"prerequisitePatch,omitempty"`
	// The names of required libraries or RPMs.
	PrerequisiteLib []string `xml:"prerequisiteLib,omitempty" json:"prerequisiteLib,omitempty"`
}

This fault is thrown if a patch install fails because the patch requires other patches or libraries that are not installed on the host.

type PatchMissingDependenciesFault

type PatchMissingDependenciesFault PatchMissingDependencies

type PatchNotApplicable

type PatchNotApplicable struct {
	VimFault

	// The ID of the patch that is not applicable to the host.
	PatchID string `xml:"patchID" json:"patchID"`
}

This fault is thrown if a patch install fails because the patch is not applicable to the host.

Typically, a subclass of this exception is thrown, indicating a problem such as the patch is superseded, already installed, or has dependencies missing, and so on.

func (*PatchNotApplicable) GetPatchNotApplicable

func (b *PatchNotApplicable) GetPatchNotApplicable() *PatchNotApplicable

type PatchNotApplicableFault

type PatchNotApplicableFault BasePatchNotApplicable

type PatchSuperseded

type PatchSuperseded struct {
	PatchNotApplicable

	// The patches that supersede this patch.
	Supersede []string `xml:"supersede,omitempty" json:"supersede,omitempty"`
}

This fault is thrown if a patch install fails because the patch is superseded by patches already installed.

type PatchSupersededFault

type PatchSupersededFault PatchSuperseded

type PerfCompositeMetric

type PerfCompositeMetric struct {
	DynamicData

	// The aggregated entity performance metrics.
	//
	// If it exists, the `PerfSampleInfo` list of the aggregate entity is a
	// complete list of `PerfSampleInfo` that could
	// be contained in `PerfSampleInfo` lists of
	// child entities.
	Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr" json:"entity,omitempty"`
	// A list of `metrics` of
	// performance providers that comprise the aggregated entity.
	//
	// For
	// example, Host is an aggregated entity for virtual machines and
	// virtual machine Folders. ResourcePools are aggregate entities for
	// virtual machines. Host, Folder, and Cluster are aggregate entities
	// for hosts in the cluster or folder.
	ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr" json:"childEntity,omitempty"`
}

`PerfCompositeMetric` includes an optional aggregated entity performance statistics and a list of composite entities performance statistics&#46; The aggregated entity statistics are optional because some entities, such as folders, do not have their own statistics&#46;

type PerfCounterInfo

type PerfCounterInfo struct {
	DynamicData

	// A system-generated number that uniquely identifies the counter in the
	// context of the system.
	//
	// The performance counter ID.
	Key int32 `xml:"key" json:"key"`
	// The name of the counter with label and summary details.
	//
	// For example,
	// the counter with name "usage" for the "cpu" group of performance
	// counters.
	NameInfo BaseElementDescription `xml:"nameInfo,typeattr" json:"nameInfo"`
	// The group of the performance counter with its label and summary
	// details.
	//
	// Counter groups include "cpu," "mem," "net," "disk," "system,"
	// "rescpu," and "clusterServices," for example.
	GroupInfo BaseElementDescription `xml:"groupInfo,typeattr" json:"groupInfo"`
	// The unit for the values of the performance counter with its label and
	// summary details.
	//
	// See `PerformanceManagerUnit_enum` for a
	// description of the valid values.
	UnitInfo BaseElementDescription `xml:"unitInfo,typeattr" json:"unitInfo"`
	// The counter type.
	//
	// Valid values include average, maximum, minimum,
	// latest, summation, or none. This determines the type of statistical
	// values that are returned for the counter. None means that the counter
	// is never rolled up.
	RollupType PerfSummaryType `xml:"rollupType" json:"rollupType"`
	// Statistics type for the counter.
	//
	// Valid values include absolute, delta,
	// or rate.
	StatsType PerfStatsType `xml:"statsType" json:"statsType"`
	// Minimum level at which metrics of this type will be collected by
	// VirtualCenter Server.
	//
	// The value for this property for any performance
	// counter is a number from 1 to 4. The higher the setting, the more data
	// is collected by VirtualCenter Server. The default setting for
	// VirtualCenter Server is 1, which collects the minimal amount of
	// performance data that is typically useful to administrators and
	// developers alike. The specific level of each counter is documented in
	// the respective counter-documentation pages, by group. See `PerformanceManager` for links to the counter group pages.
	Level int32 `xml:"level,omitempty" json:"level,omitempty" vim:"2.5"`
	// Minimum level at which the per device metrics of this type will be
	// collected by vCenter Server.
	//
	// The value for this property for any
	// performance counter is a number from 1 to 4. By default all per device
	// metrics are calculated at level 3 or more. If a certain per device
	// counter is collected at a certain level, the aggregate metric is also
	// calculated at that level, i.e., perDeviceLevel is greater than or
	// equal to level.
	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty" vim:"4.1"`
	// Deprecated as of VI API 2.5, this property is not used.
	//
	// The counter IDs associated with the same performance counter name for
	// the same device type.
	//
	// For example, the rollup types for CPU Usage for
	// a host are average, minimum, and maximum&#46; Therefore, their counter
	// IDs are associated.
	AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty" json:"associatedCounterId,omitempty"`
}

This data object type contains metadata for a performance counter.

See `PerformanceManager` for definitions of available counters.

func (*PerfCounterInfo) Name added in v0.14.0

func (c *PerfCounterInfo) Name() string

type PerfEntityMetric

type PerfEntityMetric struct {
	PerfEntityMetricBase

	// A list of objects containing information (an interval and a timestamp)
	// about the samples collected.
	SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty" json:"sampleInfo,omitempty"`
	// A list of values that corresponds to the samples collected.
	Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr" json:"value,omitempty"`
}

This data object type stores values and metadata for metrics associated with a specific entity, in 'normal' format.

type PerfEntityMetricBase

type PerfEntityMetricBase struct {
	DynamicData

	// Performance provider ID.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

Base type for the various `PerfEntityMetric` encodings.

func (*PerfEntityMetricBase) GetPerfEntityMetricBase

func (b *PerfEntityMetricBase) GetPerfEntityMetricBase() *PerfEntityMetricBase

type PerfEntityMetricCSV

type PerfEntityMetricCSV struct {
	PerfEntityMetricBase

	// The `PerfSampleInfo` encoded in the following CSV
	// format: \[interval1\], \[date1\], \[interval2\], \[date2\], and so on.
	SampleInfoCSV string `xml:"sampleInfoCSV" json:"sampleInfoCSV"`
	// Metric values corresponding to the samples collected in this list.
	Value []PerfMetricSeriesCSV `xml:"value,omitempty" json:"value,omitempty"`
}

This data object type stores metric values for a specific entity in CSV format.

type PerfFormat

type PerfFormat string

The format in which performance counter data is returned.

type PerfInterval

type PerfInterval struct {
	DynamicData

	// A unique identifier for the interval.
	Key int32 `xml:"key" json:"key" vim:"2.5"`
	// Number of seconds that data is sampled for this interval.
	//
	// The real-time
	// samplingPeriod is 20 seconds.
	SamplingPeriod int32 `xml:"samplingPeriod" json:"samplingPeriod"`
	// The name of the historical interval.
	//
	// A localized string that provides a
	// name for the interval. Names include:
	//     - "Past Day"
	//     - "Past Week"
	//     - "Past Month"
	//     - "Past Year"
	//
	// The name is not meaningful in terms of system behavior. That is, the
	// interval named &#147;Past Week&#148; works as it does because of its
	// length, level, and so on, not because of the value of this string.
	Name string `xml:"name" json:"name"`
	// Number of seconds that the statistics corresponding to this interval are
	// kept on the system.
	Length int32 `xml:"length" json:"length"`
	// Statistics collection level for this historical interval.
	//
	// vCenter Server
	// will aggregate only those statistics that match the value of this
	// property for this historical interval. For ESX, the value of this
	// property is null. For vCenter Server, the value will be a number from 1
	// to 4.
	Level int32 `xml:"level,omitempty" json:"level,omitempty" vim:"2.5"`
	// Indicates whether the interval is enabled (true) or disabled (false).
	//
	// Disabling a historical interval prevents vCenter Server from collecting
	// metrics for that interval and all higher (longer) intervals.
	//
	// For example, disabling the "Past Month" interval disables both "Past
	// Month" and "Past Year" intervals. The system will aggregate and retain
	// performance data using the "Past Day" and "Past Week" intervals only.
	Enabled bool `xml:"enabled" json:"enabled" vim:"2.5"`
}

This data object type contains metadata about a performance interval.

  • For VirtualCenter Server systems, instances of this data object are referred to as &#147;historical intervals&#148; because they control how data collected from the ESX systems will be aggregated and stored in the database.
  • For ESX system, this data object is typically referred to simply as the &#147;interval&#148; or &#147;performance interval&#148; because ESX does not aggregate statistical data.

For ESX systems, a single instance of this data object exists. It cannot be modified. It has these properties: <table border="1"width="100%"> <tr> <th>key</th> <th>samplingPeriod</th> <th>length</th> <th>name</th> <th>level</th> <th>enabled</th> </tr> <tr> <td>1</td> <td>300</td> <td>129600</td> <td>PastDay</td> <td>null</td> <td>true</td> </tr> </table>

VirtualCenter Server system provides four instances of this data object by default, that apply globally to all system entities.

**Example Collection Levels** VirtualCenter Server uses the specifications configured in its historical intervals to collect metrics from the ESX systems that it manages. The quantity of data collected depends on the level settings for the server, and the level associated with a specific counter. Both factors may change from one version of the products to the next. In general, the lower the number, the smaller the amount of data collected. For VirtualCenter Server 2.5, for example, the levels 1 through 4 collected data as follows:

  1. Basic counters defined with "average" *rollup type* for CPU, Memory, Disk, and Network; plus counters for System Uptime, System Heartbeat, and DRS (Distributed Resource Scheduler, tracked in the "clusterServices" group). Does not include counters for devices.
  2. Counters defined with "average," "summation," and "latest" *rollup types* for CPU, Memory, Disk, and Network; plus counters for System Uptime, System Heartbeat, and DRS (clusterServices). Does not include counters for devices.
  3. Counters defined with "average," "summmation," and "latest" *rollup types* for CPU, Memory, Disk, Network, and all devices; plus counters for System Uptime, System Heartbeat, and DRS (clusterServices).
  4. All counters defined for all entities and devices, for every *rollup type*, including &#147;minimum&#148; and &#147;maximum&#46;&#148;

Default properties for the four built-in historical intervals include: <table border="1"width="100%"> <tr> <th>key</th> <th>samplingPeriod</th> <th>length</th> <th>name</th> <th>level</th> <th>enabled</th> </tr> <tr> <td>1</td> <td>300</td> <td>86400</td> <td>Past&nbsp;day</td> <td>1</td> <td>true</td> </tr> <tr> <td>2</td> <td>1800</td> <td>604800</td> <td>Past&nbsp;week</td> <td>1</td> <td>true</td> </tr> <tr> <td>3</td> <td>7200</td> <td>2592000</td> <td>Past&nbsp;month</td> <td>1</td> <td>true</td> </tr> <tr> <td>4</td> <td>86400</td> <td>31536000</td> <td>Past&nbsp;year</td> <td>1</td> <td>true</td> </tr> </table>

All values are in seconds. The default setting for vCenter Server is level 1, which retains sampled statistical data as follows:

  • 5-minute samples for the past day
  • 30-minute samples for the past week
  • 2-hour samples for the past month
  • 1-day samples for the past year

Data older than a year is purged from the vCenter Server database.

Prior to version 2&#46;5 of the API, this data object could be used in conjunction with the `PerformanceManager.CreatePerfInterval` operation, to define new, custom historical intervals. That operation has been deprecated: Adding and deleting objects of this type is no longer supported. However, the default historical intervals can be enabled or disabled, and can be modified within certain limits (with the `PerformanceManager.UpdatePerfInterval` operation)&#46;

type PerfMetricId

type PerfMetricId struct {
	DynamicData

	// The `ID` of the counter for
	// the metric.
	CounterId int32 `xml:"counterId" json:"counterId"`
	// An identifier that is derived from configuration names for the device
	// associated with the metric.
	//
	// It identifies the instance of the metric
	// with its source. This property may be empty.
	//     - For memory and aggregated statistics, this property is empty.
	//     - For host and virtual machine devices, this property contains the
	//       name of the device, such as the name of the host-bus adapter or
	//       the name of the virtual Ethernet adapter. For example,
	//       &#147;mpx&#46;vmhba33&#58;C0&#58;T0&#58;L0&#148; or
	//       &#147;vmnic0&#58;&#148;
	//     - For a CPU, this property identifies the numeric position within
	//       the CPU core, such as 0, 1, 2, 3.
	//     - For a virtual disk, this property identifies the file type:
	//       - DISKFILE, for virtual machine base-disk files
	//       - SWAPFILE, for virtual machine swap files
	//       - DELTAFILE, for virtual machine snapshot overhead files
	//       - OTHERFILE, for all other files of a virtual machine
	Instance string `xml:"instance" json:"instance"`
}

This data object type contains information that associates a performance counter with a performance metric.

When constructing this data object for the `PerfQuerySpec.metricId` property of the `PerfQuerySpec` to submit to one of the `PerformanceManager` query operations, the `PerfMetricId.instance` property supports these special characters:

  • An asterisk (\*) to specify all instances of the metric for the specified `PerfMetricId.counterId`
  • Double-quotes ("") to specify aggregated statistics

type PerfMetricIntSeries

type PerfMetricIntSeries struct {
	PerfMetricSeries

	// An array of 64-bit integer values.
	//
	// The size of the array matches the
	// size as the `PerfSampleInfo`, because the values
	// can only be interpreted in the context of the sample that generated
	// the value.
	Value []int64 `xml:"value,omitempty" json:"value,omitempty"`
}

This data object type describes integer metric values.

The size of the array must match the size of `PerfEntityMetric.sampleInfo` property in the `PerfEntityMetric` that contains this series.

type PerfMetricSeries

type PerfMetricSeries struct {
	DynamicData

	// An identifier for the performance metric.
	Id PerfMetricId `xml:"id" json:"id"`
}

This is a generic data object type that stores values for a specific performance metric.

Useful data objects that store actual metric values extend this data object (see `PerfMetricIntSeries`).

func (*PerfMetricSeries) GetPerfMetricSeries

func (b *PerfMetricSeries) GetPerfMetricSeries() *PerfMetricSeries

type PerfMetricSeriesCSV

type PerfMetricSeriesCSV struct {
	PerfMetricSeries

	// An array of sample values in CSV format
	Value string `xml:"value,omitempty" json:"value,omitempty"`
}

This data object type represents a `PerfMetricSeries` encoded in CSV format.

type PerfProviderSummary

type PerfProviderSummary struct {
	DynamicData

	// Reference to the performance provider, the *managed object* that provides real-time or
	// historical metrics.
	//
	// The managed objects include but are not limited to
	// *managed entities*, such as *host systems*, *virtual machines*, and *resource pools*.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// True if this entity supports real-time (current) statistics; false if
	// it does not.
	//
	// If this property is true for an entity, a client application
	// can set the `PerfQuerySpec.intervalId` of the
	// `PerfQuerySpec` (passed to the
	// `PerformanceManager.QueryPerf` operation) to the `PerfProviderSummary.refreshRate` to obtain the maximum information possible for the
	// entity.
	CurrentSupported bool `xml:"currentSupported" json:"currentSupported"`
	// True if this entity supports historical (aggregated) statistics; false
	// if it does not.
	//
	// When this property is true for an entity, a client
	// application can set the `PerfQuerySpec.intervalId` of `PerformanceManager.QueryPerf` to one of the historical `intervals` to obtain historical statistics for this
	// entity.
	SummarySupported bool `xml:"summarySupported" json:"summarySupported"`
	// Number of seconds between the generation of each counter.
	//
	// This value
	// applies only to entities that support real-time (current)
	// statistics&#46;
	RefreshRate int32 `xml:"refreshRate,omitempty" json:"refreshRate,omitempty"`
}

This data object type contains information about a performance provider, the type of statistics it generates, and the `PerfProviderSummary.refreshRate` for statistics generation.

A performance provider is any *managed object* that generates real-time or historical statistics (or both&#151;the `PerfProviderSummary.currentSupported` and `PerfProviderSummary.summarySupported` properties are not mutually exclusive).

type PerfQuerySpec

type PerfQuerySpec struct {
	DynamicData

	// The managed object whose performance statistics are being queried.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The server time from which to obtain counters.
	//
	// If not specified,
	// defaults to the first available counter. When a startTime is
	// specified, the returned samples do not include the sample at
	// startTime.
	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
	// The time up to which statistics are retrieved.
	//
	// Corresponds to server
	// time. When endTime is omitted, the returned result includes up to the
	// most recent metric value. When an endTime is specified, the returned
	// samples include the sample at endTime.
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
	// Limits the number of samples returned.
	//
	// Defaults to the most recent
	// sample (or samples), unless a time range is specified. Use this
	// property only in conjunction with the `PerfQuerySpec.intervalId` to obtain
	// real-time statistics (set the `PerfQuerySpec.intervalId` to the `PerfProviderSummary.refreshRate`. This property is
	// ignored for historical statistics, and is not valid for the `PerformanceManager.QueryPerfComposite` operation.
	MaxSample int32 `xml:"maxSample,omitempty" json:"maxSample,omitempty"`
	// The performance metrics to be retrieved.
	//
	// This property is required for
	// the `PerformanceManager.QueryPerfComposite` operation.
	MetricId []PerfMetricId `xml:"metricId,omitempty" json:"metricId,omitempty"`
	// The interval (`PerfInterval.samplingPeriod`), in seconds,
	// for the performance statistics&#46; For aggregated information, use
	// one of the historical intervals for this property.
	//
	// See `PerfInterval` for more information.
	//     - To obtain the greatest detail, use the provider&#146;s `PerfProviderSummary.refreshRate` for this
	//       property.
	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
	// The format to be used while returning the statistics&#46;
	//
	// See also `PerfFormat_enum`.
	Format string `xml:"format,omitempty" json:"format,omitempty"`
}

This data object specifies the query parameters, including the managed object reference to the target entity for statistics retrieval.

  • If the optional `PerfQuerySpec.intervalId` is omitted, the metrics are returned in their originally sampled interval.
  • When an `PerfQuerySpec.intervalId` is specified, the server tries to summarize the information for the specified `PerfQuerySpec.intervalId`. However, if that interval does not exist or has no data, the server summarizes the information using the best interval available.
  • If the range between `PerfQuerySpec.startTime` and `PerfQuerySpec.endTime` crosses multiple sample interval periods, the result contains data from the longest interval in the period.

type PerfSampleInfo

type PerfSampleInfo struct {
	DynamicData

	// The time at which the sample was collected.
	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
	// The interval in seconds for which performance statistics were
	// collected.
	//
	// This can be the refreshRate of the managed object for which
	// this statistics was collected or one of the intervals for historical
	// statistics configured in the system. See `PerformanceManager.UpdatePerfInterval` for more information about the intervals
	// configured in the system.
	Interval int32 `xml:"interval" json:"interval"`
}

This data object type describes information contained in a sample collection, its timestamp, and sampling interval.

type PerfStatsType

type PerfStatsType string

Indicates the type of statistical measurement that a counter&#146;s value represents.

Valid types are &#147;absolute&#148;, &#147;delta&#148;, or &#147;rate&#148;.

type PerfSummaryType

type PerfSummaryType string

Indicates how multiple samples of a specific counter type are transformed into a single statistical value.

type PerformDvsProductSpecOperationRequestType

type PerformDvsProductSpecOperationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The operation. See `DistributedVirtualSwitchProductSpecOperationType_enum` for
	// valid values. For
	// `VmwareDistributedVirtualSwitch`,
	// only `upgrade`
	// is valid.
	Operation string `xml:"operation" json:"operation"`
	// The product info of the implementation.
	ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty" json:"productSpec,omitempty"`
}

The parameters of `DistributedVirtualSwitch.PerformDvsProductSpecOperation_Task`.

type PerformDvsProductSpecOperation_TaskResponse

type PerformDvsProductSpecOperation_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PerformVsanUpgradePreflightCheckRequestType

type PerformVsanUpgradePreflightCheckRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The cluster for which to perform the check.
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
	// Intend to perform a on-disk format downgrade instead
	// of upgrade. Adds additional checks.
	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
}

The parameters of `VsanUpgradeSystem.PerformVsanUpgradePreflightCheck`.

type PerformVsanUpgradePreflightCheckResponse

type PerformVsanUpgradePreflightCheckResponse struct {
	Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval" json:"returnval"`
}

type PerformVsanUpgradeRequestType

type PerformVsanUpgradeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The cluster to be upgraded
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
	// After all disk groups have been updated, also
	// upgrade all objects. Once started, rollback
	// of the on disk format is no longer possible.
	// Object upgrade unlocks new VSAN features.
	PerformObjectUpgrade *bool `xml:"performObjectUpgrade" json:"performObjectUpgrade,omitempty"`
	// Perform a on-disk format downgrade instead of
	// upgrade. Only possible if no upgraded objects exist.
	DowngradeFormat *bool `xml:"downgradeFormat" json:"downgradeFormat,omitempty"`
	// Removes the need for one disk group worth of
	// free space, by allowing reduced redundancy
	// during disk upgrade.
	AllowReducedRedundancy *bool `xml:"allowReducedRedundancy" json:"allowReducedRedundancy,omitempty"`
	// Internal debug option meant for functional testing
	// of VSAN upgrades. Skips upgrade on certain hosts and
	// implies performObjectUpgrade being false. Should not
	// be used by customers.
	//
	// Refers instances of `HostSystem`.
	ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty" json:"excludeHosts,omitempty"`
}

The parameters of `VsanUpgradeSystem.PerformVsanUpgrade_Task`.

type PerformVsanUpgrade_Task

type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType

type PerformVsanUpgrade_TaskResponse

type PerformVsanUpgrade_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PerformanceDescription

type PerformanceDescription struct {
	DynamicData

	// Identifies the `type` of
	// the counter.
	CounterType []BaseElementDescription `xml:"counterType,typeattr" json:"counterType"`
	// Identifies the `type`
	// of statistic.
	StatsType []BaseElementDescription `xml:"statsType,typeattr" json:"statsType"`
}

Static strings for performance metrics.

type PerformanceManagerCounterLevelMapping

type PerformanceManagerCounterLevelMapping struct {
	DynamicData

	// The counter Id
	CounterId int32 `xml:"counterId" json:"counterId"`
	// Level for the aggregate counter.
	//
	// If not set then the value is not
	// changed when updateCounterLevelMapping is called.
	AggregateLevel int32 `xml:"aggregateLevel,omitempty" json:"aggregateLevel,omitempty"`
	// Level for the per device counter.
	//
	// If not set then the value is not
	// changed when updateCounterLevelMapping is called.
	PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty" json:"perDeviceLevel,omitempty"`
}

`PerformanceManagerCounterLevelMapping` class captures the counter and level mapping.

Any counter has two aspects: aggregate value or the per-device value. For example, cpu.usage.average on a host is an aggregate counter and cpu.usage.average on pcpus in a host is a per-device counters. There is a need to be able to specify different levels for the two versions. Currently, all per-device stats are collected at level greater than or equal to 3.

In order to be able to configure the level of collections for aggregate and per-device counters we have two optional level fields. `PerformanceManagerCounterLevelMapping` is used to update the levels for a counter.

type PerformanceManagerUnit

type PerformanceManagerUnit string

Indicates the unit of measure represented by a counter or statistical value.

type PerformanceStatisticsDescription

type PerformanceStatisticsDescription struct {
	DynamicData

	// Historic interval setting.
	//
	// Default value is the same as the historic
	// interval settings of the current instance
	// of running VC.
	Intervals []PerfInterval `xml:"intervals,omitempty" json:"intervals,omitempty"`
}

Data object to capture all information needed to describe a sample inventory.

type Permission

type Permission struct {
	DynamicData

	// Managed entity the permission is defined on.
	//
	// Left unset
	// when calling setPermissions or resetPermissions, but present
	// for the results of permission queries.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// User or group receiving access in the form of
	// "login" for local or "DOMAIN\\login" for users in a Windows domain.
	Principal string `xml:"principal" json:"principal"`
	// Whether principal refers to a user or a group.
	//
	// True for
	// a group and false for a user.
	Group bool `xml:"group" json:"group"`
	// Reference to the role providing the access.
	RoleId int32 `xml:"roleId" json:"roleId"`
	// Whether or not this permission propagates down the hierarchy
	// to sub-entities.
	Propagate bool `xml:"propagate" json:"propagate"`
}

This data object type provides assignment of some role access to a principal on a specific entity.

A ManagedEntity is limited to one permission per principal.

type PermissionAddedEvent

type PermissionAddedEvent struct {
	PermissionEvent

	// The associated role.
	Role RoleEventArgument `xml:"role" json:"role"`
	// Whether or not the permission applies to sub-entities.
	Propagate bool `xml:"propagate" json:"propagate"`
}

This event records the creation of a permission.

type PermissionEvent

type PermissionEvent struct {
	AuthorizationEvent

	// The entity to which the permission applied.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
	// The user name or group to which the permission was granted.
	Principal string `xml:"principal" json:"principal"`
	// Whether or not the principal was a group.
	Group bool `xml:"group" json:"group"`
}

This event records a permission operation.

func (*PermissionEvent) GetPermissionEvent

func (b *PermissionEvent) GetPermissionEvent() *PermissionEvent

type PermissionProfile

type PermissionProfile struct {
	ApplyProfile

	Key string `xml:"key" json:"key"`
}

The `PermissionProfile` data object represents the profile for a permission rule.

Use the `ApplyProfile.policy` list for access to configuration data for the permission profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

type PermissionRemovedEvent

type PermissionRemovedEvent struct {
	PermissionEvent
}

This event records the removal of a permission.

type PermissionUpdatedEvent

type PermissionUpdatedEvent struct {
	PermissionEvent

	// The associated role.
	Role RoleEventArgument `xml:"role" json:"role"`
	// Whether or not the permission applies to sub-entities.
	Propagate bool `xml:"propagate" json:"propagate"`
	// The previous associated role.
	PrevRole *RoleEventArgument `xml:"prevRole,omitempty" json:"prevRole,omitempty" vim:"6.5"`
	// Previous propogate value.
	PrevPropagate *bool `xml:"prevPropagate" json:"prevPropagate,omitempty" vim:"6.5"`
}

This event records the update of a permission.

type PhysCompatRDMNotSupported

type PhysCompatRDMNotSupported struct {
	RDMNotSupported
}

The virtual machine is configured with a Raw Disk Mapping in physical compatibility mode.

This mode is not supported on the host.

type PhysCompatRDMNotSupportedFault

type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported

type PhysicalNic

type PhysicalNic struct {
	DynamicData

	// The linkable identifier.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The device name of the physical network adapter.
	Device string `xml:"device" json:"device"`
	// Device hash of the PCI device corresponding to this
	// physical network adapter.
	Pci string `xml:"pci" json:"pci"`
	// The name of the driver.
	//
	// From command line: esxcli network nic get
	Driver string `xml:"driver,omitempty" json:"driver,omitempty"`
	// The version of the physical network adapter operating system driver.
	DriverVersion string `xml:"driverVersion,omitempty" json:"driverVersion,omitempty" vim:"8.0.0.1"`
	// The version of the firmware running in the network adapter.
	FirmwareVersion string `xml:"firmwareVersion,omitempty" json:"firmwareVersion,omitempty" vim:"8.0.0.1"`
	// The current link state of the physical network adapter.
	//
	// If this object is not set, then the link is down.
	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
	// The valid combinations of speed and duplexity for this
	// physical network adapter.
	//
	// The speed and the duplex settings usually must be configured
	// as a pair. This array lists all the valid combinations available
	// for a physical network adapter.
	//
	// Autonegotiate is not listed as one of the combinations supported.
	// If is implicitly supported by the physical network adapter
	// unless `PhysicalNic.autoNegotiateSupported` is set to false.
	ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty" json:"validLinkSpecification,omitempty"`
	// The specification of the physical network adapter.
	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
	// Flag indicating whether the NIC is wake-on-LAN capable
	WakeOnLanSupported bool `xml:"wakeOnLanSupported" json:"wakeOnLanSupported" vim:"2.5"`
	// The media access control (MAC) address of the physical
	// network adapter.
	Mac string `xml:"mac" json:"mac" vim:"2.5"`
	// The FCoE configuration of the physical network adapter.
	FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty" json:"fcoeConfiguration,omitempty" vim:"5.0"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Flag indicating whether the NIC supports VMDirectPath Gen 2.
	//
	// Note that
	// this is only an indicator of the capabilities of this NIC, not of the
	// whole host.
	//
	// If the host software is not capable of VMDirectPath Gen 2,
	// this property will be unset, as the host cannot provide information on
	// the NIC capability.
	//
	// See also `HostCapability.vmDirectPathGen2Supported`.
	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// If `PhysicalNic.vmDirectPathGen2Supported` is true, this property advertises
	// the VMDirectPath Gen 2 mode supported by this NIC (chosen from
	// `PhysicalNicVmDirectPathGen2SupportedMode_enum`).
	//
	// A mode may require that the associated vSphere Distributed Switch have
	// a particular ProductSpec in order for network passthrough to be possible.
	VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty" json:"vmDirectPathGen2SupportedMode,omitempty" vim:"4.1"`
	// Flag indicating whether the NIC allows resource pool based scheduling
	// for network I/O control.
	ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed" json:"resourcePoolSchedulerAllowed,omitempty" vim:"4.1"`
	// If `PhysicalNic.resourcePoolSchedulerAllowed` is false, this property
	// advertises the reason for disallowing resource scheduling on
	// this NIC.
	//
	// The reasons may be one of
	// `PhysicalNicResourcePoolSchedulerDisallowedReason_enum`
	ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty" json:"resourcePoolSchedulerDisallowedReason,omitempty" vim:"4.1"`
	// If set the flag indicates if the physical network adapter supports
	// autonegotiate.
	AutoNegotiateSupported *bool `xml:"autoNegotiateSupported" json:"autoNegotiateSupported,omitempty" vim:"4.1"`
	// If set the flag indicates whether a physical nic supports Enhanced
	// Networking Stack driver
	EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported" json:"enhancedNetworkingStackSupported,omitempty" vim:"6.7"`
	// If set the flag indicates whether a physical nic supports Enhanced
	// Networking Stack interrupt mode
	EnsInterruptSupported *bool `xml:"ensInterruptSupported" json:"ensInterruptSupported,omitempty" vim:"7.0"`
	// Associated RDMA device, if any.
	RdmaDevice string `xml:"rdmaDevice,omitempty" json:"rdmaDevice,omitempty" vim:"7.0"`
	// The identifier of the DPU by which the physical NIC is backed.
	//
	// When physical NIC is not backed by DPU, dpuId will be unset.
	DpuId string `xml:"dpuId,omitempty" json:"dpuId,omitempty" vim:"8.0.0.1"`
}

This data object type describes the physical network adapter as seen by the primary operating system.

type PhysicalNicCdpDeviceCapability

type PhysicalNicCdpDeviceCapability struct {
	DynamicData

	// The CDP-awared device has the capability of a routing for
	// at least one network layer protocol
	Router bool `xml:"router" json:"router"`
	// The CDP-awared device has the capability of transparent
	// bridging
	TransparentBridge bool `xml:"transparentBridge" json:"transparentBridge"`
	// The CDP-awared device has the capability of source-route
	// bridging
	SourceRouteBridge bool `xml:"sourceRouteBridge" json:"sourceRouteBridge"`
	// The CDP-awared device has the capability of switching.
	//
	// The
	// difference between this capability and transparentBridge is
	// that a switch does not run the Spanning-Tree Protocol. This
	// device is assumed to be deployed in a physical loop-free topology.
	NetworkSwitch bool `xml:"networkSwitch" json:"networkSwitch"`
	// The CDP-awared device has the capability of a host, which
	// Sends and receives packets for at least one network layer protocol.
	Host bool `xml:"host" json:"host"`
	// The CDP-awared device is IGMP-enabled, which does not forward IGMP
	// Report packets on nonrouter ports.
	IgmpEnabled bool `xml:"igmpEnabled" json:"igmpEnabled"`
	// The CDP-awared device has the capability of a repeater
	Repeater bool `xml:"repeater" json:"repeater"`
}

The capability of the CDP-awared device that connects to a Physical NIC.

`PhysicalNicCdpInfo`

type PhysicalNicCdpInfo

type PhysicalNicCdpInfo struct {
	DynamicData

	// CDP version.
	//
	// The value is always 1.
	CdpVersion int32 `xml:"cdpVersion,omitempty" json:"cdpVersion,omitempty"`
	// This is the periodicity of advertisement, the time between two
	// successive CDP message transmissions
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
	// Time-To-Live.
	//
	// the amount of time, in seconds, that a receiver should
	// retain the information contained in the CDP packet.
	Ttl int32 `xml:"ttl,omitempty" json:"ttl,omitempty"`
	// The number of CDP messages we have received from the device.
	Samples int32 `xml:"samples,omitempty" json:"samples,omitempty"`
	// Device ID which identifies the device.
	//
	// By default, the device ID is
	// either the device's fully-qualified host name (including the domain
	// name) or the device's hardware serial number in ASCII.
	DevId string `xml:"devId,omitempty" json:"devId,omitempty"`
	// The advertised IP address that is assigned to the interface of the device
	// on which the CDP message is sent.
	//
	// The device can advertise all addresses for
	// a given protocol suite and, optionally, can advertise one or more loopback
	// IP addresses. But this property only show the first address.
	Address string `xml:"address,omitempty" json:"address,omitempty"`
	// Port ID.
	//
	// An ASCII character string that identifies the port on which
	// the CDP message is sent, e.g. "FastEthernet0/8"
	PortId string `xml:"portId,omitempty" json:"portId,omitempty"`
	// Device Capability
	// `PhysicalNicCdpDeviceCapability`
	DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty" json:"deviceCapability,omitempty"`
	// Software version on the device.
	//
	// A character string that provides
	// information about the software release version that the device is
	// running. e.g. "Cisco Internetwork Operating Syscisco WS-C2940-8TT-S"
	SoftwareVersion string `xml:"softwareVersion,omitempty" json:"softwareVersion,omitempty"`
	// Hardware platform.
	//
	// An ASCII character string that describes the
	// hardware platform of the device , e.g. "cisco WS-C2940-8TT-S"
	HardwarePlatform string `xml:"hardwarePlatform,omitempty" json:"hardwarePlatform,omitempty"`
	// IP prefix.
	//
	// Each IP prefix represents one of the directly connected
	// IP network segments of the local route.
	IpPrefix string `xml:"ipPrefix,omitempty" json:"ipPrefix,omitempty"`
	// ipPrefix length.
	IpPrefixLen int32 `xml:"ipPrefixLen,omitempty" json:"ipPrefixLen,omitempty"`
	// The native VLAN of advertising port.
	//
	// The native VLAN is the VLAN to
	// which a port returns when it is not trunking. Also, the native VLAN
	// is the untagged VLAN on an 802.1Q trunk.
	Vlan int32 `xml:"vlan,omitempty" json:"vlan,omitempty"`
	// Half/full duplex setting of the advertising port.
	FullDuplex *bool `xml:"fullDuplex" json:"fullDuplex,omitempty"`
	// MTU, the maximum transmission unit for the advertising port.
	//
	// Possible
	// values are 1500 through 18190.
	Mtu int32 `xml:"mtu,omitempty" json:"mtu,omitempty"`
	// The configured SNMP system name of the device.
	SystemName string `xml:"systemName,omitempty" json:"systemName,omitempty"`
	// The configured SNMP system OID of the device.
	SystemOID string `xml:"systemOID,omitempty" json:"systemOID,omitempty"`
	// The configured IP address of the SNMP management interface for the
	// device.
	MgmtAddr string `xml:"mgmtAddr,omitempty" json:"mgmtAddr,omitempty"`
	// The configured location of the device.
	Location string `xml:"location,omitempty" json:"location,omitempty"`
}

CDP (Cisco Discovery Protocol) is a link level protocol that allows for discovering the CDP-awared network hardware at either end of a DIRECT connection.

It's only good for direct connection because CDP doesn't get forwarded through switches. It's a simple advertisement protocol which beacons information about the switch or host along with some port information. The CDP information allows ESX Server admins to know which Cisco switch port is connected to any given virtual switch uplink (PNIC).

type PhysicalNicConfig

type PhysicalNicConfig struct {
	DynamicData

	// PhysicalNic device to which configuration applies.
	Device string `xml:"device" json:"device"`
	// The specification of the physical network adapter.
	Spec PhysicalNicSpec `xml:"spec" json:"spec"`
}

The configuration of the physical network adapter containing both the configurable properties and identification information.

type PhysicalNicHint

type PhysicalNicHint struct {
	DynamicData

	// The optional VLAN Id of the network.
	VlanId int32 `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
}

This data object type describes each network of a physical network adapter's network hint.

func (*PhysicalNicHint) GetPhysicalNicHint

func (b *PhysicalNicHint) GetPhysicalNicHint() *PhysicalNicHint

type PhysicalNicHintInfo

type PhysicalNicHintInfo struct {
	DynamicData

	// The physical network adapter device to which
	// this hint applies.
	Device string `xml:"device" json:"device"`
	// The list of subnets that were detected on this
	// physical network adapter.
	Subnet []PhysicalNicIpHint `xml:"subnet,omitempty" json:"subnet,omitempty"`
	// The list of network names that were detected on this
	// physical network adapter.
	Network []PhysicalNicNameHint `xml:"network,omitempty" json:"network,omitempty"`
	// If the uplink directly connects to a CDP-awared network device
	// and the device's CDP broadcast is enabled, this property will be
	// set to return the CDP information that vmkernel received on this
	// Physical NIC.
	//
	// CDP data contains the device information and port ID that
	// the Physical NIC connects to. If the uplink is not connecting to a
	// CDP-awared device or CDP is not enabled on the device, this
	// property will be unset.
	// `PhysicalNicCdpInfo`
	ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty" json:"connectedSwitchPort,omitempty" vim:"2.5"`
	// If the uplink directly connects to an LLDP-aware network device and
	// the device's LLDP broadcast is enabled, this property will be set to
	// return the LLDP information that is received on this physical network
	// adapter.
	//
	// If the uplink is not connecting to a LLDP-aware device or
	// LLDP is not enabled on the device, this property will be unset.
	LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty" json:"lldpInfo,omitempty" vim:"5.0"`
}

The NetworkHint data object type is some information about the network to which the physical network adapter is attached.

type PhysicalNicIpHint

type PhysicalNicIpHint struct {
	PhysicalNicHint

	// The network IP addresses.
	IpSubnet string `xml:"ipSubnet" json:"ipSubnet"`
}

This data object type describes a network in network hint where the network is specified using IP addresses, for example, 10.27.49.1-10.27.49.254

type PhysicalNicLinkInfo

type PhysicalNicLinkInfo struct {
	DynamicData

	// Bit rate on the link.
	SpeedMb int32 `xml:"speedMb" json:"speedMb"`
	// Flag to indicate whether or not the link is capable of
	// full-duplex ("true") or only half-duplex ("false").
	Duplex bool `xml:"duplex" json:"duplex"`
}

The `PhysicalNicLinkInfo` data object describes the link speed and the type of duplex communication.

The link speed indicates the bit rate in megabits per second. The duplex boolean indicates if the link is capable of full-duplex or half-duplex communication.

type PhysicalNicNameHint

type PhysicalNicNameHint struct {
	PhysicalNicHint

	// The network name.
	Network string `xml:"network" json:"network"`
}

This data object type describes a network in network hint where the network describes the color, label, or the name of the network.

type PhysicalNicProfile

type PhysicalNicProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `PhysicalNicProfile` data object represents physical NIC configuration.

Use the `ApplyProfile.policy` list for access to configuration data for the physical NIC profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type PhysicalNicResourcePoolSchedulerDisallowedReason

type PhysicalNicResourcePoolSchedulerDisallowedReason string

type PhysicalNicSpec

type PhysicalNicSpec struct {
	DynamicData

	// The IP configuration on the physical network adapter (applies
	// only to a hosted network adapter).
	//
	// The data object will be NULL on an ESX Server system.
	Ip *HostIpConfig `xml:"ip,omitempty" json:"ip,omitempty"`
	// The link speed and duplexity that this physical network
	// adapter is currently
	// configured to use.
	//
	// If this property is not set, the physical
	// network adapter autonegotiates its proper settings.
	LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
	// If set the flag indicates if the physical network adapter is
	// configured for Enhanced Networking Stack
	EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack" json:"enableEnhancedNetworkingStack,omitempty" vim:"6.7"`
	// If set the flag indicates if the physical network adapter is
	// configured for Enhanced Networking Stack interrupt mode
	EnsInterruptEnabled *bool `xml:"ensInterruptEnabled" json:"ensInterruptEnabled,omitempty" vim:"7.0"`
}

This data object type describes the physical network adapter specification representing the properties on a physical network adapter that can be configured once the object exists.

type PhysicalNicVmDirectPathGen2SupportedMode

type PhysicalNicVmDirectPathGen2SupportedMode string

type PlaceVm

type PlaceVm PlaceVmRequestType

type PlaceVmRequestType

type PlaceVmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification for placing a virtual machine
	// and its virtual disks
	PlacementSpec PlacementSpec `xml:"placementSpec" json:"placementSpec"`
}

The parameters of `ClusterComputeResource.PlaceVm`.

type PlaceVmResponse

type PlaceVmResponse struct {
	Returnval PlacementResult `xml:"returnval" json:"returnval"`
}

type PlaceVmsXCluster added in v0.27.4

type PlaceVmsXCluster PlaceVmsXClusterRequestType

type PlaceVmsXClusterRequestType added in v0.27.4

type PlaceVmsXClusterRequestType struct {
	This          ManagedObjectReference `xml:"_this"`
	PlacementSpec PlaceVmsXClusterSpec   `xml:"placementSpec"`
}

type PlaceVmsXClusterResponse added in v0.27.4

type PlaceVmsXClusterResponse struct {
	Returnval PlaceVmsXClusterResult `xml:"returnval"`
}

type PlaceVmsXClusterResult added in v0.27.4

type PlaceVmsXClusterResult struct {
	DynamicData

	PlacementInfos []PlaceVmsXClusterResultPlacementInfo   `xml:"placementInfos,omitempty"`
	Faults         []PlaceVmsXClusterResultPlacementFaults `xml:"faults,omitempty"`
}

type PlaceVmsXClusterResultPlacementFaults added in v0.27.4

type PlaceVmsXClusterResultPlacementFaults struct {
	DynamicData

	ResourcePool ManagedObjectReference `xml:"resourcePool"`
	VmName       string                 `xml:"vmName"`
	Faults       []LocalizedMethodFault `xml:"faults,omitempty"`
}

type PlaceVmsXClusterResultPlacementInfo added in v0.27.4

type PlaceVmsXClusterResultPlacementInfo struct {
	DynamicData

	VmName         string                `xml:"vmName"`
	Recommendation ClusterRecommendation `xml:"recommendation"`
}

type PlaceVmsXClusterSpec added in v0.27.4

type PlaceVmsXClusterSpec struct {
	DynamicData

	ResourcePools           []ManagedObjectReference              `xml:"resourcePools,omitempty"`
	VmPlacementSpecs        []PlaceVmsXClusterSpecVmPlacementSpec `xml:"vmPlacementSpecs,omitempty"`
	HostRecommRequired      *bool                                 `xml:"hostRecommRequired"`
	DatastoreRecommRequired *bool                                 `xml:"datastoreRecommRequired"`
}

type PlaceVmsXClusterSpecVmPlacementSpec added in v0.27.4

type PlaceVmsXClusterSpecVmPlacementSpec struct {
	DynamicData

	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"`
}

type PlacementAction

type PlacementAction struct {
	ClusterAction

	// Virtual machine reference.
	//
	// Unset if the VM has not been created.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The host where the virtual machine should be placed.
	//
	// Unset if no host recommendation is provided.
	//
	// Refers instance of `HostSystem`.
	TargetHost *ManagedObjectReference `xml:"targetHost,omitempty" json:"targetHost,omitempty"`
	// Specification for placing the configuration files and the virtual
	// disks of the virtual machine on one or more datastores.
	//
	// Unset if no datastore recommendation is provided.
	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
}

Describes a placement action of a single virtual machine.

One or more of such actions can be included in a placement recommendation, and such recommendations can be generated by the `ClusterComputeResource.PlaceVm` method.

type PlacementAffinityRule

type PlacementAffinityRule struct {
	DynamicData

	// Type of affinity rule.
	//
	// The set of possible values are described in
	// `PlacementAffinityRuleRuleType_enum`
	RuleType string `xml:"ruleType" json:"ruleType"`
	// Scope of the affinity rule.
	//
	// The set of possible values are described in
	// `PlacementAffinityRuleRuleScope_enum`
	RuleScope string `xml:"ruleScope" json:"ruleScope"`
	// List of virtual machines that are part of this rule.
	//
	// Refers instances of `VirtualMachine`.
	Vms []ManagedObjectReference `xml:"vms,omitempty" json:"vms,omitempty"`
	// List of PlacementSpec keys that are part of this rule representing
	// virtual machines yet to be placed.
	Keys []string `xml:"keys,omitempty" json:"keys,omitempty"`
}

The `PlacementAffinityRule` data object specifies affinity rules for placement

type PlacementAffinityRuleRuleScope

type PlacementAffinityRuleRuleScope string

Rule scope determines conditions when an affinity rule is satisfied.

The following uses affinity rule as example. cluster: All Vms in the rule list are placed in a single cluster. host: All Vms in the rule list are placed in a single host. storagePod: All Vms in the rule list are placed in a single storagePod.

type PlacementAffinityRuleRuleType

type PlacementAffinityRuleRuleType string

Rule type determines how the affinity rule is to be enforced: affinity: Vms in the list are kept together within the rule scope.

anti-affinity: Vms in the rule list are kept separate across the objects in the rule scope.

type PlacementRankResult

type PlacementRankResult struct {
	DynamicData

	// Reference key for the placement request
	Key string `xml:"key" json:"key"`
	// Candidate cluster for the placement problem
	//
	// Refers instance of `ClusterComputeResource`.
	Candidate ManagedObjectReference `xml:"candidate" json:"candidate"`
	// The reserved storage space for the candidate cluster after placement
	// The unit is in Megabytes
	ReservedSpaceMB int64 `xml:"reservedSpaceMB" json:"reservedSpaceMB"`
	// The expected space usage for the candidate cluster after placement
	// The unit is in Megabytes
	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
	// The expected total space for the candidate cluster after placement
	// The unit is in Megabytes
	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
	// The expected aggregate resource utilization for the candidate cluster
	// after placement
	// The unit is a fractional value between 0 and 1.
	Utilization float64 `xml:"utilization" json:"utilization"`
	// Information about why a given cluster is not recommended for
	// placement
	Faults []LocalizedMethodFault `xml:"faults,omitempty" json:"faults,omitempty"`
}

PlacementRankResult is the class of the result returned by the vCenter Server for rankClustersForPlacement method

type PlacementRankSpec

type PlacementRankSpec struct {
	DynamicData

	// List of VM placement specifications for ranking clusters
	Specs []PlacementSpec `xml:"specs" json:"specs"`
	// List of candidate clusters for the placement request
	//
	// Refers instances of `ClusterComputeResource`.
	Clusters []ManagedObjectReference `xml:"clusters" json:"clusters"`
	// List of affinity rules for the placement request
	Rules []PlacementAffinityRule `xml:"rules,omitempty" json:"rules,omitempty"`
	// List of preferred clusters for individual VM placement requests
	PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty" json:"placementRankByVm,omitempty"`
}

PlacementRankSpec encapsulates all of the inputs passed to the `StorageResourceManager.RankForPlacement` method.

type PlacementResult

type PlacementResult struct {
	DynamicData

	// The list of recommendations for where to place the virtual machine
	// and its virtual disks.
	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
	// Information about any fault in case DRS fails to make a recommendation.
	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
}

`ClusterComputeResource.PlaceVm` method can invoke DRS for recommendations for target hosts and datastores for placing a virtual machine and its virtual disks using xVMotion.

PlacementResult is the class of the result returned by that method.

type PlacementSpec

type PlacementSpec struct {
	DynamicData

	// Priority of the migration operation.
	//
	// The default value is defaultPriority.
	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
	// The virtual machine to be placed.
	//
	// For an intra-vCenter migration, this argument is required.
	// For a cross-vCenter migration, this argument should be unset,
	// and the caller is responsible for applying the DRS-recommended
	// placement to the correct vm.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// Configuration information for the virtual machine.
	//
	// For an intra-vCenter migration, this argument should be unset.
	// For a cross-vCenter migration, this argument is required.
	// In the latter case, the following elements of the configSpec
	// will be expected: version, cpuAllocation, memoryAllocation, numCPUs,
	// memoryMB, files, swapPlacement; in addition, the configSpec.deviceChange
	// should contain all the virtual disks of the virtual machine to be migrated.
	// If configSpec.deviceChange is empty, the vm will be treated as a
	// diskless vm.
	// If a storage profile is specified for a virtual disk or vm configuration,
	// only datastores that match this profile will be considered for that
	// virtual disk or vm configuration.
	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
	// Specification for relocating a virtual machine.
	//
	// Can be used to optionally specify a target host, a target datastore,
	// or a target resource pool. If a target host is specified, this host
	// becomes the recommended host; if a target datastore is specified,
	// this datastore becomes the recommended datastore; if no resource
	// pool is specified, the virtual machine will be attached to the
	// cluster root resource pool; if the target resource pool specified
	// is a VirtualApp, an InvalidArgument fault will be thrown.
	// If a storage profile is specified for a virtual disk or vm configuration,
	// only datastores that match this profile will be considered for that
	// virtual disk or vm configuration.
	// For cross-vCenter migration, the caller
	// should set the service and the folder arguments properly either in
	// the input relocateSpec or in the output relocateSpec in the placement
	// recommendation before passing the relocateSpec to the RelocateVM API.
	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
	// A list of compatible hosts for the virtual machine.
	//
	// This list is ignored if relocateSpec.host is set.
	// For both intra-vCenter and cross-vCenter migrations, this list is required
	// if relocateSpec.host is unset.
	// If neither relocateSpec.host nor a list of compatible hosts are specified,
	// all hosts in the cluster will be considered, in which case, the selected
	// hosts in the PlacementResult are not guaranteed to be compatible with the
	// incoming virtual machine.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
	// A list of compatible datastores for the virtual machine.
	//
	// This list is ignored if relocateSpec.datastore is set.
	// For both intra-vCenter and cross-vCenter migrations, this list is required
	// if relocateSpec.datastore is unset.
	// If neither relocateSpec.datastore nor a list of compatible datastores are
	// specified, all datastores connected to hosts in the cluster will be
	// considered, in which case, the selected datastores in the PlacementResult
	// are not guaranteed to be compatible with the incoming virtual machine.
	//
	// Refers instances of `Datastore`.
	Datastores []ManagedObjectReference `xml:"datastores,omitempty" json:"datastores,omitempty"`
	// A list of compatible datastore clusters for the virtual machine.
	//
	// This list is ignored if relocateSpec.datastore is set.
	// For both intra-vCenter and cross-vCenter migrations, this list can be
	// empty, in which case, the user should set either RelocateSpec.datastore
	// or PlacementSpec.datastores as the target datastore or the list of
	// compatible datastores.
	//
	// Refers instances of `StoragePod`.
	StoragePods []ManagedObjectReference `xml:"storagePods,omitempty" json:"storagePods,omitempty"`
	// Specification for whether to disable pre-requisite vmotions or storage
	// vmotions for virtual machine placement.
	//
	// The default value is true,
	// that is, to disallow such prerequisite moves.
	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty"`
	// A list of rules to respect while placing the virtual machine on
	// target cluster.
	//
	// If the list is empty, rules will not be considered during placement,
	// in case of cross-cluster placement within a VC and cross VC
	// placement across VCs.
	Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr" json:"rules,omitempty"`
	// Client generated identifier as a reference to the placement request
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// Type of the placement.
	//
	// The set of possible values are described in
	// `PlacementSpecPlacementType_enum`
	PlacementType string `xml:"placementType,omitempty" json:"placementType,omitempty"`
	// Specification for a virtual machine clone operation
	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
	// Name for the cloned virtual machine, if the operation type is a clone
	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
}

PlacementSpec encapsulates all of the information passed to the `ClusterComputeResource.PlaceVm` method, which asks DRS for recommendations for target hosts and datastores for placing a virtual machine and its virtual disks in a cluster using unified VMotion.

type PlacementSpecPlacementType

type PlacementSpecPlacementType string

type PlatformConfigFault

type PlatformConfigFault struct {
	HostConfigFault

	// Platform specific text string describing this error.
	Text string `xml:"text" json:"text"`
}

A PlatformConfigFault is a catch-all fault indicating that some error has occurred regarding the configuration of the host.

Data about the fault is available and will be presented as a platform specific string.

This information carried by this fault cannot be localized. Most likely this information will already have been localized to the locale of the server that generated this fault. Where possible, a more specific fault will be thrown.

func (*PlatformConfigFault) GetPlatformConfigFault

func (b *PlatformConfigFault) GetPlatformConfigFault() *PlatformConfigFault

type PlatformConfigFaultFault

type PlatformConfigFaultFault BasePlatformConfigFault

type PnicUplinkProfile

type PnicUplinkProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `PnicUplinkProfile` data object specifies the mapping between a physical NIC and an uplink port.

The `ApplyProfile.policy` property contains the configuration data values.

type PodDiskLocator

type PodDiskLocator struct {
	DynamicData

	// The disk ID.
	DiskId int32 `xml:"diskId" json:"diskId"`
	// The disk move type.
	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty"`
	// The disk backing info.
	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty"`
	// Virtual Disk Profile requirement.
	//
	// Profiles are solution specific.
	// Profile Based Storage Management is a vSphere server extension.
	// The API users who want to provision VMs using Storage Profiles, need to
	// interact with it.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
}

The disk locator class.

type PodStorageDrsEntry

type PodStorageDrsEntry struct {
	DynamicData

	// Storage DRS configuration.
	StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig" json:"storageDrsConfig"`
	// List of recommended actions for the Storage Pod.
	//
	// It is
	// possible that the current set of recommendations may be empty,
	// either due to not having any running dynamic recommendation
	// generation module, or since there may be no recommended actions
	// at this time.
	Recommendation []ClusterRecommendation `xml:"recommendation,omitempty" json:"recommendation,omitempty"`
	// A collection of the DRS faults generated in the last Storage DRS invocation.
	//
	// Each element of the collection is the set of faults generated in one
	// recommendation.
	DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
	// The set of actions that have been performed recently.
	ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty" json:"actionHistory,omitempty"`
}

An entry containing storage DRS configuration, runtime results, and history for a pod `StoragePod`.

type PolicyOption

type PolicyOption struct {
	DynamicData

	// Identifier for the policy option.
	//
	// This value matches one of the
	// keys from the list of possible options in the policy metadata
	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.id*.*ElementDescription.key`).
	Id string `xml:"id" json:"id"`
	// Parameters for the policy option.
	//
	// This list must include all parameters that are not marked as optional
	// in the policy option metadata parameter list
	// (`ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption*\[\].*ProfilePolicyOptionMetadata.parameter*\[\].*ProfileParameterMetadata.optional`).
	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

The `PolicyOption` data object represents one or more configuration values.

A policy option is one of the configuration options from the `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption` list.

func (*PolicyOption) GetPolicyOption

func (b *PolicyOption) GetPolicyOption() *PolicyOption

type PortGroupConnecteeType

type PortGroupConnecteeType string

The type of component connected to a port group.

type PortGroupProfile

type PortGroupProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// Name of the portgroup.
	Name string `xml:"name" json:"name"`
	// VLAN identifier for the port group.
	Vlan VlanProfile `xml:"vlan" json:"vlan"`
	// Virtual switch to which the port group is connected.
	Vswitch VirtualSwitchSelectionProfile `xml:"vswitch" json:"vswitch"`
	// The network policy/policies applicable on the port group.
	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
}

`PortGroupProfile` is the base class for the different port group subprofile objects.

func (*PortGroupProfile) GetPortGroupProfile

func (b *PortGroupProfile) GetPortGroupProfile() *PortGroupProfile

type PosixUserSearchResult

type PosixUserSearchResult struct {
	UserSearchResult

	// If the search result is for a user, then id refers to User ID.
	//
	// For a group,
	// the value of Group ID is assigned to id.
	Id int32 `xml:"id" json:"id"`
	// If the search result is for a user, shellAccess indicates whether shell
	// access has been granted or not.
	ShellAccess *bool `xml:"shellAccess" json:"shellAccess,omitempty"`
}

Searching for users and groups on POSIX systems provides User ID and Group ID information, in addition to that defined in UserSearchResult.

type PostEvent

type PostEvent PostEventRequestType

type PostEventRequestType

type PostEventRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Fully-specified event to post
	EventToPost BaseEvent `xml:"eventToPost,typeattr" json:"eventToPost"`
	// optional task associated with the event
	TaskInfo *TaskInfo `xml:"taskInfo,omitempty" json:"taskInfo,omitempty"`
}

The parameters of `EventManager.PostEvent`.

type PostEventResponse

type PostEventResponse struct {
}

type PostHealthUpdates added in v0.12.0

type PostHealthUpdates PostHealthUpdatesRequestType

type PostHealthUpdatesRequestType added in v0.12.0

type PostHealthUpdatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
	// The changes in health states.
	Updates []HealthUpdate `xml:"updates,omitempty" json:"updates,omitempty"`
}

The parameters of `HealthUpdateManager.PostHealthUpdates`.

type PostHealthUpdatesResponse added in v0.12.0

type PostHealthUpdatesResponse struct {
}

type PowerDownHostToStandByRequestType

type PowerDownHostToStandByRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The task completes when the host successfully
	// enters standby mode and stops sending heartbeat signals.
	// If heartbeats are still coming after timeoutSecs seconds,
	// the host is declared timedout, and the task is assumed
	// failed.
	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
	// This is a parameter used only by VirtualCenter. If
	// set to true, for a DRS disabled cluster, the task will not
	// succeed unless all powered-off virtual machines have been manually
	// reregistered; for a DRS enabled cluster, VirtualCenter will
	// automatically reregister powered-off virtual machines and a
	// powered-off virtual machine may remain at the host only for two
	// reasons: (a) no compatible host found for reregistration, (b) DRS
	// is disabled for the virtual machine.
	EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms" json:"evacuatePoweredOffVms,omitempty"`
}

The parameters of `HostSystem.PowerDownHostToStandBy_Task`.

type PowerDownHostToStandBy_Task

type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType

type PowerDownHostToStandBy_TaskResponse

type PowerDownHostToStandBy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerOffVAppRequestType

type PowerOffVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If force is false, the shutdown order in the vApp is
	// executed. If force is true, all virtual machines are powered-off
	// (regardless of shutdown order).
	Force bool `xml:"force" json:"force"`
}

The parameters of `VirtualApp.PowerOffVApp_Task`.

type PowerOffVApp_Task

type PowerOffVApp_Task PowerOffVAppRequestType

type PowerOffVApp_TaskResponse

type PowerOffVApp_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerOffVMRequestType

type PowerOffVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type PowerOffVM_Task

type PowerOffVM_Task PowerOffVMRequestType

type PowerOffVM_TaskResponse

type PowerOffVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerOnFtSecondaryFailed

type PowerOnFtSecondaryFailed struct {
	VmFaultToleranceIssue

	// The primary virtual machine corresponding to the secondary that is to
	// be powered on
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The name of the primary virtual machine corresponding to the secondary
	// that is to be powered on.
	VmName string `xml:"vmName" json:"vmName"`
	// The host selection type
	HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy" json:"hostSelectionBy"`
	// Information on why the system can not power on a Fault Tolerance
	// secondary virtual machine on specific hosts.
	//
	// Everything in the array
	// should be FtIssuesOnHost.
	HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty" json:"hostErrors,omitempty"`
	// The reason why powering on secondary failed.
	RootCause LocalizedMethodFault `xml:"rootCause" json:"rootCause"`
}

The PowerOnFtSecondaryFailed fault is thrown when the system is unable to power on a Fault Tolerance secondary virtual machine.

It includes a list of failures on different hosts.

type PowerOnFtSecondaryFailedFault

type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed

type PowerOnFtSecondaryTimedout

type PowerOnFtSecondaryTimedout struct {
	Timedout

	// The primary virtual machine corresponding to the secondary that is to
	// be powered on
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The name of the primary virtual machine corresponding to the secondary
	// that is to be powered on.
	VmName string `xml:"vmName" json:"vmName"`
	// The time out value in seconds
	Timeout int32 `xml:"timeout" json:"timeout"`
}

PowerOnFtSecondaryTimedout exception is thrown when Virtual Center fails the operation to power on a Fault Tolerance secondary virtual machine because it is taking longer than expected.

type PowerOnFtSecondaryTimedoutFault

type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout

type PowerOnMultiVMRequestType

type PowerOnMultiVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machines to power on.
	//
	// Required privileges: VirtualMachine.Interact.PowerOn
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
	// An array of `OptionValue` options
	// for this power-on session. The names and values of the
	// options are defined in
	// `ClusterPowerOnVmOption_enum`.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty" vim:"4.1"`
}

The parameters of `Datacenter.PowerOnMultiVM_Task`.

type PowerOnMultiVM_Task

type PowerOnMultiVM_Task PowerOnMultiVMRequestType

type PowerOnMultiVM_TaskResponse

type PowerOnMultiVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerOnVAppRequestType

type PowerOnVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type PowerOnVApp_Task

type PowerOnVApp_Task PowerOnVAppRequestType

type PowerOnVApp_TaskResponse

type PowerOnVApp_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerOnVMRequestType

type PowerOnVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// (optional) The host where the virtual machine is to be powered on.
	// If no host is specified, the current associated host is used. This field must
	// specify a host that is part of the same compute resource that the virtual machine
	// is currently associated with. If this host is not compatible, the current host
	// association is used.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `VirtualMachine.PowerOnVM_Task`.

type PowerOnVM_Task

type PowerOnVM_Task PowerOnVMRequestType

type PowerOnVM_TaskResponse

type PowerOnVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PowerSystemCapability

type PowerSystemCapability struct {
	DynamicData

	// List of available host power policies.
	AvailablePolicy []HostPowerPolicy `xml:"availablePolicy" json:"availablePolicy"`
}

Power System Capability data object.

Exposes policies available in power management system.

type PowerSystemInfo

type PowerSystemInfo struct {
	DynamicData

	// Currently selected host power management policy.
	//
	// This property can have one of the values from
	// `PowerSystemCapability.availablePolicy`.
	CurrentPolicy HostPowerPolicy `xml:"currentPolicy" json:"currentPolicy"`
}

Power System Info data object.

Shows current state of power management system.

type PowerUpHostFromStandByRequestType

type PowerUpHostFromStandByRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The task completes when the host successfully
	// exits standby state and sends a heartbeat signal. If nothing is
	// received from the host for timeoutSec seconds, the host is
	// declared timedout, and the task is assumed failed.
	TimeoutSec int32 `xml:"timeoutSec" json:"timeoutSec"`
}

The parameters of `HostSystem.PowerUpHostFromStandBy_Task`.

type PowerUpHostFromStandBy_Task

type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType

type PowerUpHostFromStandBy_TaskResponse

type PowerUpHostFromStandBy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PrepareCrypto added in v0.12.0

type PrepareCrypto PrepareCryptoRequestType

type PrepareCryptoRequestType added in v0.12.0

type PrepareCryptoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type PrepareCryptoResponse added in v0.12.0

type PrepareCryptoResponse struct {
}

type PrepareVchaRequestType added in v0.18.0

type PrepareVchaRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	NetworkSpec VchaClusterNetworkSpec `xml:"networkSpec" json:"networkSpec"`
}

type PrepareVcha_Task added in v0.18.0

type PrepareVcha_Task PrepareVchaRequestType

type PrepareVcha_TaskResponse added in v0.18.0

type PrepareVcha_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PrivilegeAvailability

type PrivilegeAvailability struct {
	DynamicData

	// The privilege ID.
	PrivId string `xml:"privId" json:"privId"`
	// True if the privilege is granted.
	IsGranted bool `xml:"isGranted" json:"isGranted"`
}

This class defines whether a specific privilege is granted.

type PrivilegePolicyDef

type PrivilegePolicyDef struct {
	DynamicData

	// Name of privilege required for creation.
	CreatePrivilege string `xml:"createPrivilege" json:"createPrivilege"`
	// Name of privilege required for reading.
	ReadPrivilege string `xml:"readPrivilege" json:"readPrivilege"`
	// Name of privilege required for updating.
	UpdatePrivilege string `xml:"updatePrivilege" json:"updatePrivilege"`
	// Name of privilege required for deleting.
	DeletePrivilege string `xml:"deletePrivilege" json:"deletePrivilege"`
}

Describes a basic privilege policy.

type ProductComponentInfo

type ProductComponentInfo struct {
	DynamicData

	// Opaque identifier that is unique for this product component
	Id string `xml:"id" json:"id"`
	// Canonical name of product component
	Name string `xml:"name" json:"name"`
	// Version of product component
	Version string `xml:"version" json:"version"`
	// Release property is a number which increments with each
	// new release of product.
	//
	// Product release may not rev version
	// but release number is always incremented.
	Release int32 `xml:"release" json:"release"`
}

ProductComponentInfo data object type describes installed components.

Product component is defined as a software module that is released and versioned independently but has dependency relationship with other products. If one product, for usability or any other reason, bundles other products, ProductComponentInfo type may be used to describe installed components. For example, ESX product may bundle VI Client in its releases.

type ProfileApplyProfileElement

type ProfileApplyProfileElement struct {
	ApplyProfile

	// The linkable identifier.
	Key string `xml:"key" json:"key"`
}

DataObject which represents an ApplyProfile element.

An ApplyProfile element is an ApplyProfile for a set of host configuration settings which may be instanced. For example, there may be multiple virtual switch instances represented by individual ApplyProfileElement DataObjects.

type ProfileApplyProfileProperty

type ProfileApplyProfileProperty struct {
	DynamicData

	// Name of the property.
	PropertyName string `xml:"propertyName" json:"propertyName"`
	// Flag indicating whether this property is an array of profiles.
	Array bool `xml:"array" json:"array"`
	// Subprofiles that define policies and nested subprofiles.
	Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
}

The `ProfileApplyProfileProperty` data object defines one or more subprofiles.

type ProfileAssociatedEvent

type ProfileAssociatedEvent struct {
	ProfileEvent
}

This event records that a Profile was associated with a managed entitiy.

type ProfileChangedEvent

type ProfileChangedEvent struct {
	ProfileEvent
}

This event records that the profile has beed edited

type ProfileCompositeExpression

type ProfileCompositeExpression struct {
	ProfileExpression

	// Logical operator to be applied between the expressions in
	// the composite expression.
	//
	// e.g: or, and
	Operator string `xml:"operator" json:"operator"`
	// List of expression names that will be used for this composition.
	//
	// The individual expressions will return a boolean. The return values
	// of the individual expressions will be used to compute the final
	// return value of the CompositeExpression.
	// The expressions specified in the list can themselves be
	// CompositeExpressions.
	ExpressionName []string `xml:"expressionName" json:"expressionName"`
}

DataObject to Compose expressions.

It is used to group expressions together. They are similar to a parentheses in an expression.

type ProfileCompositePolicyOptionMetadata

type ProfileCompositePolicyOptionMetadata struct {
	ProfilePolicyOptionMetadata

	// List of optional policy option identifiers that could be combined
	// in this composite policy option.
	//
	// The policy options should already be
	// part of the possible policy options for the policy. See the
	// `ProfilePolicyMetadata*.*ProfilePolicyMetadata.possibleOption`
	// list.
	Option []string `xml:"option" json:"option"`
}

The `ProfileCompositePolicyOptionMetadata` data object represents the metadata information for a composite `PolicyOption`.

The user will retrieve metadata information about a composite policy and then combine policy options to produce the composite policy option.

type ProfileConfigInfo

type ProfileConfigInfo struct {
	DynamicData

	// Name of the profile
	Name string `xml:"name" json:"name"`
	// User Provided description of the profile
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// Flag indicating if the Profile is enabled
	Enabled bool `xml:"enabled" json:"enabled"`
}

func (*ProfileConfigInfo) GetProfileConfigInfo

func (b *ProfileConfigInfo) GetProfileConfigInfo() *ProfileConfigInfo

type ProfileCreateSpec

type ProfileCreateSpec struct {
	DynamicData

	// Name of the profile
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// User Provided description of the profile
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// Flag indicating if the Profile is enabled
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
}

Specification describing the parameters during Profile creation

func (*ProfileCreateSpec) GetProfileCreateSpec

func (b *ProfileCreateSpec) GetProfileCreateSpec() *ProfileCreateSpec

type ProfileCreatedEvent

type ProfileCreatedEvent struct {
	ProfileEvent
}

This event records that a Profile was created.

type ProfileDeferredPolicyOptionParameter

type ProfileDeferredPolicyOptionParameter struct {
	DynamicData

	// Complete path to the `PolicyOption` that defines the parameters.
	InputPath ProfilePropertyPath `xml:"inputPath" json:"inputPath"`
	// List that contains values for the policy parameters.
	//
	// During parameter verification, this property is unspecified
	// if the client has not provided the values for this parameter.
	// See `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`.
	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

The `ProfileDeferredPolicyOptionParameter` data object contains information about a single deferred parameter for host configuration.

  • The Server verifies deferred parameter data when it calls the `HostProfile*.*HostProfile.ExecuteHostProfile` method.
  • The client supplies deferred parameter data for host configuration when it calls the `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task` method.
  • The vCenter Server stores deferred parameter data in answer files (`AnswerFile*.*AnswerFile.userInput`).

type ProfileDescription

type ProfileDescription struct {
	DynamicData

	// Sections which make up the profile description.
	Section []ProfileDescriptionSection `xml:"section" json:"section"`
}

The `ProfileDescription` data object describes a profile.

The description contains multiple sections. Each section describes a part of the profile.

type ProfileDescriptionSection

type ProfileDescriptionSection struct {
	DynamicData

	// Localized message data.
	Description ExtendedElementDescription `xml:"description" json:"description"`
	// List of messages that make up the section.
	Message []LocalizableMessage `xml:"message,omitempty" json:"message,omitempty"`
}

The `ProfileDescriptionSection` data object contains a profile element description and any messages that may be associated with the profile section.

type ProfileDissociatedEvent

type ProfileDissociatedEvent struct {
	ProfileEvent
}

This event records that a Profile was dissociated from a managed entity

type ProfileEvent

type ProfileEvent struct {
	Event

	// Link to the profile to which this event applies
	Profile ProfileEventArgument `xml:"profile" json:"profile"`
}

This event records a Profile specific event.

func (*ProfileEvent) GetProfileEvent

func (b *ProfileEvent) GetProfileEvent() *ProfileEvent

type ProfileEventArgument

type ProfileEventArgument struct {
	EventArgument

	Profile ManagedObjectReference `xml:"profile" json:"profile"`
	Name    string                 `xml:"name" json:"name"`
}

The event argument is a Profile object

type ProfileExecuteError

type ProfileExecuteError struct {
	DynamicData

	// Path to the profile or policy with which the error is associated.
	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
	// Message describing the error.
	Message LocalizableMessage `xml:"message" json:"message"`
}

The `ProfileExecuteError` data object describes an error encountered during host profile execution.

type ProfileExecuteResult

type ProfileExecuteResult struct {
	DynamicData

	// Status of the profile execution operation.
	//
	// The value is a string that contains
	// one of the `ProfileExecuteResultStatus_enum` enumerations.
	Status string `xml:"status" json:"status"`
	// Host configuration specification.
	//
	// This data is valid only if
	// the <code>status</code> value is <code>success</code>.
	// See `ProfileExecuteResultStatus_enum`.
	//
	// Use this data object when you apply the configuration
	// to a host. See the <code>configSpec</code> parameter to the
	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
	// method.
	ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
	// List of property paths.
	//
	// Each path identifies a policy that does not apply
	// to this host. For example, if the precheck policies for a port group are not satisfied,
	// the port group will not be created when you apply the profile to the host.
	// Based on this information, the client might not display that part of the profile tree.
	InapplicablePath []string `xml:"inapplicablePath,omitempty" json:"inapplicablePath,omitempty"`
	// List that describes the required input for host configuration and identifies
	// any policy options that still require parameter data.
	//
	// Each entry in the list
	// specifies the path to a policy and a parameter list. If the call to
	// `HostProfile.ExecuteHostProfile` includes deferred parameters,
	// the <code>requireInput</code> entries
	// (<code>requireInput\[\].</code>`ProfileDeferredPolicyOptionParameter.parameter`\[\])
	// will be populated with the parameter data that was passed to the execute method.
	// For policies that still require input data, the parameter list in the corresponding
	// entry will be null.
	//
	// A vSphere client that displays a GUI can use this information to show the host-specific
	// configuration policy options. The client can highlight required input fields
	// and ask the user for data in increments instead of collecting all of the input at once.
	// For example, in the first pass, the client collects a minimum of user input and
	// sends that to the Server. The Server evaluates the profile and might decide to
	// invalidate a particular part of the subtree or enable a new
	// subtree in the profile. This would result in a new set of invalid paths
	// (`ProfileExecuteResult.inapplicablePath`\[\]) and
	// required input property paths
	// (`ProfileDeferredPolicyOptionParameter*.*ProfileDeferredPolicyOptionParameter.inputPath`).
	// The client can make a series of calls to the method until it achieves a success status.
	//
	// When `HostProfile.ExecuteHostProfile` returns a success status,
	// the <code>requireInput</code> list contains the complete list of parameters,
	// consisting of the following data:
	//     - Deferred parameter values resolved through successive calls to
	//       `HostProfile.ExecuteHostProfile`.
	//     - Default parameter values from the host configuration.
	//     - User-specified values that override the defaults.
	//
	// You can specify the returned <code>requireInput</code> list in the
	// <code>userInput</code> parameter to the
	// `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
	// method. The Server will use the list to update the `AnswerFile`
	// associated with the host.
	RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty" json:"requireInput,omitempty"`
	// List of errors that were encountered during execute.
	//
	// This field will be set if status is set to error.
	Error []ProfileExecuteError `xml:"error,omitempty" json:"error,omitempty"`
}

The `ProfileExecuteResult` data object contains the results from a `HostProfile*.*HostProfile.ExecuteHostProfile` operation.

func (*ProfileExecuteResult) GetProfileExecuteResult added in v0.12.0

func (b *ProfileExecuteResult) GetProfileExecuteResult() *ProfileExecuteResult

type ProfileExecuteResultStatus

type ProfileExecuteResultStatus string

Defines the result status values for a `HostProfile*.*HostProfile.ExecuteHostProfile` operation.

The result data is contained in the

type ProfileExpression

type ProfileExpression struct {
	DynamicData

	// Identifier of this expression.
	//
	// The id has to be unique within a Profile.
	// The id can be used as a key while building composite expressions.
	Id string `xml:"id" json:"id"`
	// User visible display name
	DisplayName string `xml:"displayName" json:"displayName"`
	// Flag indicating if the condition of the expression should be negated.
	//
	// e.g: conditions like VSwitch0 has vmnic0 connected to it can be turned into
	// VSwitch0 doesn't have vmnic0 connected to it.
	Negated bool `xml:"negated" json:"negated"`
}

func (*ProfileExpression) GetProfileExpression

func (b *ProfileExpression) GetProfileExpression() *ProfileExpression

type ProfileExpressionMetadata

type ProfileExpressionMetadata struct {
	DynamicData

	// Id of the SimpleExpression
	ExpressionId ExtendedElementDescription `xml:"expressionId" json:"expressionId"`
	// Parameters that can be specified for this SimpleExpression
	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

DataObject to represent the metadata associated with a SimpleExpression.

type ProfileMetadata

type ProfileMetadata struct {
	DynamicData

	// Type of the Profile
	Key string `xml:"key" json:"key"`
	// Type identifier for the ApplyProfile
	ProfileTypeName string `xml:"profileTypeName,omitempty" json:"profileTypeName,omitempty" vim:"5.0"`
	// Property which describes the profile
	Description *ExtendedDescription `xml:"description,omitempty" json:"description,omitempty"`
	// Property that determines a sorting order for display purposes.
	//
	// If
	// the list contains more than one sort spec, then the precedence should
	// be determined by the list order (i.e. sort first by the first spec in
	// the list, then sort by the second spec in the list, etc).
	SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty" json:"sortSpec,omitempty" vim:"5.0"`
	// Identifies the profile category that this subprofile is a part of.
	//
	// The
	// value of this string should correspond to the key value of a
	// `ProfileCategoryMetadata` object's `ElementDescription.key`
	// in its `ProfileCategoryMetadata.id` property.
	ProfileCategory string `xml:"profileCategory,omitempty" json:"profileCategory,omitempty" vim:"5.1"`
	// Property indicating that the subprofile described by this
	// <code>ProfileMetadata</code> object is declared in the
	// `ProfileComponentMetadata.profileTypeNames` of the specified
	// profile component.
	//
	// The value of this property should correspond to the key
	// value of the `ProfileComponentMetadata` object's
	// `ElementDescription.key` in its
	// `ProfileComponentMetadata.id` property.
	// This property should not be present for subprofiles that are not directly
	// declared in the `ProfileComponentMetadata.profileTypeNames`
	// property of a `ProfileComponentMetadata` object.
	ProfileComponent string `xml:"profileComponent,omitempty" json:"profileComponent,omitempty" vim:"5.1"`
	// A list of <code>ProfileOperationMessage</code> for this profile.
	OperationMessages []ProfileMetadataProfileOperationMessage `xml:"operationMessages,omitempty" json:"operationMessages,omitempty" vim:"6.7"`
}

This data object represents the metadata information of a Profile.

type ProfileMetadataProfileOperationMessage added in v0.18.0

type ProfileMetadataProfileOperationMessage struct {
	DynamicData

	// The operation name.
	OperationName string `xml:"operationName" json:"operationName"`
	// The localization message for the operation.
	Message LocalizableMessage `xml:"message" json:"message"`
}

Some operations on host profile documents may cause unexpected result.

For example, deleting a profile instance of vswitch may break the network connectivity. This data class provides the localizable message which may be presented before or after an operation happens.

type ProfileMetadataProfileSortSpec

type ProfileMetadataProfileSortSpec struct {
	DynamicData

	// The id of the policy used to sort instances of the profile
	PolicyId string `xml:"policyId" json:"policyId"`
	// The parameter to be used for sorting.
	//
	// Note that if the policy to be
	// used for sorting has multiple possible policy options, all possible
	// policy options defined for that policy type must have this parameter.
	Parameter string `xml:"parameter" json:"parameter"`
}

type ProfileNumericComparator

type ProfileNumericComparator string

Enumerates different operations supported for comparing

type ProfileParameterMetadata

type ProfileParameterMetadata struct {
	DynamicData

	// Identifier for the parameter.
	Id ExtendedElementDescription `xml:"id" json:"id"`
	// Type of the parameter.
	Type string `xml:"type" json:"type"`
	// Whether the parameter is optional.
	Optional bool `xml:"optional" json:"optional"`
	// Default value that can be used for the parameter.
	DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr" json:"defaultValue,omitempty"`
	// Whether the parameter will not be displayed in UI.
	Hidden *bool `xml:"hidden" json:"hidden,omitempty" vim:"6.5"`
	// Whether the parameter is security sensitive.
	SecuritySensitive *bool `xml:"securitySensitive" json:"securitySensitive,omitempty" vim:"6.5"`
	// Indicates that the parameter value is read-only.
	ReadOnly *bool `xml:"readOnly" json:"readOnly,omitempty" vim:"6.5"`
	// Relations with other profile or parameters.
	ParameterRelations []ProfileParameterMetadataParameterRelationMetadata `xml:"parameterRelations,omitempty" json:"parameterRelations,omitempty" vim:"6.7"`
}

The `ProfileParameterMetadata` data object represents the metadata information for expressions, policy options, and host-specific configuration data.

type ProfileParameterMetadataParameterRelationMetadata added in v0.18.0

type ProfileParameterMetadataParameterRelationMetadata struct {
	DynamicData

	// The types of this relation.
	RelationTypes []string `xml:"relationTypes,omitempty" json:"relationTypes,omitempty"`
	// The valid value list.
	Values []AnyType `xml:"values,omitempty,typeattr" json:"values,omitempty"`
	// The property path of the related profile/parameter.
	Path *ProfilePropertyPath `xml:"path,omitempty" json:"path,omitempty"`
	// The minimal count of values to map to.
	MinCount int32 `xml:"minCount" json:"minCount"`
	// The maximum count of values to map to.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

This class to define a relation between the parameter and a profile or a parameter, or a constant list of values.

type ProfileParameterMetadataRelationType added in v0.18.0

type ProfileParameterMetadataRelationType string

type ProfilePolicy

type ProfilePolicy struct {
	DynamicData

	// Identifier for the policy.
	Id string `xml:"id" json:"id"`
	// Configuration parameters.
	PolicyOption BasePolicyOption `xml:"policyOption,typeattr" json:"policyOption"`
}

The `ProfilePolicy` data object represents a policy.

type ProfilePolicyMetadata

type ProfilePolicyMetadata struct {
	DynamicData

	// Identifier for the policy.
	Id ExtendedElementDescription `xml:"id" json:"id"`
	// Possible policy options that can be set for a policy of the
	// given kind.
	//
	// `HostProfile`s and subprofiles
	// will contain selected policy options from this list. See
	// `PolicyOption`.
	PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr" json:"possibleOption"`
}

The `ProfilePolicyMetadata` data object represents the metadata information for a `ProfilePolicy`.

type ProfilePolicyOptionMetadata

type ProfilePolicyOptionMetadata struct {
	DynamicData

	// Identifier for the policy option.
	//     - The <code>id.key</code> value
	//       (`ExtendedElementDescription*.*ElementDescription.key`)
	//       identifies the policy option type.
	//     - The <code>id.label</code> property
	//       (`ExtendedElementDescription*.*Description.label`)
	//       contains a brief localizable message describing the policy option.
	//     - The <code>id.summary</code> property
	//       (`ExtendedElementDescription*.*Description.summary`)
	//       contains a localizable summary of the policy option.
	//       Summary information can contain embedded variable names which can
	//       be replaced with values from the <code>parameter</code> property.
	Id ExtendedElementDescription `xml:"id" json:"id"`
	// Metadata about the parameters for the policy option.
	Parameter []ProfileParameterMetadata `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

The `ProfilePolicyOptionMetadata` data object contains the metadata information for a `PolicyOption`.

func (*ProfilePolicyOptionMetadata) GetProfilePolicyOptionMetadata

func (b *ProfilePolicyOptionMetadata) GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata

type ProfileProfileStructure

type ProfileProfileStructure struct {
	DynamicData

	// Identifier for the profile type
	ProfileTypeName string `xml:"profileTypeName" json:"profileTypeName"`
	// SubProfile properties available for this profile
	Child []ProfileProfileStructureProperty `xml:"child,omitempty" json:"child,omitempty"`
}

type ProfileProfileStructureProperty

type ProfileProfileStructureProperty struct {
	DynamicData

	// Name of the property where this ProfileStructureProperty is being used
	PropertyName string `xml:"propertyName" json:"propertyName"`
	// Flag indicating if this property is an Array of profiles
	Array bool `xml:"array" json:"array"`
	// Details about the profile contained within this property
	Element ProfileProfileStructure `xml:"element" json:"element"`
}

type ProfilePropertyPath

type ProfilePropertyPath struct {
	DynamicData

	// Complete path to the leaf profile, relative to the root of the host profile
	// document.
	ProfilePath string `xml:"profilePath" json:"profilePath"`
	// Policy identifier.
	PolicyId string `xml:"policyId,omitempty" json:"policyId,omitempty"`
	// Key for a parameter in the policy specified by <code>policyId</code>.
	//
	// See `PolicyOption*.*PolicyOption.parameter`
	// and `KeyAnyValue.key`.
	ParameterId string `xml:"parameterId,omitempty" json:"parameterId,omitempty" vim:"5.1"`
	// Policy option identifier.
	PolicyOptionId string `xml:"policyOptionId,omitempty" json:"policyOptionId,omitempty" vim:"6.7"`
}

The `ProfilePropertyPath` data object represents the path to a profile, policy option, or specific parameter.

If <code>profilePath</code>, <code>policyId</code>, and <code>parameterId</code> are all specified, the combination of the three identifies a particular parameter. If only <code>profilePath</code> and <code>policyId</code> are specified, the combination identifies a specific profile policy option. If just the <code>profilePath</code> is specified, the data object identifies a profile instance.

type ProfileReferenceHostChangedEvent

type ProfileReferenceHostChangedEvent struct {
	ProfileEvent

	// The newly associated reference host with this profile
	//
	// Refers instance of `HostSystem`.
	ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty" json:"referenceHost,omitempty"`
	// The newly associated reference host name
	ReferenceHostName string `xml:"referenceHostName,omitempty" json:"referenceHostName,omitempty" vim:"6.5"`
	// The previous reference host name
	PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty" json:"prevReferenceHostName,omitempty" vim:"6.5"`
}

This event records that the reference host associated with this profile has changed

type ProfileRemovedEvent

type ProfileRemovedEvent struct {
	ProfileEvent
}

This event records that a Profile was removed.

type ProfileSerializedCreateSpec

type ProfileSerializedCreateSpec struct {
	ProfileCreateSpec

	// Representation of the profile in the string form.
	ProfileConfigString string `xml:"profileConfigString" json:"profileConfigString"`
}

The `ProfileSerializedCreateSpec` data object defines a string that contains a serialized representation of a host profile.

func (*ProfileSerializedCreateSpec) GetProfileSerializedCreateSpec

func (b *ProfileSerializedCreateSpec) GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec

type ProfileSimpleExpression

type ProfileSimpleExpression struct {
	ProfileExpression

	// Type of the simple expression to instantiate.
	//
	// The expressionType should be derived from the available expressions as
	// listed in the metadata.
	ExpressionType string `xml:"expressionType" json:"expressionType"`
	// The parameters for the expressionType.
	//
	// The list of parameters needed for a simple expression can
	// be obtained from the metadata.
	Parameter []KeyAnyValue `xml:"parameter,omitempty" json:"parameter,omitempty"`
}

DataObject represents a pre-defined expression

type ProfileUpdateFailed

type ProfileUpdateFailed struct {
	VimFault

	// Failures encountered during update/validation
	Failure []ProfileUpdateFailedUpdateFailure `xml:"failure" json:"failure"`
	// Warnings encountered during update/validation
	Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty" json:"warnings,omitempty" vim:"6.7"`
}

Errors were detected during Profile update.

type ProfileUpdateFailedFault

type ProfileUpdateFailedFault ProfileUpdateFailed

type ProfileUpdateFailedUpdateFailure

type ProfileUpdateFailedUpdateFailure struct {
	DynamicData

	// Location in the profile which has the error
	ProfilePath ProfilePropertyPath `xml:"profilePath" json:"profilePath"`
	// Message which explains the problem encountered
	ErrMsg LocalizableMessage `xml:"errMsg" json:"errMsg"`
}

type PromoteDisksRequestType

type PromoteDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If true, then these disks will be unlinked before consolidation.
	Unlink bool `xml:"unlink" json:"unlink"`
	// The set of disks that are to be promoted.
	// If this value is unset or the array is empty,
	// all disks which have delta disk backings are promoted.
	Disks []VirtualDisk `xml:"disks,omitempty" json:"disks,omitempty"`
}

The parameters of `VirtualMachine.PromoteDisks_Task`.

type PromoteDisks_Task

type PromoteDisks_Task PromoteDisksRequestType

type PromoteDisks_TaskResponse

type PromoteDisks_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type PropertyChange

type PropertyChange struct {
	DynamicData

	// Property or nested property to which the change applies.
	//
	// Nested
	// properties are specified by paths; for example,
	//     - foo.bar
	//     - foo.arProp\["key val"\]
	//     - foo.arProp\["key val"\].baz
	Name string `xml:"name" json:"name"`
	// Change operation for the property.
	//
	// Valid values are:
	// <dl>
	// <dt>add</dt>
	// <dd>The property is a collection and the change inserts an element
	// into the collection.</dd>
	// <dt>remove</dt>
	// <dd>The property is a collection and the change deletes an element
	// from the collection.</dd>
	// <dt>assign</dt>
	// <dd>The change is a new value for the property.</dd>
	// <dt>indirectRemove</dt>
	// <dd>The property was removed because a containing property was removed
	// or unset</dd>
	// </dl>
	Op PropertyChangeOp `xml:"op" json:"op"`
	// New value for the property when "op" is either "add" or "assign".
	Val AnyType `xml:"val,typeattr" json:"val"`
}

Describes a change to a property.

type PropertyChangeOp

type PropertyChangeOp string

Enumeration of possible changes to a property.

type PropertyFilterSpec

type PropertyFilterSpec struct {
	DynamicData

	// Set of properties to include in the filter, specified for each object
	// type.
	PropSet []PropertySpec `xml:"propSet" json:"propSet"`
	// Set of specifications that determine the objects to filter.
	ObjectSet []ObjectSpec `xml:"objectSet" json:"objectSet"`
	// Control how to report missing objects during filter creation.
	//
	// If false or unset and `PropertyFilterSpec.objectSet` refers to missing objects,
	// filter creation will fail with a `ManagedObjectNotFound` fault.
	//
	// If true and `PropertyFilterSpec.objectSet` refers
	// to missing objects, filter creation will not fail and missing objects
	// will be reported via filter results. This is the recommended setting
	// when `PropertyFilterSpec.objectSet` refers to
	// transient objects.
	//
	// In an `UpdateSet` missing objects will
	// appear in the `PropertyFilterUpdate.missingSet` field.
	//
	// In a `RetrieveResult` missing objects will
	// simply be omitted from the objects field.
	//
	// For a call to `PropertyCollector.RetrieveProperties` missing objects will simply
	// be omitted from the results.
	ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults" json:"reportMissingObjectsInResults,omitempty" vim:"4.1"`
}

Specify the property data that is included in a filter.

A filter can specify part of a single managed object, or parts of multiple related managed objects in an inventory hierarchy - for example, to collect updates from all virtual machines in a given folder.

type PropertyFilterUpdate

type PropertyFilterUpdate struct {
	DynamicData

	// Filter that was updated.
	//
	// Refers instance of `PropertyFilter`.
	Filter ManagedObjectReference `xml:"filter" json:"filter"`
	// Set of changes to object properties in the filter.
	ObjectSet []ObjectUpdate `xml:"objectSet,omitempty" json:"objectSet,omitempty"`
	// Objects that could not be found on the server, but were specified in a
	// `PropertyFilterSpec.objectSet`.
	//
	// This field will only be populated for objects that were determined
	// to be missing since the data version passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` and will not contain objects that were missing
	// prior to that data version.
	MissingSet []MissingObject `xml:"missingSet,omitempty" json:"missingSet,omitempty"`
}

The `PropertyFilterUpdate` data object type contains a list of updates to data visible through a specific filter.

Note that if a property changes through multiple filters, then a client receives an update for each filter.

type PropertySpec

type PropertySpec struct {
	DynamicData

	// Name of the managed object type being collected.
	Type string `xml:"type" json:"type"`
	// Specifies whether or not all properties of the object are read.
	//
	// If
	// this property is set to true, the `PropertySpec.pathSet` property is ignored.
	All *bool `xml:"all" json:"all,omitempty"`
	// Specifies which managed object properties are retrieved.
	//
	// If the `PropertySpec.pathSet` is empty, then the
	// `PropertyCollector` retrieves references to the managed objects
	// and no managed object properties are collected.
	PathSet []string `xml:"pathSet,omitempty" json:"pathSet,omitempty"`
}

Within a `PropertyFilterSpec`, A `PropertySpec` specifies which properties should be reported to the client for objects of the given managed object type that are visited and not skipped.

One more subtle side effect is that if a managed object is visited and not skipped, but there is no `PropertySpec` associated with the managed object's type, the managed object will not be reported to the client.

Also, the set of properties applicable to a given managed object type is the union of the properties implied by the `PropertySpec` objects even, in the case of a `RetrieveResult`, where there may be an applicable `PropertySpec` in more than one filter.

type PutUsbScanCodes added in v0.12.0

type PutUsbScanCodes PutUsbScanCodesRequestType

type PutUsbScanCodesRequestType added in v0.12.0

type PutUsbScanCodesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Spec UsbScanCodeSpec        `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.PutUsbScanCodes`.

type PutUsbScanCodesResponse added in v0.12.0

type PutUsbScanCodesResponse struct {
	Returnval int32 `xml:"returnval" json:"returnval"`
}

type QuarantineModeFault added in v0.12.0

type QuarantineModeFault struct {
	VmConfigFault

	VmName    string `xml:"vmName" json:"vmName"`
	FaultType string `xml:"faultType" json:"faultType"`
}

type QuarantineModeFaultFault added in v0.12.0

type QuarantineModeFaultFault QuarantineModeFault

type QuarantineModeFaultFaultType added in v0.12.0

type QuarantineModeFaultFaultType string

type QueryAnswerFileStatusRequestType

type QueryAnswerFileStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The hosts the answer file is associated with.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.QueryAnswerFileStatus`.

type QueryAnswerFileStatusResponse

type QueryAnswerFileStatusResponse struct {
	Returnval []AnswerFileStatusResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAssignedLicensesRequestType

type QueryAssignedLicensesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the entity. E.g. HostSystem.
	EntityId string `xml:"entityId,omitempty" json:"entityId,omitempty"`
}

The parameters of `LicenseAssignmentManager.QueryAssignedLicenses`.

type QueryAssignedLicensesResponse

type QueryAssignedLicensesResponse struct {
	Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailableDisksForVmfsRequestType

type QueryAvailableDisksForVmfsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The managed object reference of the VMFS datastore
	// you want extents for.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

The parameters of `HostDatastoreSystem.QueryAvailableDisksForVmfs`.

type QueryAvailableDisksForVmfsResponse

type QueryAvailableDisksForVmfsResponse struct {
	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailableDvsSpecRequestType

type QueryAvailableDvsSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If set to true, return only the recommended versions.
	// If set to false, return only the not recommended versions.
	// If unset, return all supported versions.
	Recommended *bool `xml:"recommended" json:"recommended,omitempty" vim:"6.0"`
}

The parameters of `DistributedVirtualSwitchManager.QueryAvailableDvsSpec`.

type QueryAvailableDvsSpecResponse

type QueryAvailableDvsSpecResponse struct {
	Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailablePartitionRequestType

type QueryAvailablePartitionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryAvailablePartitionResponse

type QueryAvailablePartitionResponse struct {
	Returnval []HostDiagnosticPartition `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailablePerfMetricRequestType

type QueryAvailablePerfMetricRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The *managed object* that
	// provides performance metrics.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Starting time (server time) for a period of time from which to return
	// available metrics. If not specified, defaults to oldest available metric
	// for the specified entity.
	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
	// Ending time (server time) for a period of time from which to return
	// available performance metrics. If not specified, defaults to the most
	// recently generated metric for the specified entity.
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
	// Period of time from which to retrieve metrics, defined by intervalId
	// (rather than beginTime or endTime). Valid intervalIds include:
	//     - For real-time counters, the `refreshRate` of
	//       the *performance
	//       provider*.
	//     - For historical counters, the `samplingPeriod` of the *historical interval*.
	//
	// If this parameter is not specified, the system returns available metrics
	// for historical statistics&#46;
	IntervalId int32 `xml:"intervalId,omitempty" json:"intervalId,omitempty"`
}

The parameters of `PerformanceManager.QueryAvailablePerfMetric`.

type QueryAvailablePerfMetricResponse

type QueryAvailablePerfMetricResponse struct {
	Returnval []PerfMetricId `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailableSsds

type QueryAvailableSsds QueryAvailableSsdsRequestType

type QueryAvailableSsdsRequestType

type QueryAvailableSsdsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VFFS to extend. See `FileSystemMountInfo`.
	VffsPath string `xml:"vffsPath,omitempty" json:"vffsPath,omitempty"`
}

The parameters of `HostStorageSystem.QueryAvailableSsds`.

type QueryAvailableSsdsResponse

type QueryAvailableSsdsResponse struct {
	Returnval []HostScsiDisk `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryAvailableTimeZonesRequestType

type QueryAvailableTimeZonesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryAvailableTimeZonesResponse

type QueryAvailableTimeZonesResponse struct {
	Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryBootDevices

type QueryBootDevices QueryBootDevicesRequestType

type QueryBootDevicesRequestType

type QueryBootDevicesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryBootDevicesResponse

type QueryBootDevicesResponse struct {
	Returnval *HostBootDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryBoundVnics

type QueryBoundVnics QueryBoundVnicsRequestType

type QueryBoundVnicsRequestType

type QueryBoundVnicsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// iSCSI adapter name for which the method to be
	// applied.
	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
}

The parameters of `IscsiManager.QueryBoundVnics`.

type QueryBoundVnicsResponse

type QueryBoundVnicsResponse struct {
	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryCandidateNics

type QueryCandidateNics QueryCandidateNicsRequestType

type QueryCandidateNicsRequestType

type QueryCandidateNicsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// iSCSI Adapter name for which the method to be
	// applied.
	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
}

The parameters of `IscsiManager.QueryCandidateNics`.

type QueryCandidateNicsResponse

type QueryCandidateNicsResponse struct {
	Returnval []IscsiPortInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryChangedDiskAreasRequestType

type QueryChangedDiskAreasRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Snapshot for which changes that have been made sine
	// "changeId" should be computed. If not set, changes are computed
	// against the "current" snapshot of the virtual machine. However,
	// using the "current" snapshot will only work for virtual machines
	// that are powered off.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
	// Identifies the virtual disk for which to compute changes.
	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
	// Start Offset in bytes at which to start computing changes.
	// Typically, callers will make multiple calls to this function, starting
	// with startOffset 0 and then examine the "length" property in the
	// returned DiskChangeInfo structure, repeatedly calling queryChangedDiskAreas
	// until a map forthe entire virtual disk has been obtained.
	StartOffset int64 `xml:"startOffset" json:"startOffset"`
	// Identifyer referring to a point in the past that should be used
	// as the point in time at which to begin including changes to the disk in
	// the result. A typical use case would be a backup application obtaining a
	// changeId from a virtual disk's backing info when performing a
	// backup. When a subsequent incremental backup is to be performed, this
	// change Id can be used to obtain a list of changed areas on disk.
	ChangeId string `xml:"changeId" json:"changeId"`
}

The parameters of `VirtualMachine.QueryChangedDiskAreas`.

type QueryChangedDiskAreasResponse

type QueryChangedDiskAreasResponse struct {
	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
}

type QueryCmmds

type QueryCmmds QueryCmmdsRequestType

type QueryCmmdsRequestType

type QueryCmmdsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of CMMDS query specs.
	Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries" json:"queries"`
}

The parameters of `HostVsanInternalSystem.QueryCmmds`.

type QueryCmmdsResponse

type QueryCmmdsResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryCompatibleHostForExistingDvsRequestType

type QueryCompatibleHostForExistingDvsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Where to look for hosts. Supported types of objects for
	// this parameter are `Datacenter`,
	// `ComputeResource` and `Folder`.
	//
	// Refers instance of `ManagedEntity`.
	Container ManagedObjectReference `xml:"container" json:"container"`
	// Whether to search for hosts in the subfolders,
	// if applicable. In the case when container is a `Datacenter`,
	// the recursive flag is applied to its HostFolder.
	Recursive bool `xml:"recursive" json:"recursive"`
	// Search the host based on the specification published in the
	// `DVSCapability.compatibleHostComponentProductInfo`
	// of a `DistributedVirtualSwitch`. If not
	// set, it is assumed to be the specification that a
	// DistributedVirtualSwitch would have if it is created
	// with the default `DistributedVirtualSwitchProductSpec`.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
}

The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForExistingDvs`.

type QueryCompatibleHostForExistingDvsResponse

type QueryCompatibleHostForExistingDvsResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryCompatibleHostForNewDvsRequestType

type QueryCompatibleHostForNewDvsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Where to look for hosts. Supported types of objects for
	// this parameter are `Datacenter`,
	// `ComputeResource` and `Folder`.
	//
	// Refers instance of `ManagedEntity`.
	Container ManagedObjectReference `xml:"container" json:"container"`
	// Whether to search for hosts in the subfolders,
	// if applicable. In the case when container is a `Datacenter`,
	// the recursive flag is applied to its HostFolder.
	Recursive bool `xml:"recursive" json:"recursive"`
	// The productSpec of a `DistributedVirtualSwitch`.
	// If not set, it is assumed to be the default one used for
	// DistributedVirtualSwitch creation.
	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
}

The parameters of `DistributedVirtualSwitchManager.QueryCompatibleHostForNewDvs`.

type QueryCompatibleHostForNewDvsResponse

type QueryCompatibleHostForNewDvsResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryCompatibleVmnicsFromHosts added in v0.29.0

type QueryCompatibleVmnicsFromHosts QueryCompatibleVmnicsFromHostsRequestType

type QueryCompatibleVmnicsFromHostsRequestType added in v0.29.0

type QueryCompatibleVmnicsFromHostsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The array of hosts on which the query is to be made to
	// fetch valid PhysicalNics on each host.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
	// The distributed virtual switch on which the query is to be
	// made.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	Dvs ManagedObjectReference `xml:"dvs" json:"dvs"`
}

The parameters of `DistributedVirtualSwitchManager.QueryCompatibleVmnicsFromHosts`.

type QueryCompatibleVmnicsFromHostsResponse added in v0.29.0

type QueryCompatibleVmnicsFromHostsResponse struct {
	Returnval []DVSManagerPhysicalNicsList `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryComplianceStatusRequestType

type QueryComplianceStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, compliance result for the specified profiles will be
	// returned. This acts like a filtering criteria for the ComplianceResults based on
	// specified profiles.
	//
	// Refers instances of `Profile`.
	Profile []ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
	// If specified, compliance results for these entities will be returned.
	// This acts like a filtering criteria for the ComplianceResults based on entities.
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `ProfileComplianceManager.QueryComplianceStatus`.

type QueryComplianceStatusResponse

type QueryComplianceStatusResponse struct {
	Returnval []ComplianceResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryConfigOption

type QueryConfigOption QueryConfigOptionRequestType

type QueryConfigOptionDescriptorRequestType

type QueryConfigOptionDescriptorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryConfigOptionDescriptorResponse

type QueryConfigOptionDescriptorResponse struct {
	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryConfigOptionEx

type QueryConfigOptionEx QueryConfigOptionExRequestType

type QueryConfigOptionExRequestType

type QueryConfigOptionExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Search criteria and filters to control the result.
	// If a `EnvironmentBrowserConfigOptionQuerySpec.key` or
	// `EnvironmentBrowserConfigOptionQuerySpec.host` (or both)
	// are specified, they will be used to search for a config option.
	// If `EnvironmentBrowserConfigOptionQuerySpec.guestId`
	// is nonempty, the `VirtualMachineConfigOption.guestOSDescriptor`
	// array of the config option is filtered to match against the guest
	// IDs in the spec. If there is no match, the whole list is returned.
	// If the spec argument is omitted, the default
	// `VirtualMachineConfigOption` for this environment browser is
	// returned.
	Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `EnvironmentBrowser.QueryConfigOptionEx`.

type QueryConfigOptionExResponse

type QueryConfigOptionExResponse struct {
	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryConfigOptionRequestType

type QueryConfigOptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The key found in the VirtualMachineConfigOptionDescriptor,
	// obtained by invoking the
	// `EnvironmentBrowser.QueryConfigOptionDescriptor` operation.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The host whose ConfigOption is requested.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `EnvironmentBrowser.QueryConfigOption`.

type QueryConfigOptionResponse

type QueryConfigOptionResponse struct {
	Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryConfigTarget

type QueryConfigTarget QueryConfigTargetRequestType

type QueryConfigTargetRequestType

type QueryConfigTargetRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, the host whose default BackingInfo is requested.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `EnvironmentBrowser.QueryConfigTarget`.

type QueryConfigTargetResponse

type QueryConfigTargetResponse struct {
	Returnval *ConfigTarget `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryConfiguredModuleOptionStringRequestType

type QueryConfiguredModuleOptionStringRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Module name.
	Name string `xml:"name" json:"name"`
}

The parameters of `HostKernelModuleSystem.QueryConfiguredModuleOptionString`.

type QueryConfiguredModuleOptionStringResponse

type QueryConfiguredModuleOptionStringResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryConnectionInfo

type QueryConnectionInfo QueryConnectionInfoRequestType

type QueryConnectionInfoRequestType

type QueryConnectionInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The target of the query.
	Hostname string `xml:"hostname" json:"hostname"`
	// The port number of the target host. For ESX 2.x this is the authd port
	// (902 by default). For ESX 3.x and above and for VMware Server hosts
	// this is the https port (443 by default). You can specify -1 to have the
	// vCenter Server try the default ports.
	Port int32 `xml:"port" json:"port"`
	// The name of the user.
	Username string `xml:"username" json:"username"`
	// The password of the user.
	Password string `xml:"password" json:"password"`
	// The expected SSL thumbprint of the host's certificate.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
}

The parameters of `Datacenter.QueryConnectionInfo`.

type QueryConnectionInfoResponse

type QueryConnectionInfoResponse struct {
	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
}

type QueryConnectionInfoViaSpecRequestType

type QueryConnectionInfoViaSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The connection spec for the host to be queried. It must contain
	// values for all parameters required by `Datacenter.QueryConnectionInfo`
	// See `Datacenter.QueryConnectionInfo` or a list of thrown expections.
	Spec HostConnectSpec `xml:"spec" json:"spec"`
}

The parameters of `Datacenter.QueryConnectionInfoViaSpec`.

type QueryConnectionInfoViaSpecResponse

type QueryConnectionInfoViaSpecResponse struct {
	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
}

type QueryConnections added in v0.24.0

type QueryConnections QueryConnectionsRequestType

type QueryConnectionsRequestType added in v0.24.0

type QueryConnectionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryConnectionsResponse added in v0.24.0

type QueryConnectionsResponse struct {
	Returnval []BaseVirtualMachineConnection `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type QueryCryptoKeyStatus added in v0.21.0

type QueryCryptoKeyStatus QueryCryptoKeyStatusRequestType

type QueryCryptoKeyStatusRequestType added in v0.21.0

type QueryCryptoKeyStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The Crypto Key Ids to query.
	KeyIds []CryptoKeyId `xml:"keyIds,omitempty" json:"keyIds,omitempty"`
	// \[in\] The key state to check. Supported value:
	// 0x01. check if key data is available to VC.
	// 0x02. check the VMs which use that key.
	// 0x04. check the hosts using this key as host key.
	// 0x08. Check 3rd party program which use that key.
	// Other bits - reserved and will be igonred.
	CheckKeyBitMap int32 `xml:"checkKeyBitMap" json:"checkKeyBitMap"`
}

The parameters of `CryptoManagerKmip.QueryCryptoKeyStatus`.

type QueryCryptoKeyStatusResponse added in v0.21.0

type QueryCryptoKeyStatusResponse struct {
	Returnval []CryptoManagerKmipCryptoKeyStatus `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDatacenterConfigOptionDescriptor added in v0.18.0

type QueryDatacenterConfigOptionDescriptor QueryDatacenterConfigOptionDescriptorRequestType

type QueryDatacenterConfigOptionDescriptorRequestType added in v0.18.0

type QueryDatacenterConfigOptionDescriptorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryDatacenterConfigOptionDescriptorResponse added in v0.18.0

type QueryDatacenterConfigOptionDescriptorResponse struct {
	Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDatastorePerformanceSummaryRequestType

type QueryDatastorePerformanceSummaryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore for which summary statistics is requested.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `StorageResourceManager.QueryDatastorePerformanceSummary`.

type QueryDatastorePerformanceSummaryResponse

type QueryDatastorePerformanceSummaryResponse struct {
	Returnval []StoragePerformanceSummary `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDateTime

type QueryDateTime QueryDateTimeRequestType

type QueryDateTimeRequestType

type QueryDateTimeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryDateTimeResponse

type QueryDateTimeResponse struct {
	Returnval time.Time `xml:"returnval" json:"returnval"`
}

type QueryDescriptions

type QueryDescriptions QueryDescriptionsRequestType

type QueryDescriptionsRequestType

type QueryDescriptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the host. If not specified, then it defaults
	// to the server itself. For example, if called on
	// VirtualCenter, then the value defaults to VirtualCenter
	// logs. When called on an ESX server host, the host should
	// not be specified.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `DiagnosticManager.QueryDescriptions`.

type QueryDescriptionsResponse

type QueryDescriptionsResponse struct {
	Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDirectoryInfo added in v0.31.0

type QueryDirectoryInfo QueryDirectoryInfoRequestType

type QueryDirectoryInfoRequestType added in v0.31.0

type QueryDirectoryInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the datacenter of the namespace path. Needs to be set
	// when making the call to VC; ignored when the call is
	// made to ESX.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// stable vmfs path of the top-level directory to query
	StableName string `xml:"stableName" json:"stableName"`
}

The parameters of `DatastoreNamespaceManager.QueryDirectoryInfo`.

type QueryDirectoryInfoResponse added in v0.31.0

type QueryDirectoryInfoResponse struct {
	Returnval DatastoreNamespaceManagerDirectoryInfo `xml:"returnval" json:"returnval"`
}

type QueryDisksForVsan

type QueryDisksForVsan QueryDisksForVsanRequestType

type QueryDisksForVsanRequestType

type QueryDisksForVsanRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// may be set to restrict the query to the list of
	// `HostScsiDisk` objects named by the
	// given paths
	CanonicalName []string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
}

The parameters of `HostVsanSystem.QueryDisksForVsan`.

type QueryDisksForVsanResponse

type QueryDisksForVsanResponse struct {
	Returnval []VsanHostDiskResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDisksUsingFilterRequestType

type QueryDisksUsingFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the filter.
	FilterId string `xml:"filterId" json:"filterId"`
	// The compute resource that the filter has been installed on.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
}

The parameters of `IoFilterManager.QueryDisksUsingFilter`.

type QueryDisksUsingFilterResponse

type QueryDisksUsingFilterResponse struct {
	Returnval []VirtualDiskId `xml:"returnval" json:"returnval"`
}

type QueryDvsByUuid

type QueryDvsByUuid QueryDvsByUuidRequestType

type QueryDvsByUuidRequestType

type QueryDvsByUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Uuid string                 `xml:"uuid" json:"uuid"`
}

The parameters of `DistributedVirtualSwitchManager.QueryDvsByUuid`.

type QueryDvsByUuidResponse

type QueryDvsByUuidResponse struct {
	Returnval *ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDvsCheckCompatibilityRequestType

type QueryDvsCheckCompatibilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The container of hosts on which we check the compatibility.
	// This container can be a datacenter, folder, or computeResource.
	// We can also include all the hosts in the hierarchy with container
	// as root of the tree.
	HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer" json:"hostContainer"`
	// The productSpec of a DistributedVirtualSwitch. If not
	// set, it is assumed to be the default one used for
	// DistributedVirtualSwitch creation for current version.
	DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty" json:"dvsProductSpec,omitempty"`
	// The hosts against which to check compatibility. This is a
	// filterSpec and users can use this to specify all hosts in a
	// container (datacenter, folder, or computeResource), an array
	// of hosts, or hosts that might or might not be a DVS member.
	HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr" json:"hostFilterSpec,omitempty"`
}

The parameters of `DistributedVirtualSwitchManager.QueryDvsCheckCompatibility`.

type QueryDvsCheckCompatibilityResponse

type QueryDvsCheckCompatibilityResponse struct {
	Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDvsCompatibleHostSpecRequestType

type QueryDvsCompatibleHostSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The productSpec of a `DistributedVirtualSwitch`.
	// If not set, it is assumed to be the default one used for
	// DistributedVirtualSwitch creation.
	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
}

The parameters of `DistributedVirtualSwitchManager.QueryDvsCompatibleHostSpec`.

type QueryDvsCompatibleHostSpecResponse

type QueryDvsCompatibleHostSpecResponse struct {
	Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryDvsConfigTargetRequestType

type QueryDvsConfigTargetRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The host on which the query is to be made. If called
	// directly on the host this parameter need not be specified.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The distributed virtual switch on which the query is to be
	// made. If unspecified the config target will encompass all the
	// distributed virtual switches available on the host.
	//
	// Refers instance of `DistributedVirtualSwitch`.
	Dvs *ManagedObjectReference `xml:"dvs,omitempty" json:"dvs,omitempty"`
}

The parameters of `DistributedVirtualSwitchManager.QueryDvsConfigTarget`.

type QueryDvsConfigTargetResponse

type QueryDvsConfigTargetResponse struct {
	Returnval DVSManagerDvsConfigTarget `xml:"returnval" json:"returnval"`
}

type QueryDvsFeatureCapabilityRequestType

type QueryDvsFeatureCapabilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The productSpec of a `DistributedVirtualSwitch`.
	// If not set, it is assumed to be the default one used for
	// DistributedVirtualSwitch creation.
	SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty" json:"switchProductSpec,omitempty"`
}

The parameters of `DistributedVirtualSwitchManager.QueryDvsFeatureCapability`.

type QueryDvsFeatureCapabilityResponse

type QueryDvsFeatureCapabilityResponse struct {
	Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type QueryEvents

type QueryEvents QueryEventsRequestType

type QueryEventsRequestType

type QueryEventsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The events qualified.
	Filter EventFilterSpec `xml:"filter" json:"filter"`
}

The parameters of `EventManager.QueryEvents`.

type QueryEventsResponse

type QueryEventsResponse struct {
	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type QueryExpressionMetadataRequestType

type QueryExpressionMetadataRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Names of the Expressions for which metadata is requested.
	// If expressionNames are not specified, metadata for all known expressions is returned
	ExpressionName []string `xml:"expressionName,omitempty" json:"expressionName,omitempty"`
	// Base profile whose context needs to be used during the operation
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
}

The parameters of `ProfileComplianceManager.QueryExpressionMetadata`.

type QueryExpressionMetadataResponse

type QueryExpressionMetadataResponse struct {
	Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryExtensionIpAllocationUsageRequestType

type QueryExtensionIpAllocationUsageRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of extensions whose IP allocation is being queried.
	// If no extension keys are specified then allocation data
	// for all registered extensions are returned.
	ExtensionKeys []string `xml:"extensionKeys,omitempty" json:"extensionKeys,omitempty"`
}

The parameters of `ExtensionManager.QueryExtensionIpAllocationUsage`.

type QueryExtensionIpAllocationUsageResponse

type QueryExtensionIpAllocationUsageResponse struct {
	Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFaultToleranceCompatibilityExRequestType

type QueryFaultToleranceCompatibilityExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// checks for legacy record-replay FT compatibility only
	// if this is set to true.
	ForLegacyFt *bool `xml:"forLegacyFt" json:"forLegacyFt,omitempty"`
}

The parameters of `VirtualMachine.QueryFaultToleranceCompatibilityEx`.

type QueryFaultToleranceCompatibilityExResponse

type QueryFaultToleranceCompatibilityExResponse struct {
	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFaultToleranceCompatibilityRequestType

type QueryFaultToleranceCompatibilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryFaultToleranceCompatibilityResponse

type QueryFaultToleranceCompatibilityResponse struct {
	Returnval []LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFileLockInfo added in v0.31.0

type QueryFileLockInfo QueryFileLockInfoRequestType

type QueryFileLockInfoRequestType added in v0.31.0

type QueryFileLockInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Full file path to look up lock information on.
	// For example specific VM file like:
	// /vmfs/volumes/datastore1/vm/vm-flat.vmdk
	Path string `xml:"path" json:"path"`
	// Host id is required if API is invoked on vCenter Server.
	// It is optional if invoked on host directly. Esx does not
	// require this parameter.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `FileManager.QueryFileLockInfo`.

type QueryFileLockInfoResponse added in v0.31.0

type QueryFileLockInfoResponse struct {
	Returnval FileLockInfoResult `xml:"returnval" json:"returnval"`
}

type QueryFilterEntities added in v0.12.0

type QueryFilterEntities QueryFilterEntitiesRequestType

type QueryFilterEntitiesRequestType added in v0.12.0

type QueryFilterEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
}

The parameters of `HealthUpdateManager.QueryFilterEntities`.

type QueryFilterEntitiesResponse added in v0.12.0

type QueryFilterEntitiesResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFilterInfoIds added in v0.12.0

type QueryFilterInfoIds QueryFilterInfoIdsRequestType

type QueryFilterInfoIdsRequestType added in v0.12.0

type QueryFilterInfoIdsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
}

The parameters of `HealthUpdateManager.QueryFilterInfoIds`.

type QueryFilterInfoIdsResponse added in v0.12.0

type QueryFilterInfoIdsResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFilterList added in v0.12.0

type QueryFilterList QueryFilterListRequestType

type QueryFilterListRequestType added in v0.12.0

type QueryFilterListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
}

The parameters of `HealthUpdateManager.QueryFilterList`.

type QueryFilterListResponse added in v0.12.0

type QueryFilterListResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryFilterName added in v0.12.0

type QueryFilterName QueryFilterNameRequestType

type QueryFilterNameRequestType added in v0.12.0

type QueryFilterNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
}

The parameters of `HealthUpdateManager.QueryFilterName`.

type QueryFilterNameResponse added in v0.12.0

type QueryFilterNameResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryFirmwareConfigUploadURLRequestType

type QueryFirmwareConfigUploadURLRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryFirmwareConfigUploadURLResponse

type QueryFirmwareConfigUploadURLResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryHealthUpdateInfos added in v0.12.0

type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType

type QueryHealthUpdateInfosRequestType added in v0.12.0

type QueryHealthUpdateInfosRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
}

The parameters of `HealthUpdateManager.QueryHealthUpdateInfos`.

type QueryHealthUpdateInfosResponse added in v0.12.0

type QueryHealthUpdateInfosResponse struct {
	Returnval []HealthUpdateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryHealthUpdates added in v0.12.0

type QueryHealthUpdates QueryHealthUpdatesRequestType

type QueryHealthUpdatesRequestType added in v0.12.0

type QueryHealthUpdatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
}

The parameters of `HealthUpdateManager.QueryHealthUpdates`.

type QueryHealthUpdatesResponse added in v0.12.0

type QueryHealthUpdatesResponse struct {
	Returnval []HealthUpdate `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryHostConnectionInfoRequestType

type QueryHostConnectionInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryHostConnectionInfoResponse

type QueryHostConnectionInfoResponse struct {
	Returnval HostConnectInfo `xml:"returnval" json:"returnval"`
}

type QueryHostPatchRequestType

type QueryHostPatchRequestType struct {
	This ManagedObjectReference                     `xml:"_this" json:"-"`
	Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.QueryHostPatch_Task`.

type QueryHostPatch_Task

type QueryHostPatch_Task QueryHostPatchRequestType

type QueryHostPatch_TaskResponse

type QueryHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type QueryHostProfileMetadataRequestType

type QueryHostProfileMetadataRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Names of the profiles for which metadata is requested.
	// If not set, the method returns metadata for all the profiles.
	ProfileName []string `xml:"profileName,omitempty" json:"profileName,omitempty"`
	// Base profile whose context needs to be used during the operation
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
}

The parameters of `HostProfileManager.QueryHostProfileMetadata`.

type QueryHostProfileMetadataResponse

type QueryHostProfileMetadataResponse struct {
	Returnval []ProfileMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryHostStatus

type QueryHostStatus QueryHostStatusRequestType

type QueryHostStatusRequestType

type QueryHostStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryHostStatusResponse

type QueryHostStatusResponse struct {
	Returnval VsanHostClusterStatus `xml:"returnval" json:"returnval"`
}

type QueryHostsWithAttachedLun added in v0.21.0

type QueryHostsWithAttachedLun QueryHostsWithAttachedLunRequestType

type QueryHostsWithAttachedLunRequestType added in v0.21.0

type QueryHostsWithAttachedLunRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The UUID of the ScsiLun device.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
}

The parameters of `StorageQueryManager.QueryHostsWithAttachedLun`.

type QueryHostsWithAttachedLunResponse added in v0.21.0

type QueryHostsWithAttachedLunResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryIORMConfigOptionRequestType

type QueryIORMConfigOptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] - The host VC will forward the query
	// to. This parameter is ignored by host if this method is
	// called on a host directly.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `StorageResourceManager.QueryIORMConfigOption`.

type QueryIORMConfigOptionResponse

type QueryIORMConfigOptionResponse struct {
	Returnval StorageIORMConfigOption `xml:"returnval" json:"returnval"`
}

type QueryIPAllocations

type QueryIPAllocations QueryIPAllocationsRequestType

type QueryIPAllocationsRequestType

type QueryIPAllocationsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to find the pool
	//
	// Required privileges: Datacenter.IpPoolQueryAllocations
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The unique ID of the pool
	PoolId int32 `xml:"poolId" json:"poolId"`
	// The key of the extension
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
}

The parameters of `IpPoolManager.QueryIPAllocations`.

type QueryIPAllocationsResponse

type QueryIPAllocationsResponse struct {
	Returnval []IpPoolManagerIpAllocation `xml:"returnval" json:"returnval"`
}

type QueryIoFilterInfo

type QueryIoFilterInfo QueryIoFilterInfoRequestType

type QueryIoFilterInfoRequestType

type QueryIoFilterInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The compute resource.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
}

The parameters of `IoFilterManager.QueryIoFilterInfo`.

type QueryIoFilterInfoResponse

type QueryIoFilterInfoResponse struct {
	Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryIoFilterIssues

type QueryIoFilterIssues QueryIoFilterIssuesRequestType

type QueryIoFilterIssuesRequestType

type QueryIoFilterIssuesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter.
	FilterId string `xml:"filterId" json:"filterId"`
	// The compute resource.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
}

The parameters of `IoFilterManager.QueryIoFilterIssues`.

type QueryIoFilterIssuesResponse

type QueryIoFilterIssuesResponse struct {
	Returnval IoFilterQueryIssueResult `xml:"returnval" json:"returnval"`
}

type QueryIpPools

type QueryIpPools QueryIpPoolsRequestType

type QueryIpPoolsRequestType

type QueryIpPoolsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter for which to look up the IP pools.
	//
	// Required privileges: System.Read
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
}

The parameters of `IpPoolManager.QueryIpPools`.

type QueryIpPoolsResponse

type QueryIpPoolsResponse struct {
	Returnval []IpPool `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryLicenseSourceAvailabilityRequestType

type QueryLicenseSourceAvailabilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Use the license source of the specified host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `LicenseManager.QueryLicenseSourceAvailability`.

type QueryLicenseSourceAvailabilityResponse

type QueryLicenseSourceAvailabilityResponse struct {
	Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryLicenseUsage

type QueryLicenseUsage QueryLicenseUsageRequestType

type QueryLicenseUsageRequestType

type QueryLicenseUsageRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to query for usage. If missing, query the server the
	// `LicenseManager` is on.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `LicenseManager.QueryLicenseUsage`.

type QueryLicenseUsageResponse

type QueryLicenseUsageResponse struct {
	Returnval LicenseUsageInfo `xml:"returnval" json:"returnval"`
}

type QueryLockdownExceptionsRequestType

type QueryLockdownExceptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryLockdownExceptionsResponse

type QueryLockdownExceptionsResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryManagedBy

type QueryManagedBy QueryManagedByRequestType

type QueryManagedByRequestType

type QueryManagedByRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of the extension to find managed entities for.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
}

The parameters of `ExtensionManager.QueryManagedBy`.

type QueryManagedByResponse

type QueryManagedByResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryMaxQueueDepth added in v0.29.0

type QueryMaxQueueDepth QueryMaxQueueDepthRequestType

type QueryMaxQueueDepthRequestType added in v0.29.0

type QueryMaxQueueDepthRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The NFS datastore which need to query max queue depth
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.QueryMaxQueueDepth`.

type QueryMaxQueueDepthResponse added in v0.29.0

type QueryMaxQueueDepthResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type QueryMemoryOverhead

type QueryMemoryOverhead QueryMemoryOverheadRequestType

type QueryMemoryOverheadExRequestType

type QueryMemoryOverheadExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The configuration of the virtual machine.
	VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo" json:"vmConfigInfo"`
}

The parameters of `HostSystem.QueryMemoryOverheadEx`.

type QueryMemoryOverheadExResponse

type QueryMemoryOverheadExResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type QueryMemoryOverheadRequestType

type QueryMemoryOverheadRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The amount of virtual system RAM, in bytes. For an existing
	// virtual machine, this value can be found (in megabytes) as the memoryMB
	// property of the `VirtualHardware`.
	MemorySize int64 `xml:"memorySize" json:"memorySize"`
	// The amount of virtual video RAM, in bytes. For an existing
	// virtual machine on a host that supports advertising this property, this
	// value can be found (in kilobytes) as the videoRamSizeInKB property of the
	// `VirtualMachineVideoCard`. If this parameter is left unset, the
	// default video RAM size for virtual machines on this host is assumed.
	VideoRamSize int32 `xml:"videoRamSize,omitempty" json:"videoRamSize,omitempty"`
	// The number of virtual CPUs. For an existing virtual machine, this
	// value can be found as the numCPU property of the
	// `VirtualHardware`.
	NumVcpus int32 `xml:"numVcpus" json:"numVcpus"`
}

The parameters of `HostSystem.QueryMemoryOverhead`.

type QueryMemoryOverheadResponse

type QueryMemoryOverheadResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type QueryMigrationDependenciesRequestType

type QueryMigrationDependenciesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of Physical NICs to be migrated
	PnicDevice []string `xml:"pnicDevice" json:"pnicDevice"`
}

The parameters of `IscsiManager.QueryMigrationDependencies`.

type QueryMigrationDependenciesResponse

type QueryMigrationDependenciesResponse struct {
	Returnval IscsiMigrationDependency `xml:"returnval" json:"returnval"`
}

type QueryModules

type QueryModules QueryModulesRequestType

type QueryModulesRequestType

type QueryModulesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryModulesResponse

type QueryModulesResponse struct {
	Returnval []KernelModuleInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryMonitoredEntities added in v0.12.0

type QueryMonitoredEntities QueryMonitoredEntitiesRequestType

type QueryMonitoredEntitiesRequestType added in v0.12.0

type QueryMonitoredEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
}

The parameters of `HealthUpdateManager.QueryMonitoredEntities`.

type QueryMonitoredEntitiesResponse added in v0.12.0

type QueryMonitoredEntitiesResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryNFSUser

type QueryNFSUser QueryNFSUserRequestType

type QueryNFSUserRequestType

type QueryNFSUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryNFSUserResponse

type QueryNFSUserResponse struct {
	Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryNetConfig

type QueryNetConfig QueryNetConfigRequestType

type QueryNetConfigRequestType

type QueryNetConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The `HostVirtualNicManagerNicType_enum`
	NicType string `xml:"nicType" json:"nicType"`
}

The parameters of `HostVirtualNicManager.QueryNetConfig`.

type QueryNetConfigResponse

type QueryNetConfigResponse struct {
	Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryNetworkHint

type QueryNetworkHint QueryNetworkHintRequestType

type QueryNetworkHintRequestType

type QueryNetworkHintRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device []string               `xml:"device,omitempty" json:"device,omitempty"`
}

The parameters of `HostNetworkSystem.QueryNetworkHint`.

type QueryNetworkHintResponse

type QueryNetworkHintResponse struct {
	Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryObjectsOnPhysicalVsanDiskRequestType

type QueryObjectsOnPhysicalVsanDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of VSAN disk UUIDs.
	Disks []string `xml:"disks" json:"disks"`
}

The parameters of `HostVsanInternalSystem.QueryObjectsOnPhysicalVsanDisk`.

type QueryObjectsOnPhysicalVsanDiskResponse

type QueryObjectsOnPhysicalVsanDiskResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryOptions

type QueryOptions QueryOptionsRequestType

type QueryOptionsRequestType

type QueryOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Name string                 `xml:"name,omitempty" json:"name,omitempty"`
}

The parameters of `OptionManager.QueryOptions`.

type QueryOptionsResponse

type QueryOptionsResponse struct {
	Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type QueryPartitionCreateDescRequestType

type QueryPartitionCreateDescRequestType struct {
	This           ManagedObjectReference `xml:"_this" json:"-"`
	DiskUuid       string                 `xml:"diskUuid" json:"diskUuid"`
	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
}

The parameters of `HostDiagnosticSystem.QueryPartitionCreateDesc`.

type QueryPartitionCreateDescResponse

type QueryPartitionCreateDescResponse struct {
	Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval" json:"returnval"`
}

type QueryPartitionCreateOptionsRequestType

type QueryPartitionCreateOptionsRequestType struct {
	This           ManagedObjectReference `xml:"_this" json:"-"`
	StorageType    string                 `xml:"storageType" json:"storageType"`
	DiagnosticType string                 `xml:"diagnosticType" json:"diagnosticType"`
}

The parameters of `HostDiagnosticSystem.QueryPartitionCreateOptions`.

type QueryPartitionCreateOptionsResponse

type QueryPartitionCreateOptionsResponse struct {
	Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryPathSelectionPolicyOptionsRequestType

type QueryPathSelectionPolicyOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryPathSelectionPolicyOptionsResponse

type QueryPathSelectionPolicyOptionsResponse struct {
	Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryPerf

type QueryPerf QueryPerfRequestType

type QueryPerfComposite

type QueryPerfComposite QueryPerfCompositeRequestType

type QueryPerfCompositeRequestType

type QueryPerfCompositeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A `PerfQuerySpec` object specifying the query
	// parameters. This `PerfQuerySpec` object specifies a
	// managed object for which composite statistics should be retrieved, with
	// specific optional criteria for filtering the results.
	//
	// This `PerfQuerySpec` requires a valid `PerfQuerySpec.metricId` property that specifies a metric
	// that is available, in common, to the entity and its children. If the
	// specified metricId is not available to the entity and its children, it is
	// ignored.
	QuerySpec PerfQuerySpec `xml:"querySpec" json:"querySpec"`
}

The parameters of `PerformanceManager.QueryPerfComposite`.

type QueryPerfCompositeResponse

type QueryPerfCompositeResponse struct {
	Returnval PerfCompositeMetric `xml:"returnval" json:"returnval"`
}

type QueryPerfCounter

type QueryPerfCounter QueryPerfCounterRequestType

type QueryPerfCounterByLevelRequestType

type QueryPerfCounterByLevelRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A number between 1 and 4 that specifies the collection level.
	Level int32 `xml:"level" json:"level"`
}

The parameters of `PerformanceManager.QueryPerfCounterByLevel`.

type QueryPerfCounterByLevelResponse

type QueryPerfCounterByLevelResponse struct {
	Returnval []PerfCounterInfo `xml:"returnval" json:"returnval"`
}

type QueryPerfCounterRequestType

type QueryPerfCounterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of one or more `counterIds` representing performance counters for which information is
	// being retrieved.
	CounterId []int32 `xml:"counterId" json:"counterId"`
}

The parameters of `PerformanceManager.QueryPerfCounter`.

type QueryPerfCounterResponse

type QueryPerfCounterResponse struct {
	Returnval []PerfCounterInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryPerfProviderSummaryRequestType

type QueryPerfProviderSummaryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Reference to a managed object that provides performance data. If the
	// entity specified by managed object reference is not a performance
	// provider, an "InvalidArgument" exception is thrown.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

The parameters of `PerformanceManager.QueryPerfProviderSummary`.

type QueryPerfProviderSummaryResponse

type QueryPerfProviderSummaryResponse struct {
	Returnval PerfProviderSummary `xml:"returnval" json:"returnval"`
}

type QueryPerfRequestType

type QueryPerfRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of `PerfQuerySpec` objects. Each `PerfQuerySpec` object specifies a managed object reference
	// for an entity, plus optional criteria for filtering results. Only metrics
	// for entities that can be resolved and that are valid *performance providers* are returned in
	// any result.
	//
	// Each `PerfQuerySpec` object in the array
	// submitted in this operation can query for different metrics. Or, select
	// all types of statistics for a single managed entity.
	//
	// Raw data feed workaround: Normally, QueryPerf will return performance
	// statistics stored in the VirtualCenter database. However this may not be
	// suitable for certain applications. For example, applications that treat
	// VirtualCenter as a raw data source, query for performance statistics
	// regularly (say every 5 minutes) and extract the data for external
	// archival and reporting. Such applications need better query performance.
	// These applications should query statistics using QueryPerf for the base
	// historical interval (5 minutes by default) having a start and end time
	// range within 30 minutes from the current VirtualCenter server system
	// time. These QueryPerf calls will have better performance than other
	// QueryPerf calls.
	QuerySpec []PerfQuerySpec `xml:"querySpec" json:"querySpec"`
}

The parameters of `PerformanceManager.QueryPerf`.

type QueryPerfResponse

type QueryPerfResponse struct {
	Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type QueryPhysicalVsanDisksRequestType

type QueryPhysicalVsanDisksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of properties to gather. Not specifying a list will
	// fetch all properties.
	Props []string `xml:"props,omitempty" json:"props,omitempty"`
}

The parameters of `HostVsanInternalSystem.QueryPhysicalVsanDisks`.

type QueryPhysicalVsanDisksResponse

type QueryPhysicalVsanDisksResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryPnicStatus

type QueryPnicStatus QueryPnicStatusRequestType

type QueryPnicStatusRequestType

type QueryPnicStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Physical NIC device name to check the status for
	PnicDevice string `xml:"pnicDevice" json:"pnicDevice"`
}

The parameters of `IscsiManager.QueryPnicStatus`.

type QueryPnicStatusResponse

type QueryPnicStatusResponse struct {
	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
}

type QueryPolicyMetadata

type QueryPolicyMetadata QueryPolicyMetadataRequestType

type QueryPolicyMetadataRequestType

type QueryPolicyMetadataRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Retrieve metadata for the specified policyNames.
	// If policyName is not specified, metadata for all policies will be returned.
	PolicyName []string `xml:"policyName,omitempty" json:"policyName,omitempty"`
	// Base profile whose context needs to be used during the operation
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty" vim:"5.0"`
}

The parameters of `ProfileManager.QueryPolicyMetadata`.

type QueryPolicyMetadataResponse

type QueryPolicyMetadataResponse struct {
	Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryProductLockerLocation added in v0.21.0

type QueryProductLockerLocation QueryProductLockerLocationRequestType

type QueryProductLockerLocationRequestType added in v0.21.0

type QueryProductLockerLocationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryProductLockerLocationResponse added in v0.21.0

type QueryProductLockerLocationResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryProfileStructureRequestType

type QueryProfileStructureRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Base profile whose context needs to be used during the operation
	//
	// Refers instance of `Profile`.
	Profile *ManagedObjectReference `xml:"profile,omitempty" json:"profile,omitempty"`
}

The parameters of `HostProfileManager.QueryProfileStructure`.

type QueryProfileStructureResponse

type QueryProfileStructureResponse struct {
	Returnval ProfileProfileStructure `xml:"returnval" json:"returnval"`
}

type QueryProviderList added in v0.12.0

type QueryProviderList QueryProviderListRequestType

type QueryProviderListRequestType added in v0.12.0

type QueryProviderListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryProviderListResponse added in v0.12.0

type QueryProviderListResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryProviderName added in v0.12.0

type QueryProviderName QueryProviderNameRequestType

type QueryProviderNameRequestType added in v0.12.0

type QueryProviderNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Id   string                 `xml:"id" json:"id"`
}

The parameters of `HealthUpdateManager.QueryProviderName`.

type QueryProviderNameResponse added in v0.12.0

type QueryProviderNameResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryResourceConfigOptionRequestType

type QueryResourceConfigOptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryResourceConfigOptionResponse

type QueryResourceConfigOptionResponse struct {
	Returnval ResourceConfigOption `xml:"returnval" json:"returnval"`
}

type QueryServiceList

type QueryServiceList QueryServiceListRequestType

type QueryServiceListRequestType

type QueryServiceListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the service to be located.
	ServiceName string `xml:"serviceName,omitempty" json:"serviceName,omitempty"`
	// The list of location information that needs to match for a service to be
	// considered a match.
	Location []string `xml:"location,omitempty" json:"location,omitempty"`
}

The parameters of `ServiceManager.QueryServiceList`.

type QueryServiceListResponse

type QueryServiceListResponse struct {
	Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryStorageArrayTypePolicyOptionsRequestType

type QueryStorageArrayTypePolicyOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryStorageArrayTypePolicyOptionsResponse

type QueryStorageArrayTypePolicyOptionsResponse struct {
	Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QuerySupportedFeaturesRequestType

type QuerySupportedFeaturesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Use the license source of the specified host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `LicenseManager.QuerySupportedFeatures`.

type QuerySupportedFeaturesResponse

type QuerySupportedFeaturesResponse struct {
	Returnval []LicenseFeatureInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QuerySupportedNetworkOffloadSpec added in v0.29.0

type QuerySupportedNetworkOffloadSpec QuerySupportedNetworkOffloadSpecRequestType

type QuerySupportedNetworkOffloadSpecRequestType added in v0.29.0

type QuerySupportedNetworkOffloadSpecRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The productSpec of a
	// `DistributedVirtualSwitch`.
	SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec" json:"switchProductSpec"`
}

The parameters of `DistributedVirtualSwitchManager.QuerySupportedNetworkOffloadSpec`.

type QuerySupportedNetworkOffloadSpecResponse added in v0.29.0

type QuerySupportedNetworkOffloadSpecResponse struct {
	Returnval []DistributedVirtualSwitchNetworkOffloadSpec `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QuerySyncingVsanObjectsRequestType

type QuerySyncingVsanObjectsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of VSAN/DOM object UUIDs to restrict search to.
	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
}

The parameters of `HostVsanInternalSystem.QuerySyncingVsanObjects`.

type QuerySyncingVsanObjectsResponse

type QuerySyncingVsanObjectsResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QuerySystemUsers

type QuerySystemUsers QuerySystemUsersRequestType

type QuerySystemUsersRequestType

type QuerySystemUsersRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QuerySystemUsersResponse

type QuerySystemUsersResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryTargetCapabilitiesRequestType

type QueryTargetCapabilitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, the host whose capabilities are requested.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `EnvironmentBrowser.QueryTargetCapabilities`.

type QueryTargetCapabilitiesResponse

type QueryTargetCapabilitiesResponse struct {
	Returnval *HostCapability `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryTpmAttestationReportRequestType

type QueryTpmAttestationReportRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryTpmAttestationReportResponse

type QueryTpmAttestationReportResponse struct {
	Returnval *HostTpmAttestationReport `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryUnmonitoredHosts added in v0.12.0

type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType

type QueryUnmonitoredHostsRequestType added in v0.12.0

type QueryUnmonitoredHostsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
	// The cluster.
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
}

The parameters of `HealthUpdateManager.QueryUnmonitoredHosts`.

type QueryUnmonitoredHostsResponse added in v0.12.0

type QueryUnmonitoredHostsResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryUnownedFiles

type QueryUnownedFiles QueryUnownedFilesRequestType

type QueryUnownedFilesRequestType

type QueryUnownedFilesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryUnownedFilesResponse

type QueryUnownedFilesResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryUnresolvedVmfsVolumeRequestType

type QueryUnresolvedVmfsVolumeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryUnresolvedVmfsVolumeResponse

type QueryUnresolvedVmfsVolumeResponse struct {
	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryUnresolvedVmfsVolumesRequestType

type QueryUnresolvedVmfsVolumesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryUnresolvedVmfsVolumesResponse

type QueryUnresolvedVmfsVolumesResponse struct {
	Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryUsedVlanIdInDvsRequestType

type QueryUsedVlanIdInDvsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryUsedVlanIdInDvsResponse

type QueryUsedVlanIdInDvsResponse struct {
	Returnval []int32 `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVMotionCompatibilityExRequestType

type QueryVMotionCompatibilityExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The set of virtual machines to analyze for compatibility. All
	// virtual machines are assumed to be powered-on for the purposes of
	// this operation.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
	// The set of hosts to analyze for compatibility. All hosts
	// are assumed to be connected and not in maintenance mode for the
	// purposes of this operation.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `VirtualMachineProvisioningChecker.QueryVMotionCompatibilityEx_Task`.

type QueryVMotionCompatibilityEx_TaskResponse

type QueryVMotionCompatibilityEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type QueryVMotionCompatibilityRequestType

type QueryVMotionCompatibilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The virtual machine that is the designated VMotion candidate.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The group of hosts to analyze for compatibility.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host" json:"host"`
	// The set of compatibility types to investigate.
	// Each is a string chosen from VMotionCompatibilityType. If this
	// argument is not set, then all compatibility types are
	// investigated.
	Compatibility []string `xml:"compatibility,omitempty" json:"compatibility,omitempty"`
}

The parameters of `ServiceInstance.QueryVMotionCompatibility`.

type QueryVMotionCompatibilityResponse

type QueryVMotionCompatibilityResponse struct {
	Returnval []HostVMotionCompatibility `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVirtualDiskFragmentationRequestType

type QueryVirtualDiskFragmentationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk for which to return the
	// percentage of fragmentation.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.QueryVirtualDiskFragmentation`.

type QueryVirtualDiskFragmentationResponse

type QueryVirtualDiskFragmentationResponse struct {
	Returnval int32 `xml:"returnval" json:"returnval"`
}

type QueryVirtualDiskGeometryRequestType

type QueryVirtualDiskGeometryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk from which to get geometry information.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.QueryVirtualDiskGeometry`.

type QueryVirtualDiskGeometryResponse

type QueryVirtualDiskGeometryResponse struct {
	Returnval HostDiskDimensionsChs `xml:"returnval" json:"returnval"`
}

type QueryVirtualDiskUuidRequestType

type QueryVirtualDiskUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk from which to get SCSI inquiry
	// page 0x83 data.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.QueryVirtualDiskUuid`.

type QueryVirtualDiskUuidResponse

type QueryVirtualDiskUuidResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryVmfsConfigOption added in v0.12.0

type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType

type QueryVmfsConfigOptionRequestType added in v0.12.0

type QueryVmfsConfigOptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type QueryVmfsConfigOptionResponse added in v0.12.0

type QueryVmfsConfigOptionResponse struct {
	Returnval []VmfsConfigOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVmfsDatastoreCreateOptionsRequestType

type QueryVmfsDatastoreCreateOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The devicePath of the disk on which datastore creation
	// options are generated.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// major version of VMFS to be used for
	// formatting the datastore. If this
	// parameter is not specified, then the highest
	// *supported VMFS major version* for the host
	// is used.
	VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty" json:"vmfsMajorVersion,omitempty" vim:"5.0"`
}

The parameters of `HostDatastoreSystem.QueryVmfsDatastoreCreateOptions`.

type QueryVmfsDatastoreCreateOptionsResponse

type QueryVmfsDatastoreCreateOptionsResponse struct {
	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVmfsDatastoreExpandOptionsRequestType

type QueryVmfsDatastoreExpandOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to be expanded.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExpandOptions`.

type QueryVmfsDatastoreExpandOptionsResponse

type QueryVmfsDatastoreExpandOptionsResponse struct {
	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVmfsDatastoreExtendOptionsRequestType

type QueryVmfsDatastoreExtendOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to be extended.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The devicePath of the disk on which datastore extension
	// options are generated.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// Indicates whether to exclude options that can be
	// used for extent expansion also.
	// Free space can be used for adding an extent or expanding an existing
	// extent. If this parameter is set to true, the list of options
	// returned will not include free space that can be used for expansion.
	SuppressExpandCandidates *bool `xml:"suppressExpandCandidates" json:"suppressExpandCandidates,omitempty" vim:"4.0"`
}

The parameters of `HostDatastoreSystem.QueryVmfsDatastoreExtendOptions`.

type QueryVmfsDatastoreExtendOptionsResponse

type QueryVmfsDatastoreExtendOptionsResponse struct {
	Returnval []VmfsDatastoreOption `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVnicStatus

type QueryVnicStatus QueryVnicStatusRequestType

type QueryVnicStatusRequestType

type QueryVnicStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual NIC device to check the status for
	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
}

The parameters of `IscsiManager.QueryVnicStatus`.

type QueryVnicStatusResponse

type QueryVnicStatusResponse struct {
	Returnval IscsiStatus `xml:"returnval" json:"returnval"`
}

type QueryVsanObjectUuidsByFilterRequestType

type QueryVsanObjectUuidsByFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Objects UUID will be checked against the filtering
	// conditions.
	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
	// To limit the size of the result set.
	Limit *int32 `xml:"limit" json:"limit,omitempty"`
	// Filtering condition 1: object version.
	Version int32 `xml:"version,omitempty" json:"version,omitempty"`
}

The parameters of `HostVsanInternalSystem.QueryVsanObjectUuidsByFilter`.

type QueryVsanObjectUuidsByFilterResponse

type QueryVsanObjectUuidsByFilterResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type QueryVsanObjects

type QueryVsanObjects QueryVsanObjectsRequestType

type QueryVsanObjectsRequestType

type QueryVsanObjectsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of VSAN/DOM object UUIDs.
	Uuids []string `xml:"uuids,omitempty" json:"uuids,omitempty"`
}

The parameters of `HostVsanInternalSystem.QueryVsanObjects`.

type QueryVsanObjectsResponse

type QueryVsanObjectsResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryVsanStatistics

type QueryVsanStatistics QueryVsanStatisticsRequestType

type QueryVsanStatisticsRequestType

type QueryVsanStatisticsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of labels of counters to retrieve.
	Labels []string `xml:"labels" json:"labels"`
}

The parameters of `HostVsanInternalSystem.QueryVsanStatistics`.

type QueryVsanStatisticsResponse

type QueryVsanStatisticsResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type QueryVsanUpgradeStatusRequestType

type QueryVsanUpgradeStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The cluster for which to retrieve the upgrade status.
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
}

The parameters of `VsanUpgradeSystem.QueryVsanUpgradeStatus`.

type QueryVsanUpgradeStatusResponse

type QueryVsanUpgradeStatusResponse struct {
	Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval" json:"returnval"`
}

type QuestionPending

type QuestionPending struct {
	InvalidState

	// Text of the question from the virtual machine.
	Text string `xml:"text" json:"text"`
}

Thrown when an operation cannot be performed on a virtual machine because it has a pending question requiring user input.

type QuestionPendingFault

type QuestionPendingFault QuestionPending

type QuiesceDatastoreIOForHAFailed

type QuiesceDatastoreIOForHAFailed struct {
	ResourceInUse

	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Name of the host.
	HostName string `xml:"hostName" json:"hostName"`
	// The datastore.
	//
	// Refers instance of `Datastore`.
	Ds ManagedObjectReference `xml:"ds" json:"ds"`
	// Name of the datastore.
	DsName string `xml:"dsName" json:"dsName"`
}

A QuiesceDatastoreIOForHAFailed fault occurs when the HA agent on a host cannot quiesce file activity on a datastore to be unmouonted or removed.

type QuiesceDatastoreIOForHAFailedFault

type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed

type QuiesceMode

type QuiesceMode string

Quiescing is a boolean flag in `ReplicationConfigSpec` and QuiesceModeType describes the supported quiesce mode for `VirtualMachine`.

If application quiescing fails, HBR would attempt filesystem quiescing and if even filesystem quiescing fails, then we would just create a crash consistent

type RDMConversionNotSupported

type RDMConversionNotSupported struct {
	MigrationFault

	// The name of the disk device using the RDM.
	Device string `xml:"device" json:"device"`
}

The virtual machine is using an RDM device with compatibility mode set to 'physicalMode' and operation is unable to convert the disk to a different type.

type RDMConversionNotSupportedFault

type RDMConversionNotSupportedFault RDMConversionNotSupported

type RDMNotPreserved

type RDMNotPreserved struct {
	MigrationFault

	// The name of the disk device using the RDM.
	Device string `xml:"device" json:"device"`
}

The virtual machine is configured with a Raw Disk Mapping.

The host only supports Raw Disk Mappings in a limited fashion. After the migration, the RDM will function correctly, but it will be indistinguishable from a virtual disk when viewing the virtual machine's properties. This change will persist even if the virtual machine is migrated back to a host with full RDM support.

This is a warning only for migrations to ESX 2.1.x hosts.

type RDMNotPreservedFault

type RDMNotPreservedFault RDMNotPreserved

type RDMNotSupported

type RDMNotSupported struct {
	DeviceNotSupported
}

The virtual machine is configured with a Raw Disk Mapping.

This is not supported on the host.

func (*RDMNotSupported) GetRDMNotSupported

func (b *RDMNotSupported) GetRDMNotSupported() *RDMNotSupported

type RDMNotSupportedFault

type RDMNotSupportedFault BaseRDMNotSupported

type RDMNotSupportedOnDatastore

type RDMNotSupportedOnDatastore struct {
	VmConfigFault

	// The label of the RDM device that would have its backing placed on
	// the datastore.
	//
	// This is not guaranteed to be the only such device.
	Device string `xml:"device" json:"device"`
	// The datastore.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The name of the datastore.
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
}

The virtual machine is configured with a Raw Disk Mapping.

This is not supported on the datastore.

type RDMNotSupportedOnDatastoreFault

type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore

type RDMPointsToInaccessibleDisk

type RDMPointsToInaccessibleDisk struct {
	CannotAccessVmDisk
}

One of the virtual machine's virtual disks is a Raw Disk Mapping that is itself accessible, but points to a LUN that is inaccessible.

type RDMPointsToInaccessibleDiskFault

type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk

type RawDiskNotSupported

type RawDiskNotSupported struct {
	DeviceNotSupported
}

The virtual machine has a raw disk attached that is not supported.

This is often used as a subfault for DisallowedMigrationDeviceAttached or DisallowedSnapshotDeviceAttached.

type RawDiskNotSupportedFault

type RawDiskNotSupportedFault RawDiskNotSupported

type ReadEnvironmentVariableInGuestRequestType

type ReadEnvironmentVariableInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The names of the variables to be read. If not set, then
	// all the environment variables are returned.
	Names []string `xml:"names,omitempty" json:"names,omitempty"`
}

The parameters of `GuestProcessManager.ReadEnvironmentVariableInGuest`.

type ReadEnvironmentVariableInGuestResponse

type ReadEnvironmentVariableInGuestResponse struct {
	Returnval []string `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ReadHostResourcePoolTreeFailed

type ReadHostResourcePoolTreeFailed struct {
	HostConnectFault
}

Fault thrown on host connect if we were unable to correctly read the existing tree on the root.

This is bad because then we don't know the available resources on the host, and all kinds of admission control will fail. This just allows for more robust error handling - we should be able to read the existing hierarchy under normal conditions.

type ReadHostResourcePoolTreeFailedFault

type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed

type ReadNextEvents

type ReadNextEvents ReadNextEventsRequestType

type ReadNextEventsRequestType

type ReadNextEventsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The maximum number of items in the page.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

The parameters of `EventHistoryCollector.ReadNextEvents`.

type ReadNextEventsResponse

type ReadNextEventsResponse struct {
	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type ReadNextTasks

type ReadNextTasks ReadNextTasksRequestType

type ReadNextTasksRequestType

type ReadNextTasksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The maximum number of items in the page.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

The parameters of `TaskHistoryCollector.ReadNextTasks`.

type ReadNextTasksResponse

type ReadNextTasksResponse struct {
	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ReadOnlyDisksWithLegacyDestination

type ReadOnlyDisksWithLegacyDestination struct {
	MigrationFault

	// The number of read-only disks in use.
	RoDiskCount int32 `xml:"roDiskCount" json:"roDiskCount"`
	// Whether this number of disks will cause a timeout failure.
	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
}

The virtual machine uses read-only (undoable or nonpersistent) disks that can cause a slower power on at the migration destination.

As a result, VMtion could slow down considerably or timeout. This is an issue only for migration of powered-on virtual machines from an ESX host with version greater than 2.0.x to an ESX host with version 2.0.x. It will be an error if the number of such disks is great enough to cause timeout ( &ge; 3 ), or a warning otherwise.

type ReadOnlyDisksWithLegacyDestinationFault

type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination

type ReadPreviousEvents

type ReadPreviousEvents ReadPreviousEventsRequestType

type ReadPreviousEventsRequestType

type ReadPreviousEventsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The maximum number of items in the page.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

The parameters of `EventHistoryCollector.ReadPreviousEvents`.

type ReadPreviousEventsResponse

type ReadPreviousEventsResponse struct {
	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type ReadPreviousTasks

type ReadPreviousTasks ReadPreviousTasksRequestType

type ReadPreviousTasksRequestType

type ReadPreviousTasksRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The maximum number of items in the page.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

The parameters of `TaskHistoryCollector.ReadPreviousTasks`.

type ReadPreviousTasksResponse

type ReadPreviousTasksResponse struct {
	Returnval []TaskInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RebootGuest

type RebootGuest RebootGuestRequestType

type RebootGuestRequestType

type RebootGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RebootGuestResponse

type RebootGuestResponse struct {
}

type RebootHostRequestType

type RebootHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Flag to specify whether or not the host should be rebooted
	// regardless of whether it is in maintenance mode. If true, the host
	// is rebooted, even if there are virtual machines running or other
	// operations in progress.
	Force bool `xml:"force" json:"force"`
}

The parameters of `HostSystem.RebootHost_Task`.

type RebootHost_Task

type RebootHost_Task RebootHostRequestType

type RebootHost_TaskResponse

type RebootHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RebootRequired

type RebootRequired struct {
	VimFault

	// The nonchainable patch installed.
	Patch string `xml:"patch,omitempty" json:"patch,omitempty"`
}

This fault is thrown if a patch install fails because an installed nonchainable patch has not taken effect.

type RebootRequiredFault

type RebootRequiredFault RebootRequired

type RecommendDatastores

type RecommendDatastores RecommendDatastoresRequestType

type RecommendDatastoresRequestType

type RecommendDatastoresRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	StorageSpec StoragePlacementSpec   `xml:"storageSpec" json:"storageSpec"`
}

The parameters of `StorageResourceManager.RecommendDatastores`.

type RecommendDatastoresResponse

type RecommendDatastoresResponse struct {
	Returnval StoragePlacementResult `xml:"returnval" json:"returnval"`
}

type RecommendHostsForVm

type RecommendHostsForVm RecommendHostsForVmRequestType

type RecommendHostsForVmRequestType

type RecommendHostsForVmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the virtual machine for which the user is requesting a
	// recommendations.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Specifies the ResourcePool into which the virtual machine is to be
	// migrated. If the virtual machine is powered-on, this argument must be
	// specified and it is relevant only when the virtual machine is
	// powered-on. This ResourcePool cannot be in the same cluster as the
	// virtual machine.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
}

The parameters of `ClusterComputeResource.RecommendHostsForVm`.

type RecommendHostsForVmResponse

type RecommendHostsForVmResponse struct {
	Returnval []ClusterHostRecommendation `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RecommendationReasonCode

type RecommendationReasonCode string

type RecommendationType

type RecommendationType string

Pre-defined constants for possible recommendation types.

Virtual Center

type RecommissionVsanNodeRequestType

type RecommissionVsanNodeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RecommissionVsanNode_Task

type RecommissionVsanNode_Task RecommissionVsanNodeRequestType

type RecommissionVsanNode_TaskResponse

type RecommissionVsanNode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconcileDatastoreInventoryRequestType added in v0.12.0

type ReconcileDatastoreInventoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore that needs to be reconciled.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.ReconcileDatastoreInventory_Task`.

type ReconcileDatastoreInventory_Task added in v0.12.0

type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType

type ReconcileDatastoreInventory_TaskResponse added in v0.12.0

type ReconcileDatastoreInventory_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigVMRequestType

type ReconfigVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new configuration values.
	Spec VirtualMachineConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualMachine.ReconfigVM_Task`.

type ReconfigVM_Task

type ReconfigVM_Task ReconfigVMRequestType

type ReconfigVM_TaskResponse

type ReconfigVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigurationSatisfiableRequestType

type ReconfigurationSatisfiableRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of PolicyChangeBatch structure with uuids and policies.
	Pcbs []VsanPolicyChangeBatch `xml:"pcbs" json:"pcbs"`
	// Optionally populate PolicyCost even though
	// object cannot be reconfigured in the current cluster topology.
	IgnoreSatisfiability *bool `xml:"ignoreSatisfiability" json:"ignoreSatisfiability,omitempty" vim:"6.0"`
}

The parameters of `HostVsanInternalSystem.ReconfigurationSatisfiable`.

type ReconfigurationSatisfiableResponse

type ReconfigurationSatisfiableResponse struct {
	Returnval []VsanPolicySatisfiability `xml:"returnval" json:"returnval"`
}

type ReconfigureAlarm

type ReconfigureAlarm ReconfigureAlarmRequestType

type ReconfigureAlarmRequestType

type ReconfigureAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new specification for the alarm.
	Spec BaseAlarmSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `Alarm.ReconfigureAlarm`.

type ReconfigureAlarmResponse

type ReconfigureAlarmResponse struct {
}

type ReconfigureAutostartRequestType

type ReconfigureAutostartRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of changes to defaults and auto-start/auto-stop order.
	Spec HostAutoStartManagerConfig `xml:"spec" json:"spec"`
}

The parameters of `HostAutoStartManager.ReconfigureAutostart`.

type ReconfigureAutostartResponse

type ReconfigureAutostartResponse struct {
}

type ReconfigureClusterRequestType

type ReconfigureClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A set of configuration changes to apply to the cluster. The
	// specification can be a complete set of changes or a partial set of
	// changes, applied incrementally.
	Spec ClusterConfigSpec `xml:"spec" json:"spec"`
	// Flag to specify whether the specification ("spec") should
	// be applied incrementally. If "modify" is false and the
	// operation succeeds, then the configuration of the cluster
	// matches the specification exactly; in this case any unset
	// portions of the specification will result in unset or
	// default portions of the configuration.
	Modify bool `xml:"modify" json:"modify"`
}

The parameters of `ClusterComputeResource.ReconfigureCluster_Task`.

type ReconfigureCluster_Task

type ReconfigureCluster_Task ReconfigureClusterRequestType

type ReconfigureCluster_TaskResponse

type ReconfigureCluster_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureComputeResourceRequestType

type ReconfigureComputeResourceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A set of configuration changes to apply to the compute resource.
	// The specification can be a complete set of changes or a partial
	// set of changes, applied incrementally. When invoking
	// reconfigureEx on a cluster, this argument may be a
	// `ClusterConfigSpecEx` object.
	Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr" json:"spec"`
	// Flag to specify whether the specification ("spec") should
	// be applied incrementally. If "modify" is false and the
	// operation succeeds, then the configuration of the cluster
	// matches the specification exactly; in this case any unset
	// portions of the specification will result in unset or
	// default portions of the configuration.
	Modify bool `xml:"modify" json:"modify"`
}

The parameters of `ComputeResource.ReconfigureComputeResource_Task`.

type ReconfigureComputeResource_TaskResponse

type ReconfigureComputeResource_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureDVPortRequestType

type ReconfigureDVPortRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification of the ports.
	Port []DVPortConfigSpec `xml:"port" json:"port"`
}

The parameters of `DistributedVirtualSwitch.ReconfigureDVPort_Task`.

type ReconfigureDVPort_Task

type ReconfigureDVPort_Task ReconfigureDVPortRequestType

type ReconfigureDVPort_TaskResponse

type ReconfigureDVPort_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureDVPortgroupRequestType

type ReconfigureDVPortgroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Configuration data for the portgroup.
	Spec DVPortgroupConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `DistributedVirtualPortgroup.ReconfigureDVPortgroup_Task`.

type ReconfigureDVPortgroup_Task

type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType

type ReconfigureDVPortgroup_TaskResponse

type ReconfigureDVPortgroup_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureDatacenterRequestType

type ReconfigureDatacenterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A set of configuration changes to apply to the datacenter.
	// The specification can be a complete set of changes or a partial
	// set of changes, applied incrementally.
	Spec DatacenterConfigSpec `xml:"spec" json:"spec"`
	// Flag to specify whether the specification ("spec") should
	// be applied incrementally. If "modify" is false and the
	// operation succeeds, then the configuration of the datacenter
	// matches the specification exactly; in this case any unset
	// portions of the specification will result in unset or
	// default portions of the configuration.
	Modify bool `xml:"modify" json:"modify"`
}

The parameters of `Datacenter.ReconfigureDatacenter_Task`.

type ReconfigureDatacenter_Task

type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType

type ReconfigureDatacenter_TaskResponse

type ReconfigureDatacenter_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureDomObjectRequestType

type ReconfigureDomObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// DOM object UUID.
	Uuid string `xml:"uuid" json:"uuid"`
	// VSAN expression formatted policy string.
	Policy string `xml:"policy" json:"policy"`
}

The parameters of `HostVsanInternalSystem.ReconfigureDomObject`.

type ReconfigureDomObjectResponse

type ReconfigureDomObjectResponse struct {
}

type ReconfigureDvsRequestType

type ReconfigureDvsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The configuration of the switch
	Spec BaseDVSConfigSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `DistributedVirtualSwitch.ReconfigureDvs_Task`.

type ReconfigureDvs_Task

type ReconfigureDvs_Task ReconfigureDvsRequestType

type ReconfigureDvs_TaskResponse

type ReconfigureDvs_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureHostForDASRequestType

type ReconfigureHostForDASRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ReconfigureHostForDAS_Task

type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType

type ReconfigureHostForDAS_TaskResponse

type ReconfigureHostForDAS_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReconfigureScheduledTaskRequestType

type ReconfigureScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new specification for the scheduled task.
	Spec BaseScheduledTaskSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `ScheduledTask.ReconfigureScheduledTask`.

type ReconfigureScheduledTaskResponse

type ReconfigureScheduledTaskResponse struct {
}

type ReconfigureServiceConsoleReservationRequestType

type ReconfigureServiceConsoleReservationRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	CfgBytes int64                  `xml:"cfgBytes" json:"cfgBytes"`
}

The parameters of `HostMemorySystem.ReconfigureServiceConsoleReservation`.

type ReconfigureServiceConsoleReservationResponse

type ReconfigureServiceConsoleReservationResponse struct {
}

type ReconfigureSnmpAgentRequestType

type ReconfigureSnmpAgentRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Spec HostSnmpConfigSpec     `xml:"spec" json:"spec"`
}

The parameters of `HostSnmpSystem.ReconfigureSnmpAgent`.

type ReconfigureSnmpAgentResponse

type ReconfigureSnmpAgentResponse struct {
}

type ReconfigureVirtualMachineReservationRequestType

type ReconfigureVirtualMachineReservationRequestType struct {
	This ManagedObjectReference              `xml:"_this" json:"-"`
	Spec VirtualMachineMemoryReservationSpec `xml:"spec" json:"spec"`
}

The parameters of `HostMemorySystem.ReconfigureVirtualMachineReservation`.

type ReconfigureVirtualMachineReservationResponse

type ReconfigureVirtualMachineReservationResponse struct {
}

type ReconnectHostRequestType

type ReconnectHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Includes the parameters to use, including user name and password,
	// when reconnecting to the host. If this parameter is not specified,
	// the default connection parameters is used.
	CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty" json:"cnxSpec,omitempty"`
	// Includes connection parameters specific to
	// reconnect. This will mainly be used to indicate how to
	// handle divergence between the host settings and vCenter Server
	// settings when the host was disconnected.
	ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty" json:"reconnectSpec,omitempty" vim:"5.0"`
}

The parameters of `HostSystem.ReconnectHost_Task`.

type ReconnectHost_Task

type ReconnectHost_Task ReconnectHostRequestType

type ReconnectHost_TaskResponse

type ReconnectHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RecordReplayDisabled

type RecordReplayDisabled struct {
	VimFault
}

Deprecated as of vSphere API 6.0.

Fault thrown if a record or replay operation cannot be performed because these capabilities have been disabled on the virtual machine.

type RecordReplayDisabledFault

type RecordReplayDisabledFault RecordReplayDisabled

type RecoveryEvent

type RecoveryEvent struct {
	DvsEvent

	// The host on which recovery happened
	HostName string `xml:"hostName" json:"hostName"`
	// The key of the new port
	PortKey string `xml:"portKey" json:"portKey"`
	// The uuid of the DVS
	DvsUuid string `xml:"dvsUuid,omitempty" json:"dvsUuid,omitempty"`
	// The virtual management NIC device where recovery was done
	Vnic string `xml:"vnic,omitempty" json:"vnic,omitempty"`
}

This event is generated when recovery takes place on a management vmknic

type RectifyDvsHostRequestType

type RectifyDvsHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The hosts to be rectified.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
}

The parameters of `DistributedVirtualSwitch.RectifyDvsHost_Task`.

type RectifyDvsHost_Task

type RectifyDvsHost_Task RectifyDvsHostRequestType

type RectifyDvsHost_TaskResponse

type RectifyDvsHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RectifyDvsOnHostRequestType

type RectifyDvsOnHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The hosts to be rectified.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

The parameters of `DistributedVirtualSwitchManager.RectifyDvsOnHost_Task`.

type RectifyDvsOnHost_Task

type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType

type RectifyDvsOnHost_TaskResponse

type RectifyDvsOnHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RecurrentTaskScheduler

type RecurrentTaskScheduler struct {
	TaskScheduler

	// How often to run the scheduled task.
	//
	// The value must be greater than
	// or equal to 1 and less than 1000. The default value is 1.
	// The interval acts as a multiplier for the unit of time associated
	// with a particular scheduler (hours, days, weeks, or months).
	// For example, setting the `HourlyTaskScheduler` interval
	// to 4 causes the task to run every 4 hours.
	Interval int32 `xml:"interval" json:"interval"`
}

The `RecurrentTaskScheduler` data object is the base type for the hierarchy that includes hourly, daily, weekly, and monthly task schedulers.

func (*RecurrentTaskScheduler) GetRecurrentTaskScheduler

func (b *RecurrentTaskScheduler) GetRecurrentTaskScheduler() *RecurrentTaskScheduler

type Refresh

type Refresh RefreshRequestType

type RefreshDVPortState

type RefreshDVPortState RefreshDVPortStateRequestType

type RefreshDVPortStateRequestType

type RefreshDVPortStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The keys of the ports to be refreshed. If not specified, all port
	// states are refreshed.
	PortKeys []string `xml:"portKeys,omitempty" json:"portKeys,omitempty"`
}

The parameters of `DistributedVirtualSwitch.RefreshDVPortState`.

type RefreshDVPortStateResponse

type RefreshDVPortStateResponse struct {
}

type RefreshDatastore

type RefreshDatastore RefreshDatastoreRequestType

type RefreshDatastoreRequestType

type RefreshDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshDatastoreResponse

type RefreshDatastoreResponse struct {
}

type RefreshDatastoreStorageInfoRequestType

type RefreshDatastoreStorageInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshDatastoreStorageInfoResponse

type RefreshDatastoreStorageInfoResponse struct {
}

type RefreshDateTimeSystemRequestType

type RefreshDateTimeSystemRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshDateTimeSystemResponse

type RefreshDateTimeSystemResponse struct {
}

type RefreshFirewall

type RefreshFirewall RefreshFirewallRequestType

type RefreshFirewallRequestType

type RefreshFirewallRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshFirewallResponse

type RefreshFirewallResponse struct {
}

type RefreshGraphicsManagerRequestType

type RefreshGraphicsManagerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshGraphicsManagerResponse

type RefreshGraphicsManagerResponse struct {
}

type RefreshHealthStatusSystemRequestType

type RefreshHealthStatusSystemRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshHealthStatusSystemResponse

type RefreshHealthStatusSystemResponse struct {
}

type RefreshNetworkSystemRequestType

type RefreshNetworkSystemRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshNetworkSystemResponse

type RefreshNetworkSystemResponse struct {
}

type RefreshRecommendationRequestType

type RefreshRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshRecommendationResponse

type RefreshRecommendationResponse struct {
}

type RefreshRequestType

type RefreshRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshResponse

type RefreshResponse struct {
}

type RefreshRuntime

type RefreshRuntime RefreshRuntimeRequestType

type RefreshRuntimeRequestType

type RefreshRuntimeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshRuntimeResponse

type RefreshRuntimeResponse struct {
}

type RefreshServices

type RefreshServices RefreshServicesRequestType

type RefreshServicesRequestType

type RefreshServicesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshServicesResponse

type RefreshServicesResponse struct {
}

type RefreshStorageDrsRecommendationRequestType

type RefreshStorageDrsRecommendationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The storage pod.
	// The recommendations generated is stored at
	// `PodStorageDrsEntry.recommendation`.
	//
	// Refers instance of `StoragePod`.
	Pod ManagedObjectReference `xml:"pod" json:"pod"`
}

The parameters of `StorageResourceManager.RefreshStorageDrsRecommendation`.

type RefreshStorageDrsRecommendationResponse

type RefreshStorageDrsRecommendationResponse struct {
}

type RefreshStorageDrsRecommendationsForPodRequestType added in v0.18.0

type RefreshStorageDrsRecommendationsForPodRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The storage pod.
	// The recommendations generated is stored at
	// `PodStorageDrsEntry.recommendation`.
	//
	// Refers instance of `StoragePod`.
	Pod ManagedObjectReference `xml:"pod" json:"pod"`
}

The parameters of `StorageResourceManager.RefreshStorageDrsRecommendationsForPod_Task`.

type RefreshStorageDrsRecommendationsForPod_Task added in v0.18.0

type RefreshStorageDrsRecommendationsForPod_Task RefreshStorageDrsRecommendationsForPodRequestType

type RefreshStorageDrsRecommendationsForPod_TaskResponse added in v0.18.0

type RefreshStorageDrsRecommendationsForPod_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RefreshStorageInfo

type RefreshStorageInfo RefreshStorageInfoRequestType

type RefreshStorageInfoRequestType

type RefreshStorageInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshStorageInfoResponse

type RefreshStorageInfoResponse struct {
}

type RefreshStorageSystemRequestType

type RefreshStorageSystemRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RefreshStorageSystemResponse

type RefreshStorageSystemResponse struct {
}

type RegisterChildVMRequestType

type RegisterChildVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A datastore path to the virtual machine. If the path ends with
	// ".vmtx", indicating that it refers to a VM template, an InvalidArgument
	// fault is thrown.
	Path string `xml:"path" json:"path"`
	// The name to be assigned to the virtual machine. If this parameter is
	// not set, the displayName configuration parameter of the virtual machine is
	// used. An entity name must be a non-empty string of less than 80
	// characters. The slash (/), backslash (\\) and percent (%) will be
	// escaped using the URL syntax. For example, %2F.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The target host on which the virtual machine will run. This parameter
	// must specify a host that is a member of the ComputeResource to which this
	// resource pool belongs. For a stand-alone host or a cluster with DRS,
	// the parameter can be omitted, and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `ResourcePool.RegisterChildVM_Task`.

type RegisterChildVM_Task

type RegisterChildVM_Task RegisterChildVMRequestType

type RegisterChildVM_TaskResponse

type RegisterChildVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RegisterDisk added in v0.12.0

type RegisterDisk RegisterDiskRequestType

type RegisterDiskRequestType added in v0.12.0

type RegisterDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// URL path to the virtual disk.
	Path string `xml:"path" json:"path"`
	// The descriptive name of the disk object. If
	// unset the name will be automatically determined
	// from the path. @see vim.vslm.BaseConfigInfo#name
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.RegisterDisk`.

type RegisterDiskResponse added in v0.12.0

type RegisterDiskResponse struct {
	Returnval VStorageObject `xml:"returnval" json:"returnval"`
}

type RegisterExtension

type RegisterExtension RegisterExtensionRequestType

type RegisterExtensionRequestType

type RegisterExtensionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Extension description to register.
	Extension Extension `xml:"extension" json:"extension"`
}

The parameters of `ExtensionManager.RegisterExtension`.

type RegisterExtensionResponse

type RegisterExtensionResponse struct {
}

type RegisterHealthUpdateProvider added in v0.12.0

type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType

type RegisterHealthUpdateProviderRequestType added in v0.12.0

type RegisterHealthUpdateProviderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider name. Should follow Java package
	// naming convention to minimize name clashes with
	// currently registered providers.
	// For example, "com.vmware.HealthUpdateProvider".
	Name string `xml:"name" json:"name"`
	// The list of healthUpdateInfo that can be
	// reported in healthUpdates.
	HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty" json:"healthUpdateInfo,omitempty"`
}

The parameters of `HealthUpdateManager.RegisterHealthUpdateProvider`.

type RegisterHealthUpdateProviderResponse added in v0.12.0

type RegisterHealthUpdateProviderResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type RegisterKmipServer added in v0.12.0

type RegisterKmipServer RegisterKmipServerRequestType

type RegisterKmipServerRequestType added in v0.12.0

type RegisterKmipServerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP server connection information.
	Server KmipServerSpec `xml:"server" json:"server"`
}

The parameters of `CryptoManagerKmip.RegisterKmipServer`.

type RegisterKmipServerResponse added in v0.12.0

type RegisterKmipServerResponse struct {
}

type RegisterKmsCluster added in v0.23.0

type RegisterKmsCluster RegisterKmsClusterRequestType

type RegisterKmsClusterRequestType added in v0.23.0

type RegisterKmsClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMS cluster ID to register.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// \[in\] Key provider management type
	// See `KmipClusterInfoKmsManagementType_enum`
	// for valid values.
	// By default trustAuthority.
	ManagementType string `xml:"managementType,omitempty" json:"managementType,omitempty"`
}

The parameters of `CryptoManagerKmip.RegisterKmsCluster`.

type RegisterKmsClusterResponse added in v0.23.0

type RegisterKmsClusterResponse struct {
}

type RegisterVMRequestType

type RegisterVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A datastore path to the virtual machine.
	Path string `xml:"path" json:"path"`
	// The name to be assigned to the virtual machine. If this parameter is
	// not set, the displayName configuration parameter of the virtual machine is
	// used. An entity name must be a non-empty string of less than 80
	// characters. The slash (/), backslash (\\) and percent (%) will be
	// escaped using the URL syntax. For example, %2F.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Flag to specify whether or not the virtual machine
	// should be marked as a template.
	AsTemplate bool `xml:"asTemplate" json:"asTemplate"`
	// The resource pool to which the virtual machine should be attached.
	// If imported as a template, this parameter is not set.
	//
	// Required privileges: Resource.AssignVMToPool
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The target host on which the virtual machine will run. This parameter
	// must specify a host that is a member of the ComputeResource indirectly
	// specified by the pool. For a stand-alone host or a cluster,
	// the parameter can be omitted, and the system selects a default.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `Folder.RegisterVM_Task`.

type RegisterVM_Task

type RegisterVM_Task RegisterVMRequestType

type RegisterVM_TaskResponse

type RegisterVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type Relation added in v0.12.0

type Relation struct {
	DynamicData

	// If contraint is not set, the relation holds for all versions.
	//
	// and if a constraint is defined it will be one of
	// `SoftwarePackageConstraint_enum`.
	Constraint string `xml:"constraint,omitempty" json:"constraint,omitempty"`
	Name       string `xml:"name" json:"name"`
	Version    string `xml:"version,omitempty" json:"version,omitempty"`
}

type ReleaseCredentialsInGuestRequestType

type ReleaseCredentialsInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// MoRef of the VM to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
}

The parameters of `GuestAuthManager.ReleaseCredentialsInGuest`.

type ReleaseCredentialsInGuestResponse

type ReleaseCredentialsInGuestResponse struct {
}

type ReleaseIpAllocation

type ReleaseIpAllocation ReleaseIpAllocationRequestType

type ReleaseIpAllocationRequestType

type ReleaseIpAllocationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to find the pool
	//
	// Required privileges: Datacenter.IpPoolReleaseIp
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The unique ID of the pool
	PoolId int32 `xml:"poolId" json:"poolId"`
	// The unique ID for this allocation
	AllocationId string `xml:"allocationId" json:"allocationId"`
}

The parameters of `IpPoolManager.ReleaseIpAllocation`.

type ReleaseIpAllocationResponse

type ReleaseIpAllocationResponse struct {
}

type ReleaseManagedSnapshot added in v0.12.0

type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType

type ReleaseManagedSnapshotRequestType added in v0.12.0

type ReleaseManagedSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \- The name of the disk to release, either a datastore path or a URL
	// referring to the virtual disk.
	Vdisk string `xml:"vdisk" json:"vdisk"`
	// If <code>vdisk</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>vdisk</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.ReleaseManagedSnapshot`.

type ReleaseManagedSnapshotResponse added in v0.12.0

type ReleaseManagedSnapshotResponse struct {
}

type Reload

type Reload ReloadRequestType

type ReloadRequestType

type ReloadRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ReloadResponse

type ReloadResponse struct {
}

type ReloadVirtualMachineFromPathRequestType added in v0.18.0

type ReloadVirtualMachineFromPathRequestType struct {
	This              ManagedObjectReference `xml:"_this" json:"-"`
	ConfigurationPath string                 `xml:"configurationPath" json:"configurationPath"`
}

type ReloadVirtualMachineFromPath_Task added in v0.18.0

type ReloadVirtualMachineFromPath_Task ReloadVirtualMachineFromPathRequestType

type ReloadVirtualMachineFromPath_TaskResponse added in v0.18.0

type ReloadVirtualMachineFromPath_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RelocateVMRequestType

type RelocateVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specification of where to relocate the virtual machine
	// (see `VirtualMachineRelocateSpec`).
	Spec VirtualMachineRelocateSpec `xml:"spec" json:"spec"`
	// The task priority
	// (see `VirtualMachineMovePriority_enum`).
	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty" vim:"4.0"`
}

The parameters of `VirtualMachine.RelocateVM_Task`.

type RelocateVM_Task

type RelocateVM_Task RelocateVMRequestType

type RelocateVM_TaskResponse

type RelocateVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RelocateVStorageObjectRequestType added in v0.12.0

type RelocateVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The specification for relocation of the virtual
	// storage object.
	Spec VslmRelocateSpec `xml:"spec" json:"spec"`
}

The parameters of `VcenterVStorageObjectManager.RelocateVStorageObject_Task`.

type RelocateVStorageObject_Task added in v0.12.0

type RelocateVStorageObject_Task RelocateVStorageObjectRequestType

type RelocateVStorageObject_TaskResponse added in v0.12.0

type RelocateVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoteDeviceNotSupported

type RemoteDeviceNotSupported struct {
	DeviceNotSupported
}

The virtual machine has a currently connected device with a remote backing.

This is an error when migrating a powered-on virtual machine, and can be returned as a subfault of DisallowedMigrationDeviceAttached.

type RemoteDeviceNotSupportedFault

type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported

type RemoteTSMEnabledEvent

type RemoteTSMEnabledEvent struct {
	HostEvent
}

Remote Tech Support Mode for the host has been enabled.

type RemoveAlarm

type RemoveAlarm RemoveAlarmRequestType

type RemoveAlarmRequestType

type RemoveAlarmRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RemoveAlarmResponse

type RemoveAlarmResponse struct {
}

type RemoveAllSnapshotsRequestType

type RemoveAllSnapshotsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// (optional) If set to true, the virtual disks of the deleted
	// snapshot will be merged with other disk if possible. Default to true.
	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty" vim:"5.0"`
}

The parameters of `VirtualMachine.RemoveAllSnapshots_Task`.

type RemoveAllSnapshots_Task

type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType

type RemoveAllSnapshots_TaskResponse

type RemoveAllSnapshots_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoveAssignedLicenseRequestType

type RemoveAssignedLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the entity. E.g. HostSystem.
	EntityId string `xml:"entityId" json:"entityId"`
}

The parameters of `LicenseAssignmentManager.RemoveAssignedLicense`.

type RemoveAssignedLicenseResponse

type RemoveAssignedLicenseResponse struct {
}

type RemoveAuthorizationRoleRequestType

type RemoveAuthorizationRoleRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	RoleId int32                  `xml:"roleId" json:"roleId"`
	// If true, prevents the role from being
	// removed if any permissions are using it.
	FailIfUsed bool `xml:"failIfUsed" json:"failIfUsed"`
}

The parameters of `AuthorizationManager.RemoveAuthorizationRole`.

type RemoveAuthorizationRoleResponse

type RemoveAuthorizationRoleResponse struct {
}

type RemoveCustomFieldDefRequestType

type RemoveCustomFieldDefRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The unique key for the field definition.
	Key int32 `xml:"key" json:"key"`
}

The parameters of `CustomFieldsManager.RemoveCustomFieldDef`.

type RemoveCustomFieldDefResponse

type RemoveCustomFieldDefResponse struct {
}

type RemoveDatastore

type RemoveDatastore RemoveDatastoreRequestType

type RemoveDatastoreExRequestType

type RemoveDatastoreExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies one datastore to be removed.
	//
	// Refers instances of `Datastore`.
	Datastore []ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.RemoveDatastoreEx_Task`.

type RemoveDatastoreEx_Task

type RemoveDatastoreEx_Task RemoveDatastoreExRequestType

type RemoveDatastoreEx_TaskResponse

type RemoveDatastoreEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoveDatastoreRequestType

type RemoveDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore to be removed.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `HostDatastoreSystem.RemoveDatastore`.

type RemoveDatastoreResponse

type RemoveDatastoreResponse struct {
}

type RemoveDiskMappingRequestType

type RemoveDiskMappingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// list of disk mappings to be removed from VSAN usage.
	Mapping []VsanHostDiskMapping `xml:"mapping" json:"mapping"`
	// Any additional actions to move data out of the disk
	// before removing it. See `HostMaintenanceSpec`.
	// If unspecified, there is no action taken to move
	// data from the disk.
	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"6.0"`
	// Time to wait for the task to complete in seconds.
	// If the value is less than or equal to zero, there
	// is no timeout. The operation fails with a Timedout
	// exception if it timed out.
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty" vim:"6.0"`
}

The parameters of `HostVsanSystem.RemoveDiskMapping_Task`.

type RemoveDiskMapping_Task

type RemoveDiskMapping_Task RemoveDiskMappingRequestType

type RemoveDiskMapping_TaskResponse

type RemoveDiskMapping_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoveDiskRequestType

type RemoveDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// list of disks to be removed from use by the VSAN service.
	Disk []HostScsiDisk `xml:"disk" json:"disk"`
	// Any additional actions to move data out of the disk
	// before removing it. See `HostMaintenanceSpec`.
	// If unspecified, there is no action taken to move
	// data from the disk.
	MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty" json:"maintenanceSpec,omitempty" vim:"6.0"`
	// Time to wait for the task to complete in seconds.
	// If the value is less than or equal to zero, there
	// is no timeout. The operation fails with a Timedout
	// exception if it timed out.
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty" vim:"6.0"`
}

The parameters of `HostVsanSystem.RemoveDisk_Task`.

type RemoveDisk_Task

type RemoveDisk_Task RemoveDiskRequestType

type RemoveDisk_TaskResponse

type RemoveDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoveEntityPermissionRequestType

type RemoveEntityPermissionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Entity on which a permission is removed.
	//
	// Required privileges: Authorization.ModifyPermissions
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// User or group for which the permission is defined.
	User string `xml:"user" json:"user"`
	// True, if user refers to a group name; false, for a user name.
	IsGroup bool `xml:"isGroup" json:"isGroup"`
}

The parameters of `AuthorizationManager.RemoveEntityPermission`.

type RemoveEntityPermissionResponse

type RemoveEntityPermissionResponse struct {
}

type RemoveFailed

type RemoveFailed struct {
	VimFault
}

This fault is thrown when the client attempts to remove an object that has active related objects (for example, a role that has active permissions).

type RemoveFailedFault

type RemoveFailedFault RemoveFailed

type RemoveFilter added in v0.12.0

type RemoveFilter RemoveFilterRequestType

type RemoveFilterEntities added in v0.12.0

type RemoveFilterEntities RemoveFilterEntitiesRequestType

type RemoveFilterEntitiesRequestType added in v0.12.0

type RemoveFilterEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
	// The list of removed managed entities.
	//
	// Refers instances of `ManagedEntity`.
	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
}

The parameters of `HealthUpdateManager.RemoveFilterEntities`.

type RemoveFilterEntitiesResponse added in v0.12.0

type RemoveFilterEntitiesResponse struct {
}

type RemoveFilterRequestType added in v0.12.0

type RemoveFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter id.
	FilterId string `xml:"filterId" json:"filterId"`
}

The parameters of `HealthUpdateManager.RemoveFilter`.

type RemoveFilterResponse added in v0.12.0

type RemoveFilterResponse struct {
}

type RemoveGroup

type RemoveGroup RemoveGroupRequestType

type RemoveGroupRequestType

type RemoveGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Group ID of the group account being removed.
	GroupName string `xml:"groupName" json:"groupName"`
}

The parameters of `HostLocalAccountManager.RemoveGroup`.

type RemoveGroupResponse

type RemoveGroupResponse struct {
}

type RemoveGuestAlias

type RemoveGuestAlias RemoveGuestAliasRequestType

type RemoveGuestAliasByCertRequestType

type RemoveGuestAliasByCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data for this operation. See
	// `GuestAuthentication`. These credentials must satisfy
	// authentication requirements
	// for a guest account on the specified virtual machine.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// Username for the guest account on the virtual machine.
	Username string `xml:"username" json:"username"`
	// The X.509 certificate to be removed, in base64
	// encoded DER format.
	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
}

The parameters of `GuestAliasManager.RemoveGuestAliasByCert`.

type RemoveGuestAliasByCertResponse

type RemoveGuestAliasByCertResponse struct {
}

type RemoveGuestAliasRequestType

type RemoveGuestAliasRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.ModifyAliases
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data for this operation. See
	// `GuestAuthentication`. These credentials must satisfy
	// authentication requirements
	// for a guest account on the specified virtual machine.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// Username for the guest account on the virtual machine.
	Username string `xml:"username" json:"username"`
	// The X.509 certificate associated with the alias to be
	// removed, in base64 encoded DER format.
	Base64Cert string `xml:"base64Cert" json:"base64Cert"`
	// The subject of the alias.
	Subject BaseGuestAuthSubject `xml:"subject,typeattr" json:"subject"`
}

The parameters of `GuestAliasManager.RemoveGuestAlias`.

type RemoveGuestAliasResponse

type RemoveGuestAliasResponse struct {
}

type RemoveInternetScsiSendTargetsRequestType

type RemoveInternetScsiSendTargetsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// An array of iSCSI send targets to remove.
	Targets []HostInternetScsiHbaSendTarget `xml:"targets" json:"targets"`
	// flag for forced removal of iSCSI send targets.
	// If unset, force flag will be treated as false.
	Force *bool `xml:"force" json:"force,omitempty" vim:"7.0.1.0"`
}

The parameters of `HostStorageSystem.RemoveInternetScsiSendTargets`.

type RemoveInternetScsiSendTargetsResponse

type RemoveInternetScsiSendTargetsResponse struct {
}

type RemoveInternetScsiStaticTargetsRequestType

type RemoveInternetScsiStaticTargetsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// An array of iSCSI static targets to remove.
	Targets []HostInternetScsiHbaStaticTarget `xml:"targets" json:"targets"`
}

The parameters of `HostStorageSystem.RemoveInternetScsiStaticTargets`.

type RemoveInternetScsiStaticTargetsResponse

type RemoveInternetScsiStaticTargetsResponse struct {
}

type RemoveKey added in v0.12.0

type RemoveKey RemoveKeyRequestType

type RemoveKeyRequestType added in v0.12.0

type RemoveKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The key to remove.
	Key CryptoKeyId `xml:"key" json:"key"`
	// \[in\] Remove the key even if in use or not existent.
	Force bool `xml:"force" json:"force"`
}

The parameters of `CryptoManager.RemoveKey`.

type RemoveKeyResponse added in v0.12.0

type RemoveKeyResponse struct {
}

type RemoveKeys added in v0.12.0

type RemoveKeys RemoveKeysRequestType

type RemoveKeysRequestType added in v0.12.0

type RemoveKeysRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] List of keys to remove.
	Keys []CryptoKeyId `xml:"keys,omitempty" json:"keys,omitempty"`
	// \[in\] Remove the key even if in use. Always successful.
	Force bool `xml:"force" json:"force"`
}

The parameters of `CryptoManager.RemoveKeys`.

type RemoveKeysResponse added in v0.12.0

type RemoveKeysResponse struct {
	Returnval []CryptoKeyResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RemoveKmipServer added in v0.12.0

type RemoveKmipServer RemoveKmipServerRequestType

type RemoveKmipServerRequestType added in v0.12.0

type RemoveKmipServerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster ID.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
	// \[in\] KMIP server name.
	ServerName string `xml:"serverName" json:"serverName"`
}

The parameters of `CryptoManagerKmip.RemoveKmipServer`.

type RemoveKmipServerResponse added in v0.12.0

type RemoveKmipServerResponse struct {
}

type RemoveLicense

type RemoveLicense RemoveLicenseRequestType

type RemoveLicenseLabel

type RemoveLicenseLabel RemoveLicenseLabelRequestType

type RemoveLicenseLabelRequestType

type RemoveLicenseLabelRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// A label key.
	LabelKey string `xml:"labelKey" json:"labelKey"`
}

The parameters of `LicenseManager.RemoveLicenseLabel`.

type RemoveLicenseLabelResponse

type RemoveLicenseLabelResponse struct {
}

type RemoveLicenseRequestType

type RemoveLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A licenses. E.g. a serial license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
}

The parameters of `LicenseManager.RemoveLicense`.

type RemoveLicenseResponse

type RemoveLicenseResponse struct {
}

type RemoveMonitoredEntities added in v0.12.0

type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType

type RemoveMonitoredEntitiesRequestType added in v0.12.0

type RemoveMonitoredEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
	// The entities that are no longer monitored by
	// this provider.
	//
	// Refers instances of `ManagedEntity`.
	Entities []ManagedObjectReference `xml:"entities,omitempty" json:"entities,omitempty"`
}

The parameters of `HealthUpdateManager.RemoveMonitoredEntities`.

type RemoveMonitoredEntitiesResponse added in v0.12.0

type RemoveMonitoredEntitiesResponse struct {
}

type RemoveNetworkResourcePoolRequestType

type RemoveNetworkResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The network resource pool key.
	Key []string `xml:"key" json:"key"`
}

The parameters of `DistributedVirtualSwitch.RemoveNetworkResourcePool`.

type RemoveNetworkResourcePoolResponse

type RemoveNetworkResourcePoolResponse struct {
}

type RemoveNvmeOverRdmaAdapter added in v0.23.0

type RemoveNvmeOverRdmaAdapter RemoveNvmeOverRdmaAdapterRequestType

type RemoveNvmeOverRdmaAdapterRequestType added in v0.23.0

type RemoveNvmeOverRdmaAdapterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device name of the NVME over RDMA adapter to be removed.
	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
}

The parameters of `HostStorageSystem.RemoveNvmeOverRdmaAdapter`.

type RemoveNvmeOverRdmaAdapterResponse added in v0.23.0

type RemoveNvmeOverRdmaAdapterResponse struct {
}

type RemovePerfInterval

type RemovePerfInterval RemovePerfIntervalRequestType

type RemovePerfIntervalRequestType

type RemovePerfIntervalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The sampling period, in seconds, for the specified interval being
	// removed.
	SamplePeriod int32 `xml:"samplePeriod" json:"samplePeriod"`
}

The parameters of `PerformanceManager.RemovePerfInterval`.

type RemovePerfIntervalResponse

type RemovePerfIntervalResponse struct {
}

type RemovePortGroup

type RemovePortGroup RemovePortGroupRequestType

type RemovePortGroupRequestType

type RemovePortGroupRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	PgName string                 `xml:"pgName" json:"pgName"`
}

The parameters of `HostNetworkSystem.RemovePortGroup`.

type RemovePortGroupResponse

type RemovePortGroupResponse struct {
}

type RemoveScheduledTask

type RemoveScheduledTask RemoveScheduledTaskRequestType

type RemoveScheduledTaskRequestType

type RemoveScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RemoveScheduledTaskResponse

type RemoveScheduledTaskResponse struct {
}

type RemoveServiceConsoleVirtualNicRequestType

type RemoveServiceConsoleVirtualNicRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device string                 `xml:"device" json:"device"`
}

The parameters of `HostNetworkSystem.RemoveServiceConsoleVirtualNic`.

type RemoveServiceConsoleVirtualNicResponse

type RemoveServiceConsoleVirtualNicResponse struct {
}

type RemoveSmartCardTrustAnchorByFingerprintRequestType

type RemoveSmartCardTrustAnchorByFingerprintRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Certificate fingerprint
	Fingerprint string `xml:"fingerprint" json:"fingerprint"`
	// Digest function used to compute fingerprint. One of
	// `HostActiveDirectoryAuthenticationCertificateDigest_enum`.
	Digest string `xml:"digest" json:"digest"`
}

The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchorByFingerprint`.

type RemoveSmartCardTrustAnchorByFingerprintResponse

type RemoveSmartCardTrustAnchorByFingerprintResponse struct {
}

type RemoveSmartCardTrustAnchorRequestType

type RemoveSmartCardTrustAnchorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Certificate issuer
	Issuer string `xml:"issuer" json:"issuer"`
	// Certificate serial number (decimal integer)
	Serial string `xml:"serial" json:"serial"`
}

The parameters of `HostActiveDirectoryAuthentication.RemoveSmartCardTrustAnchor`.

type RemoveSmartCardTrustAnchorResponse

type RemoveSmartCardTrustAnchorResponse struct {
}

type RemoveSnapshotRequestType

type RemoveSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Flag to specify removal of the entire snapshot subtree.
	RemoveChildren bool `xml:"removeChildren" json:"removeChildren"`
	// (optional) If set to true, the virtual disk associated
	// with this snapshot will be merged with other disk if possible. Defaults to true.
	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty" vim:"5.0"`
}

The parameters of `VirtualMachineSnapshot.RemoveSnapshot_Task`.

type RemoveSnapshot_Task

type RemoveSnapshot_Task RemoveSnapshotRequestType

type RemoveSnapshot_TaskResponse

type RemoveSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RemoveSoftwareAdapter added in v0.27.0

type RemoveSoftwareAdapter RemoveSoftwareAdapterRequestType

type RemoveSoftwareAdapterRequestType added in v0.27.0

type RemoveSoftwareAdapterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device name of the adapter to be removed.
	HbaDeviceName string `xml:"hbaDeviceName" json:"hbaDeviceName"`
}

The parameters of `HostStorageSystem.RemoveSoftwareAdapter`.

type RemoveSoftwareAdapterResponse added in v0.27.0

type RemoveSoftwareAdapterResponse struct {
}

type RemoveUser

type RemoveUser RemoveUserRequestType

type RemoveUserRequestType

type RemoveUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// User ID of the user account being removed.
	UserName string `xml:"userName" json:"userName"`
}

The parameters of `HostLocalAccountManager.RemoveUser`.

type RemoveUserResponse

type RemoveUserResponse struct {
}

type RemoveVirtualNic

type RemoveVirtualNic RemoveVirtualNicRequestType

type RemoveVirtualNicRequestType

type RemoveVirtualNicRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device string                 `xml:"device" json:"device"`
}

The parameters of `HostNetworkSystem.RemoveVirtualNic`.

type RemoveVirtualNicResponse

type RemoveVirtualNicResponse struct {
}

type RemoveVirtualSwitch

type RemoveVirtualSwitch RemoveVirtualSwitchRequestType

type RemoveVirtualSwitchRequestType

type RemoveVirtualSwitchRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
}

The parameters of `HostNetworkSystem.RemoveVirtualSwitch`.

type RemoveVirtualSwitchResponse

type RemoveVirtualSwitchResponse struct {
}

type RenameCustomFieldDefRequestType

type RenameCustomFieldDefRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The unique key for the field definition.
	Key int32 `xml:"key" json:"key"`
	// The new name for the field.
	Name string `xml:"name" json:"name"`
}

The parameters of `CustomFieldsManager.RenameCustomFieldDef`.

type RenameCustomFieldDefResponse

type RenameCustomFieldDefResponse struct {
}

type RenameCustomizationSpecRequestType

type RenameCustomizationSpecRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	Name    string                 `xml:"name" json:"name"`
	NewName string                 `xml:"newName" json:"newName"`
}

The parameters of `CustomizationSpecManager.RenameCustomizationSpec`.

type RenameCustomizationSpecResponse

type RenameCustomizationSpecResponse struct {
}

type RenameDatastore

type RenameDatastore RenameDatastoreRequestType

type RenameDatastoreRequestType

type RenameDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new name to assign to the datastore.
	NewName string `xml:"newName" json:"newName"`
}

The parameters of `Datastore.RenameDatastore`.

type RenameDatastoreResponse

type RenameDatastoreResponse struct {
}

type RenameRequestType

type RenameRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	NewName string                 `xml:"newName" json:"newName"`
}

The parameters of `ManagedEntity.Rename_Task`.

type RenameSnapshot

type RenameSnapshot RenameSnapshotRequestType

type RenameSnapshotRequestType

type RenameSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// New name for the snapshot.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// New description for the snapshot.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

The parameters of `VirtualMachineSnapshot.RenameSnapshot`.

type RenameSnapshotResponse

type RenameSnapshotResponse struct {
}

type RenameVStorageObject added in v0.12.0

type RenameVStorageObject RenameVStorageObjectRequestType

type RenameVStorageObjectEx added in v0.31.0

type RenameVStorageObjectEx RenameVStorageObjectExRequestType

type RenameVStorageObjectExRequestType added in v0.31.0

type RenameVStorageObjectExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be renamed.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new name for the virtual storage object.
	Name string `xml:"name" json:"name"`
}

The parameters of `VStorageObjectManagerBase.RenameVStorageObjectEx`.

type RenameVStorageObjectExResponse added in v0.31.0

type RenameVStorageObjectExResponse struct {
	Returnval VslmVClockInfo `xml:"returnval" json:"returnval"`
}

type RenameVStorageObjectRequestType added in v0.12.0

type RenameVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be renamed.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new name for the virtual storage object.
	Name string `xml:"name" json:"name"`
}

The parameters of `VcenterVStorageObjectManager.RenameVStorageObject`.

type RenameVStorageObjectResponse added in v0.12.0

type RenameVStorageObjectResponse struct {
}

type Rename_Task

type Rename_Task RenameRequestType

type Rename_TaskResponse

type Rename_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ReplaceCACertificatesAndCRLsRequestType

type ReplaceCACertificatesAndCRLsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of SSL certificates, in PEM format,
	// of all CAs that should be trusted
	CaCert []string `xml:"caCert" json:"caCert"`
	// List of SSL CRLs, in PEM format,
	// issued by trusted CAs from the above list
	CaCrl []string `xml:"caCrl,omitempty" json:"caCrl,omitempty"`
}

The parameters of `HostCertificateManager.ReplaceCACertificatesAndCRLs`.

type ReplaceCACertificatesAndCRLsResponse

type ReplaceCACertificatesAndCRLsResponse struct {
}

type ReplaceSmartCardTrustAnchorsRequestType

type ReplaceSmartCardTrustAnchorsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of trusted CA certificates in PEM format. If empty
	// then all existing trust anchors are removed.
	Certs []string `xml:"certs,omitempty" json:"certs,omitempty"`
}

The parameters of `HostActiveDirectoryAuthentication.ReplaceSmartCardTrustAnchors`.

type ReplaceSmartCardTrustAnchorsResponse

type ReplaceSmartCardTrustAnchorsResponse struct {
}

type ReplicationConfigFault

type ReplicationConfigFault struct {
	ReplicationFault
}

Base type for Replication-related configuration errors.

func (*ReplicationConfigFault) GetReplicationConfigFault

func (b *ReplicationConfigFault) GetReplicationConfigFault() *ReplicationConfigFault

type ReplicationConfigFaultFault

type ReplicationConfigFaultFault BaseReplicationConfigFault

type ReplicationConfigSpec

type ReplicationConfigSpec struct {
	DynamicData

	// A generation number (&gt;=0) that reflects the "freshness" of the
	// ReplicationConfigSpec on which a re-configuration is based.
	//
	// The
	// generation number is used to detect and disallow concurrent
	// updates to a VM's replication settings.
	// For initial replication enablement, generation = 0. The
	// replication settings of every replication re-configuration
	// operation must reflect the latest generation number known to the
	// caller. It takes an explicit call to get the latest replication
	// settings to find out what the latest generation number is. The
	// update algorithm of the generation number is opaque to the
	// caller; e.g., the caller cannot assume that the generation
	// numbers are incremented by one every time replication is
	// (re)configured, not even that they are changing monotonically.
	Generation int64 `xml:"generation" json:"generation"`
	// An opaque identifier that uniquely identifies a replicated VM
	// between primary and secondary sites.
	VmReplicationId string `xml:"vmReplicationId" json:"vmReplicationId"`
	// The IP address of the HBR Server in the secondary site
	// where this VM is replicated to.
	//
	// Note: If net encryption is enabled, this is the address of the
	// encryption tunnelling agent.
	Destination string `xml:"destination" json:"destination"`
	// The port on the HBR Server in the secondary site where this VM
	// is replicated to.
	//
	// Note: If net encryption is enabled, this is the port of the
	// encryption tunneling agent.
	Port int32 `xml:"port" json:"port"`
	// The Recovery Point Objective specified for this VM, in minutes.
	//
	// Currently, valid values are in the range of 1 minute to 1440
	// minutes (24 hours).
	Rpo int64 `xml:"rpo" json:"rpo"`
	// Flag that indicates whether or not to quiesce the file system or
	// applications in the guest OS before a consistent replica is
	// created.
	QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled" json:"quiesceGuestEnabled"`
	// Flag that indicates whether or not the vm or group has been paused for
	// replication.
	Paused bool `xml:"paused" json:"paused"`
	// Flag that indicates whether or not to perform opportunistic
	// updates in-between consistent replicas.
	OppUpdatesEnabled bool `xml:"oppUpdatesEnabled" json:"oppUpdatesEnabled"`
	// Flag that indicates whether or not compression should
	// be used when sending traffic over the network.
	//
	// The primary will negotiate the best compression with
	// the server on the secondary if this is enabled.
	NetCompressionEnabled *bool `xml:"netCompressionEnabled" json:"netCompressionEnabled,omitempty" vim:"6.0"`
	// Flag that indicates whether or not encription should
	// be used when sending traffic over the network.
	//
	// The primary will use the remoteCertificateThumbprint
	// to verify the identity of the remote server.
	NetEncryptionEnabled *bool `xml:"netEncryptionEnabled" json:"netEncryptionEnabled,omitempty" vim:"6.7"`
	// The IP address of the remote HBR server, target for encrypted LWD.
	//
	// This field is required when net encryption is enabled, ignored otherwise.
	EncryptionDestination string `xml:"encryptionDestination,omitempty" json:"encryptionDestination,omitempty" vim:"6.7"`
	// The port on the remote HBR server, target for encrypted LWD.
	//
	// This field is only relevant when net encryption is enabled.
	EncryptionPort int32 `xml:"encryptionPort,omitempty" json:"encryptionPort,omitempty" vim:"6.7"`
	// The SHA256 thumbprint of the remote server certificate.
	//
	// This field is only relevant when net encription is enabled.
	RemoteCertificateThumbprint string `xml:"remoteCertificateThumbprint,omitempty" json:"remoteCertificateThumbprint,omitempty" vim:"6.7"`
	// Flag that indicates whether DataSets files are replicated or not.
	DataSetsReplicationEnabled *bool `xml:"dataSetsReplicationEnabled" json:"dataSetsReplicationEnabled,omitempty" vim:"8.0.0.0"`
	// The set of the disks of this VM that are configured for
	// replication.
	Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty" json:"disk,omitempty"`
}

The ReplicationConfigSpec object type encapsulates the replication configuration parameters for a virtual machine.

It consists of two parts: 1) a set of virtual machine-wide replication properties; 2) a set of properties per replicated virtual disk. ReplicationSetting is passed as an argument for initial replication configuration (@see vim.HbrManager#enableReplication) as well as for re-configuration of a replicated VM's properties (@see vim.HbrManager#reconfigureReplication).

type ReplicationDiskConfigFault

type ReplicationDiskConfigFault struct {
	ReplicationConfigFault

	// The reason for the failure.
	//
	// One of the above.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The virtual machine, for identification purposes.
	//
	// Refers instance of `VirtualMachine`.
	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
	// The disk (device) key in the parent VM for identification
	// purposes.
	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
}

A ReplicationDiskConfigFault is thrown when there is an issue with configuring disk replication properties.

type ReplicationDiskConfigFaultFault

type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault

type ReplicationDiskConfigFaultReasonForFault

type ReplicationDiskConfigFaultReasonForFault string

type ReplicationFault

type ReplicationFault struct {
	VimFault
}

Base type for Replication-related errors.

func (*ReplicationFault) GetReplicationFault

func (b *ReplicationFault) GetReplicationFault() *ReplicationFault

type ReplicationFaultFault

type ReplicationFaultFault BaseReplicationFault

type ReplicationGroupId added in v0.12.0

type ReplicationGroupId struct {
	DynamicData

	// ID of the fault domain to which the group belongs.
	//
	// Combined with the fault
	// domain id, the group id is unique. A group may (or may not) have the same
	// id in all the fault domains.
	FaultDomainId FaultDomainId `xml:"faultDomainId" json:"faultDomainId"`
	// Id of the replication device group.
	//
	// A group may have the same (or different) id in each fault
	// domain.
	DeviceGroupId DeviceGroupId `xml:"deviceGroupId" json:"deviceGroupId"`
}

The identity of a replication group.

A following well-known ReplicationGroupId

{

faultDomainId: <a validfaultdomainid>

deviceGroupId: ffffffff-ffff-ffff-ffff-ffffffffffff

}

means that VASA provider can create a new ReplicationGroupId on demand (this feature may not be supported in the first vSphere release that supports VVol replication).

type ReplicationIncompatibleWithFT

type ReplicationIncompatibleWithFT struct {
	ReplicationFault
}

Used to indicate that FT cannot be enabled on a replicated virtual machine (returned by `VirtualMachine.QueryFaultToleranceCompatibility`).

type ReplicationIncompatibleWithFTFault

type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT

type ReplicationInfoDiskSettings

type ReplicationInfoDiskSettings struct {
	DynamicData

	// The disk's device key in the VM's configuration.
	//
	// Used to
	// uniquely identify the disk to be configured for replication
	// in the primary VM.
	Key int32 `xml:"key" json:"key"`
	// An opaque identifier that uniquely identifies a replicated
	// disk between primary and secondary sites.
	DiskReplicationId string `xml:"diskReplicationId" json:"diskReplicationId"`
}

The ReplicationConfigSpec.DiskSettings object type encapsulates the replication properties of a replicated disk of a replicated virtual machine.

type ReplicationInvalidOptions

type ReplicationInvalidOptions struct {
	ReplicationFault

	// The invalid options string.
	Options string `xml:"options" json:"options"`
	// Entity, if any, that has invalid options.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

A ReplicationInvalidOptions fault is thrown when the options string passed contains invalid characters or broken format.

type ReplicationInvalidOptionsFault

type ReplicationInvalidOptionsFault ReplicationInvalidOptions

type ReplicationNotSupportedOnHost

type ReplicationNotSupportedOnHost struct {
	ReplicationFault
}

Thrown if the replication module is not loaded in the host.

type ReplicationNotSupportedOnHostFault

type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost

type ReplicationSpec added in v0.12.0

type ReplicationSpec struct {
	DynamicData

	// Replication Group id
	ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId" json:"replicationGroupId"`
}

type ReplicationVmConfigFault

type ReplicationVmConfigFault struct {
	ReplicationConfigFault

	// The reason for the failure.
	//
	// One of the above `ReplicationVmConfigFaultReasonForFault_enum`.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The virtual machine, for identification purposes.
	//
	// Refers instance of `VirtualMachine`.
	VmRef *ManagedObjectReference `xml:"vmRef,omitempty" json:"vmRef,omitempty"`
}

A ReplicationVmConfigFault is thrown when there is an issue with configuring VM-wide replication properties.

type ReplicationVmConfigFaultFault

type ReplicationVmConfigFaultFault ReplicationVmConfigFault

type ReplicationVmConfigFaultReasonForFault

type ReplicationVmConfigFaultReasonForFault string

type ReplicationVmFault

type ReplicationVmFault struct {
	ReplicationFault

	// The reason for the failure.
	//
	// One of the above.
	Reason string `xml:"reason" json:"reason"`
	// The current `ReplicationVmState_enum` of the
	// `VirtualMachine`
	State string `xml:"state,omitempty" json:"state,omitempty"`
	// The name of the instance currently being created.
	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
	// The virtual machine, for identification purposes.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

A ReplicationVmFault is thrown when there is an issue with an operation performed on a replicated `VirtualMachine`

func (*ReplicationVmFault) GetReplicationVmFault

func (b *ReplicationVmFault) GetReplicationVmFault() *ReplicationVmFault

type ReplicationVmFaultFault

type ReplicationVmFaultFault BaseReplicationVmFault

type ReplicationVmFaultReasonForFault

type ReplicationVmFaultReasonForFault string

type ReplicationVmInProgressFault

type ReplicationVmInProgressFault struct {
	ReplicationVmFault

	// The requsted activity for VM replication
	RequestedActivity string `xml:"requestedActivity" json:"requestedActivity"`
	// The in-progress activity for VM replication
	InProgressActivity string `xml:"inProgressActivity" json:"inProgressActivity"`
}

A ReplicationVmInProgressFault is thrown when a replication operation failed to perform on a `VirtualMachine` because the VM is in the middle of another replication activity.

type ReplicationVmInProgressFaultActivity

type ReplicationVmInProgressFaultActivity string

type ReplicationVmInProgressFaultFault

type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault

type ReplicationVmProgressInfo

type ReplicationVmProgressInfo struct {
	DynamicData

	// An estimation of the operation progress as a percentage completed,
	// from 0 to 100.
	Progress int32 `xml:"progress" json:"progress"`
	// Number of bytes transferred so far.
	//
	// For sync operations, this value includes (i.e. counts multiple
	// times) areas that were transferred multiple times (due to stopping
	// and continuing the operation, or for some errors).
	BytesTransferred int64 `xml:"bytesTransferred" json:"bytesTransferred"`
	// The total number of bytes to be transferred.
	//
	// For lwd operations, this is the total size of the disk images that
	// are transferring. This is known from the start and will not change
	// during a lwd operation.
	//
	// For sync operations, this is the total size of the blocks that have
	// been found not to match between the primary and secondary (by
	// comparing checksums). It starts from 0 and grows as the checksum
	// operations advance. The value includes (i.e. counts multiple times)
	// areas that will end up being transferred more than once (due to
	// stopping and continuing the operation, or for some errors).
	BytesToTransfer int64 `xml:"bytesToTransfer" json:"bytesToTransfer"`
	// The total number of bytes to be checksummed, only present for sync
	// tasks.
	//
	// This is the total size of all disks.
	ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty" json:"checksumTotalBytes,omitempty"`
	// The total number of bytes that were checksummed, only present for
	// sync tasks.
	ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty" json:"checksumComparedBytes,omitempty"`
}

A set of statistics related to the progress of the current operation (full sync or lwd).

type ReplicationVmState

type ReplicationVmState string

type RequestCanceled

type RequestCanceled struct {
	RuntimeFault
}

A RequestCanceled fault is thrown if the user canceled the task.

type RequestCanceledFault

type RequestCanceledFault RequestCanceled

type RescanAllHba

type RescanAllHba RescanAllHbaRequestType

type RescanAllHbaRequestType

type RescanAllHbaRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RescanAllHbaResponse

type RescanAllHbaResponse struct {
}

type RescanHba

type RescanHba RescanHbaRequestType

type RescanHbaRequestType

type RescanHbaRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the host bus adapter.
	HbaDevice string `xml:"hbaDevice" json:"hbaDevice"`
}

The parameters of `HostStorageSystem.RescanHba`.

type RescanHbaResponse

type RescanHbaResponse struct {
}

type RescanVffs

type RescanVffs RescanVffsRequestType

type RescanVffsRequestType

type RescanVffsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RescanVffsResponse

type RescanVffsResponse struct {
}

type RescanVmfs

type RescanVmfs RescanVmfsRequestType

type RescanVmfsRequestType

type RescanVmfsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RescanVmfsResponse

type RescanVmfsResponse struct {
}

type ResetCollector

type ResetCollector ResetCollectorRequestType

type ResetCollectorRequestType

type ResetCollectorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ResetCollectorResponse

type ResetCollectorResponse struct {
}

type ResetCounterLevelMappingRequestType

type ResetCounterLevelMappingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of counter ids.
	Counters []int32 `xml:"counters" json:"counters"`
}

The parameters of `PerformanceManager.ResetCounterLevelMapping`.

type ResetCounterLevelMappingResponse

type ResetCounterLevelMappingResponse struct {
}

type ResetEntityPermissionsRequestType

type ResetEntityPermissionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity on which permissions are updated.
	//
	// Required privileges: Authorization.ModifyPermissions
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The list of Permission objects that define
	// the new rules for access to the entity and
	// potentially entities below it. If the list
	// is empty, all permissions on the entity are removed.
	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
}

The parameters of `AuthorizationManager.ResetEntityPermissions`.

type ResetEntityPermissionsResponse

type ResetEntityPermissionsResponse struct {
}

type ResetFirmwareToFactoryDefaultsRequestType

type ResetFirmwareToFactoryDefaultsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ResetFirmwareToFactoryDefaultsResponse

type ResetFirmwareToFactoryDefaultsResponse struct {
}

type ResetGuestInformationRequestType

type ResetGuestInformationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ResetGuestInformationResponse

type ResetGuestInformationResponse struct {
}

type ResetListView

type ResetListView ResetListViewRequestType

type ResetListViewFromViewRequestType

type ResetListViewFromViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The view to copy objects from.
	//
	// Refers instance of `View`.
	View ManagedObjectReference `xml:"view" json:"view"`
}

The parameters of `ListView.ResetListViewFromView`.

type ResetListViewFromViewResponse

type ResetListViewFromViewResponse struct {
}

type ResetListViewRequestType

type ResetListViewRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new list of objects.
	//
	// Required privileges: System.View
	Obj []ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
}

The parameters of `ListView.ResetListView`.

type ResetListViewResponse

type ResetListViewResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ResetSystemHealthInfoRequestType

type ResetSystemHealthInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ResetSystemHealthInfoResponse

type ResetSystemHealthInfoResponse struct {
}

type ResetVMRequestType

type ResetVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ResetVM_Task

type ResetVM_Task ResetVMRequestType

type ResetVM_TaskResponse

type ResetVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ResignatureUnresolvedVmfsVolumeRequestType

type ResignatureUnresolvedVmfsVolumeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A data object that describes what the disk
	// extents to be used for creating the new
	// VMFS volume.
	ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec" json:"resolutionSpec"`
}

The parameters of `HostDatastoreSystem.ResignatureUnresolvedVmfsVolume_Task`.

type ResignatureUnresolvedVmfsVolume_TaskResponse

type ResignatureUnresolvedVmfsVolume_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ResolveInstallationErrorsOnClusterRequestType

type ResolveInstallationErrorsOnClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the filter.
	FilterId string `xml:"filterId" json:"filterId"`
	// The cluster.
	//
	// Refers instance of `ClusterComputeResource`.
	Cluster ManagedObjectReference `xml:"cluster" json:"cluster"`
}

The parameters of `IoFilterManager.ResolveInstallationErrorsOnCluster_Task`.

type ResolveInstallationErrorsOnCluster_TaskResponse

type ResolveInstallationErrorsOnCluster_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ResolveInstallationErrorsOnHostRequestType

type ResolveInstallationErrorsOnHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the filter.
	FilterId string `xml:"filterId" json:"filterId"`
	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `IoFilterManager.ResolveInstallationErrorsOnHost_Task`.

type ResolveInstallationErrorsOnHost_TaskResponse

type ResolveInstallationErrorsOnHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ResolveMultipleUnresolvedVmfsVolumesExRequestType

type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of data object that describes what the disk
	// extents to be used for creating the new
	// VMFS volume.
	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
}

The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumesEx_Task`.

type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse

type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ResolveMultipleUnresolvedVmfsVolumesRequestType

type ResolveMultipleUnresolvedVmfsVolumesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of data object that describes what the disk
	// extents to be used for creating the new
	// VMFS volume.
	ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec" json:"resolutionSpec"`
}

The parameters of `HostStorageSystem.ResolveMultipleUnresolvedVmfsVolumes`.

type ResolveMultipleUnresolvedVmfsVolumesResponse

type ResolveMultipleUnresolvedVmfsVolumesResponse struct {
	Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ResourceAllocationInfo

type ResourceAllocationInfo struct {
	DynamicData

	// Amount of resource that is guaranteed available to the virtual machine or
	// resource pool.
	//
	// Reserved resources are not wasted if they are not used. If
	// the utilization is less than the reservation, the resources can be utilized by
	// other running virtual machines. Units are MB for memory, MHz for CPU.
	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
	// In a resource pool with an expandable reservation, the reservation on a resource
	// pool can grow beyond the specified value, if the parent resource pool has
	// unreserved resources.
	//
	// A non-expandable reservation is called a fixed
	// reservation. This property is invalid for virtual machines.
	ExpandableReservation *bool `xml:"expandableReservation" json:"expandableReservation,omitempty"`
	// The utilization of a virtual machine/resource pool will not exceed this limit, even
	// if there are available resources.
	//
	// This is typically used to ensure a consistent
	// performance of virtual machines / resource pools independent of available resources.
	// If set to -1, then there is no fixed limit on resource usage (only bounded by available
	// resources and shares). Units are MB for memory, MHz for CPU.
	Limit *int64 `xml:"limit" json:"limit,omitempty"`
	// Memory shares are used in case of resource contention.
	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
	// The maximum allowed overhead memory.
	//
	// For a powered on virtual
	// machine, the overhead memory reservation cannot be larger than its
	// overheadLimit. This property is only applicable to powered on
	// virtual machines and is not persisted across reboots. This property
	// is not applicable for resource pools. If set to -1, then there is
	// no limit on reservation. Units are MB.
	//
	// Note: For vCenter Server use only. Not available for other clients
	// at this time.
	// The server will throw an exception if you attempt to set
	// this property.
	OverheadLimit *int64 `xml:"overheadLimit" json:"overheadLimit,omitempty" vim:"2.5"`
}

The ResourceAllocationInfo data object specifies the reserved resource requirement as well as the limit (maximum allowed usage) for a given kind of resource.

This is specified for both memory allocation (specified in MB) and CPU allocation (specified in MHz).

For a `ResourcePool`, the ResourceAllocationInfo object describes both the guaranteed amount of the resource (`ResourceAllocationInfo.reservation`) and whether or not it is expandable (`ResourceAllocationInfo.expandableReservation`). If expandableReservation is true, then the resource pool can grow its reservation dynamically by borrowing unreserved resources from its parent resource pool. For the methods `ResourcePool.CreateResourcePool`, `ResourcePool.CreateVApp` and `ResourcePool.ImportVApp`, you must provide values for all properties except overheadLimit; they are not optional. (Currently, overheadLimit is for vCenter Server use only.)

If the limit is configured, it must be greater than or equal to the reservation.

type ResourceAllocationOption

type ResourceAllocationOption struct {
	DynamicData

	// Default value and value range for `ResourceAllocationInfo.shares`.
	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
}

The ResourceAllocationOption data object specifies value ranges and default values for `ResourceAllocationInfo`.

type ResourceConfigOption

type ResourceConfigOption struct {
	DynamicData

	// Resource allocation options for CPU.
	//
	// See also `ResourceAllocationInfo`.
	CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption" json:"cpuAllocationOption"`
	// Resource allocation options for memory.
	//
	// See also `ResourceAllocationInfo`.
	MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption" json:"memoryAllocationOption"`
}

This data object type is a default value and value range specification for `ResourceConfigSpec` object.

type ResourceConfigSpec

type ResourceConfigSpec struct {
	DynamicData

	// Reference to the entity with this resource specification:
	// either a VirtualMachine or a ResourcePool.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// The changeVersion is a unique identifier for a given version
	// of the configuration.
	//
	// Each change to the configuration will
	// update this value. This is typically implemented as an ever
	// increasing count or a time-stamp. However, a client should
	// always treat this as an opaque string.
	//
	// If specified when updating the resource config., the
	// changes will only be applied if the current changeVersion matches the
	// specified changeVersion. This field can be used to guard against updates that
	// has happened between the configInfo was read and until it is applied.
	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
	// Timestamp when the resources were last modified.
	//
	// This is ignored when
	// the object is used to update a configuration.
	LastModified *time.Time `xml:"lastModified" json:"lastModified,omitempty"`
	// Resource allocation for CPU.
	CpuAllocation ResourceAllocationInfo `xml:"cpuAllocation" json:"cpuAllocation"`
	// Resource allocation for memory.
	MemoryAllocation ResourceAllocationInfo `xml:"memoryAllocation" json:"memoryAllocation"`
	// Specifies the scaling behavior of the shares of all descendant resource
	// pools under a given resource pool.
	//
	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. If any
	// scaling behavior other than `disabled` is
	// specified, the system will scale the CPU and memory shares allocated to
	// each descendant resource pool with the total shares of all powered on
	// virtual machines under each respective pool. The system will also use the
	// `SharesInfo` set on each descendant resource pool as a
	// multiplier for the scale. If a resource pool's shares are already
	// scalable through the `ResourceConfigSpec.scaleDescendantsShares` setting on an ancestor
	// resource pool, the system will not allow `ResourceConfigSpec.scaleDescendantsShares` to be set on the resource
	// pool. The `ResourcePoolRuntimeInfo.sharesScalable` property
	// indicates whether or not a resource pool's shares are scalable. This
	// property does not apply to virtual machines.
	ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty" json:"scaleDescendantsShares,omitempty" vim:"7.0"`
}

This data object type is a specification for a set of resources allocated to a virtual machine or a resource pool.

func DefaultResourceConfigSpec added in v0.16.0

func DefaultResourceConfigSpec() ResourceConfigSpec

DefaultResourceConfigSpec returns a ResourceConfigSpec populated with the same default field values as vCenter. Note that the wsdl marks these fields as optional, but they are required to be set when creating a resource pool. They are only optional when updating a resource pool.

type ResourceConfigSpecScaleSharesBehavior added in v0.23.0

type ResourceConfigSpecScaleSharesBehavior string

type ResourceInUse

type ResourceInUse struct {
	VimFault

	// Type of resource that is in use.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// Name of the instance of the resource that is in use.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

A ResourceInUse fault indicating that some error has occurred because a resource was in use.

Information about the resource that is in use may be supplied.

func (*ResourceInUse) GetResourceInUse

func (b *ResourceInUse) GetResourceInUse() *ResourceInUse

type ResourceInUseFault

type ResourceInUseFault BaseResourceInUse

type ResourceNotAvailable

type ResourceNotAvailable struct {
	VimFault

	// Type of container that contains the resource.
	ContainerType string `xml:"containerType,omitempty" json:"containerType,omitempty"`
	// Name of container that contains the resource.
	//
	// .
	ContainerName string `xml:"containerName,omitempty" json:"containerName,omitempty"`
	// Type of resource that is not available.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
}

A ResourceNotAvailable fault indicating that some error has occurred because a resource was not available.

Information about the resource that is in use may be supplied.

type ResourceNotAvailableFault

type ResourceNotAvailableFault ResourceNotAvailable

type ResourcePoolCreatedEvent

type ResourcePoolCreatedEvent struct {
	ResourcePoolEvent

	// The parent resource pool that new resource pool belongs to.
	Parent ResourcePoolEventArgument `xml:"parent" json:"parent"`
}

This event records when a new resource pool is created.

type ResourcePoolDestroyedEvent

type ResourcePoolDestroyedEvent struct {
	ResourcePoolEvent
}

This event records when a resource pool is destroyed.

type ResourcePoolEvent

type ResourcePoolEvent struct {
	Event

	ResourcePool ResourcePoolEventArgument `xml:"resourcePool" json:"resourcePool"`
}

This event is the base class for all resource pool events.

func (*ResourcePoolEvent) GetResourcePoolEvent

func (b *ResourcePoolEvent) GetResourcePoolEvent() *ResourcePoolEvent

type ResourcePoolEventArgument

type ResourcePoolEventArgument struct {
	EntityEventArgument

	// The ResourcePool object.
	//
	// Refers instance of `ResourcePool`.
	ResourcePool ManagedObjectReference `xml:"resourcePool" json:"resourcePool"`
}

The event argument is a ResourcePool object.

type ResourcePoolMovedEvent

type ResourcePoolMovedEvent struct {
	ResourcePoolEvent

	// The old parent of the resource Pool.
	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
	// The new parent of the resource Pool.
	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
}

This event records when a resource pool is moved.

type ResourcePoolQuickStats

type ResourcePoolQuickStats struct {
	DynamicData

	// Basic CPU performance statistics, in MHz.
	OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
	// Basic CPU performance statistics, in MHz.
	OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty"`
	// Guest memory utilization statistics, in MB.
	//
	// This
	// is also known as active guest memory. The number
	// can be between 0 and the configured memory size of
	// a virtual machine.
	GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
	// Host memory utilization statistics, in MB.
	//
	// This
	// is also known as consummed host memory. This is between 0 and
	// the configured resource limit. Valid while a virtual machine is
	// running. This includes the overhead memory of a virtual machine.
	HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
	// calculated by DRS.
	//
	// Valid only for a VM managed by DRS.
	DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
	// This is the amount of memory, in MB, that this VM is entitled to, as
	// calculated by DRS.
	//
	// Valid only for a VM managed by DRS.
	DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
	// The static CPU resource entitlement for a virtual machine.
	//
	// This value is
	// calculated based on this virtual machine's resource reservations, shares
	// and limit, and doesn't take into account current usage. This is the worst
	// case CPU allocation for this virtual machine, that is, the amount of CPU
	// resource this virtual machine would receive if all virtual machines running
	// in the cluster went to maximum consumption. Units are MHz.
	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty"`
	// The static memory resource entitlement for a virtual machine.
	//
	// This value is
	// calculated based on this virtual machine's resource reservations, shares
	// and limit, and doesn't take into account current usage. This is the worst
	// case memory allocation for this virtual machine, that is, the amount of
	// memory this virtual machine would receive if all virtual machines running
	// in the cluster went to maximum consumption. Units are MB.
	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty"`
	// The portion of memory, in MB, that is granted to a virtual machine from
	// non-shared host memory.
	PrivateMemory int64 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty"`
	// The portion of memory, in MB, that is granted to a virtual machine from host
	// memory that is shared between VMs.
	SharedMemory int64 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty"`
	// The portion of memory, in MB, that is granted to a virtual machine from the
	// host's swap space.
	//
	// This is a sign that there is memory pressure on the host.
	SwappedMemory int64 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty"`
	// The size of the balloon driver in a virtual machine, in MB.
	//
	// The host will
	// inflate the balloon driver to reclaim physical memory from a virtual machine.
	// This is a sign that there is memory pressure on the host.
	BalloonedMemory int64 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty"`
	// The amount of memory resource (in MB) that will be used by
	// a virtual machine above its guest memory requirements.
	//
	// This value is set if and only if a virtual machine is registered
	// on a host that supports memory resource allocation features.
	// For powered off VMs, this is the minimum overhead required to
	// power on the VM on the registered host.
	// For powered on VMs, this is the current overhead reservation, a
	// value which is almost always larger than the minimum overhead, and
	// which grows with time.
	//
	// See also `HostSystem.QueryMemoryOverheadEx`.
	OverheadMemory int64 `xml:"overheadMemory,omitempty" json:"overheadMemory,omitempty"`
	// The amount of overhead memory, in MB, currently being consumed to run a VM.
	//
	// This value is limited by the overhead memory reservation for a VM, stored
	// in `ResourcePoolQuickStats.overheadMemory`.
	ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty"`
	// The amount of compressed memory currently consumed by VM, in KB.
	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty" vim:"4.1"`
}

A set of statistics that are typically updated with near real-time regularity.

These statistics are aggregates of the corresponding statistics of all virtual machines in the given resource pool, and unless otherwise noted, only make sense when at least one virtual machine in the given resource pool is powered on. This data object type does not support notification, for scalability reasons. Therefore, changes in QuickStats do not generate property collector updates. To monitor statistics values, use the statistics and alarms modules instead.

type ResourcePoolReconfiguredEvent

type ResourcePoolReconfiguredEvent struct {
	ResourcePoolEvent

	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records when a resource pool configuration is changed.

type ResourcePoolResourceUsage

type ResourcePoolResourceUsage struct {
	DynamicData

	// Total amount of resources that have been used to satisfy the
	// reservation requirements of all descendants of this
	// resource pool (includes both resource pools and virtual
	// machines).
	ReservationUsed int64 `xml:"reservationUsed" json:"reservationUsed"`
	// Total amount of resources that have been used to satisfy the reservation
	// requirements of running virtual machines in this resource pool or any of its
	// child resource pools.
	ReservationUsedForVm int64 `xml:"reservationUsedForVm" json:"reservationUsedForVm"`
	// Total amount of resources available to satisfy a reservation
	// for a child resource pool.
	//
	// In the undercommitted state, this is
	// limited by the capacity at the root node. In the overcommitted case,
	// this could be higher since we do not perform the dynamic capacity
	// checks.
	UnreservedForPool int64 `xml:"unreservedForPool" json:"unreservedForPool"`
	// Total amount of resources available to satisfy a reservation for
	// a child virtual machine.
	//
	// In general, this should be the same as
	// `ResourcePoolResourceUsage.unreservedForPool`. However, in the overcommitted case, this
	// is limited by the remaining available resources at the root
	// node.
	UnreservedForVm int64 `xml:"unreservedForVm" json:"unreservedForVm"`
	// Deprecated as of vSphere API 6.5.
	// Use `ResourcePoolQuickStats.overallCpuUsage` and
	// `ResourcePoolQuickStats.hostMemoryUsage`.
	//
	// Close to real-time resource usage of all running child virtual
	// machines, including virtual machines in child resource pools.
	OverallUsage int64 `xml:"overallUsage" json:"overallUsage"`
	// Current upper-bound on usage.
	//
	// The upper-bound is based on the limit configured
	// on this resource pool, as well as limits configured on any parent resource
	// pool.
	MaxUsage int64 `xml:"maxUsage" json:"maxUsage"`
}

Specifies the resource usage for either memory or CPU.

For CPU the unit is MHz, for memory the unit is bytes.

In the typical case, where a resourcepool is in a consistent state, unreservedForVm will be equal to unreservedForPool. Hence, we can simply say talk about unreserved resources.

If the reservation on the resource pool is not expandable, then the following is true:

reservation = reservationUsed + unreserved

If the reservation on the resource pool is expandable, then the following is true:

reservation + parent.unreserved = reservationUsed + unreserved

type ResourcePoolRuntimeInfo

type ResourcePoolRuntimeInfo struct {
	DynamicData

	// Runtime resource usage for memory.
	//
	// Values are in bytes.
	Memory ResourcePoolResourceUsage `xml:"memory" json:"memory"`
	// Runtime resource usage for CPU.
	//
	// Values are in Mhz.
	Cpu ResourcePoolResourceUsage `xml:"cpu" json:"cpu"`
	// Deprecated as of vSphere API 6.5.
	// Use `ManagedEntity.overallStatus`.
	//
	// Overall health of the tree.
	//
	// See header for description of various
	// statuses and when they are set.
	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
	// The scaling behavior of the shares of a given resource pool.
	//
	// See `ResourceConfigSpecScaleSharesBehavior_enum` for possible values. The
	// system will automatically compute this property based on the `ResourceConfigSpec.scaleDescendantsShares` setting on every
	// ancestor resource pool. This property does not apply to virtual
	// machines.
	SharesScalable string `xml:"sharesScalable,omitempty" json:"sharesScalable,omitempty" vim:"7.0"`
}

Current runtime resource usage and state of the resource pool

type ResourcePoolSummary

type ResourcePoolSummary struct {
	DynamicData

	// Name of resource pool.
	Name string `xml:"name" json:"name"`
	// Current configuration of the resource pool.
	Config ResourceConfigSpec `xml:"config" json:"config"`
	// Current runtime state of the resource pool.
	Runtime ResourcePoolRuntimeInfo `xml:"runtime" json:"runtime"`
	// A set of statistics that are typically updated with near real-time regularity.
	//
	// This data object type does not support notification, for scalability reasons.
	// Therefore, changes in QuickStats do not generate property collector updates.
	// To monitor statistics values, use the statistics and alarms modules instead.
	QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty" json:"quickStats,omitempty" vim:"4.0"`
	// Total configured memory of all virtual machines in the resource pool, in MB.
	ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty" json:"configuredMemoryMB,omitempty" vim:"4.0"`
}

This data object type encapsulates a typical set of resource pool information that is useful for list views and summary pages.

func (*ResourcePoolSummary) GetResourcePoolSummary

func (b *ResourcePoolSummary) GetResourcePoolSummary() *ResourcePoolSummary

type ResourceViolatedEvent

type ResourceViolatedEvent struct {
	ResourcePoolEvent
}

This event records when a conflict with a resource pool's resource configuration is detected.

type RestartService

type RestartService RestartServiceRequestType

type RestartServiceConsoleVirtualNicRequestType

type RestartServiceConsoleVirtualNicRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device string                 `xml:"device" json:"device"`
}

The parameters of `HostNetworkSystem.RestartServiceConsoleVirtualNic`.

type RestartServiceConsoleVirtualNicResponse

type RestartServiceConsoleVirtualNicResponse struct {
}

type RestartServiceRequestType

type RestartServiceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Service identifier
	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
	Id string `xml:"id" json:"id"`
}

The parameters of `HostServiceSystem.RestartService`.

type RestartServiceResponse

type RestartServiceResponse struct {
}

type RestoreFirmwareConfigurationRequestType

type RestoreFirmwareConfigurationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Forces application of the configuration even if the bundle
	// is mismatched.
	Force bool `xml:"force" json:"force"`
}

The parameters of `HostFirmwareSystem.RestoreFirmwareConfiguration`.

type RestoreFirmwareConfigurationResponse

type RestoreFirmwareConfigurationResponse struct {
}

type RestrictedByAdministrator

type RestrictedByAdministrator struct {
	RuntimeFault

	Details string `xml:"details" json:"details"`
}

This fault is thrown when an operation cannot complete because of some restriction set by the server administrator.

type RestrictedByAdministratorFault

type RestrictedByAdministratorFault RestrictedByAdministrator

type RestrictedVersion

type RestrictedVersion struct {
	SecurityError
}

Thrown when the caller is not permitted to perform the specified operation due to product versioning restrictions.

type RestrictedVersionFault

type RestrictedVersionFault RestrictedVersion

type RetrieveAllPermissionsRequestType

type RetrieveAllPermissionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveAllPermissionsResponse

type RetrieveAllPermissionsResponse struct {
	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveAnswerFile

type RetrieveAnswerFile RetrieveAnswerFileRequestType

type RetrieveAnswerFileForProfileRequestType

type RetrieveAnswerFileForProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host with which the answer file is associated.
	//
	// Required privileges: Profile.Edit
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Profile configuration used to generate answer file
	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
}

The parameters of `HostProfileManager.RetrieveAnswerFileForProfile`.

type RetrieveAnswerFileForProfileResponse

type RetrieveAnswerFileForProfileResponse struct {
	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveAnswerFileRequestType

type RetrieveAnswerFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host with which the answer file is associated.
	//
	// Required privileges: Profile.Edit
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
}

The parameters of `HostProfileManager.RetrieveAnswerFile`.

type RetrieveAnswerFileResponse

type RetrieveAnswerFileResponse struct {
	Returnval *AnswerFile `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveArgumentDescriptionRequestType

type RetrieveArgumentDescriptionRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	EventTypeId string                 `xml:"eventTypeId" json:"eventTypeId"`
}

The parameters of `EventManager.RetrieveArgumentDescription`.

type RetrieveArgumentDescriptionResponse

type RetrieveArgumentDescriptionResponse struct {
	Returnval []EventArgDesc `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveCertificateInfoList added in v0.31.0

type RetrieveCertificateInfoList RetrieveCertificateInfoListRequestType

type RetrieveCertificateInfoListRequestType added in v0.31.0

type RetrieveCertificateInfoListRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveCertificateInfoListResponse added in v0.31.0

type RetrieveCertificateInfoListResponse struct {
	Returnval []HostCertificateManagerCertificateInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveClientCert added in v0.12.0

type RetrieveClientCert RetrieveClientCertRequestType

type RetrieveClientCertRequestType added in v0.12.0

type RetrieveClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
}

The parameters of `CryptoManagerKmip.RetrieveClientCert`.

type RetrieveClientCertResponse added in v0.12.0

type RetrieveClientCertResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type RetrieveClientCsr added in v0.12.0

type RetrieveClientCsr RetrieveClientCsrRequestType

type RetrieveClientCsrRequestType added in v0.12.0

type RetrieveClientCsrRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
}

The parameters of `CryptoManagerKmip.RetrieveClientCsr`.

type RetrieveClientCsrResponse added in v0.12.0

type RetrieveClientCsrResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type RetrieveDasAdvancedRuntimeInfoRequestType

type RetrieveDasAdvancedRuntimeInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveDasAdvancedRuntimeInfoResponse

type RetrieveDasAdvancedRuntimeInfoResponse struct {
	Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type RetrieveDescription

type RetrieveDescription RetrieveDescriptionRequestType

type RetrieveDescriptionRequestType

type RetrieveDescriptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveDescriptionResponse

type RetrieveDescriptionResponse struct {
	Returnval *ProfileDescription `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveDiskPartitionInfoRequestType

type RetrieveDiskPartitionInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of device path names that identify disks.
	// See `ScsiDisk`.
	DevicePath []string `xml:"devicePath" json:"devicePath"`
}

The parameters of `HostStorageSystem.RetrieveDiskPartitionInfo`.

type RetrieveDiskPartitionInfoResponse

type RetrieveDiskPartitionInfoResponse struct {
	Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveDynamicPassthroughInfo added in v0.23.0

type RetrieveDynamicPassthroughInfo RetrieveDynamicPassthroughInfoRequestType

type RetrieveDynamicPassthroughInfoRequestType added in v0.23.0

type RetrieveDynamicPassthroughInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveDynamicPassthroughInfoResponse added in v0.23.0

type RetrieveDynamicPassthroughInfoResponse struct {
	Returnval []VirtualMachineDynamicPassthroughInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveEntityPermissionsRequestType

type RetrieveEntityPermissionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Required privileges: System.Read
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Whether or not to include propagating permissions
	// defined by parent entities.
	Inherited bool `xml:"inherited" json:"inherited"`
}

The parameters of `AuthorizationManager.RetrieveEntityPermissions`.

type RetrieveEntityPermissionsResponse

type RetrieveEntityPermissionsResponse struct {
	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveEntityScheduledTaskRequestType

type RetrieveEntityScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity. If null, all scheduled tasks are returned
	// for visible entities.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `ScheduledTaskManager.RetrieveEntityScheduledTask`.

type RetrieveEntityScheduledTaskResponse

type RetrieveEntityScheduledTaskResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveFreeEpcMemory added in v0.23.0

type RetrieveFreeEpcMemory RetrieveFreeEpcMemoryRequestType

type RetrieveFreeEpcMemoryRequestType added in v0.23.0

type RetrieveFreeEpcMemoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveFreeEpcMemoryResponse added in v0.23.0

type RetrieveFreeEpcMemoryResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type RetrieveHardwareUptimeRequestType

type RetrieveHardwareUptimeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveHardwareUptimeResponse

type RetrieveHardwareUptimeResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type RetrieveHostAccessControlEntriesRequestType

type RetrieveHostAccessControlEntriesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveHostAccessControlEntriesResponse

type RetrieveHostAccessControlEntriesResponse struct {
	Returnval []HostAccessControlEntry `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveHostCustomizations added in v0.12.0

type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType

type RetrieveHostCustomizationsForProfile added in v0.12.0

type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType

type RetrieveHostCustomizationsForProfileRequestType added in v0.12.0

type RetrieveHostCustomizationsForProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Hosts with which the answer files are associated.
	//
	// Required privileges: Profile.Edit
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
	// Profile configuration used to generate answer file
	ApplyProfile HostApplyProfile `xml:"applyProfile" json:"applyProfile"`
}

The parameters of `HostProfileManager.RetrieveHostCustomizationsForProfile`.

type RetrieveHostCustomizationsForProfileResponse added in v0.12.0

type RetrieveHostCustomizationsForProfileResponse struct {
	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveHostCustomizationsRequestType added in v0.12.0

type RetrieveHostCustomizationsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Hosts with which the answer files are associated.
	//
	// Required privileges: Profile.Edit
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
}

The parameters of `HostProfileManager.RetrieveHostCustomizations`.

type RetrieveHostCustomizationsResponse added in v0.12.0

type RetrieveHostCustomizationsResponse struct {
	Returnval []StructuredCustomizations `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveHostSpecification added in v0.12.0

type RetrieveHostSpecification RetrieveHostSpecificationRequestType

type RetrieveHostSpecificationRequestType added in v0.12.0

type RetrieveHostSpecificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The specified host whose host specification will be retrieved.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Whether retrieve from the host.
	FromHost bool `xml:"fromHost" json:"fromHost"`
}

The parameters of `HostSpecificationManager.RetrieveHostSpecification`.

type RetrieveHostSpecificationResponse added in v0.12.0

type RetrieveHostSpecificationResponse struct {
	Returnval HostSpecification `xml:"returnval" json:"returnval"`
}

type RetrieveKmipServerCert added in v0.12.0

type RetrieveKmipServerCert RetrieveKmipServerCertRequestType

type RetrieveKmipServerCertRequestType added in v0.12.0

type RetrieveKmipServerCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster in which the server is placed
	// or will be created.
	KeyProvider KeyProviderId `xml:"keyProvider" json:"keyProvider"`
	// \[in\] KMIP server.
	Server KmipServerInfo `xml:"server" json:"server"`
}

The parameters of `CryptoManagerKmip.RetrieveKmipServerCert`.

type RetrieveKmipServerCertResponse added in v0.12.0

type RetrieveKmipServerCertResponse struct {
	Returnval CryptoManagerKmipServerCertInfo `xml:"returnval" json:"returnval"`
}

type RetrieveKmipServersStatusRequestType added in v0.12.0

type RetrieveKmipServersStatusRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP clusters and their servers.
	Clusters []KmipClusterInfo `xml:"clusters,omitempty" json:"clusters,omitempty"`
}

The parameters of `CryptoManagerKmip.RetrieveKmipServersStatus_Task`.

type RetrieveKmipServersStatus_Task added in v0.12.0

type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType

type RetrieveKmipServersStatus_TaskResponse added in v0.12.0

type RetrieveKmipServersStatus_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RetrieveObjectScheduledTaskRequestType

type RetrieveObjectScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The object. If not specified, all scheduled tasks are returned
	// for visible entities and visible ManagedObjects.
	Obj *ManagedObjectReference `xml:"obj,omitempty" json:"obj,omitempty"`
}

The parameters of `ScheduledTaskManager.RetrieveObjectScheduledTask`.

type RetrieveObjectScheduledTaskResponse

type RetrieveObjectScheduledTaskResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveOptions

type RetrieveOptions struct {
	DynamicData

	// The maximum number of `ObjectContent` data
	// objects that should be returned in a single result from `PropertyCollector.RetrievePropertiesEx`.
	//
	// An unset value indicates that there is no maximum. In this
	// case `PropertyCollector` policy may still limit the number
	// of objects. Any remaining objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
	//
	// A positive value causes `PropertyCollector.RetrievePropertiesEx` to
	// suspend the retrieval when the count of objects reaches the
	// specified maximum. `PropertyCollector` policy may still
	// limit the count to something less than `RetrieveOptions.maxObjects`. Any remaining
	// objects may be retrieved with `PropertyCollector.ContinueRetrievePropertiesEx`.
	//
	// A value less than or equal to 0 is illegal.
	MaxObjects int32 `xml:"maxObjects,omitempty" json:"maxObjects,omitempty"`
}

Options for `PropertyCollector.RetrievePropertiesEx`.

type RetrieveProductComponentsRequestType

type RetrieveProductComponentsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveProductComponentsResponse

type RetrieveProductComponentsResponse struct {
	Returnval []ProductComponentInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveProperties

type RetrieveProperties RetrievePropertiesRequestType

type RetrievePropertiesExRequestType

type RetrievePropertiesExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the properties to retrieve.
	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
	// Additional method options. If omitted, equivalent to an options
	// argument with no fields set.
	Options RetrieveOptions `xml:"options" json:"options"`
}

The parameters of `PropertyCollector.RetrievePropertiesEx`.

type RetrievePropertiesExResponse

type RetrievePropertiesExResponse struct {
	Returnval *RetrieveResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrievePropertiesRequestType

type RetrievePropertiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specifies the properties to retrieve.
	SpecSet []PropertyFilterSpec `xml:"specSet" json:"specSet"`
}

The parameters of `PropertyCollector.RetrieveProperties`.

type RetrievePropertiesResponse

type RetrievePropertiesResponse struct {
	Returnval []ObjectContent `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveResult

type RetrieveResult struct {
	DynamicData

	// A token used to retrieve further retrieve results.
	//
	// If set, the token should be passed to `PropertyCollector.ContinueRetrievePropertiesEx` to retrieve more results. Each token
	// may be passed to continueRetrievePropertiesEx only once, and only in
	// the same session in which it was returned and to the same
	// `PropertyCollector` object that returned it.
	//
	// If unset, there are no further results to retrieve after this
	// `RetrieveResult`.
	Token string `xml:"token,omitempty" json:"token,omitempty"`
	// retrieved objects.
	Objects []ObjectContent `xml:"objects" json:"objects"`
}

Result of `PropertyCollector.RetrievePropertiesEx` and `PropertyCollector.ContinueRetrievePropertiesEx`

type RetrieveRolePermissionsRequestType

type RetrieveRolePermissionsRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	RoleId int32                  `xml:"roleId" json:"roleId"`
}

The parameters of `AuthorizationManager.RetrieveRolePermissions`.

type RetrieveRolePermissionsResponse

type RetrieveRolePermissionsResponse struct {
	Returnval []Permission `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveSelfSignedClientCert added in v0.12.0

type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType

type RetrieveSelfSignedClientCertRequestType added in v0.12.0

type RetrieveSelfSignedClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
}

The parameters of `CryptoManagerKmip.RetrieveSelfSignedClientCert`.

type RetrieveSelfSignedClientCertResponse added in v0.12.0

type RetrieveSelfSignedClientCertResponse struct {
	Returnval string `xml:"returnval" json:"returnval"`
}

type RetrieveServiceContentRequestType

type RetrieveServiceContentRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveServiceContentResponse

type RetrieveServiceContentResponse struct {
	Returnval ServiceContent `xml:"returnval" json:"returnval"`
}

type RetrieveServiceProviderEntities added in v0.23.0

type RetrieveServiceProviderEntities RetrieveServiceProviderEntitiesRequestType

type RetrieveServiceProviderEntitiesRequestType added in v0.23.0

type RetrieveServiceProviderEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveServiceProviderEntitiesResponse added in v0.23.0

type RetrieveServiceProviderEntitiesResponse struct {
	Returnval []ManagedObjectReference `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveSnapshotDetails added in v0.23.0

type RetrieveSnapshotDetails RetrieveSnapshotDetailsRequestType

type RetrieveSnapshotDetailsRequestType added in v0.23.0

type RetrieveSnapshotDetailsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotDetails`.

type RetrieveSnapshotDetailsResponse added in v0.23.0

type RetrieveSnapshotDetailsResponse struct {
	Returnval VStorageObjectSnapshotDetails `xml:"returnval" json:"returnval"`
}

type RetrieveSnapshotInfo added in v0.18.0

type RetrieveSnapshotInfo RetrieveSnapshotInfoRequestType

type RetrieveSnapshotInfoRequestType added in v0.18.0

type RetrieveSnapshotInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveSnapshotInfo`.

type RetrieveSnapshotInfoResponse added in v0.18.0

type RetrieveSnapshotInfoResponse struct {
	Returnval VStorageObjectSnapshotInfo `xml:"returnval" json:"returnval"`
}

type RetrieveUserGroups

type RetrieveUserGroups RetrieveUserGroupsRequestType

type RetrieveUserGroupsRequestType

type RetrieveUserGroupsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Domain to be searched. If not set, then the method searches
	// the local machine.
	Domain string `xml:"domain,omitempty" json:"domain,omitempty"`
	// Case insensitive substring used to filter results;
	// the search string is compared to the login and full name for users,
	// and the name and description for groups. Leave
	// this blank to match all users.
	SearchStr string `xml:"searchStr" json:"searchStr"`
	// If present, the returned list contains only users or groups
	// that directly belong to the specified group. Users or groups that
	// have indirect membership will not be included in the list.
	BelongsToGroup string `xml:"belongsToGroup,omitempty" json:"belongsToGroup,omitempty"`
	// If present, the returned list contains only groups that directly
	// contain the specified user. Groups that indirectly contain
	// the user will not be included in the list.
	BelongsToUser string `xml:"belongsToUser,omitempty" json:"belongsToUser,omitempty"`
	// Indicates the searchStr passed should match a user or
	// group name exactly.
	ExactMatch bool `xml:"exactMatch" json:"exactMatch"`
	// True, if users should be included in the result.
	FindUsers bool `xml:"findUsers" json:"findUsers"`
	// True, if groups should be included in the result.
	FindGroups bool `xml:"findGroups" json:"findGroups"`
}

The parameters of `UserDirectory.RetrieveUserGroups`.

type RetrieveUserGroupsResponse

type RetrieveUserGroupsResponse struct {
	Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type RetrieveVStorageInfrastructureObjectPolicy added in v0.18.0

type RetrieveVStorageInfrastructureObjectPolicy RetrieveVStorageInfrastructureObjectPolicyRequestType

type RetrieveVStorageInfrastructureObjectPolicyRequestType added in v0.18.0

type RetrieveVStorageInfrastructureObjectPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Datastore on which policy needs to be retrieved.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveVStorageInfrastructureObjectPolicy`.

type RetrieveVStorageInfrastructureObjectPolicyResponse added in v0.18.0

type RetrieveVStorageInfrastructureObjectPolicyResponse struct {
	Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveVStorageObjSpec added in v0.18.0

type RetrieveVStorageObjSpec struct {
	DynamicData

	// ID of this virtual storage object.
	Id ID `xml:"id" json:"id"`
	// Datastore where the object is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

This data object is a pair of the virtural storage object id and its datastore.

type RetrieveVStorageObject added in v0.12.0

type RetrieveVStorageObject RetrieveVStorageObjectRequestType

type RetrieveVStorageObjectAssociations added in v0.18.0

type RetrieveVStorageObjectAssociations RetrieveVStorageObjectAssociationsRequestType

type RetrieveVStorageObjectAssociationsRequestType added in v0.18.0

type RetrieveVStorageObjectAssociationsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The IDs of the virtual storage objects of the query.
	Ids []RetrieveVStorageObjSpec `xml:"ids,omitempty" json:"ids,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectAssociations`.

type RetrieveVStorageObjectAssociationsResponse added in v0.18.0

type RetrieveVStorageObjectAssociationsResponse struct {
	Returnval []VStorageObjectAssociations `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveVStorageObjectRequestType added in v0.12.0

type RetrieveVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object to be retrieved.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Flags indicating the FCD information to be
	// retrieved. If diskInfoFlags is unset, then all FCD
	// information will be retrieved. See
	// `vslmDiskInfoFlag_enum` for the list of
	// supported values.
	DiskInfoFlags []string `xml:"diskInfoFlags,omitempty" json:"diskInfoFlags,omitempty" vim:"8.0.0.1"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObject`.

type RetrieveVStorageObjectResponse added in v0.12.0

type RetrieveVStorageObjectResponse struct {
	Returnval VStorageObject `xml:"returnval" json:"returnval"`
}

type RetrieveVStorageObjectState added in v0.12.0

type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType

type RetrieveVStorageObjectStateRequestType added in v0.12.0

type RetrieveVStorageObjectStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object the state to be retrieved.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.RetrieveVStorageObjectState`.

type RetrieveVStorageObjectStateResponse added in v0.12.0

type RetrieveVStorageObjectStateResponse struct {
	Returnval VStorageObjectStateInfo `xml:"returnval" json:"returnval"`
}

type RetrieveVendorDeviceGroupInfo added in v0.29.0

type RetrieveVendorDeviceGroupInfo RetrieveVendorDeviceGroupInfoRequestType

type RetrieveVendorDeviceGroupInfoRequestType added in v0.29.0

type RetrieveVendorDeviceGroupInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveVendorDeviceGroupInfoResponse added in v0.29.0

type RetrieveVendorDeviceGroupInfoResponse struct {
	Returnval []VirtualMachineVendorDeviceGroupInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveVgpuDeviceInfo added in v0.29.0

type RetrieveVgpuDeviceInfo RetrieveVgpuDeviceInfoRequestType

type RetrieveVgpuDeviceInfoRequestType added in v0.29.0

type RetrieveVgpuDeviceInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveVgpuDeviceInfoResponse added in v0.29.0

type RetrieveVgpuDeviceInfoResponse struct {
	Returnval []VirtualMachineVgpuDeviceInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RetrieveVgpuProfileInfo added in v0.29.0

type RetrieveVgpuProfileInfo RetrieveVgpuProfileInfoRequestType

type RetrieveVgpuProfileInfoRequestType added in v0.29.0

type RetrieveVgpuProfileInfoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RetrieveVgpuProfileInfoResponse added in v0.29.0

type RetrieveVgpuProfileInfoResponse struct {
	Returnval []VirtualMachineVgpuProfileInfo `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type RevertToCurrentSnapshotRequestType

type RevertToCurrentSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// (optional) Choice of host for the virtual machine,
	// in case this operation causes the virtual machine to power on.
	//
	// If a snapshot was taken while a virtual machine was powered on,
	// and this operation is invoked after the virtual machine was
	// powered off, the operation causes the virtual machine to power
	// on to reach the snapshot state. This parameter can be used to
	// specify a choice of host where the virtual machine should power
	// on.
	//
	// If this parameter is not set, and the vBalance feature is
	// configured for automatic load balancing, a host is
	// automatically selected. Otherwise, the virtual machine keeps
	// its existing host affiliation.
	//
	// This is not supported for virtual machines associated with hosts on ESX 2.x
	// servers.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// (optional) If set to true, the virtual
	// machine will not be powered on regardless of the power state when
	// the current snapshot was created. Default to false.
	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty" vim:"2.5 U2"`
}

The parameters of `VirtualMachine.RevertToCurrentSnapshot_Task`.

type RevertToCurrentSnapshot_Task

type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType

type RevertToCurrentSnapshot_TaskResponse

type RevertToCurrentSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RevertToSnapshotRequestType

type RevertToSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// (optional) Choice of host for the virtual machine, in case this
	// operation causes the virtual machine to power on.
	//
	// If a snapshot was taken while a virtual machine was powered on, and this operation
	// is invoked after the virtual machine was powered off, the operation causes the
	// virtual machine to power on to reach the snapshot state. This parameter can be
	// used to specify a choice of host where the virtual machine should power on.
	//
	// If this parameter is not set and the vBalance feature is configured for automatic
	// load balancing, a host is automatically selected. Otherwise, the virtual machine
	// keeps its existing host affiliation.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// (optional) If set to true, the virtual
	// machine will not be powered on regardless of the power state when
	// the snapshot was created. Default to false.
	SuppressPowerOn *bool `xml:"suppressPowerOn" json:"suppressPowerOn,omitempty" vim:"2.5 U2"`
}

The parameters of `VirtualMachineSnapshot.RevertToSnapshot_Task`.

type RevertToSnapshot_Task

type RevertToSnapshot_Task RevertToSnapshotRequestType

type RevertToSnapshot_TaskResponse

type RevertToSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RevertVStorageObjectExRequestType added in v0.31.0

type RevertVStorageObjectExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `VStorageObjectManagerBase.RevertVStorageObjectEx_Task`.

type RevertVStorageObjectEx_Task added in v0.31.0

type RevertVStorageObjectEx_Task RevertVStorageObjectExRequestType

type RevertVStorageObjectEx_TaskResponse added in v0.31.0

type RevertVStorageObjectEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RevertVStorageObjectRequestType added in v0.18.0

type RevertVStorageObjectRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `VcenterVStorageObjectManager.RevertVStorageObject_Task`.

type RevertVStorageObject_Task added in v0.18.0

type RevertVStorageObject_Task RevertVStorageObjectRequestType

type RevertVStorageObject_TaskResponse added in v0.18.0

type RevertVStorageObject_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type RewindCollector

type RewindCollector RewindCollectorRequestType

type RewindCollectorRequestType

type RewindCollectorRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RewindCollectorResponse

type RewindCollectorResponse struct {
}

type RoleAddedEvent

type RoleAddedEvent struct {
	RoleEvent

	// The privileges granted to the role.
	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
}

This event records the creation of a role.

type RoleEvent

type RoleEvent struct {
	AuthorizationEvent

	// The associated role.
	Role RoleEventArgument `xml:"role" json:"role"`
}

This event records a role operation.

func (*RoleEvent) GetRoleEvent

func (b *RoleEvent) GetRoleEvent() *RoleEvent

type RoleEventArgument

type RoleEventArgument struct {
	EventArgument

	// The ID of the role.
	RoleId int32 `xml:"roleId" json:"roleId"`
	// The name of the role.
	Name string `xml:"name" json:"name"`
}

The event argument is a Role object.

type RoleRemovedEvent

type RoleRemovedEvent struct {
	RoleEvent
}

This class records the removal of a role.

type RoleUpdatedEvent

type RoleUpdatedEvent struct {
	RoleEvent

	// The privileges granted to the role.
	PrivilegeList []string `xml:"privilegeList,omitempty" json:"privilegeList,omitempty"`
	// The name of the previous role.
	PrevRoleName string `xml:"prevRoleName,omitempty" json:"prevRoleName,omitempty" vim:"6.5"`
	// The privileges added to the role.
	PrivilegesAdded []string `xml:"privilegesAdded,omitempty" json:"privilegesAdded,omitempty" vim:"6.5"`
	// The privileges removed from the role.
	PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty" json:"privilegesRemoved,omitempty" vim:"6.5"`
}

This event records the creation of a role.

type RollbackEvent

type RollbackEvent struct {
	DvsEvent

	// The host on which rollback happened
	HostName string `xml:"hostName" json:"hostName"`
	// The API method that was rolled back
	MethodName string `xml:"methodName,omitempty" json:"methodName,omitempty"`
}

This event is generated when network configuration rollback occurs on a host due configuration change that disconnected the host from vSphere server

type RollbackFailure

type RollbackFailure struct {
	DvsFault

	// The entity name on which rollback failed
	EntityName string `xml:"entityName" json:"entityName"`
	// The entity type on which rollback failed
	EntityType string `xml:"entityType" json:"entityType"`
}

Thrown if a Rollback operation fails

type RollbackFailureFault

type RollbackFailureFault RollbackFailure

type RuleViolation

type RuleViolation struct {
	VmConfigFault

	// The host that the virtual machine can not be powered on without
	// violate a rule.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty" vim:"2.5"`
	// The rule that is violated.
	//
	// It can be an affinity or anti-affinity rule.
	Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty" vim:"4.0"`
}

The virtual machine if powered on, would violate an affinity/anti-affinity rule.

In this case, the VM can still be powered on manually by a user who knows what they are doing, but VirtualCenter will never automatically move or power on a VM such that it triggers the violation.

type RuleViolationFault

type RuleViolationFault RuleViolation

type RunScheduledTask

type RunScheduledTask RunScheduledTaskRequestType

type RunScheduledTaskRequestType

type RunScheduledTaskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type RunScheduledTaskResponse

type RunScheduledTaskResponse struct {
}

type RunScriptAction

type RunScriptAction struct {
	Action

	// The fully-qualified path to a shell script that runs on the
	// VirtualCenter server as a result of an alarm.
	Script string `xml:"script" json:"script"`
}

This data object type specifies a script that is triggered by an alarm.

You can use any elements of the `ActionParameter` enumerated list as part of your script to provide information available at runtime.

type RunVsanPhysicalDiskDiagnosticsRequestType

type RunVsanPhysicalDiskDiagnosticsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// List of VSAN disk UUIDs. If specified restricts the
	// diagnostics run to VSAN disks present in the provided list.
	Disks []string `xml:"disks,omitempty" json:"disks,omitempty"`
}

The parameters of `HostVsanInternalSystem.RunVsanPhysicalDiskDiagnostics`.

type RunVsanPhysicalDiskDiagnosticsResponse

type RunVsanPhysicalDiskDiagnosticsResponse struct {
	Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval" json:"returnval"`
}

type RuntimeFault

type RuntimeFault struct {
	MethodFault
}

The base data object type for all runtime faults that can be thrown by a method.

func (*RuntimeFault) GetRuntimeFault

func (b *RuntimeFault) GetRuntimeFault() *RuntimeFault

type RuntimeFaultFault

type RuntimeFaultFault BaseRuntimeFault

type SAMLTokenAuthentication

type SAMLTokenAuthentication struct {
	GuestAuthentication

	// The SAML bearer token.
	Token string `xml:"token" json:"token"`
	// This is the guest user to be associated with the authentication.
	//
	// If none is specified, a guest dependent mapping will decide what
	// user account is applied.
	Username string `xml:"username,omitempty" json:"username,omitempty"`
}

SAMLTokenAuthentication contains the information necessary to authenticate within a guest using a SAML bearer token.

SAML token authentication relies on a guest alias that associates a guest account with the subject and certificate encoded in a SAML token obtained from the VMware SSO Server.

  • Use the `GuestAliasManager`. `GuestAliasManager.AddGuestAlias` method to create a guest alias.
  • Use a SAMLTokenAuthentication object for the auth parameter to guest operations methods.

After you have created an alias, you can use SAML token authentication for guest operations methods. Do not use SAML token authentication for the `GuestAuthManager.AcquireCredentialsInGuest` and `GuestAuthManager.ReleaseCredentialsInGuest` methods.

type SDDCBase added in v0.18.0

type SDDCBase struct {
	DynamicData
}

An empty data object which can be used as the base class for data objects outside VIM namespace which have to be proxied through vCenter opaquely.

For example, vSan configuration spec will extend from this which will allow HCI API to pass the spec to set up vSan on the cluster.

type SSLDisabledFault

type SSLDisabledFault struct {
	HostConnectFault
}

A SSLDisabledFault fault occurs when a host does not have ssl enabled.

type SSLDisabledFaultFault

type SSLDisabledFaultFault SSLDisabledFault

type SSLVerifyFault

type SSLVerifyFault struct {
	HostConnectFault

	// Whether the host's certificate was self signed
	SelfSigned bool `xml:"selfSigned" json:"selfSigned"`
	// The thumbprint of the host's certificate.
	//
	// This field is optional since vSphere 8.0u2.
	Thumbprint string `xml:"thumbprint,omitempty" json:"thumbprint,omitempty"`
}

SSLVerifyFault is thrown by the host connect method if the VC server could not verify the authenticity of the host's SSL certificate.

Currently, we do not distinguish the various possible reasons why the certificate could not be verified because we don't provide a way for the user to overwrite these reasons other than turning off SSL certificate verification completely. The only exception is the case when the certificate was rejected because it was self-signed. This is the most likely case when the user may want to overwrite the behavior by specifying the certificate's thumbprint in the ConnectSpec the next time the user connects to the host.

type SSLVerifyFaultFault

type SSLVerifyFaultFault SSLVerifyFault

type SSPIAuthentication

type SSPIAuthentication struct {
	GuestAuthentication

	// This contains a base64 encoded SSPI Token.
	SspiToken string `xml:"sspiToken" json:"sspiToken"`
}

SSPIAuthentication contains the information necessary to initiate a ticketed authentication session in the guest using SSPI credentials.

The ticketed session is not stateless and stores state inside of the guest.

To use SSPIAuthentication, populate sspiToken with a base64 encoded SSPI token. Then call `GuestAuthManager.AcquireCredentialsInGuest` with the SSPIAuthentication object and no sessionID. After issuing the `GuestAuthManager.AcquireCredentialsInGuest` call, a `GuestAuthenticationChallenge` will be thrown. Use the serverChallenge sspiToken in `GuestAuthenticationChallenge` to generate the proper SSPI response token. Populate an SSPIAuthentication object with the base64 encoded SSPI response token, and call `GuestAuthManager.AcquireCredentialsInGuest` with the SSPIAuthentication object and the sessionID found in `GuestAuthenticationChallenge`.

Successful authentication will result in a `TicketedSessionAuthentication` object being returned. You can use the `TicketedSessionAuthentication` in any guest operations function call. You should NOT attempt to use SSPIAuthentication in any guest operations function call.

When you no longer need the `TicketedSessionAuthentication` object, you should call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources and session data.

Usage notes: SSPI authentication has the same limitations as a duplicated primary token obtained from the Windows API function LogonUser with the LOGON32\_LOGON\_NETWORK logon type. This will affect programs started with `GuestProcessManager.StartProgramInGuest`. For example, launched programs will be unable to use WMI functions unless the "Remote Enable" privilege is enabled for the user. Similarly, access to network resources may fail due to the limitations of the token.

type SSPIChallenge

type SSPIChallenge struct {
	VimFault

	// The opaque server response token, base-64 encoded.
	Base64Token string `xml:"base64Token" json:"base64Token"`
}

Thrown during SSPI pass-through authentication if further negotiation is required.

type SSPIChallengeFault

type SSPIChallengeFault SSPIChallenge

type ScanHostPatchRequestType

type ScanHostPatchRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Location of the repository that contains the
	// bulletin depot. The depot must be organized as a flat
	// collection of bulletins with each one being a folder named
	// after the bulletin ID. Each folder must contain the full
	// update metadata.
	Repository HostPatchManagerLocator `xml:"repository" json:"repository"`
	// The updates to scan. Wildcards can be used to specify
	// the update IDs. The wildcards will be expanded to include all
	// updates whose IDs match the specified wildcard and whose metadata
	// is available in the repository. Specifying no update is
	// equivalent to a wildcard "\*". In this case all updates available
	// in the repository will be scanned.
	UpdateID []string `xml:"updateID,omitempty" json:"updateID,omitempty"`
}

The parameters of `HostPatchManager.ScanHostPatch_Task`.

type ScanHostPatchV2RequestType

type ScanHostPatchV2RequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// a list of urls pointing to metadata.zip.
	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
	BundleUrls []string                                   `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
	Spec       *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.ScanHostPatchV2_Task`.

type ScanHostPatchV2_Task

type ScanHostPatchV2_Task ScanHostPatchV2RequestType

type ScanHostPatchV2_TaskResponse

type ScanHostPatchV2_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ScanHostPatch_Task

type ScanHostPatch_Task ScanHostPatchRequestType

type ScanHostPatch_TaskResponse

type ScanHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ScheduleReconcileDatastoreInventory added in v0.12.0

type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType

type ScheduleReconcileDatastoreInventoryRequestType added in v0.12.0

type ScheduleReconcileDatastoreInventoryRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datastore that needs to be reconciled.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
}

The parameters of `VcenterVStorageObjectManager.ScheduleReconcileDatastoreInventory`.

type ScheduleReconcileDatastoreInventoryResponse added in v0.12.0

type ScheduleReconcileDatastoreInventoryResponse struct {
}

type ScheduledHardwareUpgradeInfo

type ScheduledHardwareUpgradeInfo struct {
	DynamicData

	// Scheduled hardware upgrade policy setting for the virtual machine.
	//
	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradePolicy_enum`.
	UpgradePolicy string `xml:"upgradePolicy,omitempty" json:"upgradePolicy,omitempty"`
	// Key for target hardware version to be used on next scheduled upgrade
	// in the format of `VirtualMachineConfigOptionDescriptor.key`.
	VersionKey string `xml:"versionKey,omitempty" json:"versionKey,omitempty"`
	// Status for last attempt to run scheduled hardware upgrade.
	//
	// See also `ScheduledHardwareUpgradeInfoHardwareUpgradeStatus_enum`.
	ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty" json:"scheduledHardwareUpgradeStatus,omitempty"`
	// Contains information about the failure of last attempt to run
	// scheduled hardware upgrade.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Data object type containing settings for the scheduled hardware upgrades.

type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy

type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string

The policy setting used to determine when to perform scheduled

type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus

type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string

type ScheduledTaskCompletedEvent

type ScheduledTaskCompletedEvent struct {
	ScheduledTaskEvent
}

This event records the completion of a scheduled task.

type ScheduledTaskCreatedEvent

type ScheduledTaskCreatedEvent struct {
	ScheduledTaskEvent
}

This event records the creation of a scheduled task.

type ScheduledTaskDescription

type ScheduledTaskDescription struct {
	DynamicData

	// Action class descriptions for a scheduled task.
	Action []BaseTypeDescription `xml:"action,typeattr" json:"action"`
	// Scheduler class description details.
	SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo" json:"schedulerInfo"`
	// *TaskInfo State enum*
	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
	// *MonthlyByWeekdayTaskScheduler Days of the week enum description*
	DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr" json:"dayOfWeek"`
	// *MonthlyByWeekdayTaskScheduler Week of the month enum description*
	WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr" json:"weekOfMonth"`
}

Static strings for scheduled tasks.

These strings are locale-specific.

type ScheduledTaskDetail

type ScheduledTaskDetail struct {
	TypeDescription

	// Scheduler frequency description.
	Frequency string `xml:"frequency" json:"frequency"`
}

Descriptive detail for each scheduler type.

type ScheduledTaskEmailCompletedEvent

type ScheduledTaskEmailCompletedEvent struct {
	ScheduledTaskEvent

	// The destination email address.
	To string `xml:"to" json:"to"`
}

This event records the sending of a notification via email for a scheduled task.

type ScheduledTaskEmailFailedEvent

type ScheduledTaskEmailFailedEvent struct {
	ScheduledTaskEvent

	// The destination email address.
	To string `xml:"to" json:"to"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records the failure of an attempt to send a notification via email for a scheduled task.

type ScheduledTaskEvent

type ScheduledTaskEvent struct {
	Event

	// The scheduled task object.
	ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask" json:"scheduledTask"`
	// The entity on which the scheduled task registered.
	Entity ManagedEntityEventArgument `xml:"entity" json:"entity"`
}

These events are scheduled task events.

func (*ScheduledTaskEvent) GetScheduledTaskEvent

func (b *ScheduledTaskEvent) GetScheduledTaskEvent() *ScheduledTaskEvent

type ScheduledTaskEventArgument

type ScheduledTaskEventArgument struct {
	EntityEventArgument

	// The scheduled task object.
	//
	// Refers instance of `ScheduledTask`.
	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
}

The event argument is a scheduled task object.

type ScheduledTaskFailedEvent

type ScheduledTaskFailedEvent struct {
	ScheduledTaskEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records the failure of a scheduled task.

type ScheduledTaskInfo

type ScheduledTaskInfo struct {
	ScheduledTaskSpec

	// Scheduled task object.
	//
	// Refers instance of `ScheduledTask`.
	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
	// The entity on which related events will be logged.
	//
	// If the task is scheduled on a ManagedEntity, this
	// field will also reflect the same ManagedEntity.
	// If task is scheduled on a ManagedObject, this field
	// will have information about the entity on which
	// the events will be logged on behalf of the ManagedObject.
	// ManagedObject itself will be denoted by `ScheduledTaskInfo.taskObject`
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// The time the scheduled task is created or modified.
	LastModifiedTime time.Time `xml:"lastModifiedTime" json:"lastModifiedTime"`
	// Last user that modified the scheduled task.
	LastModifiedUser string `xml:"lastModifiedUser" json:"lastModifiedUser"`
	// The next time the scheduled task will run.
	NextRunTime *time.Time `xml:"nextRunTime" json:"nextRunTime,omitempty"`
	// The last time the scheduled task ran.
	PrevRunTime *time.Time `xml:"prevRunTime" json:"prevRunTime,omitempty"`
	// Scheduled task state.
	State TaskInfoState `xml:"state" json:"state"`
	// The fault code when the scheduled task state is "error".
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// The operation result when the scheduled task state is "success".
	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
	// The task progress when the scheduled task state is "running".
	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
	// The running task instance when the scheduled task state is "running".
	//
	// Refers instance of `Task`.
	ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty" json:"activeTask,omitempty"`
	// The object on which the scheduled task is defined.
	//
	// This field will have information about either the
	// ManagedEntity or the ManagedObject on which the scheduled
	// task is defined.
	TaskObject *ManagedObjectReference `xml:"taskObject,omitempty" json:"taskObject,omitempty" vim:"4.0"`
}

The scheduled task details.

type ScheduledTaskReconfiguredEvent

type ScheduledTaskReconfiguredEvent struct {
	ScheduledTaskEvent

	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records the reconfiguration of a scheduled task.

type ScheduledTaskRemovedEvent

type ScheduledTaskRemovedEvent struct {
	ScheduledTaskEvent
}

This event records the removal of a scheduled task.

type ScheduledTaskSpec

type ScheduledTaskSpec struct {
	DynamicData

	// Name of the scheduled task.
	Name string `xml:"name" json:"name"`
	// Description of the scheduled task.
	Description string `xml:"description" json:"description"`
	// Flag to indicate whether the scheduled task is enabled or disabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// The time scheduler that determines when the scheduled task runs.
	Scheduler BaseTaskScheduler `xml:"scheduler,typeattr" json:"scheduler"`
	// The action of the scheduled task, to be done when the scheduled task runs.
	Action BaseAction `xml:"action,typeattr" json:"action"`
	// The email notification.
	//
	// If not set, this property is set to empty string, indicating no notification.
	Notification string `xml:"notification,omitempty" json:"notification,omitempty"`
}

Parameters for scheduled task creation.

func (*ScheduledTaskSpec) GetScheduledTaskSpec

func (b *ScheduledTaskSpec) GetScheduledTaskSpec() *ScheduledTaskSpec

type ScheduledTaskStartedEvent

type ScheduledTaskStartedEvent struct {
	ScheduledTaskEvent
}

This event records when a scheduled task started.

type ScsiDiskType added in v0.12.0

type ScsiDiskType string

type ScsiLun

type ScsiLun struct {
	HostDevice

	// Linkable identifier
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// Universally unique identifier for the LUN used to identify ScsiLun across
	// multiple servers.
	//
	// This identifier can be used to identify analogous objects in other views
	// such as `HostMultipathInfoLogicalUnit` and `HostScsiTopologyLun`.
	//
	// See also `HostMultipathInfoLogicalUnit`, `HostScsiTopologyLun`.
	Uuid string `xml:"uuid" json:"uuid"`
	// List of descriptors that can be used to identify the LUN object.
	//
	// The
	// uuid will also appear as a descriptor.
	//
	// The id field in the descriptor is a string that can be used to correlate
	// the ScsiLun across multiple servers. A ScsiLun may have multiple
	// descriptors. The choice and order of these descriptors may be different
	// on different servers.
	//
	// Not all descriptors are suitable for correlation. Some descriptors are
	// only sufficient to identify the ScsiLun within a single host. Each
	// descriptor contains a quality property that indicates whether or not
	// the descriptor is suitable for correlation.
	Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty" json:"descriptor,omitempty" vim:"4.0"`
	// Canonical name of the SCSI logical unit.
	//
	// Disk partition or extent identifiers refer to this name when
	// referring to a disk. Use this property to correlate a partition
	// or extent to a specific SCSI disk.
	//
	// See also `HostScsiDiskPartition.diskName`.
	CanonicalName string `xml:"canonicalName,omitempty" json:"canonicalName,omitempty"`
	// User configurable display name of the SCSI logical unit.
	//
	// A default
	// display name will be used if available. If the display name is not
	// supported, it will be unset. The display name does not have to be
	// unique but it is recommended that it be unique.
	DisplayName string `xml:"displayName,omitempty" json:"displayName,omitempty" vim:"4.0"`
	// The type of SCSI device.
	//
	// Must be one of the values of
	// `ScsiLunType_enum`.
	LunType string `xml:"lunType" json:"lunType"`
	// The vendor of the SCSI device.
	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
	// The model number of the SCSI device.
	Model string `xml:"model,omitempty" json:"model,omitempty"`
	// The revision of the SCSI device.
	Revision string `xml:"revision,omitempty" json:"revision,omitempty"`
	// The SCSI level of the SCSI device.
	ScsiLevel int32 `xml:"scsiLevel,omitempty" json:"scsiLevel,omitempty"`
	// The serial number of the SCSI device.
	//
	// For a device that is SCSI-3 compliant, this property is derived
	// from page 80h of the Vital Product Data (VPD), as defined by the
	// SCSI-3 Primary Commands (SPC-3) spec. Not all SCSI-3 compliant
	// devices provide this information. For devices that are not
	// SCSI-3 compliant, this property is not defined.
	SerialNumber string `xml:"serialNumber,omitempty" json:"serialNumber,omitempty"`
	// The durable name of the SCSI device.
	//
	// For a SCSI-3 compliant device this property is derived from the
	// payloads of pages 80h and 83h of the Vital Product Data (VPD) as
	// defined by the T10 and SMI standards. For devices that do not provide
	// this information, this property is not defined.
	DurableName *ScsiLunDurableName `xml:"durableName,omitempty" json:"durableName,omitempty"`
	// Alternate durable names.
	//
	// Records all available durable names derived from page 80h of the Vital
	// Product Data (VPD) and the Identification Vital Product Data (VPD) page
	// 83h as defined by the SCSI-3 Primary Commands. For devices that are not
	// SCSI-3 compliant this property is not defined.
	AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty" json:"alternateName,omitempty" vim:"2.5"`
	// Standard Inquiry payload.
	//
	// For a SCSI-3 compliant device this property is derived from the
	// standard inquiry data. For devices that are not SCSI-3 compliant this
	// property is not defined.
	StandardInquiry []byte `xml:"standardInquiry,omitempty" json:"standardInquiry,omitempty" vim:"2.5"`
	// The queue depth of SCSI device.
	QueueDepth int32 `xml:"queueDepth,omitempty" json:"queueDepth,omitempty"`
	// The operational states of the LUN.
	//
	// When more than one item is present in the array, the first state
	// should be considered the primary state. For example, a LUN may
	// be "ok" and "degraded" indicating I/O is still possible to the LUN, but
	// it is operating in a degraded mode.
	//
	// See also `ScsiLunState_enum`.
	OperationalState []string `xml:"operationalState" json:"operationalState"`
	// Capabilities of SCSI device.
	Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty" json:"capabilities,omitempty" vim:"4.0"`
	// vStorage hardware acceleration support status.
	//
	// This property
	// represents storage acceleration provided by the SCSI logical unit.
	// See `ScsiLunVStorageSupportStatus_enum` for valid values.
	//
	// If a storage device supports hardware acceleration,
	// the ESX host can offload specific virtual machine management
	// operations to the storage device. With hardware assistance,
	// the host performs storage operations faster and consumes
	// less CPU, memory, and storage fabric bandwidth.
	//
	// For vSphere 4.0 or earlier hosts, this value will be unset.
	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"4.1"`
	// Indicates that this SCSI LUN is protocol endpoint.
	//
	// This
	// property will be populated if and only if host supports
	// VirtualVolume based Datastore. Check the host capability
	// `HostCapability.virtualVolumeDatastoreSupported`.
	// See `HostProtocolEndpoint`.
	ProtocolEndpoint *bool `xml:"protocolEndpoint" json:"protocolEndpoint,omitempty" vim:"6.0"`
	// Indicates the state of a perennially reserved flag for a LUN.
	//
	// If
	// set for Raw Device Mapped (RDM) LUNs, the host startup or LUN rescan
	// take comparatively shorter duration than when it is unset.
	PerenniallyReserved *bool `xml:"perenniallyReserved" json:"perenniallyReserved,omitempty" vim:"6.7.2"`
	// Indicates if LUN has the prequisite properties to enable Clustered Vmdk
	// feature once formatted into VMFS Datastore.
	ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported" json:"clusteredVmdkSupported,omitempty" vim:"7.0"`
	// Indicates the current device protocol.
	//
	// Application protocol for a device which is set based on input
	// from vmkctl storage control plane. Must be one of the values of
	// `DeviceProtocol_enum`.
	ApplicationProtocol string `xml:"applicationProtocol,omitempty" json:"applicationProtocol,omitempty" vim:"8.0.1.0"`
	// Indicates whether namespace is dispersed.
	//
	// Set to true when the namespace of LUN is dispersed.
	DispersedNs *bool `xml:"dispersedNs" json:"dispersedNs,omitempty" vim:"8.0.1.0"`
}

The `ScsiLun` data object describes a SCSI logical unit.

A SCSI logical unit is a host device that an ESX Server or virtual machine can use for I/O operations.

An ESX Server creates SCSI logical unit objects to represent devices in the host configuration. (See the definition of `ScsiLunType_enum` for a list of the supported device types.) The vSphere API uses one of two object types to represent a SCSI logical unit, depending on the device type.

  • Disks containing file system volumes or parts of volumes for hosts or raw disks for virtual machines. To represent disks, the ESX Server creates a `HostScsiDisk` object, which inherits properties from the `ScsiLun` base class.
  • Other SCSI devices, for example SCSI passthrough devices for virtual machines. To represent one of these devices, the ESX Server creates a `ScsiLun` object.

When the Server creates a `HostScsiDisk` or `ScsiLun` object, it specifies a valid device name and type:

  • `HostDevice.deviceName` - A string representing the name of the device that is meaningful to the host. The following are some examples of device names. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/dev/cdrom</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>/vmkdev/vmhba0:0:1:0</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>PhysicalDrive0</code>
  • `HostDevice.deviceType` - A string describing the type of device. The following are some examples of device types. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-cdrom</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-tape</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-disk</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-processor</code> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>scsi-unknown</code>

func (*ScsiLun) GetScsiLun

func (b *ScsiLun) GetScsiLun() *ScsiLun

type ScsiLunCapabilities

type ScsiLunCapabilities struct {
	DynamicData

	// Can the display name of the SCSI device be updated?
	UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported" json:"updateDisplayNameSupported"`
}

Scsi device specific capabilities.

type ScsiLunDescriptor

type ScsiLunDescriptor struct {
	DynamicData

	// An indicator of the utility of the descriptor as an identifier that
	// is stable, unique, and correlatable.
	//
	// See also `ScsiLunDescriptorQuality_enum`.
	Quality string `xml:"quality" json:"quality"`
	// The identifier represented as a string.
	Id string `xml:"id" json:"id"`
}

A structure that encapsulates an identifier and its properties for the ScsiLun object.

type ScsiLunDescriptorQuality

type ScsiLunDescriptorQuality string

An indicator of the utility of Descriptor in being used as an

type ScsiLunDurableName

type ScsiLunDurableName struct {
	DynamicData

	// The string describing the namespace used for the durable name.
	Namespace string `xml:"namespace" json:"namespace"`
	// The byte used by the ESX Server product to represent the namespace.
	NamespaceId byte `xml:"namespaceId" json:"namespaceId"`
	// The variable length byte array containing the namespace-specific data.
	//
	// For a SCSI-3 compliant device this field is the descriptor header
	// along with the payload for data obtained from page 83h, and is the
	// payload for data obtained from page 80h of the Vital Product Data
	// (VPD).
	Data []byte `xml:"data,omitempty" json:"data,omitempty"`
}

This data object type represents an SMI-S "Correlatable and Durable Name" which is an identifier for a logical unit number (LUN) that is generated using a common algorithm.

The algorithm divides the identifier into multiple namespaces where each namespace uses a different set of properties of the LUN to generate the identifier. The namespace itself is encoded in the identifier.

type ScsiLunState

type ScsiLunState string

The Operational state of the LUN

type ScsiLunType

type ScsiLunType string

The list of SCSI device types.

These values correspond to values published in the SCSI specification.

type ScsiLunVStorageSupportStatus

type ScsiLunVStorageSupportStatus string

Storage array hardware acceleration support status.

When a host boots, the support status is unknown. As a host attempts hardware-accelerated operations, it determines whether the storage device supports hardware acceleration

type SeSparseVirtualDiskSpec

type SeSparseVirtualDiskSpec struct {
	FileBackedVirtualDiskSpec

	// The grain size in kB for Flex-SE disk types.
	//
	// Default value will
	// be used if unset.
	GrainSizeKb int32 `xml:"grainSizeKb,omitempty" json:"grainSizeKb,omitempty"`
}

Specification used to create an Flex-SE based virtual disk

type SearchDatastoreRequestType

type SearchDatastoreRequestType struct {
	This          ManagedObjectReference          `xml:"_this" json:"-"`
	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
}

The parameters of `HostDatastoreBrowser.SearchDatastore_Task`.

type SearchDatastoreSubFoldersRequestType

type SearchDatastoreSubFoldersRequestType struct {
	This          ManagedObjectReference          `xml:"_this" json:"-"`
	DatastorePath string                          `xml:"datastorePath" json:"datastorePath"`
	SearchSpec    *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty" json:"searchSpec,omitempty"`
}

The parameters of `HostDatastoreBrowser.SearchDatastoreSubFolders_Task`.

type SearchDatastoreSubFolders_TaskResponse

type SearchDatastoreSubFolders_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SearchDatastore_Task

type SearchDatastore_Task SearchDatastoreRequestType

type SearchDatastore_TaskResponse

type SearchDatastore_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SecondaryVmAlreadyDisabled

type SecondaryVmAlreadyDisabled struct {
	VmFaultToleranceIssue

	// Instance UUID of the secondary virtual machine.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This fault is thrown when an attempt is made to disable a secondary virtual machine that has already been disabled.

type SecondaryVmAlreadyDisabledFault

type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled

type SecondaryVmAlreadyEnabled

type SecondaryVmAlreadyEnabled struct {
	VmFaultToleranceIssue

	// Instance UUID of the secondary virtual machine.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This fault is thrown when an attempt is made to enable a secondary virtual machine that has already been enabled.

type SecondaryVmAlreadyEnabledFault

type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled

type SecondaryVmAlreadyRegistered

type SecondaryVmAlreadyRegistered struct {
	VmFaultToleranceIssue

	// Instance UUID of the secondary virtual machine.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This fault is thrown when an attempt is made to register a secondary virtual machine with a primary virtual machine with whom it is already registered.

type SecondaryVmAlreadyRegisteredFault

type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered

type SecondaryVmNotRegistered

type SecondaryVmNotRegistered struct {
	VmFaultToleranceIssue

	// Instance UUID of the secondary virtual machine.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This fault is thrown when an attempt is made to unregister a secondary virtual machine from a primary virtual machine with whom it has not been previously registered.

type SecondaryVmNotRegisteredFault

type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered

type SecurityError

type SecurityError struct {
	RuntimeFault
}

Thrown when the client is not allowed access to the property or method.

func (*SecurityError) GetSecurityError

func (b *SecurityError) GetSecurityError() *SecurityError

type SecurityErrorFault

type SecurityErrorFault BaseSecurityError

type SecurityProfile

type SecurityProfile struct {
	ApplyProfile

	// Permission configuration.
	Permission []PermissionProfile `xml:"permission,omitempty" json:"permission,omitempty" vim:"4.1"`
}

The `SecurityProfile` data object represents host security configuration.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type SelectActivePartitionRequestType

type SelectActivePartitionRequestType struct {
	This      ManagedObjectReference `xml:"_this" json:"-"`
	Partition *HostScsiDiskPartition `xml:"partition,omitempty" json:"partition,omitempty"`
}

The parameters of `HostDiagnosticSystem.SelectActivePartition`.

type SelectActivePartitionResponse

type SelectActivePartitionResponse struct {
}

type SelectVnic

type SelectVnic SelectVnicRequestType

type SelectVnicForNicTypeRequestType

type SelectVnicForNicTypeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The type of VirtualNic that would be selected
	NicType string `xml:"nicType" json:"nicType"`
	// The device that uniquely identifies the VirtualNic.
	Device string `xml:"device" json:"device"`
}

The parameters of `HostVirtualNicManager.SelectVnicForNicType`.

type SelectVnicForNicTypeResponse

type SelectVnicForNicTypeResponse struct {
}

type SelectVnicRequestType

type SelectVnicRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device that uniquely identifies the VirtualNic.
	Device string `xml:"device" json:"device"`
}

The parameters of `HostVMotionSystem.SelectVnic`.

type SelectVnicResponse

type SelectVnicResponse struct {
}

type SelectionSet

type SelectionSet struct {
	DynamicData
}

Base class for selecting entities

func (*SelectionSet) GetSelectionSet

func (b *SelectionSet) GetSelectionSet() *SelectionSet

type SelectionSpec

type SelectionSpec struct {
	DynamicData

	// Name of the selection specification.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
}

The `SelectionSpec` is the base type for data object types that specify what additional objects to filter.

The base type contains only an optional "name" field, which allows a selection to be named for future reference. More information is available in the subtype.

Named selections support recursive specifications on an object hierarchy. When used by a derived object, the "name" field allows other `SelectionSpec` objects to refer to the object by name. When used as the base type only, the "name" field indicates recursion to the derived object by name.

Names are meaningful only within the same FilterSpec.

func (*SelectionSpec) GetSelectionSpec

func (b *SelectionSpec) GetSelectionSpec() *SelectionSpec

type SendEmailAction

type SendEmailAction struct {
	Action

	// A comma-separated list of addresses to which the email notification is sent.
	ToList string `xml:"toList" json:"toList"`
	// A comma-separated list of addresses that are cc'ed on the email notification.
	CcList string `xml:"ccList" json:"ccList"`
	// Subject of the email notification.
	Subject string `xml:"subject" json:"subject"`
	// Content of the email notification.
	Body string `xml:"body" json:"body"`
}

This data object type defines an email that is triggered by an alarm.

You can use any elements of the `ActionParameter` enumerated list as part of your strings to provide information available at runtime.

type SendNMI

type SendNMI SendNMIRequestType

type SendNMIRequestType

type SendNMIRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type SendNMIResponse

type SendNMIResponse struct {
}

type SendSNMPAction

type SendSNMPAction struct {
	Action
}

This data object type specifies an SNMP trap that is triggered by an alarm.

type SendTestNotificationRequestType

type SendTestNotificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type SendTestNotificationResponse

type SendTestNotificationResponse struct {
}

type ServerLicenseExpiredEvent

type ServerLicenseExpiredEvent struct {
	LicenseEvent

	Product string `xml:"product" json:"product"`
}

This event records an expired VirtualCenter server license.

type ServerStartedSessionEvent

type ServerStartedSessionEvent struct {
	SessionEvent
}

This event records the starting of the VirtualCenter server.

type ServiceConsolePortGroupProfile

type ServiceConsolePortGroupProfile struct {
	PortGroupProfile

	// IP address configuration for the service console network.
	IpConfig IpAddressProfile `xml:"ipConfig" json:"ipConfig"`
}

The `ServiceConsolePortGroupProfile` data object represents the profile for a port group that will be used by the service console.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type ServiceConsoleReservationInfo

type ServiceConsoleReservationInfo struct {
	DynamicData

	// The amount of memory that should be reserved for the service console on
	// the next boot.
	ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg" json:"serviceConsoleReservedCfg"`
	// The amount of memory that is currently reserved for the service console.
	ServiceConsoleReserved int64 `xml:"serviceConsoleReserved" json:"serviceConsoleReserved"`
	// The amount of memory that is not reserved for use by the service console.
	Unreserved int64 `xml:"unreserved" json:"unreserved"`
}

The ServiceConsoleReservationInfo data object type describes the amount of memory that is being reserved by the service console.

Memory reserved for use by the service console is a hard reservation that cannot be changed except across hardware restarts.

This memory that is reserved for the service console is used primarily to provide system management services. In addition, a small overhead is needed by each virtual machine on the service console.

The only property of the data object that can be changed directly is the serviceConsoleReservedCfg property. This property indicates how much memory should be reserved for the service console on the next boot. In most cases, this amount is the same as the current reservation.

type ServiceContent

type ServiceContent struct {
	DynamicData

	// Reference to the top of the inventory managed by this service.
	//
	// Refers instance of `Folder`.
	RootFolder ManagedObjectReference `xml:"rootFolder" json:"rootFolder"`
	// Reference to a per-session object for retrieving properties and updates.
	//
	// Refers instance of `PropertyCollector`.
	PropertyCollector ManagedObjectReference `xml:"propertyCollector" json:"propertyCollector"`
	// A singleton managed object for tracking custom sets of objects.
	//
	// Refers instance of `ViewManager`.
	ViewManager *ManagedObjectReference `xml:"viewManager,omitempty" json:"viewManager,omitempty" vim:"2.5"`
	// Information about the service, such as the software version.
	About AboutInfo `xml:"about" json:"about"`
	// Generic configuration for a management server.
	//
	// This is for example by
	// vCenter to store the vCenter Settings. This is not used for a
	// stand-alone host, instead the vim.host.ConfigManager.advancedOption is used.
	//
	// See also `HostConfigManager`.
	//
	// Refers instance of `OptionManager`.
	Setting *ManagedObjectReference `xml:"setting,omitempty" json:"setting,omitempty"`
	// A user directory managed object.
	//
	// Refers instance of `UserDirectory`.
	UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty" json:"userDirectory,omitempty"`
	// Managed object for logging in and managing sessions.
	//
	// Refers instance of `SessionManager`.
	SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty" json:"sessionManager,omitempty"`
	// Manages permissions for managed entities in the service.
	//
	// Refers instance of `AuthorizationManager`.
	AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty" json:"authorizationManager,omitempty"`
	// A singleton managed object that manages local services.
	//
	// Refers instance of `ServiceManager`.
	ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty" json:"serviceManager,omitempty" vim:"5.1"`
	// A singleton managed object that manages the collection and reporting
	// of performance statistics.
	//
	// Refers instance of `PerformanceManager`.
	PerfManager *ManagedObjectReference `xml:"perfManager,omitempty" json:"perfManager,omitempty"`
	// A singleton managed object that manages scheduled tasks.
	//
	// Refers instance of `ScheduledTaskManager`.
	ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty" json:"scheduledTaskManager,omitempty"`
	// A singleton managed object that manages alarms.
	//
	// Refers instance of `AlarmManager`.
	AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty" json:"alarmManager,omitempty"`
	// A singleton managed object that manages events.
	//
	// Refers instance of `EventManager`.
	EventManager *ManagedObjectReference `xml:"eventManager,omitempty" json:"eventManager,omitempty"`
	// A singleton managed object that manages tasks.
	//
	// Refers instance of `TaskManager`.
	TaskManager *ManagedObjectReference `xml:"taskManager,omitempty" json:"taskManager,omitempty"`
	// A singleton managed object that manages extensions.
	//
	// Refers instance of `ExtensionManager`.
	ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty" json:"extensionManager,omitempty" vim:"2.5"`
	// A singleton managed object that manages saved guest customization
	// specifications.
	//
	// Refers instance of `CustomizationSpecManager`.
	CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty" json:"customizationSpecManager,omitempty"`
	// A singleton managed object that manages guest customization of
	// a running VM.
	//
	// The typical usage is for the guest customization after the
	// InstantClone operation. See `VirtualMachine.InstantClone_Task`.
	//
	// Refers instance of `VirtualMachineGuestCustomizationManager`.
	GuestCustomizationManager *ManagedObjectReference `xml:"guestCustomizationManager,omitempty" json:"guestCustomizationManager,omitempty" vim:"6.8.7"`
	// A singleton managed object that managed custom fields.
	//
	// Refers instance of `CustomFieldsManager`.
	CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty" json:"customFieldsManager,omitempty"`
	// A singleton managed object that manages host local user and group accounts.
	//
	// Refers instance of `HostLocalAccountManager`.
	AccountManager *ManagedObjectReference `xml:"accountManager,omitempty" json:"accountManager,omitempty"`
	// A singleton managed object that provides access to low-level log files.
	//
	// Refers instance of `DiagnosticManager`.
	DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty" json:"diagnosticManager,omitempty"`
	// A singleton managed object that manages licensing
	//
	// Refers instance of `LicenseManager`.
	LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty" json:"licenseManager,omitempty"`
	// A singleton managed object that allows search of the inventory
	//
	// Refers instance of `SearchIndex`.
	SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty" json:"searchIndex,omitempty"`
	// A singleton managed object that allows management of files present
	// on datastores.
	//
	// Refers instance of `FileManager`.
	FileManager *ManagedObjectReference `xml:"fileManager,omitempty" json:"fileManager,omitempty" vim:"2.5"`
	// Datastore Namespace manager.
	//
	// A singleton managed object that is used to manage manipulations
	// related to datastores' namespaces.
	//
	// Refers instance of `DatastoreNamespaceManager`.
	DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty" json:"datastoreNamespaceManager,omitempty" vim:"5.5"`
	// A singleton managed object that allows management of virtual disks
	// on datastores.
	//
	// Refers instance of `VirtualDiskManager`.
	VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty" json:"virtualDiskManager,omitempty" vim:"2.5"`
	// Deprecated as of VI API 2.5, use the VMware vCenter Converter plug-in.
	//
	// A singleton managed object that manages the discovery, analysis,
	// recommendation and virtualization of physical machines
	//
	// Refers instance of `VirtualizationManager`.
	VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty" json:"virtualizationManager,omitempty" vim:"2.5"`
	// A singleton managed object that allows SNMP configuration.
	//
	// Not set if not supported on a particular platform.
	//
	// Refers instance of `HostSnmpSystem`.
	SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty" json:"snmpSystem,omitempty" vim:"4.0"`
	// A singleton managed object that can answer questions about the
	// feasibility of certain provisioning operations.
	//
	// Refers instance of `VirtualMachineProvisioningChecker`.
	VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty" json:"vmProvisioningChecker,omitempty" vim:"4.0"`
	// A singleton managed object that can answer questions about compatibility
	// of a virtual machine with a host.
	//
	// Refers instance of `VirtualMachineCompatibilityChecker`.
	VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty" json:"vmCompatibilityChecker,omitempty" vim:"4.0"`
	// A singleton managed object that can generate OVF descriptors (export) and create
	// vApps (single-VM or vApp container-based) from OVF descriptors (import).
	//
	// Refers instance of `OvfManager`.
	OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty" json:"ovfManager,omitempty" vim:"4.0"`
	// A singleton managed object that supports management of IpPool objects.
	//
	// IP pools are
	// used when allocating IPv4 and IPv6 addresses to vApps.
	//
	// Refers instance of `IpPoolManager`.
	IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty" json:"ipPoolManager,omitempty" vim:"4.0"`
	// A singleton managed object that provides relevant information of
	// DistributedVirtualSwitch.
	//
	// Refers instance of `DistributedVirtualSwitchManager`.
	DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty" json:"dvSwitchManager,omitempty" vim:"4.0"`
	// A singleton managed object that manages the host profiles.
	//
	// Refers instance of `HostProfileManager`.
	HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty" json:"hostProfileManager,omitempty" vim:"4.0"`
	// A singleton managed object that manages the cluster profiles.
	//
	// Refers instance of `ClusterProfileManager`.
	ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty" json:"clusterProfileManager,omitempty" vim:"4.0"`
	// A singleton managed object that manages compliance aspects of entities.
	//
	// Refers instance of `ProfileComplianceManager`.
	ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty" json:"complianceManager,omitempty" vim:"4.0"`
	// A singleton managed object that provides methods for retrieving message
	// catalogs for client-side localization support.
	//
	// Refers instance of `LocalizationManager`.
	LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty" json:"localizationManager,omitempty" vim:"4.0"`
	// A singleton managed object that provides methods for storage resource
	// management.
	//
	// Refers instance of `StorageResourceManager`.
	StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty" json:"storageResourceManager,omitempty" vim:"4.1"`
	// A singleton managed object that provides methods for guest operations.
	//
	// Refers instance of `GuestOperationsManager`.
	GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty" json:"guestOperationsManager,omitempty" vim:"5.0"`
	// A singleton managed object that provides methods for looking up static VM
	// overhead memory.
	//
	// Refers instance of `OverheadMemoryManager`.
	OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty" json:"overheadMemoryManager,omitempty" vim:"6.0"`
	// host certificate manager
	// A singleton managed object to manage the certificates between the
	// Certificate Server and the host.
	//
	// Refers instance of `CertificateManager`.
	CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty" json:"certificateManager,omitempty" vim:"6.0"`
	// A singleton managed object that manages IO Filters installed on the ESXi
	// hosts and IO Filter configuration of virtual disks.
	//
	// Refers instance of `IoFilterManager`.
	IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty" json:"ioFilterManager,omitempty" vim:"6.0"`
	// A singleton managed object that manages all storage objects in the
	// Virtual Infrastructure.
	//
	// If connected to a vCenter,
	// this is the `VcenterVStorageObjectManager`; If connected
	// to an ESXi host, this is the `HostVStorageObjectManager`.
	//
	// A storage object in the Virtual Infrastructure is represented by a
	// vStorageObject.
	//
	// Refers instance of `VStorageObjectManagerBase`.
	VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty" json:"vStorageObjectManager,omitempty" vim:"6.5"`
	// A singleton managed object that manages the host specification data.
	//
	// Refers instance of `HostSpecificationManager`.
	HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty" json:"hostSpecManager,omitempty" vim:"6.5"`
	// A singleton managed object used to manage cryptographic keys.
	//
	// Refers instance of `CryptoManager`.
	CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty" json:"cryptoManager,omitempty" vim:"6.5"`
	// A singleton managed object that manages the health updates.
	//
	// Refers instance of `HealthUpdateManager`.
	HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty" json:"healthUpdateManager,omitempty" vim:"6.5"`
	// A singleton managed object that manages the VCHA Cluster
	// configuration.
	//
	// Refers instance of `FailoverClusterConfigurator`.
	FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty" json:"failoverClusterConfigurator,omitempty" vim:"6.5"`
	// A singleton managed object for managing a configured VCHA Cluster.
	//
	// Refers instance of `FailoverClusterManager`.
	FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty" json:"failoverClusterManager,omitempty" vim:"6.5"`
	// A singleton managed object used to configure tenants.
	//
	// Refers instance of `TenantTenantManager`.
	TenantManager *ManagedObjectReference `xml:"tenantManager,omitempty" json:"tenantManager,omitempty" vim:"6.9.1"`
	// A singleton managed object used to manage site related capabilities.
	//
	// Refers instance of `SiteInfoManager`.
	SiteInfoManager *ManagedObjectReference `xml:"siteInfoManager,omitempty" json:"siteInfoManager,omitempty" vim:"7.0"`
	// A singleton managed object used to query storage related entities.
	//
	// Refers instance of `StorageQueryManager`.
	StorageQueryManager *ManagedObjectReference `xml:"storageQueryManager,omitempty" json:"storageQueryManager,omitempty" vim:"6.7.2"`
}

The `ServiceContent` data object defines properties for the ServiceInstance managed object.

The ServiceInstance itself does not have directly-accessible properties because reading the properties of a managed object requires the use of a property collector, and the property collector itself is a property of the `ServiceInstance`. For this reason, use the method `ServiceInstance.RetrieveServiceContent` to retrieve the `ServiceContent` object.

type ServiceLocator

type ServiceLocator struct {
	DynamicData

	// Unique ID of the instance to which the service belongs.
	//
	// For
	// instances that support the vSphere API, this is the same as the
	// value found in `AboutInfo.instanceUuid`.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
	// URL used to access the service endpoint
	Url string `xml:"url" json:"url"`
	// Credential to establish the connection and login to the service.
	Credential BaseServiceLocatorCredential `xml:"credential,typeattr" json:"credential"`
	// The SSL thumbprint of the certificate of the service endpoint.
	//
	// Superceded by `#sslCertificate`.
	// Note: If both <code>sslThumbprint</code> and <code>sslCertificate</code> are set,
	// <code>sslThumbprint</code> must correspond to the <code>sslCertificate</code>.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
}

This data object type specifies the information of a service endpoint as well as the parameters needed to locate and login to to the service endpoint.

type ServiceLocatorCredential

type ServiceLocatorCredential struct {
	DynamicData
}

The data object type is a base type of credential for authentication such as username/password or SAML token.

func (*ServiceLocatorCredential) GetServiceLocatorCredential

func (b *ServiceLocatorCredential) GetServiceLocatorCredential() *ServiceLocatorCredential

type ServiceLocatorNamePassword

type ServiceLocatorNamePassword struct {
	ServiceLocatorCredential

	// The username for Username-Password authentication
	Username string `xml:"username" json:"username"`
	// The password for Username-Password authentication
	Password string `xml:"password" json:"password"`
}

The data object type specifies the username and password credential for authenticating to a service endpoint.

type ServiceLocatorSAMLCredential

type ServiceLocatorSAMLCredential struct {
	ServiceLocatorCredential

	// The SAML token for authentication
	Token string `xml:"token,omitempty" json:"token,omitempty"`
}

The data object type specifies the SAML token (SSO) based credential for authenticating to a service endpoint.

type ServiceManagerServiceInfo

type ServiceManagerServiceInfo struct {
	DynamicData

	// A service name.
	//
	// Each service is expected to create a unique name
	// for itself that can be used to locate the service. This name
	// does not need to be unique across hosts or other such locations though.
	ServiceName string `xml:"serviceName" json:"serviceName"`
	// A list of data that can be used to uniquely identify a particular instance of a service.
	//
	// Multiple instances of a service can exist across different domains (for instance, a service
	// that is associated with a particular virtual machine or a particular host). In such cases,
	// the service name is insufficient to identify the service and location data can be used
	// to identify the instance of interest. A service may publish as much location data
	// as is needed to identify it (e.g, vmware.host.&lt;hostname&gt; or vmware.vm.&lt;uuid&gt; or both).
	// The particular choice of locations have to be agreed upon by
	// the client and the service.
	Location []string `xml:"location,omitempty" json:"location,omitempty"`
	// The managed object that presents this service.
	Service ManagedObjectReference `xml:"service" json:"service"`
	// A description of the service.
	//
	// Provides help text on how
	// to use the service.
	Description string `xml:"description" json:"description"`
}

This data object represents essential information about a particular service.

The information is sufficient to be able to identify the service and retrieve the object implementing it.

type ServiceProfile

type ServiceProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `ServiceProfile` data object controls the configuration of a service.

Use the `ApplyProfile.policy` list for access to configuration data for the service profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

type SessionEvent

type SessionEvent struct {
	Event
}

These are session events.

func (*SessionEvent) GetSessionEvent

func (b *SessionEvent) GetSessionEvent() *SessionEvent

type SessionIsActive

type SessionIsActive SessionIsActiveRequestType

type SessionIsActiveRequestType

type SessionIsActiveRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Session ID to validate.
	SessionID string `xml:"sessionID" json:"sessionID"`
	// User name to validate.
	UserName string `xml:"userName" json:"userName"`
}

The parameters of `SessionManager.SessionIsActive`.

type SessionIsActiveResponse

type SessionIsActiveResponse struct {
	Returnval bool `xml:"returnval" json:"returnval"`
}

type SessionManagerGenericServiceTicket

type SessionManagerGenericServiceTicket struct {
	DynamicData

	// A unique string identifying the ticket.
	Id string `xml:"id" json:"id"`
	// The name of the host that the service is running on
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty" vim:"5.1"`
	// The expected thumbprint of the SSL certificate of the host.
	//
	// If it is empty, the host must be authenticated by name.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"5.1"`
	// List of expected thumbprints of the certificate of the host to
	// which we are connecting.
	//
	// The list can be configured on the host
	// to include only certain hash types. The default configuration
	// includes all hash types that are considered secure. See vmware.com
	// for the current security standards.
	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
	// Type of the ticket
	// See { @Vim::SessionManager::GenericServiceTicket::TicketType }
	TicketType string `xml:"ticketType,omitempty" json:"ticketType,omitempty" vim:"7.0.2.0"`
}

This data object represents a ticket which grants access to some service.

The ticket may be used only once and is valid only for the `SessionManagerServiceRequestSpec` with which it was acquired. For HTTP service requests (when spec is of type HttpServiceRequestSpec) the returned ticket must be used by setting `SessionManagerGenericServiceTicket.id` as the value of a special cookie in the HTTP request. For CGI requests the name of this cookie is 'vmware\_cgi\_ticket'. The use of the returned ticket for other services is to be defined.

type SessionManagerGenericServiceTicketTicketType added in v0.26.0

type SessionManagerGenericServiceTicketTicketType string

type SessionManagerHttpServiceRequestSpec

type SessionManagerHttpServiceRequestSpec struct {
	SessionManagerServiceRequestSpec

	// The HTTP method used for the request.
	//
	// If null, then any method is assumed.
	//
	// See also `SessionManagerHttpServiceRequestSpecMethod_enum`.
	Method string `xml:"method,omitempty" json:"method,omitempty"`
	// URL of the HTTP request.
	//
	// E.g. 'https://127.0.0.1:8080/cgi-bin/vm-support.cgi?n=val'.
	//
	// For ESXi CGI service requests:
	//     - only the path and query parts of the URL are used
	//       (e.g. "/cgi-bin/vm-support.cgi?n=val").
	//
	// This is so because the scheme is not known to the CGI service,
	// and the port may not be the same if using a proxy.
	Url string `xml:"url" json:"url"`
}

This data object type describes a request to an HTTP or HTTPS service.

type SessionManagerHttpServiceRequestSpecMethod

type SessionManagerHttpServiceRequestSpecMethod string

type SessionManagerLocalTicket

type SessionManagerLocalTicket struct {
	DynamicData

	// User name to be used for logon.
	UserName string `xml:"userName" json:"userName"`
	// Absolute local path to the file containing a one-time password.
	PasswordFilePath string `xml:"passwordFilePath" json:"passwordFilePath"`
}

This data object type contains the user name and location of the file containing the password that clients can use for one-time logon to a server.

type SessionManagerServiceRequestSpec

type SessionManagerServiceRequestSpec struct {
	DynamicData
}

This data object type describes a request to a service.

It is used as argument to `SessionManager.AcquireGenericServiceTicket`. This is the base class for more specific service request specifications. E.g. for HTTP services the derived class will provide a URL property.

func (*SessionManagerServiceRequestSpec) GetSessionManagerServiceRequestSpec

func (b *SessionManagerServiceRequestSpec) GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec

type SessionManagerVmomiServiceRequestSpec

type SessionManagerVmomiServiceRequestSpec struct {
	SessionManagerServiceRequestSpec

	// Name of the method identified by this request spec
	Method string `xml:"method" json:"method"`
}

This data object type describes a request to invoke a specific method in a VMOMI service.

It currently only supports {link vim.SessionManager#cloneSession} method. The GenericServiceTicket.id returned from `SessionManager.AcquireGenericServiceTicket` for this request can be use for `SessionManager.CloneSession` to clone a session

type SessionTerminatedEvent

type SessionTerminatedEvent struct {
	SessionEvent

	// The unique identifier of the terminated session.
	SessionId string `xml:"sessionId" json:"sessionId"`
	// The name of the user owning the terminated session.
	TerminatedUsername string `xml:"terminatedUsername" json:"terminatedUsername"`
}

This event records the termination of a session.

type SetClusterModeRequestType added in v0.18.0

type SetClusterModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Mode string                 `xml:"mode" json:"mode"`
}

type SetClusterMode_Task added in v0.18.0

type SetClusterMode_Task SetClusterModeRequestType

type SetClusterMode_TaskResponse added in v0.18.0

type SetClusterMode_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SetCollectorPageSizeRequestType

type SetCollectorPageSizeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The maximum number of items in the page.
	MaxCount int32 `xml:"maxCount" json:"maxCount"`
}

The parameters of `HistoryCollector.SetCollectorPageSize`.

type SetCollectorPageSizeResponse

type SetCollectorPageSizeResponse struct {
}

type SetCryptoMode added in v0.23.0

type SetCryptoMode SetCryptoModeRequestType

type SetCryptoModeRequestType added in v0.23.0

type SetCryptoModeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The encryption mode for the cluster.
	// See `ClusterCryptoConfigInfoCryptoMode_enum` for
	// supported values. An empty string is treated as a valid
	// input and will be interpreted as
	// `onDemand`.
	CryptoMode string `xml:"cryptoMode" json:"cryptoMode"`
}

The parameters of `ClusterComputeResource.SetCryptoMode`.

type SetCryptoModeResponse added in v0.23.0

type SetCryptoModeResponse struct {
}

type SetCustomValue added in v0.18.0

type SetCustomValue SetCustomValueRequestType

type SetCustomValueRequestType added in v0.18.0

type SetCustomValueRequestType struct {
	This  ManagedObjectReference `xml:"_this" json:"-"`
	Key   string                 `xml:"key" json:"key"`
	Value string                 `xml:"value" json:"value"`
}

type SetCustomValueResponse added in v0.18.0

type SetCustomValueResponse struct {
}

type SetDefaultKmsCluster added in v0.23.0

type SetDefaultKmsCluster SetDefaultKmsClusterRequestType

type SetDefaultKmsClusterRequestType added in v0.23.0

type SetDefaultKmsClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The managed entity where the default KMS cluster to be
	// set. Currently the valid managed entity could be
	// cluster or host folder.
	// If omitted, then will set global default KMS cluster.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// \[in\] KMS cluster ID to become default.
	// If omitted, then will clear the default KMS cluster
	// setting.
	ClusterId *KeyProviderId `xml:"clusterId,omitempty" json:"clusterId,omitempty"`
}

The parameters of `CryptoManagerKmip.SetDefaultKmsCluster`.

type SetDefaultKmsClusterResponse added in v0.23.0

type SetDefaultKmsClusterResponse struct {
}

type SetDisplayTopology

type SetDisplayTopology SetDisplayTopologyRequestType

type SetDisplayTopologyRequestType

type SetDisplayTopologyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The topology for each monitor that the
	// virtual machine's display must span.
	Displays []VirtualMachineDisplayTopology `xml:"displays" json:"displays"`
}

The parameters of `VirtualMachine.SetDisplayTopology`.

type SetDisplayTopologyResponse

type SetDisplayTopologyResponse struct {
}

type SetEntityPermissionsRequestType

type SetEntityPermissionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The entity on which to set permissions.
	//
	// Required privileges: Authorization.ModifyPermissions
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// An array of specifications for permissions on the entity.
	Permission []Permission `xml:"permission,omitempty" json:"permission,omitempty"`
}

The parameters of `AuthorizationManager.SetEntityPermissions`.

type SetEntityPermissionsResponse

type SetEntityPermissionsResponse struct {
}

type SetExtensionCertificateRequestType

type SetExtensionCertificateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of extension to update.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// PEM encoded certificate. If not specified, the
	// certificate passed over SSL handshake is used.
	CertificatePem string `xml:"certificatePem,omitempty" json:"certificatePem,omitempty"`
}

The parameters of `ExtensionManager.SetExtensionCertificate`.

type SetExtensionCertificateResponse

type SetExtensionCertificateResponse struct {
}

type SetField

type SetField SetFieldRequestType

type SetFieldRequestType

type SetFieldRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Required privileges: Global.SetCustomField
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	Key    int32                  `xml:"key" json:"key"`
	Value  string                 `xml:"value" json:"value"`
}

The parameters of `CustomFieldsManager.SetField`.

type SetFieldResponse

type SetFieldResponse struct {
}

type SetKeyCustomAttributes added in v0.31.0

type SetKeyCustomAttributes SetKeyCustomAttributesRequestType

type SetKeyCustomAttributesRequestType added in v0.31.0

type SetKeyCustomAttributesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] The crypto Key Id.
	KeyId CryptoKeyId `xml:"keyId" json:"keyId"`
	// \[in\] The spec that contains custom attributes key/value pairs.
	Spec CryptoManagerKmipCustomAttributeSpec `xml:"spec" json:"spec"`
}

The parameters of `CryptoManagerKmip.SetKeyCustomAttributes`.

type SetKeyCustomAttributesResponse added in v0.31.0

type SetKeyCustomAttributesResponse struct {
	Returnval CryptoKeyResult `xml:"returnval" json:"returnval"`
}

type SetLicenseEdition

type SetLicenseEdition SetLicenseEditionRequestType

type SetLicenseEditionRequestType

type SetLicenseEditionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host to act on if LicenseManager is not on a host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Name of edition feature to select. If featureKey is not
	// set or set to empty string, the product becomes unlicensed.
	FeatureKey string `xml:"featureKey,omitempty" json:"featureKey,omitempty"`
}

The parameters of `LicenseManager.SetLicenseEdition`.

type SetLicenseEditionResponse

type SetLicenseEditionResponse struct {
}

type SetLocale

type SetLocale SetLocaleRequestType

type SetLocaleRequestType

type SetLocaleRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A two-character ISO-639 language ID (like "en")
	// optionally followed by an
	// underscore and a two-character ISO 3166 country ID (like "US").
	//
	// Examples are "de", "fr\_CA", "zh", "zh\_CN", and "zh\_TW".
	// Note: The method uses the server default locale when
	// a locale is not provided. This default can be configured in the
	// server configuration file. If unspecified, it defaults to the
	// locale of the server environment or English ("en") if unsupported.
	Locale string `xml:"locale" json:"locale"`
}

The parameters of `SessionManager.SetLocale`.

type SetLocaleResponse

type SetLocaleResponse struct {
}

type SetMaxQueueDepth added in v0.29.0

type SetMaxQueueDepth SetMaxQueueDepthRequestType

type SetMaxQueueDepthRequestType added in v0.29.0

type SetMaxQueueDepthRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The NFS datastore which need to set max queue depth
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Max queue depth value for a datastore
	MaxQdepth int64 `xml:"maxQdepth" json:"maxQdepth"`
}

The parameters of `HostDatastoreSystem.SetMaxQueueDepth`.

type SetMaxQueueDepthResponse added in v0.29.0

type SetMaxQueueDepthResponse struct {
}

type SetMultipathLunPolicyRequestType

type SetMultipathLunPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The logical unit ID
	LunId string `xml:"lunId" json:"lunId"`
	// A data object that describes a path selection policy for
	// the logical unit.
	Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr" json:"policy"`
}

The parameters of `HostStorageSystem.SetMultipathLunPolicy`.

type SetMultipathLunPolicyResponse

type SetMultipathLunPolicyResponse struct {
}

type SetNFSUser

type SetNFSUser SetNFSUserRequestType

type SetNFSUserRequestType

type SetNFSUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// User to be saved on the the esx host
	User string `xml:"user" json:"user"`
	// Password for the user.
	Password string `xml:"password" json:"password"`
}

The parameters of `HostStorageSystem.SetNFSUser`.

type SetNFSUserResponse

type SetNFSUserResponse struct {
}

type SetPublicKey

type SetPublicKey SetPublicKeyRequestType

type SetPublicKeyRequestType

type SetPublicKeyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of extension to update.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// Public key of extension, encoded
	// in PEM (privacy-enhanced mail) format.
	PublicKey string `xml:"publicKey" json:"publicKey"`
}

The parameters of `ExtensionManager.SetPublicKey`.

type SetPublicKeyResponse

type SetPublicKeyResponse struct {
}

type SetRegistryValueInGuestRequestType

type SetRegistryValueInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Modify
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The information for the registry value to be set/created.
	// The Value "name" (specified in
	// `GuestRegValueNameSpec`)
	// and the Value "data" (specified in
	// `GuestRegValueSpec`)
	// can both be empty. If "name" is empty, it sets the value for
	// the unnamed or default value of the given key.
	Value GuestRegValueSpec `xml:"value" json:"value"`
}

The parameters of `GuestWindowsRegistryManager.SetRegistryValueInGuest`.

type SetRegistryValueInGuestResponse

type SetRegistryValueInGuestResponse struct {
}

type SetScreenResolution

type SetScreenResolution SetScreenResolutionRequestType

type SetScreenResolutionRequestType

type SetScreenResolutionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The screen width that should be set.
	Width int32 `xml:"width" json:"width"`
	// The screen height that should be set.
	Height int32 `xml:"height" json:"height"`
}

The parameters of `VirtualMachine.SetScreenResolution`.

type SetScreenResolutionResponse

type SetScreenResolutionResponse struct {
}

type SetServiceAccount added in v0.31.0

type SetServiceAccount SetServiceAccountRequestType

type SetServiceAccountRequestType added in v0.31.0

type SetServiceAccountRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Key of extension to update.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// account name qualified with SSO domain.
	ServiceAccount string `xml:"serviceAccount" json:"serviceAccount"`
}

The parameters of `ExtensionManager.SetServiceAccount`.

type SetServiceAccountResponse added in v0.31.0

type SetServiceAccountResponse struct {
}

type SetTaskDescription

type SetTaskDescription SetTaskDescriptionRequestType

type SetTaskDescriptionRequestType

type SetTaskDescriptionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// New description for task
	Description LocalizableMessage `xml:"description" json:"description"`
}

The parameters of `Task.SetTaskDescription`.

type SetTaskDescriptionResponse

type SetTaskDescriptionResponse struct {
}

type SetTaskState

type SetTaskState SetTaskStateRequestType

type SetTaskStateRequestType

type SetTaskStateRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// New state for task
	State TaskInfoState `xml:"state" json:"state"`
	// Result to set, valid only if task state is
	// TaskInfo.State.success
	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
	// Fault to set, valid only if task state is
	// `error`. The fault must be a of a fault type that
	// directly or indirectly extends `VimFault`.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

The parameters of `Task.SetTaskState`.

type SetTaskStateResponse

type SetTaskStateResponse struct {
}

type SetVStorageObjectControlFlags added in v0.18.0

type SetVStorageObjectControlFlags SetVStorageObjectControlFlagsRequestType

type SetVStorageObjectControlFlagsRequestType added in v0.18.0

type SetVStorageObjectControlFlagsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage
	// object is located.
	//
	// Required privileges: Datastore.FileManagement
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// control flags enum array to be set on the
	// VStorageObject. All control flags not included
	// in the array remain intact.
	ControlFlags []string `xml:"controlFlags,omitempty" json:"controlFlags,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.SetVStorageObjectControlFlags`.

type SetVStorageObjectControlFlagsResponse added in v0.18.0

type SetVStorageObjectControlFlagsResponse struct {
}

type SetVirtualDiskUuid

type SetVirtualDiskUuid SetVirtualDiskUuidRequestType

type SetVirtualDiskUuidRequestType

type SetVirtualDiskUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk whose SCSI inquiry page 0x83
	// data should be set.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// The hex representation of the unique ID for this virtual disk.
	Uuid string `xml:"uuid" json:"uuid"`
}

The parameters of `VirtualDiskManager.SetVirtualDiskUuid`.

type SetVirtualDiskUuidResponse

type SetVirtualDiskUuidResponse struct {
}

type SharedBusControllerNotSupported

type SharedBusControllerNotSupported struct {
	DeviceNotSupported
}

The virtual machine has one or more SCSI controllers that are engaged in bus sharing.

This is an error when migrating a powered-on virtual machine, and can be returned as a subfault of DisallowedMigrationDeviceAttached.

type SharedBusControllerNotSupportedFault

type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported

type SharesInfo

type SharesInfo struct {
	DynamicData

	// The number of shares allocated.
	//
	// Used to determine resource allocation in case of
	// resource contention. This value is only set if level is set to custom. If level is
	// not set to custom, this value is ignored. Therefore, only shares with custom
	// values can be compared.
	//
	// There is no unit for this value. It is a relative measure based on the settings
	// for other resource pools.
	Shares int32 `xml:"shares" json:"shares"`
	// The allocation level.
	//
	// The level is a simplified view of shares.
	// Levels map to a pre-determined set of numeric values for shares.
	// If the shares value does not map to a predefined size, then
	// the level is set as custom.
	Level SharesLevel `xml:"level" json:"level"`
}

Specification of shares.

Shares are used to determine relative allocation between resource consumers. In general, a consumer with more shares gets proportionally more of the resource, subject to certain other constraints.

type SharesLevel

type SharesLevel string

Simplified shares notation.

These designations have different meanings for different resources.

type SharesOption

type SharesOption struct {
	DynamicData

	// Value range which can be used for share definition
	// in `SharesInfo.shares`
	SharesOption IntOption `xml:"sharesOption" json:"sharesOption"`
	// Default value for `SharesInfo.level`
	DefaultLevel SharesLevel `xml:"defaultLevel" json:"defaultLevel"`
}

Specification of shares.

Object of this class specifies value ranges for object of instance `SharesInfo`

type ShrinkDiskFault

type ShrinkDiskFault struct {
	VimFault

	// Disk Id of the virtual disk that caused the fault
	DiskId int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
}

This exception is thrown when VirtualMachine.shrinkDisk encounters an error

type ShrinkDiskFaultFault

type ShrinkDiskFaultFault ShrinkDiskFault

type ShrinkVirtualDiskRequestType

type ShrinkVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk that should be shrink.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
	// If true or omitted, performs shrink in copy-shrink mode, otherwise
	// shrink in in-place mode.
	Copy *bool `xml:"copy" json:"copy,omitempty"`
}

The parameters of `VirtualDiskManager.ShrinkVirtualDisk_Task`.

type ShrinkVirtualDisk_Task

type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType

type ShrinkVirtualDisk_TaskResponse

type ShrinkVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ShutdownGuest

type ShutdownGuest ShutdownGuestRequestType

type ShutdownGuestRequestType

type ShutdownGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type ShutdownGuestResponse

type ShutdownGuestResponse struct {
}

type ShutdownHostRequestType

type ShutdownHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Flag to specify whether or not the host should be shut down
	// regardless of whether it is in maintenance mode.
	// If true, the host is shut down, even if there are
	// virtual machines running or other operations in progress.
	Force bool `xml:"force" json:"force"`
}

The parameters of `HostSystem.ShutdownHost_Task`.

type ShutdownHost_Task

type ShutdownHost_Task ShutdownHostRequestType

type ShutdownHost_TaskResponse

type ShutdownHost_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SimpleCommandEncoding

type SimpleCommandEncoding string

The encoding of the resultant return data.

This is a hint to the client side

type SingleIp

type SingleIp struct {
	IpAddress

	// The IP address.
	//
	// The value of this property should either be an
	// IPv4 address such as "192.168.0.1" or an IPv6 address such as
	// "fc00:192:168:0:6cd9:a132:e889:b612"
	Address string `xml:"address" json:"address"`
}

This class specifies a single IP address.

type SingleMac

type SingleMac struct {
	MacAddress

	// The MAC address.
	//
	// The value for this property should be in the form
	// like "00:50:56:bc:ef:ab".
	Address string `xml:"address" json:"address"`
}

This class defines a Single MAC address.

type SiteInfo added in v0.23.0

type SiteInfo struct {
	DynamicData
}

This data object type represents the external site-related capabilities available in the environment managed by this vCenter.

type SlpDiscoveryMethod

type SlpDiscoveryMethod string

The available SLP discovery methods.

type SnapshotCloneNotSupported

type SnapshotCloneNotSupported struct {
	SnapshotCopyNotSupported
}

An attempt is being made to copy a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported by the host under any circumstances.

This is a warning.

type SnapshotCloneNotSupportedFault

type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported

type SnapshotCopyNotSupported

type SnapshotCopyNotSupported struct {
	MigrationFault
}

An attempt is being made to move or copy a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported because of some aspect of the virtual machine configuration, virtual machine power state, or the requested disk placement.

This is an error for move operations (where the source is deleted after the copy) and a warning for clones (where the source is preserved).

func (*SnapshotCopyNotSupported) GetSnapshotCopyNotSupported

func (b *SnapshotCopyNotSupported) GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported

type SnapshotCopyNotSupportedFault

type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported

type SnapshotDisabled

type SnapshotDisabled struct {
	SnapshotFault
}

Fault thrown if a snapshot operation cannot be performed because snapshots are disabled on the virtual machine.

type SnapshotDisabledFault

type SnapshotDisabledFault SnapshotDisabled

type SnapshotFault

type SnapshotFault struct {
	VimFault
}

Base type for Snapshot-related errors.

func (*SnapshotFault) GetSnapshotFault

func (b *SnapshotFault) GetSnapshotFault() *SnapshotFault

type SnapshotFaultFault

type SnapshotFaultFault BaseSnapshotFault

type SnapshotIncompatibleDeviceInVm

type SnapshotIncompatibleDeviceInVm struct {
	SnapshotFault

	// A fault specifies the particular device issue.
	//
	// This is typically
	// a subclass of VirtualHardwareCompatibilityIssue, such as
	// RawDiskNotSupported, or SharedBusControllerNotSupported.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Thrown if a snapshot operation cannot be performed on account of an incompatible device.

This fault can be thrown for instance if a virtual machine uses a raw disk or a shared bus controller.

type SnapshotIncompatibleDeviceInVmFault

type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm

type SnapshotLocked

type SnapshotLocked struct {
	SnapshotFault
}

Fault thrown when an attempt is made to create or delete a snapshot on a virtual machine that has its snapshot locked.

type SnapshotLockedFault

type SnapshotLockedFault SnapshotLocked

type SnapshotMoveFromNonHomeNotSupported

type SnapshotMoveFromNonHomeNotSupported struct {
	SnapshotCopyNotSupported
}

An attempt is being made to move a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported by the host because the disk is currently located somewhere other than the virtual machine's home datastore.

type SnapshotMoveFromNonHomeNotSupportedFault

type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported

type SnapshotMoveNotSupported

type SnapshotMoveNotSupported struct {
	SnapshotCopyNotSupported
}

An attempt is being made to move a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported by the host under any circumstances.

type SnapshotMoveNotSupportedFault

type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported

type SnapshotMoveToNonHomeNotSupported

type SnapshotMoveToNonHomeNotSupported struct {
	SnapshotCopyNotSupported
}

An attempt is being made to move a virtual machine's disk that has associated snapshots, and preserving the snapshots is not supported by the host because the disk is being moved to some location other than the new home datastore for the virtual machine.

type SnapshotMoveToNonHomeNotSupportedFault

type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported

type SnapshotNoChange

type SnapshotNoChange struct {
	SnapshotFault
}

This fault is for a snapshot request on a virtual machine whose state has not changed since a previous successful snapshot.

For example, this occurs when you suspend the virtual machine, create a snapshot, and then request another snapshot of the suspended virtual machine.

type SnapshotNoChangeFault

type SnapshotNoChangeFault SnapshotNoChange

type SnapshotRevertIssue

type SnapshotRevertIssue struct {
	MigrationFault

	// The name of the problematic snapshot.
	SnapshotName string `xml:"snapshotName,omitempty" json:"snapshotName,omitempty"`
	// The problem(s) that would occur on reverting to the snapshot.
	//
	// This
	// is determined similarly to invoking validateMigration on a powered-off
	// virtual machine with the snapshot's state. However, not all errors
	// or warnings for virtual machine migration are guaranteed to be
	// detected for snapshots.
	Event []BaseEvent `xml:"event,omitempty,typeattr" json:"event,omitempty"`
	// True if any of the events above are error events.
	Errors bool `xml:"errors" json:"errors"`
}

If the virtual machine is migrated to the destination host, there may be a problem reverting to one of its snapshots.

This is a warning. If the snapshot name is not set and the event array is empty, then it the snapshot might possibly revert correctly. If the name is set and the event array is not empty then there surely will be a problem reverting to the snapshot.

type SnapshotRevertIssueFault

type SnapshotRevertIssueFault SnapshotRevertIssue

type SoftRuleVioCorrectionDisallowed

type SoftRuleVioCorrectionDisallowed struct {
	VmConfigFault

	// The vm for which the VM/Host soft affinity rules constraint violation
	// is not being corrected by DRS.
	VmName string `xml:"vmName" json:"vmName"`
}

The current DRS migration priority setting prevents generating a recommendation to correct the soft VM/Host affinity rules constraint violation for the VM so the violation will not be corrected.

type SoftRuleVioCorrectionDisallowedFault

type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed

type SoftRuleVioCorrectionImpact

type SoftRuleVioCorrectionImpact struct {
	VmConfigFault

	// The vm for which the VM/Host soft affinity rules constraint violation
	// is not being corrected by DRS.
	VmName string `xml:"vmName" json:"vmName"`
}

DRS has determined that correcting the soft VM/Host affinity rules constraint violation for the VM impacts respecting cluster constraints or performance goals so the violation will not be corrected.

type SoftRuleVioCorrectionImpactFault

type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact

type SoftwarePackage added in v0.12.0

type SoftwarePackage struct {
	DynamicData

	// Identifier that uniquely identifies the software package.
	Name string `xml:"name" json:"name"`
	// Version string uniquely identifies this package.
	Version string `xml:"version" json:"version"`
	// Type of vib installed.
	//
	// See `SoftwarePackageVibType_enum`.
	Type string `xml:"type" json:"type"`
	// The corporate entity that created this package.
	Vendor string `xml:"vendor" json:"vendor"`
	// See also `HostImageAcceptanceLevel_enum`.
	AcceptanceLevel string `xml:"acceptanceLevel" json:"acceptanceLevel"`
	// A brief description of the package contents.
	Summary string `xml:"summary" json:"summary"`
	// A full account of the package contents.
	Description string `xml:"description" json:"description"`
	// The list of SupportReference objects with in-depth support information.
	ReferenceURL []string `xml:"referenceURL,omitempty" json:"referenceURL,omitempty"`
	// The time when the package was installed.
	//
	// On Autodeploy stateless installs
	// there is no set value.
	CreationDate *time.Time `xml:"creationDate" json:"creationDate,omitempty"`
	// A list of VIBs that must be installed at the same time as this VIB.
	Depends []Relation `xml:"depends,omitempty" json:"depends,omitempty"`
	// A list of VIBs that cannot be installed at the same time as
	// this VIB for a given version.
	Conflicts []Relation `xml:"conflicts,omitempty" json:"conflicts,omitempty"`
	// A list of SoftwareConstraint objects that identify VIBs that
	// replace this VIB or make it obsolete.
	//
	// VIBs automatically replace VIBs with
	// the same name but lower versions.
	Replaces []Relation `xml:"replaces,omitempty" json:"replaces,omitempty"`
	// A list of virtual packages or interfaces this VIB provides.
	Provides []string `xml:"provides,omitempty" json:"provides,omitempty"`
	// True if hosts must be in maintenance mode for installation of this VIB.
	MaintenanceModeRequired *bool `xml:"maintenanceModeRequired" json:"maintenanceModeRequired,omitempty"`
	// A list of hardware platforms this package is supported on.
	HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty" json:"hardwarePlatformsRequired,omitempty"`
	// A set of optional attributes for this package.
	Capability SoftwarePackageCapability `xml:"capability" json:"capability"`
	// A list of string tags for this package defined by the vendor
	// or publisher.
	//
	// Tags can be used to identify characteristics of a package.
	Tag []string `xml:"tag,omitempty" json:"tag,omitempty"`
	// A list of string tags to indicate one or more of what is
	// contained: may be one of bootloader, upgrade, bootisobios, bootisoefi,
	// vgz, tgz, boot or other values.
	Payload []string `xml:"payload,omitempty" json:"payload,omitempty"`
}

Software Packages provide discrete version and packaging.

This data is reported by CLI:: esxcli software vib get -n ...

type SoftwarePackageCapability added in v0.12.0

type SoftwarePackageCapability struct {
	DynamicData

	// True if live installs of this VIB are supported.
	LiveInstallAllowed *bool `xml:"liveInstallAllowed" json:"liveInstallAllowed,omitempty"`
	// True if live removals of this VIB are supported.
	LiveRemoveAllowed *bool `xml:"liveRemoveAllowed" json:"liveRemoveAllowed,omitempty"`
	// True if the package supports host profiles or other technologies
	// that make it suitable for use in conjunction with vSphere Auto Deploy.
	StatelessReady *bool `xml:"statelessReady" json:"statelessReady,omitempty"`
	// True if this vib will supplant files from another package at runtime.
	//
	// When False this prevents two packages from installing the same file.
	Overlay *bool `xml:"overlay" json:"overlay,omitempty"`
}

type SoftwarePackageConstraint added in v0.12.0

type SoftwarePackageConstraint string

type SoftwarePackageVibType added in v0.12.0

type SoftwarePackageVibType string

type SolutionUserRequired added in v0.23.0

type SolutionUserRequired struct {
	SecurityError
}

Thrown when an operation is denied because the entity invoking it is not a Solution User.

type SolutionUserRequiredFault added in v0.23.0

type SolutionUserRequiredFault SolutionUserRequired

type SourceNodeSpec added in v0.12.0

type SourceNodeSpec struct {
	DynamicData

	// Credentials for the management vCenter Server that is managing
	// this node.
	ManagementVc ServiceLocator `xml:"managementVc" json:"managementVc"`
	// VirtualMachine reference for this vCenter Server.
	//
	// Refers instance of `VirtualMachine`.
	ActiveVc ManagedObjectReference `xml:"activeVc" json:"activeVc"`
}

The SourceNodeSpec class defines specification of the source node that is used to initiate the configuration or deployment for VCHA.

type SsdDiskNotAvailable

type SsdDiskNotAvailable struct {
	VimFault

	// The device path of the disk.
	//
	// See also `HostScsiDisk.devicePath`.
	DevicePath string `xml:"devicePath" json:"devicePath"`
}

A SsdDiskNotAvailable fault indicating that the specified SSD disk is not available.

The disk either has been used or not a SSD disk.

type SsdDiskNotAvailableFault

type SsdDiskNotAvailableFault SsdDiskNotAvailable

type StageHostPatchRequestType

type StageHostPatchRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of urls pointing to metadata.zip.
	MetaUrls []string `xml:"metaUrls,omitempty" json:"metaUrls,omitempty"`
	// a list of urls pointing to an "offline" bundle. It is not supported in 5.0 or later.
	BundleUrls []string `xml:"bundleUrls,omitempty" json:"bundleUrls,omitempty"`
	// The urls of update binary files to be staged.
	VibUrls []string                                   `xml:"vibUrls,omitempty" json:"vibUrls,omitempty"`
	Spec    *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.StageHostPatch_Task`.

type StageHostPatch_Task

type StageHostPatch_Task StageHostPatchRequestType

type StageHostPatch_TaskResponse

type StageHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StampAllRulesWithUuidRequestType

type StampAllRulesWithUuidRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type StampAllRulesWithUuid_Task

type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType

type StampAllRulesWithUuid_TaskResponse

type StampAllRulesWithUuid_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StandbyGuest

type StandbyGuest StandbyGuestRequestType

type StandbyGuestRequestType

type StandbyGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type StandbyGuestResponse

type StandbyGuestResponse struct {
}

type StartGuestNetworkRequestType added in v0.23.0

type StartGuestNetworkRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Virtual Machine managed object reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
}

The parameters of `VirtualMachineGuestCustomizationManager.StartGuestNetwork_Task`.

type StartGuestNetwork_Task added in v0.23.0

type StartGuestNetwork_Task StartGuestNetworkRequestType

type StartGuestNetwork_TaskResponse added in v0.23.0

type StartGuestNetwork_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StartProgramInGuest

type StartProgramInGuest StartProgramInGuestRequestType

type StartProgramInGuestRequestType

type StartProgramInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Execute
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// The arguments describing the program to be started.
	Spec BaseGuestProgramSpec `xml:"spec,typeattr" json:"spec"`
}

The parameters of `GuestProcessManager.StartProgramInGuest`.

type StartProgramInGuestResponse

type StartProgramInGuestResponse struct {
	Returnval int64 `xml:"returnval" json:"returnval"`
}

type StartRecordingRequestType

type StartRecordingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name for the snapshot associated with this recording.
	// The name need not be unique for this virtual machine.
	Name string `xml:"name" json:"name"`
	// A description for the snapshot associated with this
	// recording. If omitted, a default description may be provided.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

The parameters of `VirtualMachine.StartRecording_Task`.

type StartRecording_Task

type StartRecording_Task StartRecordingRequestType

type StartRecording_TaskResponse

type StartRecording_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StartReplayingRequestType

type StartReplayingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The snapshot from which to start the replay. This
	// snapshot must have been created by a record operation on the
	// virtual machine.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot" json:"replaySnapshot"`
}

The parameters of `VirtualMachine.StartReplaying_Task`.

type StartReplaying_Task

type StartReplaying_Task StartReplayingRequestType

type StartReplaying_TaskResponse

type StartReplaying_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StartService

type StartService StartServiceRequestType

type StartServiceRequestType

type StartServiceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Service identifier
	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
	Id string `xml:"id" json:"id"`
}

The parameters of `HostServiceSystem.StartService`.

type StartServiceResponse

type StartServiceResponse struct {
}

type StateAlarmExpression

type StateAlarmExpression struct {
	AlarmExpression

	// The operation to be tested on the target state.
	Operator StateAlarmOperator `xml:"operator" json:"operator"`
	// Name of the object type containing the property.
	Type string `xml:"type" json:"type"`
	// Path of the state property.
	//
	// The supported values:
	//     - for vim.VirtualMachine type:
	//     - runtime.powerState or summary.quickStats.guestHeartbeatStatus
	//     - for vim.HostSystem type: runtime.connectionState
	StatePath string `xml:"statePath" json:"statePath"`
	// Whether or not to test for a yellow condition.
	//
	// If this property is not set, do not calculate yellow status.
	Yellow string `xml:"yellow,omitempty" json:"yellow,omitempty"`
	// Whether or not to test for a red condition.
	//
	// If this property is not set, do not calculate red status.
	Red string `xml:"red,omitempty" json:"red,omitempty"`
}

An alarm expression that uses the running state of either a virtual machine or a host as the condition that triggers the alarm.

Base type.

There are two alarm operands: yellow and red. At least one of them must be set. The value of the alarm expression is determined as follows:

  • If the red state is set but the yellow state is not: the expression is red when the state operand matches (isEqual operator) or does not match (isUnequal operator) the state of the managed entity. The expression is green otherwise.
  • If yellow is set but red is not: the expression is yellow when the state operand matches (isEqual) or does not match (isUnequal) the state of the managed entity. The expression is green otherwise.
  • If both yellow and red are set, the value of the expression is red when the red state operand matches (isEqual) or does not match (isUnequal) the state of the managed entity. Otherwise, the expression is yellow when the yellow state operand matches (isEqual) or does not match (isUnequal) the state of the managed entity. Otherwise, the expression is green.

type StateAlarmOperator

type StateAlarmOperator string

The operation on the target state.

type StaticRouteProfile

type StaticRouteProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key,omitempty" json:"key,omitempty" vim:"5.1"`
}

The `StaticRouteProfile` data object represents a single static IP route.

The `ApplyProfile.policy` property contains data values for static route configuration.

type StopRecordingRequestType

type StopRecordingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type StopRecording_Task

type StopRecording_Task StopRecordingRequestType

type StopRecording_TaskResponse

type StopRecording_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StopReplayingRequestType

type StopReplayingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type StopReplaying_Task

type StopReplaying_Task StopReplayingRequestType

type StopReplaying_TaskResponse

type StopReplaying_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type StopService

type StopService StopServiceRequestType

type StopServiceRequestType

type StopServiceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Service identifier
	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
	Id string `xml:"id" json:"id"`
}

The parameters of `HostServiceSystem.StopService`.

type StopServiceResponse

type StopServiceResponse struct {
}

type StorageDrsAutomationConfig

type StorageDrsAutomationConfig struct {
	DynamicData

	// Specifies the behavior of Storage DRS when it generates
	// recommendations for correcting space load imbalance in a
	// datastore cluster.
	//
	// See `StorageDrsPodConfigInfo`. If specified, this option
	// overrides the datastore cluster level automation behavior defined in the
	// `StorageDrsPodConfigInfo`.
	SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty" json:"spaceLoadBalanceAutomationMode,omitempty"`
	// Specifies the behavior of Storage DRS when it generates
	// recommendations for correcting I/O load imbalance in a datastore
	// cluster.
	//
	// See `StorageDrsPodConfigInfo`. If specified, this option
	// overrides the datastore cluster level automation behavior defined in the
	// `StorageDrsPodConfigInfo`.
	IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty" json:"ioLoadBalanceAutomationMode,omitempty"`
	// Specifies the behavior of Storage DRS when it generates
	// recommendations for correcting affinity rule violations in a
	// datastore cluster.
	//
	// See `StorageDrsPodConfigInfoBehavior_enum`. If
	// specified, this option overrides the datastore cluster level
	// automation behavior defined in the `StorageDrsPodConfigInfo` for
	// recommendations aimed at fixing rule violations.
	RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty" json:"ruleEnforcementAutomationMode,omitempty"`
	// Specifies the behavior of Storage DRS when it generates
	// recommendations for correcting storage and Vm policy violations
	// in a datastore cluster.
	//
	// See `StorageDrsPodConfigInfoBehavior_enum`. If
	// specified, this option overrides the datastore cluster level
	// automation behavior defined in the `StorageDrsPodConfigInfo` for
	// recommendations aimed at fixing storage policy violations.
	PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty" json:"policyEnforcementAutomationMode,omitempty"`
	// Specifies the behavior of Storage DRS when it generates
	// recommendations for datastore evacuations in a datastore
	// cluster.
	//
	// See `StorageDrsPodConfigInfoBehavior_enum`. If specified, this
	// option overrides the datastore cluster level automation behavior
	// defined in the `StorageDrsPodConfigInfo` for recommendations aimed at
	// evacuating Vms from a datastore.
	VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty" json:"vmEvacuationAutomationMode,omitempty"`
}

Storage DRS fine grain automation controls

type StorageDrsCannotMoveDiskInMultiWriterMode

type StorageDrsCannotMoveDiskInMultiWriterMode struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate one or more virtual disks of a VM because the disk has multi-writer mode enabled.

type StorageDrsCannotMoveDiskInMultiWriterModeFault

type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode

type StorageDrsCannotMoveFTVm

type StorageDrsCannotMoveFTVm struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate Fault Tolerant VMs across datastores.

type StorageDrsCannotMoveFTVmFault

type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm

type StorageDrsCannotMoveIndependentDisk

type StorageDrsCannotMoveIndependentDisk struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate an independent disk.

type StorageDrsCannotMoveIndependentDiskFault

type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk

type StorageDrsCannotMoveManuallyPlacedSwapFile

type StorageDrsCannotMoveManuallyPlacedSwapFile struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate VM because it has a manually selected fixed location for its swap file.

type StorageDrsCannotMoveManuallyPlacedSwapFileFault

type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile

type StorageDrsCannotMoveManuallyPlacedVm

type StorageDrsCannotMoveManuallyPlacedVm struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate a Vm that is placed by user to a specific datastore.

type StorageDrsCannotMoveManuallyPlacedVmFault

type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm

type StorageDrsCannotMoveSharedDisk

type StorageDrsCannotMoveSharedDisk struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate a shared virtual disk that is attached to more than one Vm.

type StorageDrsCannotMoveSharedDiskFault

type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk

type StorageDrsCannotMoveTemplate

type StorageDrsCannotMoveTemplate struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate template VMs across datastores.

type StorageDrsCannotMoveTemplateFault

type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate

type StorageDrsCannotMoveVmInUserFolder

type StorageDrsCannotMoveVmInUserFolder struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate VMs placed in user-specified folders.

type StorageDrsCannotMoveVmInUserFolderFault

type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder

type StorageDrsCannotMoveVmWithMountedCDROM

type StorageDrsCannotMoveVmWithMountedCDROM struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate VMs that have a CD-ROM device mounted.

type StorageDrsCannotMoveVmWithMountedCDROMFault

type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM

type StorageDrsCannotMoveVmWithNoFilesInLayout

type StorageDrsCannotMoveVmWithNoFilesInLayout struct {
	VimFault
}

This fault is thrown because Storage DRS cannot generate recommendations to relocate VMs that have no files in its file layout.

type StorageDrsCannotMoveVmWithNoFilesInLayoutFault

type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout

type StorageDrsConfigInfo

type StorageDrsConfigInfo struct {
	DynamicData

	// Pod-wide configuration of the storage DRS service.
	PodConfig StorageDrsPodConfigInfo `xml:"podConfig" json:"podConfig"`
	// List of virtual machine configurations for the storage DRS
	// service.
	//
	// Each entry applies to all the virtual disks of the virtual machine
	// on this pod.
	//
	// If a virtual machine is not specified in this array, the service uses
	// the default settings for that virtual machine.
	VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
}

The `StorageDrsConfigInfo` data object describes storage DRS configuration for a pod `StoragePod`.

type StorageDrsConfigSpec

type StorageDrsConfigSpec struct {
	DynamicData

	// Changes to the configuration of the storage DRS service.
	PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty" json:"podConfigSpec,omitempty"`
	// Changes to the per-virtual-machine storage DRS settings.
	VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty" json:"vmConfigSpec,omitempty"`
}

The `StorageDrsConfigSpec` data object provides a set of update specifications for storage DRS configuration.

To support incremental changes, these properties are all optional.

type StorageDrsDatacentersCannotShareDatastore

type StorageDrsDatacentersCannotShareDatastore struct {
	VimFault
}

This fault is thrown when one datastore using Storage DRS is added to two different datacenters.

type StorageDrsDatacentersCannotShareDatastoreFault

type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore

type StorageDrsDisabledOnVm

type StorageDrsDisabledOnVm struct {
	VimFault
}

This fault is thrown when Storage DRS cannot move disks of a virtual machine because Storage DRS is disabled on it.

type StorageDrsDisabledOnVmFault

type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm

type StorageDrsHbrDiskNotMovable

type StorageDrsHbrDiskNotMovable struct {
	VimFault

	// Comma-separated list of disk IDs that are not movable and failed
	// Storage DRS recommendation action.
	NonMovableDiskIds string `xml:"nonMovableDiskIds" json:"nonMovableDiskIds"`
}

This fault is thrown when HMS service cannot move certain secondary replica disks per Storage DRS move recommendations

type StorageDrsHbrDiskNotMovableFault

type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable

type StorageDrsHmsMoveInProgress

type StorageDrsHmsMoveInProgress struct {
	VimFault
}

This fault is thrown HMS service is in the process of moving a subset of disks for which Storage DRS recommendation is generated.

type StorageDrsHmsMoveInProgressFault

type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress

type StorageDrsHmsUnreachable

type StorageDrsHmsUnreachable struct {
	VimFault
}

This fault is thrown when Storage DRS cannot connect to HMS service or HMS APIs invoked by Storage DRS error out due to connection issues.

type StorageDrsHmsUnreachableFault

type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable

type StorageDrsIoLoadBalanceConfig

type StorageDrsIoLoadBalanceConfig struct {
	DynamicData

	// Storage DRS makes storage migration recommendations if total
	// IOPs reservation of all VMs running on a datastore is higher than
	// the specified threshold.
	//
	// Storage DRS recommends migration out of
	// all such datastores, if more than one datastore exceed their reserved
	// IOPs threshold.
	//
	// The actual Iops used to determine threshold are computed from Storage
	// DRS estimation of IOPs capacity of a datastore. The absolute value
	// may change over time, according to storage response to workloads.
	//
	// The valid values are in the range of 30 (i.e., 30%) to 100 (i.e., 100%).
	// If not specified, the default value is 60%.
	ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty" json:"reservablePercentThreshold,omitempty" vim:"6.0"`
	// Storage DRS makes storage migration recommendations if total
	// IOPs reservation of all VMs running on a datastore is higher than
	// the specified threshold.
	//
	// Storage DRS recommends migration out of
	// all such datastores, if more than one datastore exceed their reserved
	// IOPs threshold.
	//
	// This is an advanced option, and should only be used if Storage DRS
	// estimated IOPs capacity is incorrect for datastores. The value
	// should be based on conservative estimate of storage performance,
	// and ideally should be set to about 50-60% of worse case peak
	// performance of backing LUN.
	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
	// Determines which reservation threshold specification to use.
	//
	// See `StorageDrsPodConfigInfoBehavior_enum`. If unspecified, the
	// mode is assumed automatic by default. Storage DRS uses
	// percentage value in that case.
	// If mode is specified, but corresponding reservationThreshold
	// value is absent, option specific defaults are used.
	ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty" json:"reservableThresholdMode,omitempty" vim:"6.0"`
	// Storage DRS makes storage migration recommendations if
	// I/O latency on one (or more) of the datastores is higher than
	// the specified threshold.
	//
	// Unit: millisecond.
	// The valid values are in the range of 5 to 100. If not specified,
	// the default value is 15.
	IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty" json:"ioLatencyThreshold,omitempty"`
	// Storage DRS makes storage migration recommendations if
	// I/O load imbalance level is higher than the specified threshold.
	//
	// Unit: a number.
	// The valid values are in the range of 1 to 100. If not specified,
	// the default value is 5.
	IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty" json:"ioLoadImbalanceThreshold,omitempty"`
}

Storage DRS configuration for I/O load balancing.

type StorageDrsIolbDisabledInternally

type StorageDrsIolbDisabledInternally struct {
	VimFault
}

The fault occurs when Storage DRS disables IO Load balancing internally even though it is enabled by the user.

This can happen due to one of the following reasons: 1\. SIOC couldn't get enabled on at least one of the datastores 2\. The connectivity between hosts and datastores is not uniform for all datastores. 3\. Some statistics are not available to run IO load balancing

type StorageDrsIolbDisabledInternallyFault

type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally

type StorageDrsOptionSpec

type StorageDrsOptionSpec struct {
	ArrayUpdateSpec

	Option BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

An incremental update to the advance settings.

type StorageDrsPlacementRankVmSpec

type StorageDrsPlacementRankVmSpec struct {
	DynamicData

	// Individual VM placement specification for ranking clusters
	VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec" json:"vmPlacementSpec"`
	// Set of candidate clusters for the placement request
	//
	// Refers instances of `ClusterComputeResource`.
	VmClusters []ManagedObjectReference `xml:"vmClusters" json:"vmClusters"`
}

type StorageDrsPodConfigInfo

type StorageDrsPodConfigInfo struct {
	DynamicData

	// Flag indicating whether or not storage DRS is enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// Flag indicating whether or not storage DRS takes into account storage I/O
	// workload when making load balancing and initial placement recommendations.
	IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled"`
	// Specifies the pod-wide default storage DRS behavior for virtual machines.
	//
	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
	// You can override the default behavior for a virtual machine
	// by using the `StorageDrsVmConfigInfo` object.
	DefaultVmBehavior string `xml:"defaultVmBehavior" json:"defaultVmBehavior"`
	// Specify the interval that storage DRS runs to load balance among datastores
	// within a storage pod.
	//
	// Unit: minute.
	// The valid values are from 60 (1 hour) to 43200 (30 days).
	// If not specified, the default value is 480 (8 hours).
	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
	// Specifies whether or not each virtual machine in this pod should have its virtual
	// disks on the same datastore by default.
	//
	// If set to true, virtual machines will have
	// all their virtual disks on the same datastore. If set to false, the virtual disks
	// of a virtual machine may or may not be placed on the same datastore.
	// If not set, the default value is true.
	// You can override the default behavior for a virtual machine
	// by using the `StorageDrsVmConfigInfo` object.
	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
	// The configuration settings for load balancing storage space.
	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
	// The configuration settings for load balancing I/O workload.
	//
	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
	// Configuration settings for fine-grain automation overrides on
	// the cluster level setting.
	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty" vim:"6.0"`
	// Pod-wide rules.
	Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr" json:"rule,omitempty"`
	// Advanced settings.
	Option []BaseOptionValue `xml:"option,omitempty,typeattr" json:"option,omitempty"`
}

The `StorageDrsPodConfigInfo` data object contains pod-wide configuration information for the storage DRS service.

type StorageDrsPodConfigInfoBehavior

type StorageDrsPodConfigInfoBehavior string

type StorageDrsPodConfigSpec

type StorageDrsPodConfigSpec struct {
	DynamicData

	// Flag indicating whether or not storage DRS is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Flag indicating whether or not storage DRS takes into account storage I/O
	// workload when making load balancing and initial placement recommendations.
	IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled" json:"ioLoadBalanceEnabled,omitempty"`
	// Specifies the pod-wide default storage DRS behavior for virtual machines.
	//
	// For currently supported storage DRS behavior, see `StorageDrsPodConfigInfoBehavior_enum`.
	// You can override the default behavior for a virtual machine
	// by using the `StorageDrsVmConfigInfo` object.
	DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty" json:"defaultVmBehavior,omitempty"`
	// Specify the interval that storage DRS runs to load balance among datastores
	// within a storage pod.
	LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty" json:"loadBalanceInterval,omitempty"`
	// Specifies whether or not each virtual machine in this pod should have its virtual
	// disks on the same datastore by default.
	DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity" json:"defaultIntraVmAffinity,omitempty"`
	// The configuration settings for load balancing storage space.
	SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty" json:"spaceLoadBalanceConfig,omitempty"`
	// The configuration settings for load balancing I/O workload.
	//
	// This takes effect only if `StorageDrsPodConfigInfo.ioLoadBalanceEnabled` is <code>true</code>.
	IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty" json:"ioLoadBalanceConfig,omitempty"`
	// Configuration settings for fine-grain automation overrides on
	// the cluster level setting.
	AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty" json:"automationOverrides,omitempty" vim:"6.0"`
	// Changes to the set of rules.
	Rule []ClusterRuleSpec `xml:"rule,omitempty" json:"rule,omitempty"`
	// Changes to advance settings.
	Option []StorageDrsOptionSpec `xml:"option,omitempty" json:"option,omitempty"`
}

The `StorageDrsPodConfigSpec` data object provides a set of update specifications for pod-wide storage DRS configuration.

To support incremental changes, these properties are all optional.

type StorageDrsPodSelectionSpec

type StorageDrsPodSelectionSpec struct {
	DynamicData

	// An optional list that allows specifying the storage pod location
	// for each virtual disk and the VM configurations and overrides to be
	// used during placement.
	InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty" json:"initialVmConfig,omitempty"`
	// The storage pod where the virtual machine should be located.
	//
	// Refers instance of `StoragePod`.
	StoragePod *ManagedObjectReference `xml:"storagePod,omitempty" json:"storagePod,omitempty"`
}

Specification for moving or copying a virtual machine to a different Storage Pod.

type StorageDrsRelocateDisabled

type StorageDrsRelocateDisabled struct {
	VimFault
}

This fault is thrown when Storage DRS cannot move disks of a virtual machine because the relocate method of the virtual machine is disabled.

type StorageDrsRelocateDisabledFault

type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled

type StorageDrsSpaceLoadBalanceConfig

type StorageDrsSpaceLoadBalanceConfig struct {
	DynamicData

	SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty" json:"spaceThresholdMode,omitempty"`
	// Storage DRS makes storage migration recommendations if
	// space utilization on one (or more) of the datastores is higher than
	// the specified threshold.
	//
	// The valid values are in the range of 50 (i.e., 50%) to 100 (i.e., 100%).
	// If not specified, the default value is 80%.
	SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty" json:"spaceUtilizationThreshold,omitempty"`
	// Storage DRS makes storage migration recommendations if
	// free space on one (or more) of the datastores falls below
	// the specified threshold.
	//
	// The unit is in gigabytes and the minimum value is 1GB.
	// The maximum value is limited by the capacity of the smallest
	// datastore in a datastore cluster.
	// If not specified, the default value is 50GB.
	FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty" json:"freeSpaceThresholdGB,omitempty" vim:"6.0"`
	// Storage DRS considers making storage migration recommendations if
	// the difference in space utilization between the source and destination datastores
	// is higher than the specified threshold.
	//
	// The valid values are in the range of 1 (i.e., 1%) to 50 (i.e., 50%).
	// If not specified, the default value is 5%.
	MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty" json:"minSpaceUtilizationDifference,omitempty"`
}

Storage DRS configuration for space load balancing.

type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode

type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string

type StorageDrsStaleHmsCollection

type StorageDrsStaleHmsCollection struct {
	VimFault
}

This fault is thrown when Storage DRS action for relocating HMS collection of replica disks does not correspond to current HMS inventory configuration and hence, is rejected by HMS service.

type StorageDrsStaleHmsCollectionFault

type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection

type StorageDrsUnableToMoveFiles

type StorageDrsUnableToMoveFiles struct {
	VimFault
}

This fault is thrown when Storage DRS cannot generate recommendations to move VM files due to pre-existing cross datastore disk backings.

type StorageDrsUnableToMoveFilesFault

type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles

type StorageDrsVmConfigInfo

type StorageDrsVmConfigInfo struct {
	DynamicData

	// Reference to the virtual machine.
	//
	// Can be NULL during initial placement.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// Flag to indicate whether or not VirtualCenter is allowed to perform any
	// storage migration or initial placement recommendations for this virtual
	// machine on the pod `StoragePod`.
	//
	// If this flag is false, the virtual machine is effectively excluded from
	// storage DRS.
	//
	// If no individual DRS specification exists for a virtual machine,
	// this property defaults to true.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Specifies the particular storage DRS behavior for this virtual machine.
	//
	// For supported values, see `StorageDrsPodConfigInfoBehavior_enum`.
	Behavior string `xml:"behavior,omitempty" json:"behavior,omitempty"`
	// Specifies whether or not to have the affinity rule for the virtual disks
	// of this virtual machine.
	//
	// If not set, the default value is derived from
	// the pod-wide default `StorageDrsPodConfigInfo.defaultIntraVmAffinity`.
	IntraVmAffinity *bool `xml:"intraVmAffinity" json:"intraVmAffinity,omitempty"`
	// Deprecated as of vSphere API 7.0.
	//
	// Specifies the disks for this virtual machine that should be placed
	// on different datastores.
	//
	// A VM cannot have both an affinity and an
	// anti-affinity rule at the same time. Virtual machine disks that are
	// not in this rule are unconstrained and can be placed either on the
	// same datastore or on a different datastore as other disks from this
	// virtual machine.
	IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty" json:"intraVmAntiAffinity,omitempty"`
	// List of the virtual disk rules that can be overridden/created.
	VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty" json:"virtualDiskRules,omitempty" vim:"6.7"`
}

Storage DRS configuration for a single virtual machine.

This makes it possible to override the default behavior for an individual virtual machine.

type StorageDrsVmConfigSpec

type StorageDrsVmConfigSpec struct {
	ArrayUpdateSpec

	Info *StorageDrsVmConfigInfo `xml:"info,omitempty" json:"info,omitempty"`
}

Updates the per-virtual-machine storage DRS configuration.

type StorageIOAllocationInfo

type StorageIOAllocationInfo struct {
	DynamicData

	// The utilization of a virtual machine will not exceed this limit, even
	// if there are available resources.
	//
	// This is typically used to ensure a consistent
	// performance of virtual machines independent of available resources.
	// If set to -1, then there is no fixed limit on resource usage (only
	// bounded by available resources and shares). The unit is number of
	// I/O per second.
	// While setting the limit for storage I/O resource, if the property is unset,
	// it is treated as no change and the property is not updated. While reading
	// back the limit information of storage I/O resource, if the property is unset,
	// a default value of -1 will be returned, which indicates that there is no
	// limit on resource usage.
	Limit *int64 `xml:"limit" json:"limit,omitempty"`
	// Shares are used in case of resource contention.
	//
	// The value should be within a range of 200 to 4000.
	// While setting shares for storage I/O resource, if the property is unset,
	// it is treated as no change and the property is not updated. While reading
	// back the shares information of storage I/O resource, if the property is unset,
	// a default value of `SharesInfo.level` = normal,
	// `SharesInfo.shares` = 1000 will be returned.
	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
	// Reservation control is used to provide guaranteed allocation in terms
	// of IOPS.
	//
	// Large IO sizes are considered as multiple IOs using a chunk
	// size of 32 KB as default. This control is initially supported only
	// at host level for local datastores. It future, it may get supported
	// on shared storage based on integration with Storage IO Control.
	// Also right now we don't do any admission control based on IO
	// reservation values.
	Reservation *int32 `xml:"reservation" json:"reservation,omitempty" vim:"5.5"`
}

The IOAllocationInfo specifies the shares, limit and reservation for storage I/O resource.

The storage I/O resource is allocated to virtual machines based on their shares, limit and reservation. The reservation is currently exposed only at the host level for local and shared datastores. We do not support storage I/O resource management on resource pools.

Each virtual machine has one IOAllocationInfo object per virtual disk. For example, we can specify that a virtual machine has 500 shares on the first virtual disk, 1000 shares on the second virtual disk, etc.

type StorageIOAllocationOption

type StorageIOAllocationOption struct {
	DynamicData

	// limitOptions defines a range of values allowed to be used for
	// storage IO limit `StorageIOAllocationInfo.limit`.
	LimitOption LongOption `xml:"limitOption" json:"limitOption"`
	// sharesOption defines a range of values allowed to be used to
	// specify allocated io shares `StorageIOAllocationInfo.shares`.
	SharesOption SharesOption `xml:"sharesOption" json:"sharesOption"`
}

The IOAllocationOption specifies value ranges that can be used to initialize `StorageIOAllocationInfo` object.

type StorageIORMConfigOption

type StorageIORMConfigOption struct {
	DynamicData

	// enabledOption provides default state value for
	// `StorageIORMConfigSpec.enabled`
	EnabledOption BoolOption `xml:"enabledOption" json:"enabledOption"`
	// congestionThresholdOption defines value range which can be used for
	// `StorageIORMConfigSpec.congestionThreshold`
	CongestionThresholdOption IntOption `xml:"congestionThresholdOption" json:"congestionThresholdOption"`
	// statsCollectionEnabledOption provides default value for
	// `StorageIORMConfigSpec.statsCollectionEnabled`
	StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty" json:"statsCollectionEnabledOption,omitempty" vim:"5.0"`
	// reservationEnabledOption provides default value for
	// `StorageIORMConfigSpec.reservationEnabled`
	ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty" json:"reservationEnabledOption,omitempty" vim:"6.0"`
}

Configuration setting ranges for `StorageIORMConfigSpec` object.

type StorageIORMConfigSpec

type StorageIORMConfigSpec struct {
	DynamicData

	// Flag indicating whether or not the service is enabled.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Mode of congestion threshold specification
	// For more information, see
	// `StorageIORMThresholdMode_enum`
	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty" vim:"5.1"`
	// The latency beyond which the storage array is considered congested.
	//
	// For more information, see
	// `StorageIORMInfo.congestionThreshold`
	CongestionThreshold int32 `xml:"congestionThreshold,omitempty" json:"congestionThreshold,omitempty"`
	// The percentage of peak throughput to be used for setting threshold latency
	// of a datastore.
	//
	// Valid values are between 50 to 100.
	//
	// For more information, see
	// `StorageIORMInfo.congestionThreshold`
	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty" vim:"5.1"`
	// Flag indicating whether the service is enabled in stats collection mode.
	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty" vim:"5.0"`
	// Flag indicating whether IO reservations support is enabled.
	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty" vim:"6.0"`
	// Flag indicating whether stats aggregation is disabled.
	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty" vim:"5.0"`
	// Storage DRS makes storage migration recommendations
	// if total IOPs reservation for all VMs running on the
	// datastore is higher than specified threshold value.
	//
	// This value (if present) overrides
	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
}

Configuration settings used for creating or reconfiguring storage I/O resource management.

All fields are defined as optional. If a field is unset, the property is not changed.

type StorageIORMInfo

type StorageIORMInfo struct {
	DynamicData

	// Flag indicating whether or not the service is enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// Mode of congestion threshold specification
	// For more information, see
	// `StorageIORMThresholdMode_enum`
	CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty" json:"congestionThresholdMode,omitempty" vim:"5.1"`
	// The latency beyond which the storage array is considered congested.
	//
	// If storage I/O resource management is enabled on a datastore,
	// the algorithm tries to maintain the latency to be below or
	// close to this value. The unit is millisecond. The range of
	// this value is between 5 to 100 milliseconds.
	CongestionThreshold int32 `xml:"congestionThreshold" json:"congestionThreshold"`
	// The percentage of peak throughput to be used for setting congestion threshold
	// of a datastore.
	//
	// Valid values are between 50 to 100. Default value is 90%
	//
	// For more information, see
	// `StorageIORMInfo.congestionThreshold`
	PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty" json:"percentOfPeakThroughput,omitempty" vim:"5.1"`
	// Deprecated as of vSphere API 6.5, use `StorageIORMInfo.enabled` instead.
	//
	// Flag indicating whether service is running in stats collection mode.
	StatsCollectionEnabled *bool `xml:"statsCollectionEnabled" json:"statsCollectionEnabled,omitempty" vim:"5.0"`
	// Flag indicating whether IO reservations support is enabled.
	ReservationEnabled *bool `xml:"reservationEnabled" json:"reservationEnabled,omitempty" vim:"6.0"`
	// Flag indicating whether stats aggregation is disabled.
	StatsAggregationDisabled *bool `xml:"statsAggregationDisabled" json:"statsAggregationDisabled,omitempty" vim:"5.0"`
	// Storage DRS makes storage migration recommendations
	// if total IOPs reservation for all VMs running on the
	// datastore is higher than specified threshold value.
	//
	// This value (if present) overrides
	ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty" json:"reservableIopsThreshold,omitempty" vim:"6.0"`
}

Configuration of storage I/O resource management.

type StorageIORMThresholdMode

type StorageIORMThresholdMode string

User specification of congestion threshold mode on a given datastore

For more information, see

type StorageMigrationAction

type StorageMigrationAction struct {
	ClusterAction

	// Virtual machine reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Specification for moving a virtual machine or a set of virtual disks
	// to a different datastore.
	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
	// Source datastore.
	//
	// Refers instance of `Datastore`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// Destination datastore.
	//
	// Refers instance of `Datastore`.
	Destination ManagedObjectReference `xml:"destination" json:"destination"`
	// The amount of data to be transferred.
	//
	// Unit: KB.
	SizeTransferred int64 `xml:"sizeTransferred" json:"sizeTransferred"`
	// Space utilization on the source datastore before storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty" json:"spaceUtilSrcBefore,omitempty"`
	// Space utilization on the destination datastore before storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty" json:"spaceUtilDstBefore,omitempty"`
	// Expected space utilization on the source datastore after storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty" json:"spaceUtilSrcAfter,omitempty"`
	// Expected space utilization on the destination datastore after storage migration.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty" json:"spaceUtilDstAfter,omitempty"`
	// I/O latency on the source datastore before storage migration.
	//
	// Unit: millisecond.
	// If not set, the value is not available.
	IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty" json:"ioLatencySrcBefore,omitempty"`
	// I/O latency on the destination datastore before storage migration.
	//
	// Unit: millisecond.
	// If not set, the value is not available.
	IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty" json:"ioLatencyDstBefore,omitempty"`
}

Describes a single storage migration action.

The storage migration action applies either to a virtual machine or a set of virtual disks.

type StoragePerformanceSummary

type StoragePerformanceSummary struct {
	DynamicData

	// Time period over which statistics are aggregated
	// The reported time unit is in seconds
	Interval int32 `xml:"interval" json:"interval"`
	// Metric percentile specification.
	//
	// A percentile is a value
	// between 1 and 100. The metric value reported in the
	// aggregated statistics corresponds with the percentile values
	// in this field. For example, if the value of percentile\[0\] is
	// P, and the value of the datastoreReadLatency\[0\] is L, then
	// P% of all the read IOs performed during observation interval
	// is less than L milliseconds.
	Percentile []int32 `xml:"percentile" json:"percentile"`
	// Aggregated datastore latency in milliseconds for read operations
	DatastoreReadLatency []float64 `xml:"datastoreReadLatency" json:"datastoreReadLatency"`
	// Aggregated datastore latency in milliseconds for write operations
	DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency" json:"datastoreWriteLatency"`
	// Aggregated datastore latency as observed by Vms using the datastore
	// The reported latency is in milliseconds.
	DatastoreVmLatency []float64 `xml:"datastoreVmLatency" json:"datastoreVmLatency"`
	// Aggregated datastore Read IO rate (Reads/second)
	DatastoreReadIops []float64 `xml:"datastoreReadIops" json:"datastoreReadIops"`
	// Aggregated datastore Write IO rate (Writes/second)
	DatastoreWriteIops []float64 `xml:"datastoreWriteIops" json:"datastoreWriteIops"`
	// Cumulative SIOC activity to satisfy SIOC latency threshold
	// setting.
	//
	// This metric indicates the total time that SIOC is
	// actively throttling IO requests. The SIOC throttling
	// activity occurs whenever the datastore latency exceeds the
	// SIOC latency threshold. If SIOC is not enabled on the
	// datastore, the metric indicates the total time that SIOC
	// would have been active. The unit of reporting is in
	// milliseconds.
	SiocActivityDuration int32 `xml:"siocActivityDuration" json:"siocActivityDuration"`
}

Summary statistics for datastore performance The statistics are reported in aggregated quantiles over a time period

type StoragePlacementAction

type StoragePlacementAction struct {
	ClusterAction

	// Virtual machine reference.
	//
	// It is possible that the VM has not been created, in which case,
	// this property is left unset.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// Specification for placing a virtual machine or a set of virtual disks
	// to a datastore.
	RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec" json:"relocateSpec"`
	// Target datastore.
	//
	// Refers instance of `Datastore`.
	Destination ManagedObjectReference `xml:"destination" json:"destination"`
	// Current space utilization on the target datastore.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty" json:"spaceUtilBefore,omitempty"`
	// Current space demand on the target datastore.
	//
	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
	// value include the space demanded by thin provisioned VMs. Hence, it may
	// be higher than 100%. If not set, the value is not available.
	SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty" json:"spaceDemandBefore,omitempty" vim:"6.0"`
	// Space utilization on the target datastore after placing the virtual disk.
	//
	// Unit: percentage. For example, if set to 70.0, space utilization is 70%.
	// If not set, the value is not available.
	SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty" json:"spaceUtilAfter,omitempty"`
	// Space demand on the target datastore after placing the virtual disk.
	//
	// Unit: percentage. For example, if set to 70.0, space demand is 70%. This
	// value include the space demanded by thin provisioned VMs. Hence, it may
	// be higher than 100%. If not set, the value is not available.
	SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty" json:"spaceDemandAfter,omitempty" vim:"6.0"`
	// Current I/O latency on the target datastore.
	//
	// Unit: millisecond.
	// If not set, the value is not available.
	IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty" json:"ioLatencyBefore,omitempty"`
}

Describes a single storage initial placement action for placing a virtual machine or a set of virtual disks on a datastore.

type StoragePlacementResult

type StoragePlacementResult struct {
	DynamicData

	// The list of recommendations that the client needs to approve manually.
	Recommendations []ClusterRecommendation `xml:"recommendations,omitempty" json:"recommendations,omitempty"`
	// Information about any fault in case Storage DRS failed to make a recommendation.
	DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty" json:"drsFault,omitempty"`
	// The ID of the task, which monitors the storage placement or datastore entering
	// maintennace mode operation.
	//
	// Refers instance of `Task`.
	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
}

Both `StorageResourceManager.RecommendDatastores` and `Datastore.DatastoreEnterMaintenanceMode` methods may invoke Storage DRS for recommendations on placing or evacuating virtual disks.

StoragePlacementResult is the class of the result returned by the methods.

type StoragePlacementSpec

type StoragePlacementSpec struct {
	DynamicData

	// The storage placement type.
	//
	// The set of possible values is described in
	// `StoragePlacementSpecPlacementType_enum`
	Type string `xml:"type" json:"type"`
	// Priority of this placement operation.
	Priority VirtualMachineMovePriority `xml:"priority,omitempty" json:"priority,omitempty"`
	// The relevant virtual machine.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// Specification for moving a virtual machine or a set of virtual disks
	// to a different storage pod.
	PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec" json:"podSelectionSpec"`
	// Specification for a virtual machine cloning operation.
	CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty" json:"cloneSpec,omitempty"`
	// Name for cloned virtual machine.
	CloneName string `xml:"cloneName,omitempty" json:"cloneName,omitempty"`
	// Configuration for the virtual machine.
	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
	// Specification for relocating a virtual machine.
	RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty" json:"relocateSpec,omitempty"`
	// The resource pool to which this virtual machine should be attached.
	//
	// Refers instance of `ResourcePool`.
	ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty" json:"resourcePool,omitempty"`
	// The target host for the virtual machine.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The target virtual machine folder for the virtual machine.
	//
	// Note that this is a different folder than the pod(s) that the virtual
	// machine belongs to. The pod mapping represents the storage view of
	// the virtual machine, while the virtual machine folder mapping
	// represents an inventory view of the virtual machine.
	// For manual VM provisioning operations, this is specified implicitly
	// as the object that the `Folder.CreateVM_Task` method is invoked on.
	//
	// Refers instance of `Folder`.
	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty"`
	// Specification for whether to disable pre-requisite storage vmotions
	// for storage placements.
	//
	// If unset, default behavior is to allow such
	// prerequisite moves.
	DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves" json:"disallowPrerequisiteMoves,omitempty" vim:"5.1"`
	// Resource lease duration in seconds.
	//
	// If the duration is within bounds,
	// Storage DRS will hold onto resources needed for applying recommendations
	// generated as part of that call.
	// Only initial placement recommendations generated by storage DRS can reserve
	// resources this way.
	ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty" json:"resourceLeaseDurationSec,omitempty" vim:"5.1"`
}

StoragePlacementSpec encapsulates all of the inputs passed to the `StorageResourceManager.RecommendDatastores` method.

type StoragePlacementSpecPlacementType

type StoragePlacementSpecPlacementType string

type StoragePodSummary

type StoragePodSummary struct {
	DynamicData

	// The name of the storage pod.
	Name string `xml:"name" json:"name"`
	// Total capacity of this storage pod, in bytes.
	//
	// This value is the sum of the
	// capacity of all datastores that are part of this storage pod, and is updated
	// periodically by the server.
	Capacity int64 `xml:"capacity" json:"capacity"`
	// Total free space on this storage pod, in bytes.
	//
	// This value is the sum of the
	// free space on all datastores that are part of this storage pod, and is updated
	// periodically by the server.
	FreeSpace int64 `xml:"freeSpace" json:"freeSpace"`
}

The `StoragePodSummary` data object encapsulates runtime properties of a `StoragePod`.

type StorageProfile

type StorageProfile struct {
	ApplyProfile

	// List of NAS storage subprofiles.
	//
	// Use the `NasStorageProfile.key` property
	// to access a subprofile in the list.
	NasStorage []NasStorageProfile `xml:"nasStorage,omitempty" json:"nasStorage,omitempty"`
}

The `StorageProfile` data object represents the host storage configuration.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type StorageRequirement

type StorageRequirement struct {
	DynamicData

	// The datastore.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Space required.
	FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb" json:"freeSpaceRequiredInKb"`
}

Describes the storage requirement to perform a consolidation operation.

type StorageResourceManagerStorageProfileStatistics

type StorageResourceManagerStorageProfileStatistics struct {
	DynamicData

	// Profile identifier for the reported statistics
	ProfileId string `xml:"profileId" json:"profileId"`
	// The aggregate storage capacity available for a given storage
	// capability profile.
	//
	// The capacity is reported in Megabytes.
	TotalSpaceMB int64 `xml:"totalSpaceMB" json:"totalSpaceMB"`
	// The aggregate used storage capacity by a given storage capability
	// profile
	// The used space is reported in Megabytes
	UsedSpaceMB int64 `xml:"usedSpaceMB" json:"usedSpaceMB"`
}

A data object to report aggregate storage statistics by storage profile

type StorageVMotionNotSupported

type StorageVMotionNotSupported struct {
	MigrationFeatureNotSupported
}

An operation on a powered-on virtual machine requests a change of storage location, but the host does not have that capability.

type StorageVMotionNotSupportedFault

type StorageVMotionNotSupportedFault StorageVMotionNotSupported

type StorageVmotionIncompatible

type StorageVmotionIncompatible struct {
	VirtualHardwareCompatibilityIssue

	// The datastore that is incompatible with a given virtual machine.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

This fault is thrown when Storage DRS tries to migrate disks of a virtual machine to a datastore, but finds that the datastore is incompatible with the given virtual machine.

type StorageVmotionIncompatibleFault

type StorageVmotionIncompatibleFault StorageVmotionIncompatible

type StringExpression

type StringExpression struct {
	NegatableExpression

	// The String value that is either used as it is or negated.
	Value string `xml:"value,omitempty" json:"value,omitempty"`
}

The string type of setting or configuration that may get a negated value.

type StringOption

type StringOption struct {
	OptionType

	// The default value.
	DefaultValue string `xml:"defaultValue" json:"defaultValue"`
	// The string containing the set of valid characters.
	//
	// If a string
	// option is not specified, all strings are allowed.
	ValidCharacters string `xml:"validCharacters,omitempty" json:"validCharacters,omitempty"`
}

The StringOption data object type is used to define an open-ended string value based on an optional subset of valid characters.

type StringPolicy

type StringPolicy struct {
	InheritablePolicy

	// The String value that is either set or inherited.
	Value string `xml:"value,omitempty" json:"value,omitempty"`
}

The string type of setting or configuration that may get an inherited value.

type StructuredCustomizations added in v0.12.0

type StructuredCustomizations struct {
	HostProfilesEntityCustomizations

	// Entity associated with the host customizations specified in the
	// <code>customizations</code> `AnswerFile` object.
	//
	// In the current release, this object will always be a host.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Host Profile Customizations for the associated <code>entity</code>.
	//
	// This is the same object that would be returned by the
	// `HostProfileManager.RetrieveAnswerFile` method
	Customizations *AnswerFile `xml:"customizations,omitempty" json:"customizations,omitempty"`
}

Implementation of `HostProfilesEntityCustomizations` that maps a cluster or host profile to the `AnswerFile` object containing the host profiles customizations for that entity.

This object will be used as elements of the `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#entityCustomizations} when the `HostProfilesEntityCustomizations`.{vim.profile.host.ProfileManager.EntityCustomizations#customizationsFormat} value is "structured".

type SuspendVAppRequestType

type SuspendVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type SuspendVApp_Task

type SuspendVApp_Task SuspendVAppRequestType

type SuspendVApp_TaskResponse

type SuspendVApp_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SuspendVMRequestType

type SuspendVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type SuspendVM_Task

type SuspendVM_Task SuspendVMRequestType

type SuspendVM_TaskResponse

type SuspendVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type SuspendedRelocateNotSupported

type SuspendedRelocateNotSupported struct {
	MigrationFault
}

Either the source host product or the destination host product does not support relocation of suspended VMs.

It must be supported on both, in order for the relocation to succeed. This fault is only applicable to suspended virtual machines.

type SuspendedRelocateNotSupportedFault

type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported

type SwapDatastoreNotWritableOnHost

type SwapDatastoreNotWritableOnHost struct {
	DatastoreNotWritableOnHost
}

The compute resource and/or virtual machine configurations indicate that when executing on the host the virtual machine should use a specific datastore, but host does not have read/write access to that datastore.

(It may have no access at all, or read-only access.) If executing on the host the virtual machine would instead use its own directory for swapfile placement. This is a compatibility warning, not an error.

type SwapDatastoreNotWritableOnHostFault

type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost

type SwapDatastoreUnset

type SwapDatastoreUnset struct {
	VimFault
}

The compute resource and/or virtual machine configurations indicate that when executing on the host the virtual machine should use a swap datastore, but the host does not have a swap datastore configured.

If executing on the host the virtual machine would instead use its own directory for swapfile placement. This is a compatibility warning, not an error. Note it is actually the common case for a host to not have a configured swap datastore, and the problem may rest with the compute resource and/or virtual machine configuration; therefore this is not a HostConfigFault.

type SwapDatastoreUnsetFault

type SwapDatastoreUnsetFault SwapDatastoreUnset

type SwapPlacementOverrideNotSupported

type SwapPlacementOverrideNotSupported struct {
	InvalidVmConfig
}

The virtual machine is configured to override the default swapfile placement policy, which is not supported on the host.

type SwapPlacementOverrideNotSupportedFault

type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported

type SwitchIpUnset

type SwitchIpUnset struct {
	DvsFault
}

The distributed virtual switch received a reconfiguration request to activate a feature that requires a switch IP address.

However, the IP address for the switch has not been specified.

type SwitchIpUnsetFault

type SwitchIpUnsetFault SwitchIpUnset

type SwitchNotInUpgradeMode

type SwitchNotInUpgradeMode struct {
	DvsFault
}

Thrown if an operation is not supported while the DistributedVirtualSwitch is not in upgrade mode.

type SwitchNotInUpgradeModeFault

type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode

type SystemError

type SystemError struct {
	RuntimeFault

	// A message to indicate detailed information about the error.
	//
	// This property is not internationalization friendly and
	// normally reported by the underlying operating system.
	Reason string `xml:"reason" json:"reason"`
}

Exception type for reporting a low-level operating system error.

type SystemErrorFault

type SystemErrorFault SystemError

type SystemEventInfo added in v0.12.0

type SystemEventInfo struct {
	DynamicData

	// The recordId uniquely identifies an entry in IPMI System Event Log.
	RecordId int64 `xml:"recordId" json:"recordId"`
	// A ISO 8601 timestamp when the event was added to IPMI System Event Log.
	//
	// This timestamp comes from the IPMI subsystem clock and may not be
	// the same as hypervisor's clock.
	When string `xml:"when" json:"when"`
	// The IPMI SEL type defines the if the SEL event uses
	// the system event format format or is OEM defined.
	//
	// A value of 2 indicates system event.
	// Values 0xC0-0xDF, 0xE0-0xFF are OEM event ranges.
	SelType int64 `xml:"selType" json:"selType"`
	// A description of what the event is about.
	Message string `xml:"message" json:"message"`
	// The IPMI Sensor/probe that is reporting this event.
	//
	// A value of zero (0) indicates event has no related sensor.
	SensorNumber int64 `xml:"sensorNumber" json:"sensorNumber"`
}

IPMI System Event Log (SEL) provides a history of hardware sensor states.

This is defined in IPMI specification, section 32.1 SEL Event Records. CLI:: esxcli hardware ipmi sel list

type Tag

type Tag struct {
	DynamicData

	// The tag key in human readable form.
	Key string `xml:"key" json:"key"`
}

Defines a tag that can be associated with a managed entity.

type TaskDescription

type TaskDescription struct {
	DynamicData

	// Display label and summary for all tasks
	MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr" json:"methodInfo"`
	// *TaskInfo State enum*
	State []BaseElementDescription `xml:"state,typeattr" json:"state"`
	// Kind of entity responsible for creating this task.
	Reason []BaseTypeDescription `xml:"reason,typeattr" json:"reason"`
}

Static strings for task objects.

These strings are locale-specific.

type TaskEvent

type TaskEvent struct {
	Event

	// The information about the task.
	Info TaskInfo `xml:"info" json:"info"`
}

This event records the creation of a Task.

Note that the embedded TaskInfo object is a _snapshot_ of the Task state at the time of its creation, so its state will always be "queued". To find the current status of the task, query for the current state of the Task using the eventChainId in the embedded TaskInfo object.

func (*TaskEvent) GetTaskEvent

func (b *TaskEvent) GetTaskEvent() *TaskEvent

type TaskFilterSpec

type TaskFilterSpec struct {
	DynamicData

	// The filter specification for retrieving tasks by managed entity.
	//
	// If not provided, then the tasks attached to all managed entities are
	// collected.
	Entity *TaskFilterSpecByEntity `xml:"entity,omitempty" json:"entity,omitempty"`
	// The filter specification for retrieving tasks by time.
	//
	// If not provided, then the tasks with any time stamp are collected.
	Time *TaskFilterSpecByTime `xml:"time,omitempty" json:"time,omitempty"`
	// The filter specification for retrieving tasks by user name.
	//
	// If not provided, then the tasks belonging to any user are collected.
	UserName *TaskFilterSpecByUsername `xml:"userName,omitempty" json:"userName,omitempty"`
	// This property, if provided, limits the set of collected tasks to those
	// associated with the specified activation Ids.
	ActivationId []string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
	// This property, if provided, limits the set of collected tasks by their states.
	//
	// Task states are enumerated in `State`.
	// If not provided, tasks are collected regardless of their state.
	State []TaskInfoState `xml:"state,omitempty" json:"state,omitempty"`
	// This property, if provided, limits the set of collected tasks to those
	// associated with the specified alarm.
	//
	// If not provided, tasks are collected regardless of their association with alarms.
	//
	// Refers instance of `Alarm`.
	Alarm *ManagedObjectReference `xml:"alarm,omitempty" json:"alarm,omitempty"`
	// This property, if provided, limits the set of collected tasks to those
	// associated with the specified scheduled task.
	//
	// If not provided, tasks are collected regardless of their association with any
	// scheduled task.
	//
	// Refers instance of `ScheduledTask`.
	ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty" json:"scheduledTask,omitempty"`
	// The filter specification for retrieving tasks by chain ID.
	//
	// If it is set,
	// tasks not with the given `TaskInfo.eventChainId` will be
	// filtered out. If the property is not set, tasks' chain ID is disregarded
	// for filtering purposes.
	EventChainId []int32 `xml:"eventChainId,omitempty" json:"eventChainId,omitempty" vim:"4.0"`
	// The filter specification for retrieving tasks by
	// `tag`.
	//
	// If it is set, tasks not with the given tag(s)
	// will be filtered out. If the property is not set, tasks' tag is disregarded for
	// filtering purposes. If it is set, and includes an empty string, tasks without a
	// tag will be returned.
	Tag []string `xml:"tag,omitempty" json:"tag,omitempty" vim:"4.0"`
	// The filter specification for retrieving tasks by
	// `TaskInfo.parentTaskKey`.
	//
	// If it is set, tasks not with the
	// given parentTaskKey(s) will be filtered out. If the property is not set,
	// tasks' parentTaskKey is disregarded for filtering purposes.
	ParentTaskKey []string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
	// The filter specification for retrieving tasks by
	// `TaskInfo.rootTaskKey`.
	//
	// If it is set, tasks not with the
	// given rootTaskKey(s) will be filtered out. If the property is not set,
	// tasks' rootTaskKey is disregarded for filtering purposes.
	RootTaskKey []string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty" vim:"4.0"`
}

This data object type defines the specification for the task filter used to query tasks in the history collector database.

The client creates a task history collector with a filter specification, then retrieves the tasks from the task history collector.

type TaskFilterSpecByEntity

type TaskFilterSpecByEntity struct {
	DynamicData

	// The managed entity to which the task pertains.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// Specification of related managed entities in the inventory hierarchy.
	Recursion TaskFilterSpecRecursionOption `xml:"recursion" json:"recursion"`
}

This data object type specifies a managed entity used to filter task history.

type TaskFilterSpecByTime

type TaskFilterSpecByTime struct {
	DynamicData

	// The time stamp to filter: queued, started, or completed time.
	TimeType TaskFilterSpecTimeOption `xml:"timeType" json:"timeType"`
	// The beginning of the time range.
	//
	// If this property is not specified, then tasks are collected from
	// the earliest time in the database.
	//
	// When this property is specified, the time type field must also be specified.
	BeginTime *time.Time `xml:"beginTime" json:"beginTime,omitempty"`
	// The end of the time range.
	//
	// If this property is not specified, then tasks are collected up to
	// the latest time in the database.
	//
	// When this property is specified, the time type field must also be specified.
	EndTime *time.Time `xml:"endTime" json:"endTime,omitempty"`
}

This data object type specifies a time range used to filter task history.

type TaskFilterSpecByUsername

type TaskFilterSpecByUsername struct {
	DynamicData

	// Whether or not to filter by system user.
	//
	// If set to true, filters for system user event.
	SystemUser bool `xml:"systemUser" json:"systemUser"`
	// Specifies the username list to use in the filter.
	//
	// If not set, then all regular user tasks are collected.
	UserList []string `xml:"userList,omitempty" json:"userList,omitempty"`
}

This data object type enables you to filter task history according to the users who performed the tasks.

type TaskFilterSpecRecursionOption

type TaskFilterSpecRecursionOption string

This option specifies how to select tasks based on child relationships in the inventory hierarchy.

If a managed entity has children, their tasks can be retrieved with this filter option.

type TaskFilterSpecTimeOption

type TaskFilterSpecTimeOption string

This option specifies a time stamp governing the selection of tasks.

type TaskInProgress

type TaskInProgress struct {
	VimFault

	// The task already in progress when the operation was attempted.
	//
	// Refers instance of `Task`.
	Task ManagedObjectReference `xml:"task" json:"task"`
}

The TaskInProgress data object type represents a fault when an operation tries to access an entity that already has another (long) operation in progress.

func (*TaskInProgress) GetTaskInProgress

func (b *TaskInProgress) GetTaskInProgress() *TaskInProgress

type TaskInProgressFault

type TaskInProgressFault BaseTaskInProgress

type TaskInfo

type TaskInfo struct {
	DynamicData

	// The unique key for the task.
	Key string `xml:"key" json:"key"`
	// The managed object that represents this task.
	//
	// Refers instance of `Task`.
	Task ManagedObjectReference `xml:"task" json:"task"`
	// The description field of the task describes the current phase of
	// operation of the task.
	//
	// For a task that does a single monolithic
	// activity, this will be fixed and unchanging.
	// For tasks that have various substeps, this field will change
	// as the task progresses from one phase to another.
	Description *LocalizableMessage `xml:"description,omitempty" json:"description,omitempty" vim:"4.0"`
	// The name of the operation that created the task.
	//
	// This is not set
	// for internal tasks.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// An identifier for this operation.
	//
	// This includes publicly visible
	// internal tasks and is a lookup in the TaskDescription methodInfo
	// data object.
	DescriptionId string `xml:"descriptionId" json:"descriptionId"`
	// Managed entity to which the operation applies.
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// The name of the managed entity, locale-specific, retained for the
	// history collector database.
	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
	// If the state of the task is "running", then this property is a list of
	// managed entities that the operation has locked, with a shared lock.
	//
	// Refers instances of `ManagedEntity`.
	Locked []ManagedObjectReference `xml:"locked,omitempty" json:"locked,omitempty"`
	// Runtime status of the task.
	State TaskInfoState `xml:"state" json:"state"`
	// Flag to indicate whether or not the client requested
	// cancellation of the task.
	Cancelled bool `xml:"cancelled" json:"cancelled"`
	// Flag to indicate whether or not the cancel task operation is supported.
	Cancelable bool `xml:"cancelable" json:"cancelable"`
	// If the task state is "error", then this property contains the fault code.
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// If the task state is "success", then this property may be used
	// to hold a return value.
	Result AnyType `xml:"result,omitempty,typeattr" json:"result,omitempty"`
	// If the task state is "running", then this property contains a
	// progress measurement, expressed as percentage completed, from 0 to 100.
	//
	// If this property is not set, then the command does not report progress.
	Progress        int32         `xml:"progress,omitempty" json:"progress,omitempty"`
	ProgressDetails []KeyAnyValue `xml:"progressDetails,omitempty" json:"progressDetails,omitempty"`
	// Kind of entity responsible for creating this task.
	Reason BaseTaskReason `xml:"reason,typeattr" json:"reason"`
	// Time stamp when the task was created.
	QueueTime time.Time `xml:"queueTime" json:"queueTime"`
	// Time stamp when the task started running.
	StartTime *time.Time `xml:"startTime" json:"startTime,omitempty"`
	// Time stamp when the task was completed (whether success or failure).
	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
	// Event chain ID that leads to the corresponding events.
	EventChainId int32 `xml:"eventChainId" json:"eventChainId"`
	// The user entered tag to identify the operations and their side effects
	ChangeTag string `xml:"changeTag,omitempty" json:"changeTag,omitempty" vim:"4.0"`
	// Tasks can be created by another task.
	//
	// This shows `TaskInfo.key` of the task spun off this task. This is to
	// track causality between tasks.
	ParentTaskKey string `xml:"parentTaskKey,omitempty" json:"parentTaskKey,omitempty" vim:"4.0"`
	// Tasks can be created by another task and such creation can go on for
	// multiple levels.
	//
	// This is the `TaskInfo.key` of the task
	// that started the chain of tasks.
	RootTaskKey string `xml:"rootTaskKey,omitempty" json:"rootTaskKey,omitempty" vim:"4.0"`
	// The activation Id is a client-provided token to link an API call with a task.
	ActivationId string `xml:"activationId,omitempty" json:"activationId,omitempty" vim:"6.0"`
}

This data object type contains all information about a task.

A task represents an operation performed by VirtualCenter or ESX.

type TaskInfoState

type TaskInfoState string

List of possible states of a task.

type TaskReason

type TaskReason struct {
	DynamicData
}

Base type for all task reasons.

Task reasons represent the kind of entity responsible for a task's creation.

func (*TaskReason) GetTaskReason

func (b *TaskReason) GetTaskReason() *TaskReason

type TaskReasonAlarm

type TaskReasonAlarm struct {
	TaskReason

	// The name of the alarm that queued the task, retained in the history
	// collector database.
	AlarmName string `xml:"alarmName" json:"alarmName"`
	// The alarm object that queued the task.
	//
	// Refers instance of `Alarm`.
	Alarm ManagedObjectReference `xml:"alarm" json:"alarm"`
	// The name of the managed entity on which the alarm is triggered,
	// retained in the history collector database.
	EntityName string `xml:"entityName" json:"entityName"`
	// The managed entity object on which the alarm is triggered.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
}

Indicates that the task was queued by an alarm.

type TaskReasonSchedule

type TaskReasonSchedule struct {
	TaskReason

	// The name of the scheduled task that queued this task.
	Name string `xml:"name" json:"name"`
	// The scheduledTask object that queued this task.
	//
	// Refers instance of `ScheduledTask`.
	ScheduledTask ManagedObjectReference `xml:"scheduledTask" json:"scheduledTask"`
}

Indicates that the task was queued by a scheduled task.

type TaskReasonSystem

type TaskReasonSystem struct {
	TaskReason
}

Indicates that the task was started by the system (a default task).

type TaskReasonUser

type TaskReasonUser struct {
	TaskReason

	// Name of the user that queued the task.
	UserName string `xml:"userName" json:"userName"`
}

Indicates that the task was queued by a specific user.

type TaskScheduler

type TaskScheduler struct {
	DynamicData

	// The time that the schedule for the task takes effect.
	//
	// Task activation is distinct from task execution.
	// When you activate a task, its schedule starts,
	// and when the next execution time occurs, the task will run.
	// If you do not set activeTime, the activation time defaults to
	// the time that you create the scheduled task.
	ActiveTime *time.Time `xml:"activeTime" json:"activeTime,omitempty"`
	// The time the schedule for the task expires.
	//
	// If you do not set expireTime, the schedule does not expire.
	ExpireTime *time.Time `xml:"expireTime" json:"expireTime,omitempty"`
}

The `TaskScheduler` data object is the base type for the scheduler objects.

The hierarchy of scheduler objects is as follows:

TaskScheduler
    `AfterStartupTaskScheduler`
    `OnceTaskScheduler`
    `RecurrentTaskScheduler`
        `HourlyTaskScheduler`
            `DailyTaskScheduler`
                `WeeklyTaskScheduler`
                `MonthlyTaskScheduler`
                    `MonthlyByDayTaskScheduler`
                    `MonthlyByWeekdayTaskScheduler`

Use a scheduler object to set the time(s) for task execution. You can use two scheduling modes - single execution or recurring execution:

  • Use the `AfterStartupTaskScheduler` or the `OnceTaskScheduler` to schedule a single instance of task execution.
  • Use one of the recurrent task schedulers to schedule hourly, daily, weekly, or monthly task execution.

After you have established the task timing, use the scheduler object for the `ScheduledTaskSpec` `ScheduledTaskSpec.scheduler` property value.

func (*TaskScheduler) GetTaskScheduler

func (b *TaskScheduler) GetTaskScheduler() *TaskScheduler

type TaskTimeoutEvent

type TaskTimeoutEvent struct {
	TaskEvent
}

This event records when a task is cleaned up b/c of timeout

type TeamingMatchEvent

type TeamingMatchEvent struct {
	DvsHealthStatusChangeEvent
}

The teaming configuration of the uplink ports in the DVS matches physical switch configuration.

type TeamingMisMatchEvent

type TeamingMisMatchEvent struct {
	DvsHealthStatusChangeEvent
}

The teaming configuration of the uplink ports in the DVS does not match physical switch configuration.

type TemplateBeingUpgradedEvent

type TemplateBeingUpgradedEvent struct {
	TemplateUpgradeEvent
}

This event records the start of a template upgrade.

type TemplateConfigFileInfo

type TemplateConfigFileInfo struct {
	VmConfigFileInfo
}

This data object type describes a template virtual machine configuration file.

type TemplateConfigFileQuery

type TemplateConfigFileQuery struct {
	VmConfigFileQuery
}

This data object type describes the query specification for a template virtual machine configuration file.

type TemplateUpgradeEvent

type TemplateUpgradeEvent struct {
	Event

	LegacyTemplate string `xml:"legacyTemplate" json:"legacyTemplate"`
}

This event is the base class for all the template upgrade events.

func (*TemplateUpgradeEvent) GetTemplateUpgradeEvent

func (b *TemplateUpgradeEvent) GetTemplateUpgradeEvent() *TemplateUpgradeEvent

type TemplateUpgradeFailedEvent

type TemplateUpgradeFailedEvent struct {
	TemplateUpgradeEvent

	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records that the template upgrade failed.

type TemplateUpgradedEvent

type TemplateUpgradedEvent struct {
	TemplateUpgradeEvent
}

This event records that the template upgrade succeeded.

type TerminateFaultTolerantVMRequestType

type TerminateFaultTolerantVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The secondary virtual machine specified will be terminated, allowing
	// fault tolerance to activate. If no virtual machine is specified,
	// all secondary virtual machines will be terminated. If vm is a
	// primary, InvalidArgument exception is thrown.
	// This field must specify a virtual machine that is part of the fault
	// tolerant group that this virtual machine is currently associated with. It can
	// only be invoked from the primary virtual machine in the group. If the primary
	// virtual machine is terminated, an available secondary virtual machine will be
	// promoted to primary. If no secondary exists, an exception will be thrown and
	// the primary virtual machine will not be terminated. If a secondary virtual
	// machine is terminated, it may be respawned on a potentially different host.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
}

The parameters of `VirtualMachine.TerminateFaultTolerantVM_Task`.

type TerminateFaultTolerantVM_Task

type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType

type TerminateFaultTolerantVM_TaskResponse

type TerminateFaultTolerantVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type TerminateProcessInGuestRequestType

type TerminateProcessInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Virtual machine to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Execute
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
	// Process ID of the process to be terminated
	Pid int64 `xml:"pid" json:"pid"`
}

The parameters of `GuestProcessManager.TerminateProcessInGuest`.

type TerminateProcessInGuestResponse

type TerminateProcessInGuestResponse struct {
}

type TerminateSession

type TerminateSession TerminateSessionRequestType

type TerminateSessionRequestType

type TerminateSessionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of sessions to terminate.
	SessionId []string `xml:"sessionId" json:"sessionId"`
}

The parameters of `SessionManager.TerminateSession`.

type TerminateSessionResponse

type TerminateSessionResponse struct {
}

type TerminateVM

type TerminateVM TerminateVMRequestType

type TerminateVMRequestType

type TerminateVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type TerminateVMResponse

type TerminateVMResponse struct {
}

type TestTimeService added in v0.27.0

type TestTimeService TestTimeServiceRequestType

type TestTimeServiceRequestType added in v0.27.0

type TestTimeServiceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type TestTimeServiceResponse added in v0.27.0

type TestTimeServiceResponse struct {
	Returnval *HostDateTimeSystemServiceTestResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type ThirdPartyLicenseAssignmentFailed

type ThirdPartyLicenseAssignmentFailed struct {
	RuntimeFault

	// The ESX host where 3rd party license was applied.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The asset-id of 3rd party module
	Module string `xml:"module" json:"module"`
	// The reason why the assignment failed, if known.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

A ThirdPartyLicenseAssignmentFailed fault is thrown when the license assignment to a 3rd party module fails.

The 3rd-party modules are installed and ran on ESX hosts, so this fault provides both host and module IDs.

type ThirdPartyLicenseAssignmentFailedFault

type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed

type ThirdPartyLicenseAssignmentFailedReason

type ThirdPartyLicenseAssignmentFailedReason string

type TicketedSessionAuthentication

type TicketedSessionAuthentication struct {
	GuestAuthentication

	// This contains a base64 encoded Ticket.
	Ticket string `xml:"ticket" json:"ticket"`
}

TicketedSessionAuthentication contains the information necessary to use previously obtained credentials in the guest.

The ticketed session is not stateless and stores state inside of the guest.

A TicketedSessionAuthentication object will be returned as the result of a successful call to `GuestAuthManager.AcquireCredentialsInGuest`. You can use this object in any guest operations function call.

When you no longer need the TicketedSessionAuthentication object, you should call `GuestAuthManager.ReleaseCredentialsInGuest` to free associated resources and session data.

type TimedOutHostOperationEvent

type TimedOutHostOperationEvent struct {
	HostEvent
}

This event indicates that an operation performed on the host timed out.

Typically, a previous event in the sequence of events contains more information about the cause of the operation timing out.

type Timedout

type Timedout struct {
	VimFault
}

Timedout exception is thrown when a server abandons an operation that is taking longer than expected.

func (*Timedout) GetTimedout

func (b *Timedout) GetTimedout() *Timedout

type TimedoutFault

type TimedoutFault BaseTimedout

type TooManyConcurrentNativeClones

type TooManyConcurrentNativeClones struct {
	FileFault
}

Thrown if the number of levels in the snapshot tree exceeds the supported maximum.

type TooManyConcurrentNativeClonesFault

type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones

type TooManyConsecutiveOverrides

type TooManyConsecutiveOverrides struct {
	VimFault
}

Thrown if there are too many consecutive user overrides of server-managed settings.

There are some properties which users are allowed to set only in certain configurations. The system controls them in other configurations, and overrides all user updates. If there are such frequent user overrides in the system controlled state that the next update arrives before the previous override is complete, the system can enter a tight loop and appear unresponsive to the user. This would typically happen if the user overrides are generated by a script. If the number of such user overrides exceeds the supported maximum, we conceptually "throw" this fault. In practice, this is converted into a host-level ConfigIssue in VC.

type TooManyConsecutiveOverridesFault

type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides

type TooManyDevices

type TooManyDevices struct {
	InvalidVmConfig
}

Thrown when the number of virtual devices exceeds the maximum for a given controller.

type TooManyDevicesFault

type TooManyDevicesFault TooManyDevices

type TooManyDisksOnLegacyHost

type TooManyDisksOnLegacyHost struct {
	MigrationFault

	// The number disks this VM has.
	DiskCount int32 `xml:"diskCount" json:"diskCount"`
	// Whether this number of disks will cause a timeout failure.
	TimeoutDanger bool `xml:"timeoutDanger" json:"timeoutDanger"`
}

Deprecated as of vSphere 4.1, this error condition is no longer possible.

The VM has too many disks which can cause the VM to take a long time to power-on.

This can result in migration taking a long time to complete or to fail due to timeout. This is a problem only for migration of powered-on virtual machines from or to ESX 2.x hosts.

type TooManyDisksOnLegacyHostFault

type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost

type TooManyGuestLogons

type TooManyGuestLogons struct {
	GuestOperationsFault
}

A TooManyGuestLogons exception is thrown when there are too many concurrent login sessions active in the guest.

`GuestAuthManager.ReleaseCredentialsInGuest` can be called on ticketed sessions that are no longer needed. This will decrease the number of concurrent sessions active in the guest.

type TooManyGuestLogonsFault

type TooManyGuestLogonsFault TooManyGuestLogons

type TooManyHosts

type TooManyHosts struct {
	HostConnectFault
}

Thrown when a computer resource does not accept any more hosts.

Clusters with DRS or HA enabled might impose a limit on the size of the cluster.

type TooManyHostsFault

type TooManyHostsFault TooManyHosts

type TooManyNativeCloneLevels

type TooManyNativeCloneLevels struct {
	FileFault
}

Thrown if the number of levels in the snapshot tree exceeds the supported maximum.

type TooManyNativeCloneLevelsFault

type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels

type TooManyNativeClonesOnFile

type TooManyNativeClonesOnFile struct {
	FileFault
}

Thrown if the number of levels in the snapshot tree exceeds the supported maximum.

type TooManyNativeClonesOnFileFault

type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile

type TooManySnapshotLevels

type TooManySnapshotLevels struct {
	SnapshotFault
}

Thrown if the number of levels in the snapshot tree exceeds the supported maximum.

type TooManySnapshotLevelsFault

type TooManySnapshotLevelsFault TooManySnapshotLevels

type ToolsAlreadyUpgraded

type ToolsAlreadyUpgraded struct {
	VmToolsUpgradeFault
}

Thrown when tools upgrade fails because the version of tools installed in the guest is already up-to-date.

type ToolsAlreadyUpgradedFault

type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded

type ToolsAutoUpgradeNotSupported

type ToolsAutoUpgradeNotSupported struct {
	VmToolsUpgradeFault
}

Thrown when tools upgrade fails because the virtual machine's guest operating system doesn't support tools auto-upgrades.

type ToolsAutoUpgradeNotSupportedFault

type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported

type ToolsConfigInfo

type ToolsConfigInfo struct {
	DynamicData

	// Version of VMware Tools installed on the guest operating system.
	ToolsVersion int32 `xml:"toolsVersion,omitempty" json:"toolsVersion,omitempty"`
	// Installation type of VMware Tools in the guest operating system.
	//
	// The set of possible values is described in
	// `VirtualMachineToolsInstallType_enum`
	ToolsInstallType string `xml:"toolsInstallType,omitempty" json:"toolsInstallType,omitempty" vim:"6.5"`
	// Flag to specify whether or not scripts should run
	// after the virtual machine powers on.
	AfterPowerOn *bool `xml:"afterPowerOn" json:"afterPowerOn,omitempty"`
	// Flag to specify whether or not scripts should run
	// after the virtual machine resumes.
	AfterResume *bool `xml:"afterResume" json:"afterResume,omitempty"`
	// Flag to specify whether or not scripts should run
	// before the virtual machine suspends.
	BeforeGuestStandby *bool `xml:"beforeGuestStandby" json:"beforeGuestStandby,omitempty"`
	// Flag to specify whether or not scripts should run
	// before the virtual machine powers off.
	BeforeGuestShutdown *bool `xml:"beforeGuestShutdown" json:"beforeGuestShutdown,omitempty"`
	// Flag to specify whether or not scripts should run
	// before the virtual machine reboots.
	BeforeGuestReboot *bool `xml:"beforeGuestReboot" json:"beforeGuestReboot,omitempty"`
	// Tools upgrade policy setting for the virtual machine.
	//
	// See also `UpgradePolicy_enum`.
	ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty" json:"toolsUpgradePolicy,omitempty" vim:"2.5"`
	// When set, this indicates that a customization operation is pending on the VM.
	//
	// The value represents the filename of the customization package on the host.
	PendingCustomization string `xml:"pendingCustomization,omitempty" json:"pendingCustomization,omitempty" vim:"2.5"`
	// When set, provides the id of the key used to encrypt the customization
	// package attached to the VM.
	CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty" json:"customizationKeyId,omitempty" vim:"6.5"`
	// Indicates whether or not the tools program is allowed to synchronize
	// guest time with host time.
	//
	// When set to <code>false</code>, disallows
	// tool periodic time synchronization as well as guest time step corrections
	// due to one-off events like resume from suspend.
	SyncTimeWithHostAllowed *bool `xml:"syncTimeWithHostAllowed" json:"syncTimeWithHostAllowed,omitempty" vim:"7.0.1.0"`
	// Flag to specify whether or not the tools program will periodically
	// synchronize guest time with host time.
	//
	// Periodical synchronization is
	// only allowed if `ToolsConfigInfo.syncTimeWithHostAllowed`
	// is not set to <code>false</code>.
	SyncTimeWithHost *bool `xml:"syncTimeWithHost" json:"syncTimeWithHost,omitempty" vim:"2.5"`
	// Information about the last tools upgrade attempt if applicable.
	//
	// This information is maintained by the server and is ignored if set by the client.
	LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty" json:"lastInstallInfo,omitempty" vim:"5.0"`
}

ToolsConfigInfo is a data object type containing settings for the VMware Tools software running in the guest operating system.

type ToolsConfigInfoToolsLastInstallInfo

type ToolsConfigInfoToolsLastInstallInfo struct {
	DynamicData

	// Number of attempts that have been made to upgrade the version of tools
	// installed on this virtual machine.
	Counter int32 `xml:"counter" json:"counter"`
	// Error that happened, if any, during last attempt to upgrade tools.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Describes status of last tools upgrade attempt

type ToolsImageCopyFailed

type ToolsImageCopyFailed struct {
	VmToolsUpgradeFault
}

Thrown when the tools image couldn't be copied to the guest operating system: disk out of space, file access error, etc.

type ToolsImageCopyFailedFault

type ToolsImageCopyFailedFault ToolsImageCopyFailed

type ToolsImageNotAvailable

type ToolsImageNotAvailable struct {
	VmToolsUpgradeFault
}

Thrown when tools install or upgrade fails because the required tools image is not available.

type ToolsImageNotAvailableFault

type ToolsImageNotAvailableFault ToolsImageNotAvailable

type ToolsImageSignatureCheckFailed

type ToolsImageSignatureCheckFailed struct {
	VmToolsUpgradeFault
}

Thrown when tools install or upgrade fails because the signature check on the tools image failed.

type ToolsImageSignatureCheckFailedFault

type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed

type ToolsInstallationInProgress

type ToolsInstallationInProgress struct {
	MigrationFault
}

The virtual machine is currently in the progress of guest tools installation that prevents the migration operation.

type ToolsInstallationInProgressFault

type ToolsInstallationInProgressFault ToolsInstallationInProgress

type ToolsUnavailable

type ToolsUnavailable struct {
	VimFault
}

A ToolsUnavailableFault exception is thrown when an operation fails to contact VMware Tools running inside the virtual machine.

type ToolsUnavailableFault

type ToolsUnavailableFault ToolsUnavailable

type ToolsUpgradeCancelled

type ToolsUpgradeCancelled struct {
	VmToolsUpgradeFault
}

Thrown when tools install or upgrade fails because the operation was canclled by the user.

type ToolsUpgradeCancelledFault

type ToolsUpgradeCancelledFault ToolsUpgradeCancelled

type TraversalSpec

type TraversalSpec struct {
	SelectionSpec

	// Name of the object type containing the property.
	Type string `xml:"type" json:"type"`
	// Name of the property to use in order to select additional objects.
	Path string `xml:"path" json:"path"`
	// Flag to indicate whether or not to filter the object in the "path"
	// field.
	Skip *bool `xml:"skip" json:"skip,omitempty"`
	// Optional set of selections to specify additional objects to filter.
	SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr" json:"selectSet,omitempty"`
}

The `TraversalSpec` data object type specifies how to derive a new set of objects to add to the filter.

It specifies a property path whose value is either another managed object or an array of managed objects included in the set of objects for consideration. This data object can also be named, using the "name" field in the base type.

type TurnDiskLocatorLedOffRequestType

type TurnDiskLocatorLedOffRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUIDs for which the disk locator LED
	// should be turned off.
	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
}

The parameters of `HostStorageSystem.TurnDiskLocatorLedOff_Task`.

type TurnDiskLocatorLedOff_Task

type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType

type TurnDiskLocatorLedOff_TaskResponse

type TurnDiskLocatorLedOff_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type TurnDiskLocatorLedOnRequestType

type TurnDiskLocatorLedOnRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The SCSI disk UUIDs for which the disk locator LED
	// should be turned on.
	ScsiDiskUuids []string `xml:"scsiDiskUuids" json:"scsiDiskUuids"`
}

The parameters of `HostStorageSystem.TurnDiskLocatorLedOn_Task`.

type TurnDiskLocatorLedOn_Task

type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType

type TurnDiskLocatorLedOn_TaskResponse

type TurnDiskLocatorLedOn_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type TurnOffFaultToleranceForVMRequestType

type TurnOffFaultToleranceForVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type TurnOffFaultToleranceForVM_TaskResponse

type TurnOffFaultToleranceForVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type TypeDescription

type TypeDescription struct {
	Description

	// Type being described
	Key string `xml:"key" json:"key"`
}

Static strings used for describing an object type.

func (*TypeDescription) GetTypeDescription

func (b *TypeDescription) GetTypeDescription() *TypeDescription

type UnSupportedDatastoreForVFlash

type UnSupportedDatastoreForVFlash struct {
	UnsupportedDatastore

	// The name of the Datastore.
	DatastoreName string `xml:"datastoreName" json:"datastoreName"`
	// Datastore file system volume type.
	//
	// See `DatastoreSummary.type`
	Type string `xml:"type" json:"type"`
}

VFlash is not supported on the datastore.

type UnSupportedDatastoreForVFlashFault

type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash

type UnassignUserFromGroupRequestType

type UnassignUserFromGroupRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// User being unassigned from group.
	User string `xml:"user" json:"user"`
	// Group from which the user is being removed.
	Group string `xml:"group" json:"group"`
}

The parameters of `HostLocalAccountManager.UnassignUserFromGroup`.

type UnassignUserFromGroupResponse

type UnassignUserFromGroupResponse struct {
}

type UnbindVnic

type UnbindVnic UnbindVnicRequestType

type UnbindVnicRequestType

type UnbindVnicRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// iSCSI adapter name for which the Virtual NIC to
	// be removed.
	IScsiHbaName string `xml:"iScsiHbaName" json:"iScsiHbaName"`
	// Virtual NIC that is to be removed from the iSCSI HBA
	VnicDevice string `xml:"vnicDevice" json:"vnicDevice"`
	Force      bool   `xml:"force" json:"force"`
}

The parameters of `IscsiManager.UnbindVnic`.

type UnbindVnicResponse

type UnbindVnicResponse struct {
}

type UncommittedUndoableDisk

type UncommittedUndoableDisk struct {
	MigrationFault
}

Fault thrown when an attempt is made to move or clone an undoable disk with an uncommitted REDO log.

This is an error. Undoable disks may be moved but they must be committed.

type UncommittedUndoableDiskFault

type UncommittedUndoableDiskFault UncommittedUndoableDisk

type UnconfiguredPropertyValue

type UnconfiguredPropertyValue struct {
	InvalidPropertyValue
}

The property value has not been configured by the user, so the application cannot be started.

This is thrown if a property value is the empty string and the types does not allow it. For example, for an integer type or a string where the minimum length is 1, and so forth.

type UnconfiguredPropertyValueFault

type UnconfiguredPropertyValueFault UnconfiguredPropertyValue

type UncustomizableGuest

type UncustomizableGuest struct {
	CustomizationFault

	// The guest OS ID for the uncustomizable guest.
	UncustomizableGuestOS string `xml:"uncustomizableGuestOS" json:"uncustomizableGuestOS"`
}

The specified guest operating system is not supported by the guest customization process.

type UncustomizableGuestFault

type UncustomizableGuestFault UncustomizableGuest

type UnexpectedCustomizationFault

type UnexpectedCustomizationFault struct {
	CustomizationFault
}

Error received when customization fails, possibly due to a scripting runtime error or invalid script parameters.

type UnexpectedCustomizationFaultFault

type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault

type UnexpectedFault

type UnexpectedFault struct {
	RuntimeFault

	// Name of the unexpected fault.
	FaultName string `xml:"faultName" json:"faultName"`
	// The unexpected fault if the server can send it in a form that the client
	// will be able to de-serialize.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

An UnexpectedFault may be thrown when a newer version of the server reports a error that a cannot be converted to a fault that a client that is using an older version of the API would expect.

type UnexpectedFaultFault

type UnexpectedFaultFault UnexpectedFault

type UninstallHostPatchRequestType

type UninstallHostPatchRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A list of bulletin IDs to be removed.
	BulletinIds []string                                   `xml:"bulletinIds,omitempty" json:"bulletinIds,omitempty"`
	Spec        *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty" json:"spec,omitempty"`
}

The parameters of `HostPatchManager.UninstallHostPatch_Task`.

type UninstallHostPatch_Task

type UninstallHostPatch_Task UninstallHostPatchRequestType

type UninstallHostPatch_TaskResponse

type UninstallHostPatch_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UninstallIoFilterRequestType

type UninstallIoFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the filter.
	FilterId string `xml:"filterId" json:"filterId"`
	// The compute resource to uninstall the IO Filter from.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
}

The parameters of `IoFilterManager.UninstallIoFilter_Task`.

type UninstallIoFilter_Task

type UninstallIoFilter_Task UninstallIoFilterRequestType

type UninstallIoFilter_TaskResponse

type UninstallIoFilter_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UninstallService

type UninstallService UninstallServiceRequestType

type UninstallServiceRequestType

type UninstallServiceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Service identifier
	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
	Id string `xml:"id" json:"id"`
}

The parameters of `HostServiceSystem.UninstallService`.

type UninstallServiceResponse

type UninstallServiceResponse struct {
}

type UnlicensedVirtualMachinesEvent

type UnlicensedVirtualMachinesEvent struct {
	LicenseEvent

	Unlicensed int32 `xml:"unlicensed" json:"unlicensed"`
	Available  int32 `xml:"available" json:"available"`
}

This event records that we have unlicensed virtual machines on the specified host.

This can be both a (@link vim.ManagedEntity.configIssue configIssue) and an entry in the event log.

type UnlicensedVirtualMachinesFoundEvent

type UnlicensedVirtualMachinesFoundEvent struct {
	LicenseEvent

	Available int32 `xml:"available" json:"available"`
}

This event records that we discovered unlicensed virtual machines on the specified host.

After this event is entered into the event log, we expect to see a corresponding (@link vim.event.Event.UnlicensedVirtualMachinesEvent UnlicensedVirtualMachinesEvent) (@link vim.ManagedEntity.configIssue configIssue) on the host.

type UnmapVmfsVolumeExRequestType

type UnmapVmfsVolumeExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies the UUID of a VMFS volume to be unmapped.
	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.UnmapVmfsVolumeEx_Task`.

type UnmapVmfsVolumeEx_Task

type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType

type UnmapVmfsVolumeEx_TaskResponse

type UnmapVmfsVolumeEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UnmarkServiceProviderEntities added in v0.23.0

type UnmarkServiceProviderEntities UnmarkServiceProviderEntitiesRequestType

type UnmarkServiceProviderEntitiesRequestType added in v0.23.0

type UnmarkServiceProviderEntitiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// an array of management entities.
	//
	// Required privileges: TenantManager.Update
	//
	// Refers instances of `ManagedEntity`.
	Entity []ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

The parameters of `TenantTenantManager.UnmarkServiceProviderEntities`.

type UnmarkServiceProviderEntitiesResponse added in v0.23.0

type UnmarkServiceProviderEntitiesResponse struct {
}

type UnmountDiskMappingRequestType

type UnmountDiskMappingRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	Mapping []VsanHostDiskMapping  `xml:"mapping" json:"mapping"`
}

The parameters of `HostVsanSystem.UnmountDiskMapping_Task`.

type UnmountDiskMapping_Task

type UnmountDiskMapping_Task UnmountDiskMappingRequestType

type UnmountDiskMapping_TaskResponse

type UnmountDiskMapping_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UnmountForceMountedVmfsVolumeRequestType

type UnmountForceMountedVmfsVolumeRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.UnmountForceMountedVmfsVolume`.

type UnmountForceMountedVmfsVolumeResponse

type UnmountForceMountedVmfsVolumeResponse struct {
}

type UnmountToolsInstallerRequestType

type UnmountToolsInstallerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type UnmountToolsInstallerResponse

type UnmountToolsInstallerResponse struct {
}

type UnmountVffsVolume

type UnmountVffsVolume UnmountVffsVolumeRequestType

type UnmountVffsVolumeRequestType

type UnmountVffsVolumeRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	VffsUuid string                 `xml:"vffsUuid" json:"vffsUuid"`
}

The parameters of `HostStorageSystem.UnmountVffsVolume`.

type UnmountVffsVolumeResponse

type UnmountVffsVolumeResponse struct {
}

type UnmountVmfsVolume

type UnmountVmfsVolume UnmountVmfsVolumeRequestType

type UnmountVmfsVolumeExRequestType

type UnmountVmfsVolumeExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// each element specifies the UUID of a VMFS volume to be unmounted.
	VmfsUuid []string `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.UnmountVmfsVolumeEx_Task`.

type UnmountVmfsVolumeEx_Task

type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType

type UnmountVmfsVolumeEx_TaskResponse

type UnmountVmfsVolumeEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UnmountVmfsVolumeRequestType

type UnmountVmfsVolumeRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	VmfsUuid string                 `xml:"vmfsUuid" json:"vmfsUuid"`
}

The parameters of `HostStorageSystem.UnmountVmfsVolume`.

type UnmountVmfsVolumeResponse

type UnmountVmfsVolumeResponse struct {
}

type UnrecognizedHost

type UnrecognizedHost struct {
	VimFault

	// Host in the VirtualCenter inventory which failed the identity
	// validation.
	HostName string `xml:"hostName" json:"hostName"`
}

A UnrecognizedHost is thrown if the VirtualCenter server fails to validate the identity of the host using host-key.

If a reconnect is attempted on a host and if the host-key of the host has changed since the last successful connection attempt, (might be changed by another instance of VirtualCenter), VirtualCenter server will fail to recognize the host.

type UnrecognizedHostFault

type UnrecognizedHostFault UnrecognizedHost

type UnregisterAndDestroyRequestType

type UnregisterAndDestroyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type UnregisterAndDestroy_Task

type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType

type UnregisterAndDestroy_TaskResponse

type UnregisterAndDestroy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UnregisterExtension

type UnregisterExtension UnregisterExtensionRequestType

type UnregisterExtensionRequestType

type UnregisterExtensionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Unique name of extension to unregister.
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
}

The parameters of `ExtensionManager.UnregisterExtension`.

type UnregisterExtensionResponse

type UnregisterExtensionResponse struct {
}

type UnregisterHealthUpdateProvider added in v0.12.0

type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType

type UnregisterHealthUpdateProviderRequestType added in v0.12.0

type UnregisterHealthUpdateProviderRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The provider id.
	ProviderId string `xml:"providerId" json:"providerId"`
}

The parameters of `HealthUpdateManager.UnregisterHealthUpdateProvider`.

type UnregisterHealthUpdateProviderResponse added in v0.12.0

type UnregisterHealthUpdateProviderResponse struct {
}

type UnregisterKmsCluster added in v0.23.0

type UnregisterKmsCluster UnregisterKmsClusterRequestType

type UnregisterKmsClusterRequestType added in v0.23.0

type UnregisterKmsClusterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMS cluster ID to unregister.
	ClusterId KeyProviderId `xml:"clusterId" json:"clusterId"`
}

The parameters of `CryptoManagerKmip.UnregisterKmsCluster`.

type UnregisterKmsClusterResponse added in v0.23.0

type UnregisterKmsClusterResponse struct {
}

type UnregisterVAppRequestType added in v0.18.0

type UnregisterVAppRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type UnregisterVApp_Task added in v0.18.0

type UnregisterVApp_Task UnregisterVAppRequestType

type UnregisterVApp_TaskResponse added in v0.18.0

type UnregisterVApp_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UnregisterVM

type UnregisterVM UnregisterVMRequestType

type UnregisterVMRequestType

type UnregisterVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type UnregisterVMResponse

type UnregisterVMResponse struct {
}

type UnsharedSwapVMotionNotSupported

type UnsharedSwapVMotionNotSupported struct {
	MigrationFeatureNotSupported
}

The compute resource and virtual machine configurations for swapfile placement would require the virtual machine swapfile to change location for this VMotion; however the host does not support this.

type UnsharedSwapVMotionNotSupportedFault

type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported

type UnsupportedDatastore

type UnsupportedDatastore struct {
	VmConfigFault

	// The invalid datastore for this virtual machine.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

The virtual machine is not supported on the target datastore.

This fault is thrown by provisioning operations when an attempt is made to create a virtual machine on an unsupported datastore (for example, creating a non-legacy virtual machine on a legacy datastore).

func (*UnsupportedDatastore) GetUnsupportedDatastore

func (b *UnsupportedDatastore) GetUnsupportedDatastore() *UnsupportedDatastore

type UnsupportedDatastoreFault

type UnsupportedDatastoreFault BaseUnsupportedDatastore

type UnsupportedGuest

type UnsupportedGuest struct {
	InvalidVmConfig

	// The guest OS ID for the unsupported guest.
	UnsupportedGuestOS string `xml:"unsupportedGuestOS" json:"unsupportedGuestOS"`
}

The specified guest operating system is not supported on the host that is the target of the operation.

type UnsupportedGuestFault

type UnsupportedGuestFault UnsupportedGuest

type UnsupportedVimApiVersion

type UnsupportedVimApiVersion struct {
	VimFault

	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

This exception will be thrown if a client tries to connect with a unsupported version of the Vim API.

type UnsupportedVimApiVersionFault

type UnsupportedVimApiVersionFault UnsupportedVimApiVersion

type UnsupportedVmxLocation

type UnsupportedVmxLocation struct {
	VmConfigFault
}

ESX 3 Server products requires the .vmx file to be stored on NAS or VMFS3 storage.

If attempting to power on a virtual machine with the .vmx file stored on the service console, this fault will be thrown.

type UnsupportedVmxLocationFault

type UnsupportedVmxLocationFault UnsupportedVmxLocation

type UnusedVirtualDiskBlocksNotScrubbed

type UnusedVirtualDiskBlocksNotScrubbed struct {
	DeviceBackingNotSupported
}

The unused disk blocks of the specified virtual disk have not been scrubbed on the file system.

Typically, this fault is returned as part of a parent fault like `VmConfigIncompatibleForFaultTolerance`, indicating that the unused blocks of the virtual disk must be zeroed-out on the file system before before fault tolerance can be enabled on the associated virtual machine.

type UnusedVirtualDiskBlocksNotScrubbedFault

type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed

type UpdateAnswerFileRequestType

type UpdateAnswerFileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Host with which the answer file is associated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Host-specific configuration data. If the configuration
	// specification does not contain any host-specific user input
	// (<code>configSpec</code>.`AnswerFileOptionsCreateSpec.userInput`),
	// the method does not perform any operation on the answer file.
	ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr" json:"configSpec"`
}

The parameters of `HostProfileManager.UpdateAnswerFile_Task`.

type UpdateAnswerFile_Task

type UpdateAnswerFile_Task UpdateAnswerFileRequestType

type UpdateAnswerFile_TaskResponse

type UpdateAnswerFile_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateAssignableHardwareConfig added in v0.23.0

type UpdateAssignableHardwareConfig UpdateAssignableHardwareConfigRequestType

type UpdateAssignableHardwareConfigRequestType added in v0.23.0

type UpdateAssignableHardwareConfigRequestType struct {
	This   ManagedObjectReference       `xml:"_this" json:"-"`
	Config HostAssignableHardwareConfig `xml:"config" json:"config"`
}

The parameters of `HostAssignableHardwareManager.UpdateAssignableHardwareConfig`.

type UpdateAssignableHardwareConfigResponse added in v0.23.0

type UpdateAssignableHardwareConfigResponse struct {
}

type UpdateAssignedLicenseRequestType

type UpdateAssignedLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// ID of the entity. E.g. HostSystem.
	Entity string `xml:"entity" json:"entity"`
	// A license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// Display name for the entity
	EntityDisplayName string `xml:"entityDisplayName,omitempty" json:"entityDisplayName,omitempty"`
}

The parameters of `LicenseAssignmentManager.UpdateAssignedLicense`.

type UpdateAssignedLicenseResponse

type UpdateAssignedLicenseResponse struct {
	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
}

type UpdateAuthorizationRoleRequestType

type UpdateAuthorizationRoleRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the role that is updated.
	RoleId int32 `xml:"roleId" json:"roleId"`
	// The new name for the role.
	NewName string `xml:"newName" json:"newName"`
	// The new set of privileges to assign to the role.
	PrivIds []string `xml:"privIds,omitempty" json:"privIds,omitempty"`
}

The parameters of `AuthorizationManager.UpdateAuthorizationRole`.

type UpdateAuthorizationRoleResponse

type UpdateAuthorizationRoleResponse struct {
}

type UpdateBootDevice

type UpdateBootDevice UpdateBootDeviceRequestType

type UpdateBootDeviceRequestType

type UpdateBootDeviceRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The `HostBootDevice.key` of the
	// `HostBootDevice` from which the host will boot.
	Key string `xml:"key" json:"key"`
}

The parameters of `HostBootDeviceSystem.UpdateBootDevice`.

type UpdateBootDeviceResponse

type UpdateBootDeviceResponse struct {
}

type UpdateChildResourceConfigurationRequestType

type UpdateChildResourceConfigurationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	Spec []ResourceConfigSpec   `xml:"spec" json:"spec"`
}

The parameters of `ResourcePool.UpdateChildResourceConfiguration`.

type UpdateChildResourceConfigurationResponse

type UpdateChildResourceConfigurationResponse struct {
}

type UpdateClusterProfileRequestType

type UpdateClusterProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification which describes the changes.
	Config BaseClusterProfileConfigSpec `xml:"config,typeattr" json:"config"`
}

The parameters of `ClusterProfile.UpdateClusterProfile`.

type UpdateClusterProfileResponse

type UpdateClusterProfileResponse struct {
}

type UpdateConfig

type UpdateConfig UpdateConfigRequestType

type UpdateConfigRequestType

type UpdateConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If set, then the new name of the resource pool.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// If set, then the new resource allocation for this
	// resource pool.
	Config *ResourceConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
}

The parameters of `ResourcePool.UpdateConfig`.

type UpdateConfigResponse

type UpdateConfigResponse struct {
}

type UpdateConsoleIpRouteConfigRequestType

type UpdateConsoleIpRouteConfigRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
}

The parameters of `HostNetworkSystem.UpdateConsoleIpRouteConfig`.

type UpdateConsoleIpRouteConfigResponse

type UpdateConsoleIpRouteConfigResponse struct {
}

type UpdateCounterLevelMappingRequestType

type UpdateCounterLevelMappingRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// An array of `PerformanceManagerCounterLevelMapping` objects. The
	// levels for the counters passed in are changed to the passed in values. If
	// the optional aggregateLevel field is left unset then only the
	// perDeviceLevel is configured. If the optional perDeviceLevel is left
	// unset then only the aggregateLevel is configured. If there are multiple
	// entries in the passed in array for the same counterId being updated then
	// the last entry containing the counterId takes effect.
	CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap" json:"counterLevelMap"`
}

The parameters of `PerformanceManager.UpdateCounterLevelMapping`.

type UpdateCounterLevelMappingResponse

type UpdateCounterLevelMappingResponse struct {
}

type UpdateDVSHealthCheckConfigRequestType

type UpdateDVSHealthCheckConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The health check configuration.
	HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr" json:"healthCheckConfig"`
}

The parameters of `DistributedVirtualSwitch.UpdateDVSHealthCheckConfig_Task`.

type UpdateDVSHealthCheckConfig_TaskResponse

type UpdateDVSHealthCheckConfig_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateDVSLacpGroupConfigRequestType

type UpdateDVSLacpGroupConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The Link Aggregation Control Protocol groups to be configured.
	LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec" json:"lacpGroupSpec"`
}

The parameters of `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task`.

type UpdateDVSLacpGroupConfig_Task

type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType

type UpdateDVSLacpGroupConfig_TaskResponse

type UpdateDVSLacpGroupConfig_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateDateTime

type UpdateDateTime UpdateDateTimeRequestType

type UpdateDateTimeConfigRequestType

type UpdateDateTimeConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new DateTime configuration information.
	Config HostDateTimeConfig `xml:"config" json:"config"`
}

The parameters of `HostDateTimeSystem.UpdateDateTimeConfig`.

type UpdateDateTimeConfigResponse

type UpdateDateTimeConfigResponse struct {
}

type UpdateDateTimeRequestType

type UpdateDateTimeRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// DateTime to update the host to.
	DateTime time.Time `xml:"dateTime" json:"dateTime"`
}

The parameters of `HostDateTimeSystem.UpdateDateTime`.

type UpdateDateTimeResponse

type UpdateDateTimeResponse struct {
}

type UpdateDefaultPolicy

type UpdateDefaultPolicy UpdateDefaultPolicyRequestType

type UpdateDefaultPolicyRequestType

type UpdateDefaultPolicyRequestType struct {
	This          ManagedObjectReference    `xml:"_this" json:"-"`
	DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy" json:"defaultPolicy"`
}

The parameters of `HostFirewallSystem.UpdateDefaultPolicy`.

type UpdateDefaultPolicyResponse

type UpdateDefaultPolicyResponse struct {
}

type UpdateDiskPartitionsRequestType

type UpdateDiskPartitionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the device path for the specific disk.
	DevicePath string `xml:"devicePath" json:"devicePath"`
	// A data object that describes the disk partition table
	// specification used to configure the partitions on a disk.
	Spec HostDiskPartitionSpec `xml:"spec" json:"spec"`
}

The parameters of `HostStorageSystem.UpdateDiskPartitions`.

type UpdateDiskPartitionsResponse

type UpdateDiskPartitionsResponse struct {
}

type UpdateDnsConfig

type UpdateDnsConfig UpdateDnsConfigRequestType

type UpdateDnsConfigRequestType

type UpdateDnsConfigRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Config BaseHostDnsConfig      `xml:"config,typeattr" json:"config"`
}

The parameters of `HostNetworkSystem.UpdateDnsConfig`.

type UpdateDnsConfigResponse

type UpdateDnsConfigResponse struct {
}

type UpdateDvsCapability

type UpdateDvsCapability UpdateDvsCapabilityRequestType

type UpdateDvsCapabilityRequestType

type UpdateDvsCapabilityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The capability of the switch.
	Capability DVSCapability `xml:"capability" json:"capability"`
}

The parameters of `DistributedVirtualSwitch.UpdateDvsCapability`.

type UpdateDvsCapabilityResponse

type UpdateDvsCapabilityResponse struct {
}

type UpdateExtension

type UpdateExtension UpdateExtensionRequestType

type UpdateExtensionRequestType

type UpdateExtensionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Updated extension description.
	Extension Extension `xml:"extension" json:"extension"`
}

The parameters of `ExtensionManager.UpdateExtension`.

type UpdateExtensionResponse

type UpdateExtensionResponse struct {
}

type UpdateFlags

type UpdateFlags UpdateFlagsRequestType

type UpdateFlagsRequestType

type UpdateFlagsRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	FlagInfo HostFlagInfo           `xml:"flagInfo" json:"flagInfo"`
}

The parameters of `HostSystem.UpdateFlags`.

type UpdateFlagsResponse

type UpdateFlagsResponse struct {
}

type UpdateGraphicsConfig added in v0.12.0

type UpdateGraphicsConfig UpdateGraphicsConfigRequestType

type UpdateGraphicsConfigRequestType added in v0.12.0

type UpdateGraphicsConfigRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Config HostGraphicsConfig     `xml:"config" json:"config"`
}

The parameters of `HostGraphicsManager.UpdateGraphicsConfig`.

type UpdateGraphicsConfigResponse added in v0.12.0

type UpdateGraphicsConfigResponse struct {
}

type UpdateHostImageAcceptanceLevelRequestType

type UpdateHostImageAcceptanceLevelRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the new AcceptanceLevel to set.
	NewAcceptanceLevel string `xml:"newAcceptanceLevel" json:"newAcceptanceLevel"`
}

The parameters of `HostImageConfigManager.UpdateHostImageAcceptanceLevel`.

type UpdateHostImageAcceptanceLevelResponse

type UpdateHostImageAcceptanceLevelResponse struct {
}

type UpdateHostProfile

type UpdateHostProfile UpdateHostProfileRequestType

type UpdateHostProfileRequestType

type UpdateHostProfileRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification containing the new data.
	Config BaseHostProfileConfigSpec `xml:"config,typeattr" json:"config"`
}

The parameters of `HostProfile.UpdateHostProfile`.

type UpdateHostProfileResponse

type UpdateHostProfileResponse struct {
}

type UpdateHostSpecification added in v0.12.0

type UpdateHostSpecification UpdateHostSpecificationRequestType

type UpdateHostSpecificationRequestType added in v0.12.0

type UpdateHostSpecificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The host whose specification will be updated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The new host specification to be updated with.
	HostSpec HostSpecification `xml:"hostSpec" json:"hostSpec"`
}

The parameters of `HostSpecificationManager.UpdateHostSpecification`.

type UpdateHostSpecificationResponse added in v0.12.0

type UpdateHostSpecificationResponse struct {
}

type UpdateHostSubSpecification added in v0.12.0

type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType

type UpdateHostSubSpecificationRequestType added in v0.12.0

type UpdateHostSubSpecificationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The host whose specification will be updated.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// The data object for the new host sub specification.
	HostSubSpec HostSubSpecification `xml:"hostSubSpec" json:"hostSubSpec"`
}

The parameters of `HostSpecificationManager.UpdateHostSubSpecification`.

type UpdateHostSubSpecificationResponse added in v0.12.0

type UpdateHostSubSpecificationResponse struct {
}

type UpdateHppMultipathLunPolicy added in v0.23.0

type UpdateHppMultipathLunPolicy UpdateHppMultipathLunPolicyRequestType

type UpdateHppMultipathLunPolicyRequestType added in v0.23.0

type UpdateHppMultipathLunPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The logical unit ID
	LunId string `xml:"lunId" json:"lunId"`
	// A data object that describes a path selection policy and
	// its configuration for the logical unit.
	Policy HostMultipathInfoHppLogicalUnitPolicy `xml:"policy" json:"policy"`
}

The parameters of `HostStorageSystem.UpdateHppMultipathLunPolicy`.

type UpdateHppMultipathLunPolicyResponse added in v0.23.0

type UpdateHppMultipathLunPolicyResponse struct {
}

type UpdateInternetScsiAdvancedOptionsRequestType

type UpdateInternetScsiAdvancedOptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The set the targets to configure. If not provided,
	// the settings will be applied to the host bus adapter itself.
	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
	// The list of options to set.
	Options []HostInternetScsiHbaParamValue `xml:"options" json:"options"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiAdvancedOptions`.

type UpdateInternetScsiAdvancedOptionsResponse

type UpdateInternetScsiAdvancedOptionsResponse struct {
}

type UpdateInternetScsiAliasRequestType

type UpdateInternetScsiAliasRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The new value for the alias of the adapter.
	IScsiAlias string `xml:"iScsiAlias" json:"iScsiAlias"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiAlias`.

type UpdateInternetScsiAliasResponse

type UpdateInternetScsiAliasResponse struct {
}

type UpdateInternetScsiAuthenticationPropertiesRequestType

type UpdateInternetScsiAuthenticationPropertiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	// associated with the target.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The data object that represents
	// the authentication settings to set.
	AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties" json:"authenticationProperties"`
	// The set the targets to configure. Optional,
	// when obmitted will configura the authentication properties
	// for the adapter instead.
	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty" vim:"4.0"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiAuthenticationProperties`.

type UpdateInternetScsiAuthenticationPropertiesResponse

type UpdateInternetScsiAuthenticationPropertiesResponse struct {
}

type UpdateInternetScsiDigestPropertiesRequestType

type UpdateInternetScsiDigestPropertiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The set the targets to configure. If not provided,
	// the settings will be applied to the host bus adapter itself.
	TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty" json:"targetSet,omitempty"`
	// The data object that represents the digest
	// settings to set.
	DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties" json:"digestProperties"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiDigestProperties`.

type UpdateInternetScsiDigestPropertiesResponse

type UpdateInternetScsiDigestPropertiesResponse struct {
}

type UpdateInternetScsiDiscoveryPropertiesRequestType

type UpdateInternetScsiDiscoveryPropertiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The discovery settings for this host bus adapter.
	DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties" json:"discoveryProperties"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiDiscoveryProperties`.

type UpdateInternetScsiDiscoveryPropertiesResponse

type UpdateInternetScsiDiscoveryPropertiesResponse struct {
}

type UpdateInternetScsiIPPropertiesRequestType

type UpdateInternetScsiIPPropertiesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The device of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// A data object representing the IP properties
	// for the host bus adapter
	IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties" json:"ipProperties"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiIPProperties`.

type UpdateInternetScsiIPPropertiesResponse

type UpdateInternetScsiIPPropertiesResponse struct {
}

type UpdateInternetScsiNameRequestType

type UpdateInternetScsiNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The current name of the Internet SCSI HBA adapter.
	IScsiHbaDevice string `xml:"iScsiHbaDevice" json:"iScsiHbaDevice"`
	// The new name for the Internet SCSI HBA adapter
	IScsiName string `xml:"iScsiName" json:"iScsiName"`
}

The parameters of `HostStorageSystem.UpdateInternetScsiName`.

type UpdateInternetScsiNameResponse

type UpdateInternetScsiNameResponse struct {
}

type UpdateIpConfig

type UpdateIpConfig UpdateIpConfigRequestType

type UpdateIpConfigRequestType

type UpdateIpConfigRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	IpConfig HostIpConfig           `xml:"ipConfig" json:"ipConfig"`
}

The parameters of `HostVMotionSystem.UpdateIpConfig`.

type UpdateIpConfigResponse

type UpdateIpConfigResponse struct {
}

type UpdateIpPool

type UpdateIpPool UpdateIpPoolRequestType

type UpdateIpPoolRequestType

type UpdateIpPoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The datacenter on which to look up the pool.
	//
	// Required privileges: Datacenter.IpPoolConfig
	//
	// Refers instance of `Datacenter`.
	Dc ManagedObjectReference `xml:"dc" json:"dc"`
	// The IP pool to update on the server
	Pool IpPool `xml:"pool" json:"pool"`
}

The parameters of `IpPoolManager.UpdateIpPool`.

type UpdateIpPoolResponse

type UpdateIpPoolResponse struct {
}

type UpdateIpRouteConfig

type UpdateIpRouteConfig UpdateIpRouteConfigRequestType

type UpdateIpRouteConfigRequestType

type UpdateIpRouteConfigRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Config BaseHostIpRouteConfig  `xml:"config,typeattr" json:"config"`
}

The parameters of `HostNetworkSystem.UpdateIpRouteConfig`.

type UpdateIpRouteConfigResponse

type UpdateIpRouteConfigResponse struct {
}

type UpdateIpRouteTableConfigRequestType

type UpdateIpRouteTableConfigRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Config HostIpRouteTableConfig `xml:"config" json:"config"`
}

The parameters of `HostNetworkSystem.UpdateIpRouteTableConfig`.

type UpdateIpRouteTableConfigResponse

type UpdateIpRouteTableConfigResponse struct {
}

type UpdateIpmi

type UpdateIpmi UpdateIpmiRequestType

type UpdateIpmiRequestType

type UpdateIpmiRequestType struct {
	This     ManagedObjectReference `xml:"_this" json:"-"`
	IpmiInfo HostIpmiInfo           `xml:"ipmiInfo" json:"ipmiInfo"`
}

The parameters of `HostSystem.UpdateIpmi`.

type UpdateIpmiResponse

type UpdateIpmiResponse struct {
}

type UpdateKmipServer added in v0.12.0

type UpdateKmipServer UpdateKmipServerRequestType

type UpdateKmipServerRequestType added in v0.12.0

type UpdateKmipServerRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP server connection information.
	Server KmipServerSpec `xml:"server" json:"server"`
}

The parameters of `CryptoManagerKmip.UpdateKmipServer`.

type UpdateKmipServerResponse added in v0.12.0

type UpdateKmipServerResponse struct {
}

type UpdateKmsSignedCsrClientCert added in v0.12.0

type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType

type UpdateKmsSignedCsrClientCertRequestType added in v0.12.0

type UpdateKmsSignedCsrClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Client certificate.
	Certificate string `xml:"certificate" json:"certificate"`
}

The parameters of `CryptoManagerKmip.UpdateKmsSignedCsrClientCert`.

type UpdateKmsSignedCsrClientCertResponse added in v0.12.0

type UpdateKmsSignedCsrClientCertResponse struct {
}

type UpdateLicense

type UpdateLicense UpdateLicenseRequestType

type UpdateLicenseLabel

type UpdateLicenseLabel UpdateLicenseLabelRequestType

type UpdateLicenseLabelRequestType

type UpdateLicenseLabelRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// A label key.
	LabelKey string `xml:"labelKey" json:"labelKey"`
	// Value for the label.
	LabelValue string `xml:"labelValue" json:"labelValue"`
}

The parameters of `LicenseManager.UpdateLicenseLabel`.

type UpdateLicenseLabelResponse

type UpdateLicenseLabelResponse struct {
}

type UpdateLicenseRequestType

type UpdateLicenseRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// A license. E.g. a serial license.
	LicenseKey string `xml:"licenseKey" json:"licenseKey"`
	// array of key-value labels.
	Labels []KeyValue `xml:"labels,omitempty" json:"labels,omitempty"`
}

The parameters of `LicenseManager.UpdateLicense`.

type UpdateLicenseResponse

type UpdateLicenseResponse struct {
	Returnval LicenseManagerLicenseInfo `xml:"returnval" json:"returnval"`
}

type UpdateLinkedChildrenRequestType

type UpdateLinkedChildrenRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// a set of LinkInfo objects that either add a new link
	// or modify an exisiting link.
	AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty" json:"addChangeSet,omitempty"`
	// a set of entities that should no longer link to this vApp.
	//
	// Refers instances of `ManagedEntity`.
	RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty" json:"removeSet,omitempty"`
}

The parameters of `VirtualApp.UpdateLinkedChildren`.

type UpdateLinkedChildrenResponse

type UpdateLinkedChildrenResponse struct {
}

type UpdateLocalSwapDatastoreRequestType

type UpdateLocalSwapDatastoreRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The selected datastore. If this argument is unset, then
	// the `localSwapDatastore`
	// property becomes unset. Otherwise, the host must have read/write
	// access to the indicated datastore.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
}

The parameters of `HostDatastoreSystem.UpdateLocalSwapDatastore`.

type UpdateLocalSwapDatastoreResponse

type UpdateLocalSwapDatastoreResponse struct {
}

type UpdateLockdownExceptionsRequestType

type UpdateLockdownExceptionsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the new list of lockdown mode exceptions.
	Users []string `xml:"users,omitempty" json:"users,omitempty"`
}

The parameters of `HostAccessManager.UpdateLockdownExceptions`.

type UpdateLockdownExceptionsResponse

type UpdateLockdownExceptionsResponse struct {
}

type UpdateModuleOptionStringRequestType

type UpdateModuleOptionStringRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Module name.
	Name string `xml:"name" json:"name"`
	// Option string to be passed to the kernel module at
	// load time.
	Options string `xml:"options" json:"options"`
}

The parameters of `HostKernelModuleSystem.UpdateModuleOptionString`.

type UpdateModuleOptionStringResponse

type UpdateModuleOptionStringResponse struct {
}

type UpdateNetworkConfig

type UpdateNetworkConfig UpdateNetworkConfigRequestType

type UpdateNetworkConfigRequestType

type UpdateNetworkConfigRequestType struct {
	This       ManagedObjectReference `xml:"_this" json:"-"`
	Config     HostNetworkConfig      `xml:"config" json:"config"`
	ChangeMode string                 `xml:"changeMode" json:"changeMode"`
}

The parameters of `HostNetworkSystem.UpdateNetworkConfig`.

type UpdateNetworkConfigResponse

type UpdateNetworkConfigResponse struct {
	Returnval HostNetworkConfigResult `xml:"returnval" json:"returnval"`
}

type UpdateNetworkResourcePoolRequestType

type UpdateNetworkResourcePoolRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The network resource pool configuration specification.
	ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec" json:"configSpec"`
}

The parameters of `DistributedVirtualSwitch.UpdateNetworkResourcePool`.

type UpdateNetworkResourcePoolResponse

type UpdateNetworkResourcePoolResponse struct {
}

type UpdateOptions

type UpdateOptions UpdateOptionsRequestType

type UpdateOptionsRequestType

type UpdateOptionsRequestType struct {
	This         ManagedObjectReference `xml:"_this" json:"-"`
	ChangedValue []BaseOptionValue      `xml:"changedValue,typeattr" json:"changedValue"`
}

The parameters of `OptionManager.UpdateOptions`.

type UpdateOptionsResponse

type UpdateOptionsResponse struct {
}

type UpdatePassthruConfigRequestType

type UpdatePassthruConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The new PciPassthru configuration information.
	Config []BaseHostPciPassthruConfig `xml:"config,typeattr" json:"config"`
}

The parameters of `HostPciPassthruSystem.UpdatePassthruConfig`.

type UpdatePassthruConfigResponse

type UpdatePassthruConfigResponse struct {
}

type UpdatePerfInterval

type UpdatePerfInterval UpdatePerfIntervalRequestType

type UpdatePerfIntervalRequestType

type UpdatePerfIntervalRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The *historical interval* being modified, a
	// complete data object comprising values for `PerfInterval.enabled`, *interval ID*,
	// `PerfInterval.length` of time to maintain statistics for this
	// interval in the database, `PerfInterval.level`, `PerfInterval.name`, and `PerfInterval.samplingPeriod`
	// properties.
	Interval PerfInterval `xml:"interval" json:"interval"`
}

The parameters of `PerformanceManager.UpdatePerfInterval`.

type UpdatePerfIntervalResponse

type UpdatePerfIntervalResponse struct {
}

type UpdatePhysicalNicLinkSpeedRequestType

type UpdatePhysicalNicLinkSpeedRequestType struct {
	This      ManagedObjectReference `xml:"_this" json:"-"`
	Device    string                 `xml:"device" json:"device"`
	LinkSpeed *PhysicalNicLinkInfo   `xml:"linkSpeed,omitempty" json:"linkSpeed,omitempty"`
}

The parameters of `HostNetworkSystem.UpdatePhysicalNicLinkSpeed`.

type UpdatePhysicalNicLinkSpeedResponse

type UpdatePhysicalNicLinkSpeedResponse struct {
}

type UpdatePortGroup

type UpdatePortGroup UpdatePortGroupRequestType

type UpdatePortGroupRequestType

type UpdatePortGroupRequestType struct {
	This    ManagedObjectReference `xml:"_this" json:"-"`
	PgName  string                 `xml:"pgName" json:"pgName"`
	Portgrp HostPortGroupSpec      `xml:"portgrp" json:"portgrp"`
}

The parameters of `HostNetworkSystem.UpdatePortGroup`.

type UpdatePortGroupResponse

type UpdatePortGroupResponse struct {
}

type UpdateProductLockerLocationRequestType added in v0.21.0

type UpdateProductLockerLocationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The absolute path for the VMware Tools repository
	// on the host. It should have "/vmfs/volumes/" prefix and
	// it should be a valid existing path, or it could be
	// empty to restore to default value.
	Path string `xml:"path" json:"path"`
}

The parameters of `HostSystem.UpdateProductLockerLocation_Task`.

type UpdateProductLockerLocation_Task added in v0.21.0

type UpdateProductLockerLocation_Task UpdateProductLockerLocationRequestType

type UpdateProductLockerLocation_TaskResponse added in v0.21.0

type UpdateProductLockerLocation_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateProgress

type UpdateProgress UpdateProgressRequestType

type UpdateProgressRequestType

type UpdateProgressRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Percentage to set for this task
	PercentDone int32 `xml:"percentDone" json:"percentDone"`
}

The parameters of `Task.UpdateProgress`.

type UpdateProgressResponse

type UpdateProgressResponse struct {
}

type UpdateReferenceHost

type UpdateReferenceHost UpdateReferenceHostRequestType

type UpdateReferenceHostRequestType

type UpdateReferenceHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Reference host to use. If unset, the `HostProfile.referenceHost`
	// property is cleared.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `HostProfile.UpdateReferenceHost`.

type UpdateReferenceHostResponse

type UpdateReferenceHostResponse struct {
}

type UpdateRuleset

type UpdateRuleset UpdateRulesetRequestType

type UpdateRulesetRequestType

type UpdateRulesetRequestType struct {
	This ManagedObjectReference         `xml:"_this" json:"-"`
	Id   string                         `xml:"id" json:"id"`
	Spec HostFirewallRulesetRulesetSpec `xml:"spec" json:"spec"`
}

The parameters of `HostFirewallSystem.UpdateRuleset`.

type UpdateRulesetResponse

type UpdateRulesetResponse struct {
}

type UpdateScsiLunDisplayNameRequestType

type UpdateScsiLunDisplayNameRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The uuid of the ScsiLun to update.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
	// The new name to assign to the ScsiLun object.
	DisplayName string `xml:"displayName" json:"displayName"`
}

The parameters of `HostStorageSystem.UpdateScsiLunDisplayName`.

type UpdateScsiLunDisplayNameResponse

type UpdateScsiLunDisplayNameResponse struct {
}

type UpdateSelfSignedClientCert added in v0.12.0

type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType

type UpdateSelfSignedClientCertRequestType added in v0.12.0

type UpdateSelfSignedClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Client certificate.
	Certificate string `xml:"certificate" json:"certificate"`
}

The parameters of `CryptoManagerKmip.UpdateSelfSignedClientCert`.

type UpdateSelfSignedClientCertResponse added in v0.12.0

type UpdateSelfSignedClientCertResponse struct {
}

type UpdateServiceConsoleVirtualNicRequestType

type UpdateServiceConsoleVirtualNicRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device string                 `xml:"device" json:"device"`
	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
}

The parameters of `HostNetworkSystem.UpdateServiceConsoleVirtualNic`.

type UpdateServiceConsoleVirtualNicResponse

type UpdateServiceConsoleVirtualNicResponse struct {
}

type UpdateServiceMessageRequestType

type UpdateServiceMessageRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The message to send. Newline characters may be included.
	Message string `xml:"message" json:"message"`
}

The parameters of `SessionManager.UpdateServiceMessage`.

type UpdateServiceMessageResponse

type UpdateServiceMessageResponse struct {
}

type UpdateServicePolicy

type UpdateServicePolicy UpdateServicePolicyRequestType

type UpdateServicePolicyRequestType

type UpdateServicePolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Service identifier
	// (`HostServiceSystem.serviceInfo*.*HostServiceInfo.service*.*HostService.key`).
	Id string `xml:"id" json:"id"`
	// Specifies the condition for service activation.
	// Use one of the `HostServicePolicy_enum` values.
	Policy string `xml:"policy" json:"policy"`
}

The parameters of `HostServiceSystem.UpdateServicePolicy`.

type UpdateServicePolicyResponse

type UpdateServicePolicyResponse struct {
}

type UpdateSet

type UpdateSet struct {
	DynamicData

	// New data version to pass in the next call to `PropertyCollector.CheckForUpdates`,
	// `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.
	//
	// These versions,
	// although they are opaque, are strongly ordered in the sense that passing
	// a version to `PropertyCollector.WaitForUpdates`, `PropertyCollector.CheckForUpdates` or
	// `PropertyCollector.WaitForUpdatesEx` requests updates that reflect changes in the
	// objects selected by the Filter that happened after the specified version.
	Version string `xml:"version" json:"version"`
	// Set of managed object updates detected by specific filters.
	//
	// Updates
	// are reported in sets. Each set is associated with a reference to a
	// filter that detected the updates in the set.
	FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty" json:"filterSet,omitempty"`
	// If true, this `UpdateSet` contains results
	// from a suspended change calculation, which places restrictions on the
	// use of version.
	//
	// The `PropertyCollector` may suspend a calculation due to server
	// policy or if the total number of `ObjectUpdate` entries summed across every `PropertyFilterUpdate` reached the maximum specified in
	// `WaitOptions.maxObjectUpdates`. The client
	// can pass the "truncated data version" to `PropertyCollector.WaitForUpdatesEx` to
	// resume the update calculation, which will start on the filter where it
	// left off. A truncated data version cannot be used more than once and
	// may not be passed to `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`. `UpdateSet.truncated` will
	// never be true in an `UpdateSet` returned from
	// `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`.
	//
	// If false, this `UpdateSet` contains a
	// complete change calculation or the last part of a series of suspended
	// change calculations. The version may be passed to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx` more than once. Re-using a version allows a client
	// to recover a change sequence after a transient failure on a previous
	// call.
	Truncated *bool `xml:"truncated" json:"truncated,omitempty" vim:"4.1"`
}

A set of updates that represent the changes since a prior call to `PropertyCollector.CheckForUpdates`, `PropertyCollector.WaitForUpdates`, or `PropertyCollector.WaitForUpdatesEx`.

type UpdateSoftwareInternetScsiEnabledRequestType

type UpdateSoftwareInternetScsiEnabledRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// True to enable the iSCSI; false to disable it
	Enabled bool `xml:"enabled" json:"enabled"`
}

The parameters of `HostStorageSystem.UpdateSoftwareInternetScsiEnabled`.

type UpdateSoftwareInternetScsiEnabledResponse

type UpdateSoftwareInternetScsiEnabledResponse struct {
}

type UpdateSystemResourcesRequestType

type UpdateSystemResourcesRequestType struct {
	This         ManagedObjectReference `xml:"_this" json:"-"`
	ResourceInfo HostSystemResourceInfo `xml:"resourceInfo" json:"resourceInfo"`
}

The parameters of `HostSystem.UpdateSystemResources`.

type UpdateSystemResourcesResponse

type UpdateSystemResourcesResponse struct {
}

type UpdateSystemSwapConfigurationRequestType

type UpdateSystemSwapConfigurationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Contains a list of system swap options that
	// configure the system swap functionality.
	SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig" json:"sysSwapConfig"`
}

The parameters of `HostSystem.UpdateSystemSwapConfiguration`.

type UpdateSystemSwapConfigurationResponse

type UpdateSystemSwapConfigurationResponse struct {
}

type UpdateSystemUsers

type UpdateSystemUsers UpdateSystemUsersRequestType

type UpdateSystemUsersRequestType

type UpdateSystemUsersRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// the new list of local system users.
	Users []string `xml:"users,omitempty" json:"users,omitempty"`
}

The parameters of `HostAccessManager.UpdateSystemUsers`.

type UpdateSystemUsersResponse

type UpdateSystemUsersResponse struct {
}

type UpdateUser

type UpdateUser UpdateUserRequestType

type UpdateUserRequestType

type UpdateUserRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Specification of user being updated.
	User BaseHostAccountSpec `xml:"user,typeattr" json:"user"`
}

The parameters of `HostLocalAccountManager.UpdateUser`.

type UpdateUserResponse

type UpdateUserResponse struct {
}

type UpdateVAppConfig

type UpdateVAppConfig UpdateVAppConfigRequestType

type UpdateVAppConfigRequestType

type UpdateVAppConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// contains the updates to the current configuration. Any set element,
	// is changed. All values in the spec that is left unset, will not be
	// modified.
	Spec VAppConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `VirtualApp.UpdateVAppConfig`.

type UpdateVAppConfigResponse

type UpdateVAppConfigResponse struct {
}

type UpdateVStorageInfrastructureObjectPolicyRequestType added in v0.18.0

type UpdateVStorageInfrastructureObjectPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// specification to assign a SPBM policy to virtual storage
	// infrastructure object.
	Spec VslmInfrastructureObjectPolicySpec `xml:"spec" json:"spec"`
}

The parameters of `VcenterVStorageObjectManager.UpdateVStorageInfrastructureObjectPolicy_Task`.

type UpdateVStorageInfrastructureObjectPolicy_Task added in v0.18.0

type UpdateVStorageInfrastructureObjectPolicy_Task UpdateVStorageInfrastructureObjectPolicyRequestType

type UpdateVStorageInfrastructureObjectPolicy_TaskResponse added in v0.18.0

type UpdateVStorageInfrastructureObjectPolicy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateVStorageObjectCryptoRequestType added in v0.23.0

type UpdateVStorageObjectCryptoRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// New profile requirement on the virtual storage object.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
	// The crypto information of each disk on the chain.
	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectCrypto_Task`.

type UpdateVStorageObjectCrypto_Task added in v0.23.0

type UpdateVStorageObjectCrypto_Task UpdateVStorageObjectCryptoRequestType

type UpdateVStorageObjectCrypto_TaskResponse added in v0.23.0

type UpdateVStorageObjectCrypto_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateVStorageObjectPolicyRequestType added in v0.18.0

type UpdateVStorageObjectPolicyRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual storage object is
	// located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// New profile requirement on the virtual storage object.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.UpdateVStorageObjectPolicy_Task`.

type UpdateVStorageObjectPolicy_Task added in v0.18.0

type UpdateVStorageObjectPolicy_Task UpdateVStorageObjectPolicyRequestType

type UpdateVStorageObjectPolicy_TaskResponse added in v0.18.0

type UpdateVStorageObjectPolicy_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateVVolVirtualMachineFilesRequestType added in v0.12.0

type UpdateVVolVirtualMachineFilesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Mapping of source to target storage container
	// as well as source to target VVol IDs.
	FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty" json:"failoverPair,omitempty"`
}

The parameters of `Datastore.UpdateVVolVirtualMachineFiles_Task`.

type UpdateVVolVirtualMachineFiles_Task added in v0.12.0

type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType

type UpdateVVolVirtualMachineFiles_TaskResponse added in v0.12.0

type UpdateVVolVirtualMachineFiles_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateVirtualMachineFilesRequestType

type UpdateVirtualMachineFilesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Old mount path to datastore mapping.
	MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping" json:"mountPathDatastoreMapping"`
}

The parameters of `Datastore.UpdateVirtualMachineFiles_Task`.

type UpdateVirtualMachineFilesResult

type UpdateVirtualMachineFilesResult struct {
	DynamicData

	// The list of virtual machines files the server has attempted
	// to update but failed to update.
	FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty" json:"failedVmFile,omitempty"`
}

UpdateVirtualMachineFilesResult is the result returned to the `Datastore.UpdateVirtualMachineFiles_Task` method.

type UpdateVirtualMachineFilesResultFailedVmFileInfo

type UpdateVirtualMachineFilesResultFailedVmFileInfo struct {
	DynamicData

	// The file path
	VmFile string `xml:"vmFile" json:"vmFile"`
	// The reason why the update failed.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

type UpdateVirtualMachineFiles_TaskResponse

type UpdateVirtualMachineFiles_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdateVirtualNic

type UpdateVirtualNic UpdateVirtualNicRequestType

type UpdateVirtualNicRequestType

type UpdateVirtualNicRequestType struct {
	This   ManagedObjectReference `xml:"_this" json:"-"`
	Device string                 `xml:"device" json:"device"`
	Nic    HostVirtualNicSpec     `xml:"nic" json:"nic"`
}

The parameters of `HostNetworkSystem.UpdateVirtualNic`.

type UpdateVirtualNicResponse

type UpdateVirtualNicResponse struct {
}

type UpdateVirtualSwitch

type UpdateVirtualSwitch UpdateVirtualSwitchRequestType

type UpdateVirtualSwitchRequestType

type UpdateVirtualSwitchRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	VswitchName string                 `xml:"vswitchName" json:"vswitchName"`
	Spec        HostVirtualSwitchSpec  `xml:"spec" json:"spec"`
}

The parameters of `HostNetworkSystem.UpdateVirtualSwitch`.

type UpdateVirtualSwitchResponse

type UpdateVirtualSwitchResponse struct {
}

type UpdateVmfsUnmapBandwidth added in v0.18.0

type UpdateVmfsUnmapBandwidth UpdateVmfsUnmapBandwidthRequestType

type UpdateVmfsUnmapBandwidthRequestType added in v0.18.0

type UpdateVmfsUnmapBandwidthRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The VMFS UUID.
	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
	// Unmap bandwidth specification. See
	// `VmfsUnmapBandwidthSpec`
	UnmapBandwidthSpec VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec" json:"unmapBandwidthSpec"`
}

The parameters of `HostStorageSystem.UpdateVmfsUnmapBandwidth`.

type UpdateVmfsUnmapBandwidthResponse added in v0.18.0

type UpdateVmfsUnmapBandwidthResponse struct {
}

type UpdateVmfsUnmapPriority added in v0.12.0

type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType

type UpdateVmfsUnmapPriorityRequestType added in v0.12.0

type UpdateVmfsUnmapPriorityRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The VMFS UUID.
	VmfsUuid string `xml:"vmfsUuid" json:"vmfsUuid"`
	// Unmap priority. The supported values are defined in
	// `HostVmfsVolumeUnmapPriority_enum`.
	UnmapPriority string `xml:"unmapPriority" json:"unmapPriority"`
}

The parameters of `HostStorageSystem.UpdateVmfsUnmapPriority`.

type UpdateVmfsUnmapPriorityResponse added in v0.12.0

type UpdateVmfsUnmapPriorityResponse struct {
}

type UpdateVsanRequestType

type UpdateVsanRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// host configuration settings to use for the VSAN service.
	Config VsanHostConfigInfo `xml:"config" json:"config"`
}

The parameters of `HostVsanSystem.UpdateVsan_Task`.

type UpdateVsan_Task

type UpdateVsan_Task UpdateVsanRequestType

type UpdateVsan_TaskResponse

type UpdateVsan_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpdatedAgentBeingRestartedEvent

type UpdatedAgentBeingRestartedEvent struct {
	HostEvent
}

This event records that the agent has been patched and will be restarted.

type UpgradeEvent

type UpgradeEvent struct {
	Event

	// The formatted message from the upgrade.
	Message string `xml:"message" json:"message"`
}

These event types represent events converted from VirtualCenter 1.x.

All upgraded events are converted to string values.

func (*UpgradeEvent) GetUpgradeEvent

func (b *UpgradeEvent) GetUpgradeEvent() *UpgradeEvent

type UpgradeIoFilterRequestType

type UpgradeIoFilterRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The filter to be upgraded.
	FilterId string `xml:"filterId" json:"filterId"`
	// The compute resource that the filter is installed on.
	// "compRes" must be a cluster.
	//
	// Refers instance of `ComputeResource`.
	CompRes ManagedObjectReference `xml:"compRes" json:"compRes"`
	// The URL that points to the new IO Filter VIB package.
	VibUrl string `xml:"vibUrl" json:"vibUrl"`
}

The parameters of `IoFilterManager.UpgradeIoFilter_Task`.

type UpgradeIoFilter_Task

type UpgradeIoFilter_Task UpgradeIoFilterRequestType

type UpgradeIoFilter_TaskResponse

type UpgradeIoFilter_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpgradePolicy

type UpgradePolicy string

The policy setting used to determine when tools are auto-upgraded for

type UpgradeToolsRequestType

type UpgradeToolsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// Command line options passed to the installer to modify
	// the installation procedure for tools.
	InstallerOptions string `xml:"installerOptions,omitempty" json:"installerOptions,omitempty"`
}

The parameters of `VirtualMachine.UpgradeTools_Task`.

type UpgradeTools_Task

type UpgradeTools_Task UpgradeToolsRequestType

type UpgradeTools_TaskResponse

type UpgradeTools_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpgradeVMRequestType

type UpgradeVMRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// If specified, upgrade to that specified version. If not specified,
	// upgrade to the most current virtual hardware supported on the host.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

The parameters of `VirtualMachine.UpgradeVM_Task`.

type UpgradeVM_Task

type UpgradeVM_Task UpgradeVMRequestType

type UpgradeVM_TaskResponse

type UpgradeVM_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type UpgradeVmLayout

type UpgradeVmLayout UpgradeVmLayoutRequestType

type UpgradeVmLayoutRequestType

type UpgradeVmLayoutRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
}

type UpgradeVmLayoutResponse

type UpgradeVmLayoutResponse struct {
}

type UpgradeVmfs

type UpgradeVmfs UpgradeVmfsRequestType

type UpgradeVmfsRequestType

type UpgradeVmfsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The path of the VMFS.
	VmfsPath string `xml:"vmfsPath" json:"vmfsPath"`
}

The parameters of `HostStorageSystem.UpgradeVmfs`.

type UpgradeVmfsResponse

type UpgradeVmfsResponse struct {
}

type UpgradeVsanObjects

type UpgradeVsanObjects UpgradeVsanObjectsRequestType

type UpgradeVsanObjectsRequestType

type UpgradeVsanObjectsRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The array of objects' UUID which will be upgraded.
	Uuids []string `xml:"uuids" json:"uuids"`
	// The new version will be applied to objects.
	NewVersion int32 `xml:"newVersion" json:"newVersion"`
}

The parameters of `HostVsanInternalSystem.UpgradeVsanObjects`.

type UpgradeVsanObjectsResponse

type UpgradeVsanObjectsResponse struct {
	Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type UplinkPortMtuNotSupportEvent

type UplinkPortMtuNotSupportEvent struct {
	DvsHealthStatusChangeEvent
}

Mtu health check status of an uplink port is changed, and in the latest mtu health check, not all the vlans' MTU setting on physical switch allows vSphere Distributed Switch max MTU size packets passing.

type UplinkPortMtuSupportEvent

type UplinkPortMtuSupportEvent struct {
	DvsHealthStatusChangeEvent
}

Mtu health check status of an uplink port is changed, and in the latest mtu health check, all the vlans' MTU setting on physical switch allows vSphere Distributed Switch max MTU size packets passing.

type UplinkPortVlanTrunkedEvent

type UplinkPortVlanTrunkedEvent struct {
	DvsHealthStatusChangeEvent
}

Vlans health check status of an uplink port is changed, and in the latest vlan health check, all the vlans are trunked by the physical switch connected to the uplink port.

type UplinkPortVlanUntrunkedEvent

type UplinkPortVlanUntrunkedEvent struct {
	DvsHealthStatusChangeEvent
}

Vlans health check status of an uplink port is changed, and in the latest vlan health check, not all the vlans are trunked by the physical switch connected to the uplink port.

type UploadClientCert added in v0.12.0

type UploadClientCert UploadClientCertRequestType

type UploadClientCertRequestType added in v0.12.0

type UploadClientCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Client certificate.
	Certificate string `xml:"certificate" json:"certificate"`
	// \[in\] Private key.
	PrivateKey string `xml:"privateKey" json:"privateKey"`
}

The parameters of `CryptoManagerKmip.UploadClientCert`.

type UploadClientCertResponse added in v0.12.0

type UploadClientCertResponse struct {
}

type UploadKmipServerCert added in v0.12.0

type UploadKmipServerCert UploadKmipServerCertRequestType

type UploadKmipServerCertRequestType added in v0.12.0

type UploadKmipServerCertRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// \[in\] KMIP cluster.
	Cluster KeyProviderId `xml:"cluster" json:"cluster"`
	// \[in\] Server certificate in PEM encoding.
	Certificate string `xml:"certificate" json:"certificate"`
}

The parameters of `CryptoManagerKmip.UploadKmipServerCert`.

type UploadKmipServerCertResponse added in v0.12.0

type UploadKmipServerCertResponse struct {
}

type UsbScanCodeSpec added in v0.12.0

type UsbScanCodeSpec struct {
	DynamicData

	KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents" json:"keyEvents"`
}

This data object contains information about which USB HID codes to send to the Virtual Machine's keyboard.

type UsbScanCodeSpecKeyEvent added in v0.12.0

type UsbScanCodeSpecKeyEvent struct {
	DynamicData

	// USB HID code of the event
	UsbHidCode int32 `xml:"usbHidCode" json:"usbHidCode"`
	// Modifiers to apply to the USB HID code
	Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty" json:"modifiers,omitempty"`
}

type UsbScanCodeSpecModifierType added in v0.12.0

type UsbScanCodeSpecModifierType struct {
	DynamicData

	// Left control key
	LeftControl *bool `xml:"leftControl" json:"leftControl,omitempty"`
	// Left shift key
	LeftShift *bool `xml:"leftShift" json:"leftShift,omitempty"`
	// Left alt key
	LeftAlt *bool `xml:"leftAlt" json:"leftAlt,omitempty"`
	// Left gui key
	LeftGui *bool `xml:"leftGui" json:"leftGui,omitempty"`
	// Right control key
	RightControl *bool `xml:"rightControl" json:"rightControl,omitempty"`
	// Right shift key
	RightShift *bool `xml:"rightShift" json:"rightShift,omitempty"`
	// Right alt key
	RightAlt *bool `xml:"rightAlt" json:"rightAlt,omitempty"`
	// Right gui key
	RightGui *bool `xml:"rightGui" json:"rightGui,omitempty"`
}

The types of key modifiers to apply to each code.

type UserAssignedToGroup

type UserAssignedToGroup struct {
	HostEvent

	UserLogin string `xml:"userLogin" json:"userLogin"`
	Group     string `xml:"group" json:"group"`
}

This event records that a user account membership was added to a group.

type UserGroupProfile

type UserGroupProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `UserGroupProfile` data object represents a user group.

Use the `ApplyProfile.policy` list for access to configuration data for the user group profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type UserInputRequiredParameterMetadata

type UserInputRequiredParameterMetadata struct {
	ProfilePolicyOptionMetadata

	// Metadata for user input options.
	UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty" json:"userInputParameter,omitempty"`
}

The `UserInputRequiredParameterMetadata` data object represents policy option metadata information for configuration data.

The Profile Engine saves configuration data from the user input options in the host `AnswerFile`. See the `HostProfile.ExecuteHostProfile` and `HostProfileManager.ApplyHostConfig_Task` methods.

type UserLoginSessionEvent

type UserLoginSessionEvent struct {
	SessionEvent

	// The IP address of the peer that initiated the connection.
	//
	// This may
	// be the client that originated the session, or it may be an intervening
	// proxy if the binding uses a protocol that supports proxies, such as HTTP.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// The user agent or application
	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
	// The locale of the session.
	Locale string `xml:"locale" json:"locale"`
	// The unique identifier for the session.
	SessionId string `xml:"sessionId" json:"sessionId"`
}

This event records a user logon.

type UserLogoutSessionEvent

type UserLogoutSessionEvent struct {
	SessionEvent

	// The IP address of client
	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
	// The user agent or application
	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
	// Number of API invocations made by the session
	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty" vim:"5.1"`
	// The unique identifier for the session.
	SessionId string `xml:"sessionId,omitempty" json:"sessionId,omitempty" vim:"5.1"`
	// Timestamp when the user logged on for this session.
	LoginTime *time.Time `xml:"loginTime" json:"loginTime,omitempty" vim:"5.1"`
}

This event records a user logoff, disconnection, or session timeout.

type UserNotFound

type UserNotFound struct {
	VimFault

	// Principal value that failed lookup.
	Principal string `xml:"principal" json:"principal"`
	// Flag to indicate whether or not the lookup was unsuccessful.
	//
	// A false value indicates that the user does not exist in the directory. A true
	// value indicates that the directory could not be contacted, possibly due to a
	// network error.
	Unresolved bool `xml:"unresolved" json:"unresolved"`
}

Thrown when the request refers to a user or group name that could not be resolved.

type UserNotFoundFault

type UserNotFoundFault UserNotFound

type UserPasswordChanged

type UserPasswordChanged struct {
	HostEvent

	UserLogin string `xml:"userLogin" json:"userLogin"`
}

This event records that a user password changed.

type UserPrivilegeResult added in v0.12.0

type UserPrivilegeResult struct {
	DynamicData

	// The entity on which privileges are retrieved.
	//
	// Refers instance of `ManagedEntity`.
	Entity ManagedObjectReference `xml:"entity" json:"entity"`
	// A list of privileges set on the entity.
	Privileges []string `xml:"privileges,omitempty" json:"privileges,omitempty"`
}

This class is used to provide the list of effective privileges set on a given managed entity for a user.

type UserProfile

type UserProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
}

The `UserProfile` data object represents a user.

Use the `ApplyProfile.policy` list for access to configuration data for the user profile. Use the `ApplyProfile.property` list for access to subprofile configuration data, if any.

type UserSearchResult

type UserSearchResult struct {
	DynamicData

	// Login name of a user or the name of a group.
	//
	// This key is
	// the user within the searched domain.
	Principal string `xml:"principal" json:"principal"`
	// Full name of the user found by the search, or the description
	// of a group, if available.
	FullName string `xml:"fullName,omitempty" json:"fullName,omitempty"`
	// If this is true, then the result is a group.
	//
	// If this is false, then the
	// result is a user.
	Group bool `xml:"group" json:"group"`
}

When searching for users, the search results in some additional information.

This object describes the additional information.

func (*UserSearchResult) GetUserSearchResult

func (b *UserSearchResult) GetUserSearchResult() *UserSearchResult

type UserSession

type UserSession struct {
	DynamicData

	// A unique identifier for this session,
	// also known as the session ID.
	Key string `xml:"key" json:"key"`
	// The user name represented by this session.
	UserName string `xml:"userName" json:"userName"`
	// The full name of the user, if available.
	FullName string `xml:"fullName" json:"fullName"`
	// Timestamp when the user last logged on to the server.
	LoginTime time.Time `xml:"loginTime" json:"loginTime"`
	// Timestamp when the user last executed a command.
	LastActiveTime time.Time `xml:"lastActiveTime" json:"lastActiveTime"`
	// The locale for the session used for data formatting and preferred for messages.
	Locale string `xml:"locale" json:"locale"`
	// The locale used for messages for the session.
	//
	// If there are no localized messages for the user-specified locale, then
	// the server determines this locale.
	MessageLocale string `xml:"messageLocale" json:"messageLocale"`
	// Whether or not this session belongs to a VC Extension.
	ExtensionSession *bool `xml:"extensionSession" json:"extensionSession,omitempty" vim:"5.0"`
	// The client identity.
	//
	// It could be IP address, or pipe name depended
	// on client binding
	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
	// The name of user agent or application
	UserAgent string `xml:"userAgent,omitempty" json:"userAgent,omitempty" vim:"5.1"`
	// Number of API invocations since the session started
	CallCount int64 `xml:"callCount,omitempty" json:"callCount,omitempty" vim:"5.1"`
}

Information about a current user session.

type UserUnassignedFromGroup

type UserUnassignedFromGroup struct {
	HostEvent

	UserLogin string `xml:"userLogin" json:"userLogin"`
	Group     string `xml:"group" json:"group"`
}

This event records that a user account membership was removed from a group.

type UserUpgradeEvent

type UserUpgradeEvent struct {
	UpgradeEvent
}

This event is a general user event from upgrade.

type VASAStorageArray

type VASAStorageArray struct {
	DynamicData

	// Name
	Name string `xml:"name" json:"name"`
	// Unique identifier
	Uuid string `xml:"uuid" json:"uuid"`
	// Vendor Id
	VendorId string `xml:"vendorId" json:"vendorId"`
	// Model Id
	ModelId string `xml:"modelId" json:"modelId"`
	// Transport information to address the array's discovery
	// service.
	DiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"discoverySvcInfo,omitempty" json:"discoverySvcInfo,omitempty" vim:"8.0.0.0"`
}

Represent Storage Array

type VASAStorageArrayDiscoveryFcTransport added in v0.29.0

type VASAStorageArrayDiscoveryFcTransport struct {
	DynamicData

	// Node-WWN (World Wide Name) represented in hexadecimal format.
	NodeWwn string `xml:"nodeWwn" json:"nodeWwn"`
	// Port-WWN (World Wide Name) represented in hexadecimal format.
	PortWwn string `xml:"portWwn" json:"portWwn"`
}

Discovery service information of the array with FC transport.

type VASAStorageArrayDiscoveryIpTransport added in v0.29.0

type VASAStorageArrayDiscoveryIpTransport struct {
	DynamicData

	// IP address (IPv4/v6) of the RDMA/TCP target port.
	IpAddress string `xml:"ipAddress" json:"ipAddress"`
	// Port number.
	//
	// Defaults to port 8009 (TCP) and RoCEv2
	// port 4420 (UDP).
	PortNumber string `xml:"portNumber,omitempty" json:"portNumber,omitempty"`
}

Discovery service information of the array with IP transport.

type VASAStorageArrayDiscoverySvcInfo added in v0.29.0

type VASAStorageArrayDiscoverySvcInfo struct {
	DynamicData

	// Port type, string as defined in `VASAStorageArrayBlockEnum_enum`.
	PortType string `xml:"portType" json:"portType"`
	// Well-known NQN of discovery service.
	SvcNqn string `xml:"svcNqn" json:"svcNqn"`
	// IP transport discovery information.
	//
	// Must be specified if
	// the discovery service is IP-based.
	IpInfo *VASAStorageArrayDiscoveryIpTransport `xml:"ipInfo,omitempty" json:"ipInfo,omitempty"`
	// FC transport discovery information.
	//
	// Must be specified if
	// the discovery service is FC-based.
	FcInfo *VASAStorageArrayDiscoveryFcTransport `xml:"fcInfo,omitempty" json:"fcInfo,omitempty"`
}

Discovery service information of storage array.

type VAppAutoStartAction

type VAppAutoStartAction string

type VAppCloneSpec

type VAppCloneSpec struct {
	DynamicData

	// Location where the destination vApp must be stored
	//
	// Refers instance of `Datastore`.
	Location ManagedObjectReference `xml:"location" json:"location"`
	// The target host for the virtual machines.
	//
	// This is often not a required
	// parameter. If not specified, the behavior is as follows:
	//     - If the target pool represents a stand-alone host, that host is used.
	//     - If the target pool represents a DRS-enabled cluster, a host selected
	//       by DRS is used.
	//     - If the target pool represents a cluster without DRS enabled or a
	//       DRS-enabled cluster in manual mode, an InvalidArgument exception is
	//       thrown.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The resource configuration for the vApp.
	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
	// The VM Folder to associate the vApp with
	//
	// Refers instance of `Folder`.
	VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty" json:"vmFolder,omitempty"`
	// Network mappings.
	//
	// See `VAppCloneSpecNetworkMappingPair`.
	NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty" json:"networkMapping,omitempty"`
	// A set of property values to override.
	Property []KeyValue `xml:"property,omitempty" json:"property,omitempty"`
	// The resource configuration for the cloned vApp.
	ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty" json:"resourceMapping,omitempty" vim:"4.1"`
	// Specify how the VMs in the vApp should be provisioned.
	Provisioning string `xml:"provisioning,omitempty" json:"provisioning,omitempty" vim:"4.1"`
}

Specification for a vApp cloning operation.

type VAppCloneSpecNetworkMappingPair

type VAppCloneSpecNetworkMappingPair struct {
	DynamicData

	// The source network
	//
	// Refers instance of `Network`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// The destination network
	//
	// Refers instance of `Network`.
	Destination ManagedObjectReference `xml:"destination" json:"destination"`
}

Maps one network to another as part of the clone process.

Instances of this class are used in the field `VAppCloneSpec.networkMapping`

type VAppCloneSpecProvisioningType

type VAppCloneSpecProvisioningType string

The cloned VMs can either be provisioned the same way as the VMs they are a clone of, thin provisioned or thick provisioned, or

type VAppCloneSpecResourceMap

type VAppCloneSpecResourceMap struct {
	DynamicData

	// Source entity
	//
	// Refers instance of `ManagedEntity`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// Resource pool to use for the cloned entity of source.
	//
	// This must specify a
	// resource pool that is not part of the vApp. If this is specified, a linked
	// child (as opposed to a direct child) is created for the vApp.
	//
	// Refers instance of `ResourcePool`.
	Parent *ManagedObjectReference `xml:"parent,omitempty" json:"parent,omitempty"`
	// An optional resource configuration for the cloned entity of the source.
	//
	// If
	// not specified, the same resource configuration as the source is used.
	ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty" json:"resourceSpec,omitempty"`
	// A client can optionally specify a datastore in the resource map to
	// override the default datastore location set in `VAppCloneSpecResourceMap.location` field.
	//
	// This
	// enables cloning to different compute resources that do not have shared
	// datastores.
	//
	// Refers instance of `Datastore`.
	Location *ManagedObjectReference `xml:"location,omitempty" json:"location,omitempty"`
}

Maps source child entities to destination resource pools and resource settings.

If a mapping is not specified, a child is copied as a direct child of the parent.

type VAppConfigFault

type VAppConfigFault struct {
	VimFault
}

Base for configuration / environment issues that can be thrown when powering on or changing the configuration of a vApp.

func (*VAppConfigFault) GetVAppConfigFault

func (b *VAppConfigFault) GetVAppConfigFault() *VAppConfigFault

type VAppConfigFaultFault

type VAppConfigFaultFault BaseVAppConfigFault

type VAppConfigInfo

type VAppConfigInfo struct {
	VmConfigInfo

	// Configuration of sub-entities (virtual machine or vApp).
	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
	// Description for the vApp.
	Annotation string `xml:"annotation" json:"annotation"`
	// vCenter-specific 128-bit UUID of a vApp, represented as a hexademical
	// string.
	//
	// This identifier is used by vCenter to uniquely identify all
	// vApp instances.
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
	// Specifies that this vApp is managed by a VC Extension.
	//
	// See the
	// `managedBy` property in the
	// VAppConfigSpec for more details.
	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
}

Configuration of a vApp container.

type VAppConfigSpec

type VAppConfigSpec struct {
	VmConfigSpec

	// Configuration of sub-entities (virtual machine or vApp container).
	//
	// Reconfigure privilege: See EntityConfigInfo
	EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty" json:"entityConfig,omitempty"`
	// Description for the vApp.
	//
	// Reconfigure privilege: VApp.Rename.
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// vCenter-specific 128-bit UUID of a vApp, represented as a hexadecimal
	// string.
	//
	// This identifier is used by vCenter to uniquely identify all
	// vApp instances in the Virtual Infrastructure environment.
	//
	// Normally, this property is not set by a client, allowing the
	// Virtual Infrastructure environment to assign or change it when
	// VirtualCenter detects an identifier conflict between vApps.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
	// Specifies that this vApp is managed by a VC Extension.
	//
	// This information is primarily used in the Client to show a custom icon for
	// managed vApps, and a description of the function of the vApp. If no extension
	// can be found with the extension key in the `managedBy`
	// object, or the type is not found in the
	// `managedEntityInfo` list of the
	// extension, the default vApp icon is used, and no description is shown.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
}

Configuration of a vApp

type VAppEntityConfigInfo

type VAppEntityConfigInfo struct {
	DynamicData

	// Entity to power on or power off.
	//
	// This can be a virtual machine or a vApp.
	//
	// Refers instance of `ManagedEntity`.
	Key *ManagedObjectReference `xml:"key,omitempty" json:"key,omitempty"`
	// Tag for entity.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Tag string `xml:"tag,omitempty" json:"tag,omitempty"`
	// Specifies the start order for this entity.
	//
	// Entities are started from lower
	// numbers to higher-numbers and reverse on shutdown. Multiple entities with the
	// same start-order can be started in parallel and the order is unspecified. This
	// value must be 0 or higher.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	StartOrder int32 `xml:"startOrder,omitempty" json:"startOrder,omitempty"`
	// Delay in seconds before continuing with the next entity in the order of entities
	// to be started.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	StartDelay int32 `xml:"startDelay,omitempty" json:"startDelay,omitempty"`
	// Determines if the virtual machine should start after receiving a heartbeat,
	// from the guest.
	//
	// When a virtual machine is next in the start
	// order, the system either waits a specified period of time for a virtual
	// machine to power on or it waits until it receives a successful heartbeat from a
	// powered on virtual machine. By default, this is set to false.
	//
	// This property has no effect for vApps.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	WaitingForGuest *bool `xml:"waitingForGuest" json:"waitingForGuest,omitempty"`
	// How to start the entity.
	//
	// Valid settings are none or powerOn. If set to none, then
	// the entity does not participate in auto-start.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	StartAction string `xml:"startAction,omitempty" json:"startAction,omitempty"`
	// Delay in seconds before continuing with the next entity in the order
	// sequence.
	//
	// This is only used if the stopAction is guestShutdown.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	StopDelay int32 `xml:"stopDelay,omitempty" json:"stopDelay,omitempty"`
	// Defines the stop action for the entity.
	//
	// Can be set to none, powerOff,
	// guestShutdown, or suspend. If set to none, then the entity does not participate in
	// auto-stop.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	StopAction string `xml:"stopAction,omitempty" json:"stopAction,omitempty"`
	// Deprecated as of vSphere API 5.1.
	//
	// Whether the entity should be removed, when this vApp is removed.
	//
	// This is only set for linked children.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty" vim:"4.1"`
}

This object type describes the behavior of an entity (virtual machine or sub-vApp container) in a vApp container.

The auto-start/auto-stop configurations control the behavior of the start/stop vApp operations.

An virtual machine entity can be configured to wait for a period of time before starting or to wait to receive a successful heartbeat from a virtual machine before starting the next virtual machine in the sequence.

  • For a power-on operation, if waitForHeartbeat is true, then the power-on sequence continues after the the first heartbeat has been received. If waitingForGuest is false, the system waits for the specified delay and then continues the power-on sequence.
  • For a power-off operation, if delay is non-zero, the requested power-off action is invoked (powerOff, suspend, guestShutdown) on the virtual machine and the system waits until the number of seconds specified in the delay have passed.

If startAction and stopAction for an entity are both set to none, that entity does not participate in the sequence.

The start/stop delay and waitingForGuest is not used if the entity is a vApp container. For a vApp the only value values for startAction is none or powerOn, and the valid values for stopAction is none or powerOff.

type VAppIPAssignmentInfo

type VAppIPAssignmentInfo struct {
	DynamicData

	// Specifies the IP allocation schemes supported by the guest software.
	//
	// When updating this field, an empty array will be interpreted as no changes.
	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
	// value will overwrite the current setting.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty" json:"supportedAllocationScheme,omitempty"`
	// Specifies how IP allocation should be managed by the VI platform.
	//
	// This is
	// typically specified by the deployer. The set of valid options for the policy
	// is based on the capabilities of the vApp software, as specified by the
	// supportedAllocationSchemes property.
	//
	// Reconfigure privilege: VApp.InstanceConfig
	IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty" json:"ipAllocationPolicy,omitempty"`
	// Specifies the IP protocols supported by the guest software.
	//
	// When updating this field, an empty array will be interpreted as no changes.
	// An array of the form \[""\] will clear all settings. Otherwise, the supplied
	// value will overwrite the current setting.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty" json:"supportedIpProtocol,omitempty"`
	// Specifies the chosen IP protocol for this deployment.
	//
	// This must be one of the
	// values in the supportedIpProtocol field.
	//
	// Reconfigure privilege: VApp.InstanceConfig
	IpProtocol string `xml:"ipProtocol,omitempty" json:"ipProtocol,omitempty"`
}

The IPAssignmentInfo class specifies how the guest software gets configured with IP addresses, including protocol type (IPv4 or IPv6) and the life-time of those IP addresses.

A vApp/virtual machine can either use DHCP to acquire an IP configuration, or it can acquire its IP configuration through the use of the vSphere platform using the OVF environment's properties. The latter is a known as OVF-environment-assigned IP configuration.

Guest software can be constructed to support DHCP , OVF assigned IP configuration, or both. The supportedAssignmentScheme property lists the supported schemes. This is typically specified by the author of a vApp.

The deployer / operator of a vApp, specifies what IP allocation policy should be used:

  • Using DHCP, if the vApp and deployed network supports it
  • Transient Assignment, if the vApp supports OVF-assigned IP configuration and the network has an IP range configured.
  • Fixed Assignment, if the vApp supports OVF-assigned IP configuration.
  • Fixed Allocated, if the vApp supports OVF-assigned IP configuration and the network has an IP range configured.

Transient and fixed assignment differs in the life time of the IP allocation. For transient, IP addresses are automatically assigned on power-on and released on power-off. For fixed, the IP addresses are explicitly specified by the deployer and does not change between a power-on/power-off. Fixed allocated is a hybrid of transient and fixed assignment. IP addresses are allocated at first power-on and remain allocated on power-off.

The IPAssignment settings are global to a deployment. Thus, if a vApp or virtual machine is part of another vApp, then the settings are ignored, and the ones for the top-most vApp container is used.

type VAppIPAssignmentInfoAllocationSchemes

type VAppIPAssignmentInfoAllocationSchemes string

type VAppIPAssignmentInfoIpAllocationPolicy

type VAppIPAssignmentInfoIpAllocationPolicy string

type VAppIPAssignmentInfoProtocols

type VAppIPAssignmentInfoProtocols string

type VAppNotRunning

type VAppNotRunning struct {
	VmConfigFault
}

A virtual machine in a vApp cannot be powered on unless the parent vApp is running.

type VAppNotRunningFault

type VAppNotRunningFault VAppNotRunning

type VAppOperationInProgress

type VAppOperationInProgress struct {
	RuntimeFault
}

This fault is thrown when an operation is attempted on a target where a vApp operation is already in progress.

E.g. when trying to move a virtual machine from a vApp that is being powered on.

type VAppOperationInProgressFault

type VAppOperationInProgressFault VAppOperationInProgress

type VAppOvfSectionInfo

type VAppOvfSectionInfo struct {
	DynamicData

	// A unique key to identify a section.
	Key int32 `xml:"key,omitempty" json:"key,omitempty"`
	// The namespace for the value in xsi:type attribute.
	Namespace string `xml:"namespace,omitempty" json:"namespace,omitempty"`
	// The value of the xsi:type attribute not including the namespace prefix.
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// Whether this is a global envelope section
	AtEnvelopeLevel *bool `xml:"atEnvelopeLevel" json:"atEnvelopeLevel,omitempty"`
	// The XML fragment including the top-level &lt;Section...&gt; element.
	//
	// The
	// fragment is self-contained will all required namespace definitions.
	Contents string `xml:"contents,omitempty" json:"contents,omitempty"`
}

The OvfSection encapsulates uninterpreted meta-data sections in an OVF descriptor.

When an OVF package is imported, non-required / non-interpreted sections will be stored as OvfSection object. During the creation of an OVF package, these sections will be placed in the OVF descriptor.

type VAppOvfSectionSpec

type VAppOvfSectionSpec struct {
	ArrayUpdateSpec

	Info *VAppOvfSectionInfo `xml:"info,omitempty" json:"info,omitempty"`
}

An incremental update to the OvfSection list.

type VAppProductInfo

type VAppProductInfo struct {
	DynamicData

	// A unique key for the product section
	Key int32 `xml:"key" json:"key"`
	// Class name for this attribute.
	//
	// Valid values for classId:
	// Any string except any white-space characters.
	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
	// Class name for this attribute.
	//
	// Valid values for instanceId:
	// Any string except any white-space characters.
	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
	// Name of the product.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Vendor of the product.
	Vendor string `xml:"vendor,omitempty" json:"vendor,omitempty"`
	// Short version of the product, for example, 1.0.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
	// Full-version of the product, for example, 1.0-build 12323.
	FullVersion string `xml:"fullVersion,omitempty" json:"fullVersion,omitempty"`
	// URL to vendor homepage.
	VendorUrl string `xml:"vendorUrl,omitempty" json:"vendorUrl,omitempty"`
	// URL to product homepage.
	ProductUrl string `xml:"productUrl,omitempty" json:"productUrl,omitempty"`
	// URL to entry-point for application.
	//
	// This is often specified using
	// a macro, for example, http://${app.ip}/, where app.ip is a defined property
	// on the virtual machine or vApp container.
	AppUrl string `xml:"appUrl,omitempty" json:"appUrl,omitempty"`
}

Information that describes what product a vApp contains, for example, the software that is installed in the contained virtual machines.

type VAppProductSpec

type VAppProductSpec struct {
	ArrayUpdateSpec

	Info *VAppProductInfo `xml:"info,omitempty" json:"info,omitempty"`
}

An incremental update to the Product information list.

type VAppPropertyFault

type VAppPropertyFault struct {
	VmConfigFault

	// The fully-qualified id of the property, including instance and class
	// identifiers.
	Id string `xml:"id" json:"id"`
	// The user-readable category
	Category string `xml:"category" json:"category"`
	// The user-readable label
	Label string `xml:"label" json:"label"`
	// The type specified for the property
	Type string `xml:"type" json:"type"`
	// The value of the property
	Value string `xml:"value" json:"value"`
}

The base fault for all vApp property configuration issues

func (*VAppPropertyFault) GetVAppPropertyFault

func (b *VAppPropertyFault) GetVAppPropertyFault() *VAppPropertyFault

type VAppPropertyFaultFault

type VAppPropertyFaultFault BaseVAppPropertyFault

type VAppPropertyInfo

type VAppPropertyInfo struct {
	DynamicData

	// A unique integer key for the property.
	Key int32 `xml:"key" json:"key"`
	// class name for this property
	//
	// Valid values for classId:
	// Any string except any white-space characters
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	ClassId string `xml:"classId,omitempty" json:"classId,omitempty"`
	// class name for this property
	//
	// Valid values for instanceId:
	// Any string except any white-space characters
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	InstanceId string `xml:"instanceId,omitempty" json:"instanceId,omitempty"`
	// Name of property.
	//
	// In the OVF environment, the property is listed as
	// \[classId.\]id\[.instanceId\]. The \[classId.\]name\[.instanceId\] must be unique.
	//
	// This field cannot be empty for a property. Thus, it must be specified at creation
	// and cannot be set to the empty string.
	//
	// Valid values for id:
	// Any string except any white-space characters
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Id string `xml:"id,omitempty" json:"id,omitempty"`
	// A user-visible description the category the property belongs to.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Category string `xml:"category,omitempty" json:"category,omitempty"`
	// The display name for the property.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Label string `xml:"label,omitempty" json:"label,omitempty"`
	// Describes the valid format of the property.
	//
	// A type must be one of:
	//     - string : A generic string. Max length 65535 (64k).
	//     - string(x..) : A string with minimum character length x.
	//     - string(..y) : A string with maximum character length y.
	//     - string(x..y) : A string with minimum character length x and maximum
	//       character length y.
	//     - string\["choice1", "choice2", "choice3"\] : A set of choices. " inside a choice
	//       must be either \\" or ' e.g "start\\"middle\\"end" or "start'middle'end" and
	//       a \\ inside a string choice must be encoded as \\\\ e.g. "start\\\\end".
	//     - int : An integer value. Is semantically equivalent to
	//       int(-2147483648..2147483647) e.g. signed int32.
	//     - int(x..y): An integer value with a minimum size x and a maximum size y.
	//       For example int(0..255) is a number between 0 and 255 both incl. This is
	//       also a way to specify that the number must be a uint8. There is always a lower
	//       and lower bound. Max number of digits is 100 including any sign. If exported to OVF the
	//       value will be truncated to max of uint64 or int64.
	//     - real : IEEE 8-byte floating-point value.
	//     - real(x..y) : IEEE 8-byte floating-point value with a minimum size x and a
	//       maximum size y. For example real(-1.5..1.5) must be a number between -1.5 and 1.5.
	//       Because of the nature of float some conversions can truncate the value.
	//       Real must be encoded according to CIM:
	//       RealValue = \[ "+" | "-" } \*decimalDigit "." 1\*decimalDigit
	//       \[ ("e" | "E" ) \[ "+" | "-" \] 1\*decimalDigit \] \]
	//     - boolean : A boolean. The value can be True or False
	//     - password : A generic string. Max length 65535 (64k).
	//     - password(x..) : A string with minimum character length x.
	//     - password(..y) : A string with maximum character length y.
	//     - password(x..y) : A string with minimum character length x and maximum
	//       character length y.
	//     - ip : An IPv4 address in dot-decimal notation or an IPv6 address in
	//       colon-hexadecimal notation.
	//     - ip:network : An IP address in dot-notation (IPv4) and colon-hexadecimal (IPv6)
	//       on a particular network. The behavior of this type depends on the
	//       ipAllocationPolicy. See below.
	//     - expression: The default value specifies an expression that is calculated
	//       by the system.
	//
	// For properties of type 'password', the value field and default value field will
	// always be returned as an empty string when queried. Thus, it is a write-only property.
	// Typically, a client application will also render these as a text field with hidden
	// text and double prompting.
	//
	// An expression follows the general patterns of either ${arg} or ${cmd:arg}. The
	// list of supported expressions are listed below:
	//     - ${&lt;name&gt;} : This expression evaluates to the same value as the named
	//       property in the parent vApp. A parent vApp is the
	//       first vApp in the ancestry chain (resource pools are
	//       skipped). If no parent vApp exists or the property is
	//       not defined on the parent vApp, the expression
	//       evaluates to the empty value.
	//     - ${subnet:&lt;network&gt;} : The subnet value of the given network.
	//     - ${netmask:&lt;network&gt;} : The netmask value of the given network.
	//     - ${gateway:&lt;network&gt;} : The gateway value of the given network.
	//     - ${autoIp:&lt;network&gt;} : An auto-assigned network address on the given
	//       network
	//     - ${net:&lt;network&gt;} : The name of the network
	//     - ${domainName:&lt;network&gt;} : The DNS domain name, e.g., vmware.com, of
	//       the given network.
	//     - ${searchPath:&lt;network&gt;} : The DNS search path, e.g.,
	//       eng.vmware.com;vmware.com, of the given
	//       network.
	//     - ${hostPrefix:&lt;network&gt;}: The host prefix on a given network, e.g.,
	//       "voe-"
	//     - ${dns:network}: A comma-separated string of configured network addresses
	//     - ${httpProxy:network}: The hostname:port for a proxy on the network
	//     - ${vimIp:} : The IP address of the VIM API provider server. This would
	//       typical be an ESX Server or VirtualCenter Server.
	//
	// A vApp will fail to start if any of the properties cannot be computed. For
	// example, if a property reference a gateway on a network, for which is has not
	// been specified. The value of the computed computation is assigned to the 'value'
	// field upon start of the vApp or virtual machine. The value is cleared once
	// the vApp or virtual machine is not-running.
	//
	// The system provides three ways of specifying IP addresses:
	//     - ip,
	//     - ip:network type,
	//     - ${ip:network} expression.
	//
	// The _ip_ types are typically used to specify an IP addressed to an
	// external system. Thus, these are not used by a virtual ethernet adapter
	// within the guest itself. Both the ip:network expression and the ${ip:network}
	// expression are intended as a way to obtain an IP address for a virtual machine
	// in a vApp.
	//
	// The behavior of ip:network type is controlled by the ipAssignPolicy, as
	// described in the following table:
	// <table>
	// <tr>
	// <td>`*Policy*`</td>
	// <td>ip:&lt;network&gt; type</td>
	// </tr>
	// <tr>
	// <td>DHCP</td>
	// <td>The user is not prompted to enter a value. The variable is set to the
	// empty string during power-on, and later updated with the IP value reported
	// by the guest software.
	// </td>
	// </tr>
	// <tr>
	// <td>Transient</td>
	// <td>The user is not prompted to enter a value. An IP address is allocated by
	// the platform and is assigned to the variable which is available to the
	// guest. The IP address is released at power-off.</td>
	// </tr>
	// <tr>
	// <td>Fixed</td>
	// <td>The user is prompted to enter a value. This value is available to the
	// guest.</td>
	// </tr>
	// <tr>
	// <td>Fixed Allocated</td>
	// <td>The user is not prompted to enter a value. An IP address is allocated by
	// the platform and is assigned to the variable which is available to the
	// guest. The IP address remains allocated at power-off, and are only
	// released if the property is deleted or the vApp is destroyed.</td>
	// </tr>
	// </table>
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Type string `xml:"type,omitempty" json:"type,omitempty"`
	// Contains extra configuration data depending on the property type.
	//
	// For types that
	// refer to network names the type reference is the managed object reference
	// of the network.
	TypeReference string `xml:"typeReference,omitempty" json:"typeReference,omitempty" vim:"5.1"`
	// Whether the property is user-configurable or a system property.
	//
	// This is not used
	// if the type is expression.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	UserConfigurable *bool `xml:"userConfigurable" json:"userConfigurable,omitempty"`
	// This either contains the default value of a field (used if value is empty
	// string), or the expression if the type is "expression".
	//
	// See comment for the
	DefaultValue string `xml:"defaultValue,omitempty" json:"defaultValue,omitempty"`
	// The value of the field at deployment time.
	//
	// For expressions, this will contain
	// the value that has been computed.
	//
	// Reconfigure privilege: VApp.InstanceConfig
	Value string `xml:"value,omitempty" json:"value,omitempty"`
	// A description of the field.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Description string `xml:"description,omitempty" json:"description,omitempty"`
}

A vApp Property description, including deployment values

type VAppPropertySpec

type VAppPropertySpec struct {
	ArrayUpdateSpec

	Info *VAppPropertyInfo `xml:"info,omitempty" json:"info,omitempty"`
}

An incremental update to the Property list.

type VAppTaskInProgress

type VAppTaskInProgress struct {
	TaskInProgress
}

A specialized TaskInProgress when an operation is performed on a VM and it is failed due to a vApp-level operation is in progress.

For example, while the power-on sequence is executed on a vApp, individual power-on's of child VMs are failed.

type VAppTaskInProgressFault

type VAppTaskInProgressFault VAppTaskInProgress

type VCenterUpdateVStorageObjectMetadataExRequestType added in v0.26.0

type VCenterUpdateVStorageObjectMetadataExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore to query for the virtual storage objects.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// array of key/value strings. (keys must be unique
	// within the list)
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty"`
	// array of keys need to be deleted
	DeleteKeys []string `xml:"deleteKeys,omitempty" json:"deleteKeys,omitempty"`
}

The parameters of `VcenterVStorageObjectManager.VCenterUpdateVStorageObjectMetadataEx_Task`.

type VCenterUpdateVStorageObjectMetadataEx_Task added in v0.26.0

type VCenterUpdateVStorageObjectMetadataEx_Task VCenterUpdateVStorageObjectMetadataExRequestType

type VCenterUpdateVStorageObjectMetadataEx_TaskResponse added in v0.26.0

type VCenterUpdateVStorageObjectMetadataEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type VFlashCacheHotConfigNotSupported

type VFlashCacheHotConfigNotSupported struct {
	VmConfigFault
}

VFlash cache hot-configuration on a VMDK is not supported.

type VFlashCacheHotConfigNotSupportedFault

type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported

type VFlashModuleNotSupported

type VFlashModuleNotSupported struct {
	VmConfigFault

	// VM name
	VmName string `xml:"vmName" json:"vmName"`
	// The vFlash module name.
	ModuleName string `xml:"moduleName" json:"moduleName"`
	// Message of reason.
	Reason string `xml:"reason" json:"reason"`
	// Host name
	HostName string `xml:"hostName" json:"hostName"`
}

vFlash module is not supported due to its configuration is not supported by the host.

type VFlashModuleNotSupportedFault

type VFlashModuleNotSupportedFault VFlashModuleNotSupported

type VFlashModuleNotSupportedReason

type VFlashModuleNotSupportedReason string

type VFlashModuleVersionIncompatible

type VFlashModuleVersionIncompatible struct {
	VimFault

	// The vFlash module name.
	ModuleName string `xml:"moduleName" json:"moduleName"`
	// The VM request module version.
	VmRequestModuleVersion string `xml:"vmRequestModuleVersion" json:"vmRequestModuleVersion"`
	// The minimum supported version of the specified module on the host.
	HostMinSupportedVerson string `xml:"hostMinSupportedVerson" json:"hostMinSupportedVerson"`
	// The verson of the specified module on the host.
	HostModuleVersion string `xml:"hostModuleVersion" json:"hostModuleVersion"`
}

The vFlash module version of the vFlash cache asscociated with the virtual disk of a VM is not compatible with the supported versions of the specified vFlash module on the host.

type VFlashModuleVersionIncompatibleFault

type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible

type VMFSDatastoreCreatedEvent

type VMFSDatastoreCreatedEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
	// Url of the associated datastore.
	DatastoreUrl string `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty" vim:"6.5"`
}

This event records when a VMFS datastore is created.

type VMFSDatastoreExpandedEvent

type VMFSDatastoreExpandedEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
}

This event records when a datastore is expanded.

type VMFSDatastoreExtendedEvent

type VMFSDatastoreExtendedEvent struct {
	HostEvent

	// The associated datastore.
	Datastore DatastoreEventArgument `xml:"datastore" json:"datastore"`
}

This event records when a datastore is extended.

type VMINotSupported

type VMINotSupported struct {
	DeviceNotSupported
}

The virtual machine is configured to use a VMI ROM, which is not supported on the host.

type VMINotSupportedFault

type VMINotSupportedFault VMINotSupported

type VMOnConflictDVPort

type VMOnConflictDVPort struct {
	CannotAccessNetwork
}

The virtual machine is using a conflict DVPort, which is a temporary port created to avoid conflict with another port.

Conflict DVPort cannot be moved.

type VMOnConflictDVPortFault

type VMOnConflictDVPortFault VMOnConflictDVPort

type VMOnVirtualIntranet

type VMOnVirtualIntranet struct {
	CannotAccessNetwork
}

The virtual machine is using a "virtual intranet", a virtual network that exists only within a single host.

If returned as part of a migration check, this is an error if the virtual machine is currently connected to the network and a warning otherwise.

type VMOnVirtualIntranetFault

type VMOnVirtualIntranetFault VMOnVirtualIntranet

type VMotionAcrossNetworkNotSupported

type VMotionAcrossNetworkNotSupported struct {
	MigrationFeatureNotSupported
}

An operation on a powered-on virtual machine requests a change of networks, but the host does not have that capability.

type VMotionAcrossNetworkNotSupportedFault

type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported

type VMotionCompatibilityType

type VMotionCompatibilityType string

Types of a host's compatibility with a designated virtual machine that is a candidate for VMotion.

Used with queryVMotionCompatibility both as inputs (to designate which compatibility types to test for) and as outputs (to specify which compatibility types apply for each host).

type VMotionInterfaceIssue

type VMotionInterfaceIssue struct {
	MigrationFault

	// Whether this error is for the source host.
	AtSourceHost bool `xml:"atSourceHost" json:"atSourceHost"`
	// The name of the host with the bad interface.
	FailedHost string `xml:"failedHost" json:"failedHost"`
	// The host with the bad interface.
	//
	// Refers instance of `HostSystem`.
	FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty" json:"failedHostEntity,omitempty" vim:"2.5"`
}

A VMotion interface has a problem.

This may be an error or warning depending on the specific fault subclass. This is an error or warning only when migrating a powered-on virtual machine.

func (*VMotionInterfaceIssue) GetVMotionInterfaceIssue

func (b *VMotionInterfaceIssue) GetVMotionInterfaceIssue() *VMotionInterfaceIssue

type VMotionInterfaceIssueFault

type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue

type VMotionLicenseExpiredEvent

type VMotionLicenseExpiredEvent struct {
	LicenseEvent
}

This event records an expired VMotion license.

type VMotionLinkCapacityLow

type VMotionLinkCapacityLow struct {
	VMotionInterfaceIssue

	// Name of the network being used for the VMotion interface.
	Network string `xml:"network" json:"network"`
}

The VMotion interface does not have the recommended capacity to support VMotion.

VMotion is supported on links that have a speed of at least 1000 Mbps and are full duplex. This is a warning for migrating powered-on virtual machines.

type VMotionLinkCapacityLowFault

type VMotionLinkCapacityLowFault VMotionLinkCapacityLow

type VMotionLinkDown

type VMotionLinkDown struct {
	VMotionInterfaceIssue

	// Name of the network being used for the VMotion interface.
	Network string `xml:"network" json:"network"`
}

The VMotion interface does not have any operational physical links associated with it.

This is an error for migrating powered-on virtual machines.

type VMotionLinkDownFault

type VMotionLinkDownFault VMotionLinkDown

type VMotionNotConfigured

type VMotionNotConfigured struct {
	VMotionInterfaceIssue
}

A VMotion interface is not configured (or is misconfigured) on either the source or destination host.

This is an error only when migrating a powered-on virtual machine.

type VMotionNotConfiguredFault

type VMotionNotConfiguredFault VMotionNotConfigured

type VMotionNotLicensed

type VMotionNotLicensed struct {
	VMotionInterfaceIssue
}

VMotion is not licensed on a source or destination host.

It must be licensed on both hosts.

type VMotionNotLicensedFault

type VMotionNotLicensedFault VMotionNotLicensed

type VMotionNotSupported

type VMotionNotSupported struct {
	VMotionInterfaceIssue
}

The source or the destination host does not support VMotion.

This is an error only when migrating a powered-on virtual machine.

type VMotionNotSupportedFault

type VMotionNotSupportedFault VMotionNotSupported

type VMotionProtocolIncompatible

type VMotionProtocolIncompatible struct {
	MigrationFault
}

VMotion protocol version incompatibility prevents VMotion from the virtual machine's current host to the requested destination host.

(VMotion in the other direction may or may not be supported.)

type VMotionProtocolIncompatibleFault

type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible

type VMwareDVSConfigInfo

type VMwareDVSConfigInfo struct {
	DVSConfigInfo

	// The Distributed Port Mirroring sessions in the switch.
	VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty" json:"vspanSession,omitempty" vim:"5.0"`
	// The PVLAN configured in the switch.
	PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty" json:"pvlanConfig,omitempty"`
	// The maximum MTU in the switch.
	MaxMtu int32 `xml:"maxMtu" json:"maxMtu"`
	// See `LinkDiscoveryProtocolConfig`.
	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
	// Configuration for ipfix monitoring of the switch traffic.
	//
	// This must be
	// set before ipfix monitoring can be enabled for the switch, or for any
	// portgroup or port of the switch.
	//
	// See also `VMwareDVSPortSetting.ipfixEnabled`.
	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty" vim:"5.0"`
	// The Link Aggregation Control Protocol groups in the switch.
	LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty" json:"lacpGroupConfig,omitempty" vim:"5.5"`
	// The Link Aggregation Control Protocol group version in the switch.
	//
	// See `VMwareDvsLacpApiVersion_enum` for valid values.
	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty" vim:"5.5"`
	// The Multicast Filtering mode in the switch.
	//
	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty" vim:"6.0"`
	// Indicate the ID of NetworkOffloadSpec used in the switch.
	//
	// ID "None" means that network offload is not allowed in the switch.
	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
}

This class defines the VMware specific configuration for DistributedVirtualSwitch.

type VMwareDVSConfigSpec

type VMwareDVSConfigSpec struct {
	DVSConfigSpec

	// The PVLAN configuration specification.
	//
	// A `VMwareDVSPvlanMapEntry`
	// that has the same value for
	// `VMwareDVSPvlanMapEntry.primaryVlanId` and
	// `VMwareDVSPvlanMapEntry.secondaryVlanId`
	// is referred to as a primary PVLAN entry.
	// Otherwise, the `VMwareDVSPvlanMapEntry`
	// is referred to as a secondary PVLAN entry.
	//
	// The `VMwareDVSPvlanMapEntry.pvlanType`
	// of a primary PVLAN entry must be
	// `promiscuous`.
	// A secondary PVLAN entry can have a
	// `VMwareDVSPvlanMapEntry.pvlanType`
	// of either
	// `community` or
	// `isolated`.
	//
	// Primary PVLAN entries must be explicitly added.
	// If there is no primary PVLAN entry corresponding to the
	// `VMwareDVSPvlanMapEntry.primaryVlanId`
	// of a secondary PVLAN entry, a fault is thrown.
	//
	// While deleting a primary PVLAN entry, any associated secondary PVLAN
	// entries must be explicitly deleted.
	PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty" json:"pvlanConfigSpec,omitempty"`
	// The Distributed Port Mirroring configuration specification.
	//
	// The VSPAN
	// sessions in the array cannot be of the same key.
	VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty" json:"vspanConfigSpec,omitempty" vim:"5.0"`
	// The maximum MTU in the switch.
	MaxMtu int32 `xml:"maxMtu,omitempty" json:"maxMtu,omitempty"`
	// See `LinkDiscoveryProtocolConfig`.
	LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty" json:"linkDiscoveryProtocolConfig,omitempty"`
	// Configuration for ipfix monitoring of the switch traffic.
	//
	// This must be
	// set before ipfix monitoring can be enabled for the switch, or for any
	// portgroup or port of the switch.
	//
	// See also `VMwareDVSPortSetting.ipfixEnabled`.
	IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty" json:"ipfixConfig,omitempty" vim:"5.0"`
	// The Link Aggregation Control Protocol group version in the switch.
	//
	// See `VMwareDvsLacpApiVersion_enum` for valid values.
	LacpApiVersion string `xml:"lacpApiVersion,omitempty" json:"lacpApiVersion,omitempty" vim:"5.5"`
	// The Multicast Filtering mode in the switch.
	//
	// See `VMwareDvsMulticastFilteringMode_enum` for valid values.
	MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty" json:"multicastFilteringMode,omitempty" vim:"6.0"`
	// Indicate the ID of NetworkOffloadSpec used in the switch.
	//
	// Unset it when network offload is not allowed when creating a switch.
	// Use ID "None" to change network offload from allowed to not allowed.
	NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty" json:"networkOffloadSpecId,omitempty" vim:"8.0.0.1"`
}

This class defines the VMware specific configuration for DistributedVirtualSwitch.

type VMwareDVSFeatureCapability

type VMwareDVSFeatureCapability struct {
	DVSFeatureCapability

	// Flag to indicate whether vspan(DVMirror) is supported on the
	// vSphere Distributed Switch.
	//
	// Distributed Port Mirroring is supported in vSphere Distributed Switch Version 5.0 or later.
	VspanSupported *bool `xml:"vspanSupported" json:"vspanSupported,omitempty" vim:"5.0"`
	// Flag to indicate whether LLDP(Link Layer Discovery Protocol) is supported on the
	// vSphere Distributed Switch.
	//
	// LLDP is supported in vSphere Distributed Switch Version 5.0 or later.
	LldpSupported *bool `xml:"lldpSupported" json:"lldpSupported,omitempty" vim:"5.0"`
	// Deprecated as of vSphere API 6.0, use `VMwareDvsIpfixCapability`.
	//
	// Flag to indicate whether IPFIX(NetFlow) is supported on the
	// vSphere Distributed Switch.
	//
	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty" vim:"5.0"`
	// The support for version-specific IPFIX(NetFlow).
	IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty" json:"ipfixCapability,omitempty" vim:"6.0"`
	// Flag to indicate whether multicast snooping(IGMP/MLD Snooping)
	// is supported on the vSphere Distributed Switch.
	//
	// IGMP/MLD Snooping is supported in vSphere Distributed Switch Version 6.0 or later.
	MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported" json:"multicastSnoopingSupported,omitempty" vim:"6.0"`
	// The support for version-specific Distributed Port Mirroring sessions.
	VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty" json:"vspanCapability,omitempty" vim:"5.1"`
	// The support for version-specific Link Aggregation Control Protocol.
	LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty" json:"lacpCapability,omitempty" vim:"5.1"`
	// The support for version-specific DPU(SmartNic).
	DpuCapability *VMwareDvsDpuCapability `xml:"dpuCapability,omitempty" json:"dpuCapability,omitempty" vim:"8.0.0.1"`
	// Flag to indicate whether NSX is supported on the
	// vSphere Distributed Switch.
	//
	// NSX is supported in vSphere Distributed Switch Version 7.0 or later.
	NsxSupported *bool `xml:"nsxSupported" json:"nsxSupported,omitempty" vim:"7.0"`
	// The support for version-specific supported MTU.
	MtuCapability *VMwareDvsMtuCapability `xml:"mtuCapability,omitempty" json:"mtuCapability,omitempty" vim:"7.0.2.0"`
}

Indicators of support for version-specific DVS features that are only available on a VMware-class switch.

type VMwareDVSHealthCheckCapability

type VMwareDVSHealthCheckCapability struct {
	DVSHealthCheckCapability

	// Flag to indicate whether vlan/mtu health check is supported on the
	// vSphere Distributed Switch.
	VlanMtuSupported bool `xml:"vlanMtuSupported" json:"vlanMtuSupported"`
	// Flag to indicate whether teaming health check is supported on the
	// vSphere Distributed Switch.
	TeamingSupported bool `xml:"teamingSupported" json:"teamingSupported"`
}

The feature capabilities of health check supported by the vSphere Distributed Switch

type VMwareDVSHealthCheckConfig

type VMwareDVSHealthCheckConfig struct {
	DVSHealthCheckConfig
}

This class defines health check configuration for VMware vSphere Distributed Switch.

func (*VMwareDVSHealthCheckConfig) GetVMwareDVSHealthCheckConfig

func (b *VMwareDVSHealthCheckConfig) GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig

type VMwareDVSMtuHealthCheckResult

type VMwareDVSMtuHealthCheckResult struct {
	HostMemberUplinkHealthCheckResult

	// True if the MTU configured in the vSphere Distributed Switch is different from
	// the value configured in the Physical NIC, else false.
	//
	// If it is true,
	// MTU health check is stopped. In this case, `VMwareDVSMtuHealthCheckResult.vlanSupportSwitchMtu` and
	// `VMwareDVSMtuHealthCheckResult.vlanNotSupportSwitchMtu` will not have values.
	MtuMismatch bool `xml:"mtuMismatch" json:"mtuMismatch"`
	// The vlan's MTU setting on physical switch allows vSphere Distributed Switch
	// max MTU size packets passing.
	//
	// If the vlan is not a range, but a single Id,
	// both start and end have the same value with the single vlan Id.
	VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty" json:"vlanSupportSwitchMtu,omitempty"`
	// The vlan's MTU setting on physical switch does not allow
	// vSphere Distributed Switch max MTU size packets passing.
	//
	// If the vlan is not a range, but a single Id,
	// both start and end have the same value with the single vlan Id.
	VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty" json:"vlanNotSupportSwitchMtu,omitempty"`
}

This class defines MTU health check result of an uplink port in the VMware vSphered Distributed Switch.

type VMwareDVSPortSetting

type VMwareDVSPortSetting struct {
	DVPortSetting

	// The VLAN Specification of the port.
	Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr" json:"vlan,omitempty"`
	// Deprecated as of vSphere API 5.0.
	//
	// The Quality Of Service tagging of the port.
	QosTag *IntPolicy `xml:"qosTag,omitempty" json:"qosTag,omitempty"`
	// The uplink teaming policy.
	//
	// This property is ignored for uplink
	// ports.
	UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty" json:"uplinkTeamingPolicy,omitempty"`
	// Deprecated as of vSphere API 6.7, use
	// `DVSMacManagementPolicy`
	// instead to specify the security policy.
	//
	// The security policy.
	SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty" json:"securityPolicy,omitempty"`
	// True if ipfix monitoring is enabled.
	//
	// To successfully enable ipfix
	// monitoring, the switch must have an assigned
	// *IP address*
	// and an appropriately populated
	// *ipfix configuration*
	// that specifies a collector IP address and port.
	IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty" json:"ipfixEnabled,omitempty" vim:"5.0"`
	// If true, a copy of packets sent to the switch will always be forwarded to
	// an uplink in addition to the regular packet forwarded done by the switch.
	TxUplink *BoolPolicy `xml:"txUplink,omitempty" json:"txUplink,omitempty"`
	// Deprecated as of vSphere API 5.5, use
	// `VmwareDistributedVirtualSwitch.UpdateDVSLacpGroupConfig_Task` and
	// `VMwareDVSConfigInfo.lacpGroupConfig`
	// instead.
	//
	// Link Aggregation Control Protocol policy.
	//
	// This policy is ignored on non-uplink portgroups.
	// Setting this policy at port level is not supported.
	LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty" json:"lacpPolicy,omitempty" vim:"5.1"`
	// The MAC learning policy.
	MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty" json:"macManagementPolicy,omitempty" vim:"6.7"`
	// The VNI number of overlay logical switch, which is used by
	// NSX portgroup.
	VNI *IntPolicy `xml:"VNI,omitempty" json:"VNI,omitempty" vim:"7.0"`
}

This class defines the VMware specific configuration for DistributedVirtualPort.

type VMwareDVSPortgroupPolicy

type VMwareDVSPortgroupPolicy struct {
	DVPortgroupPolicy

	// Allow the setting of
	// `VmwareDistributedVirtualSwitchVlanIdSpec.vlanId`, trunk
	// `VmwareDistributedVirtualSwitchTrunkVlanSpec.vlanId`, or
	// `VmwareDistributedVirtualSwitchPvlanSpec.pvlanId`
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	VlanOverrideAllowed bool `xml:"vlanOverrideAllowed" json:"vlanOverrideAllowed"`
	// Allow the setting of
	// `VMwareDVSPortSetting.uplinkTeamingPolicy`
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed" json:"uplinkTeamingOverrideAllowed"`
	// Deprecated as of vSphere API 6.7.1, use
	// `VMwareDVSPortgroupPolicy.macManagementOverrideAllowed` instead.
	//
	// Allow the setting of
	// `VMwareDVSPortSetting.securityPolicy`
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed" json:"securityPolicyOverrideAllowed"`
	// Allow the setting of
	// `VMwareDVSPortSetting.ipfixEnabled`
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed" json:"ipfixOverrideAllowed,omitempty" vim:"5.0"`
	// Allow the setting of
	// `VMwareDVSPortSetting.macManagementPolicy`
	// for an individual port to override the setting in
	// `DVPortgroupConfigInfo.defaultPortConfig` of
	// a portgroup.
	MacManagementOverrideAllowed *bool `xml:"macManagementOverrideAllowed" json:"macManagementOverrideAllowed,omitempty" vim:"6.7.1"`
}

This class defines the VMware specific configuration for DistributedVirtualPort.

type VMwareDVSPvlanConfigSpec

type VMwareDVSPvlanConfigSpec struct {
	DynamicData

	// The PVLAN entry to be added or removed.
	PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry" json:"pvlanEntry"`
	// Operation type.
	//
	// See
	// `ConfigSpecOperation_enum` for valid values,
	// except for the "edit" value, which is not supported.
	Operation string `xml:"operation" json:"operation"`
}

This class defines the configuration of a PVLAN map entry

type VMwareDVSPvlanMapEntry

type VMwareDVSPvlanMapEntry struct {
	DynamicData

	// The primary VLAN ID.
	//
	// The VLAN IDs of 0 and 4095 are reserved
	// and cannot be used in this property.
	PrimaryVlanId int32 `xml:"primaryVlanId" json:"primaryVlanId"`
	// The secondary VLAN ID.
	//
	// The VLAN IDs of 0 and 4095 are reserved
	// and cannot be used in this property.
	SecondaryVlanId int32 `xml:"secondaryVlanId" json:"secondaryVlanId"`
	// The type of PVLAN.
	//
	// See `VmwareDistributedVirtualSwitchPvlanPortType_enum`
	// for valid values.
	PvlanType string `xml:"pvlanType" json:"pvlanType"`
}

The class represents a PVLAN id.

type VMwareDVSTeamingHealthCheckConfig

type VMwareDVSTeamingHealthCheckConfig struct {
	VMwareDVSHealthCheckConfig
}

This class defines the teaming health check configuration.

Teaming health check is used to check whether the teaming policy configuration of the vSphere Distributed Switch matches the physical switch.

type VMwareDVSTeamingHealthCheckResult

type VMwareDVSTeamingHealthCheckResult struct {
	HostMemberHealthCheckResult

	// Teaming check status.
	//
	// See `VMwareDVSTeamingMatchStatus_enum`
	// for valid values.
	TeamingStatus string `xml:"teamingStatus" json:"teamingStatus"`
}

This class defines teaming health check result of a host that joined the VMware vSphered Distributed Switch.

type VMwareDVSTeamingMatchStatus

type VMwareDVSTeamingMatchStatus string

type VMwareDVSVlanHealthCheckResult

type VMwareDVSVlanHealthCheckResult struct {
	HostMemberUplinkHealthCheckResult

	// The vlans which are trunked by the physical switch connected to the uplink port.
	//
	// If the vlan is not a range, but a single Id,
	// both start and end have the same value with the single vlan Id.
	TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty" json:"trunkedVlan,omitempty"`
	// The vlans which are not trunked by the physical switch connected to the uplink port.
	//
	// If the vlan is not a range, but a single Id,
	// both start and end have the same value with the single vlan Id.
	UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty" json:"untrunkedVlan,omitempty"`
}

This class defines Vlan health check result of an uplink port in the VMware vSphered Distributed Switch.

type VMwareDVSVlanMtuHealthCheckConfig

type VMwareDVSVlanMtuHealthCheckConfig struct {
	VMwareDVSHealthCheckConfig
}

This class defines the vlan and mtu health check configuration.

Vlan health check is used to check whether vlans are trunked by the physical switch connected to the uplink ports. MTU health check is used to verify current MTU setting workable on all uplink ports of the vSphere Distributed Switch.

type VMwareDVSVspanCapability

type VMwareDVSVspanCapability struct {
	DynamicData

	// Flag to indicate whether mixed dest mirror session is supported on the
	// vSphere Distributed Switch.
	MixedDestSupported bool `xml:"mixedDestSupported" json:"mixedDestSupported"`
	// Flag to indicate whether dvport mirror session is supported on the
	// vSphere Distributed Switch.
	DvportSupported bool `xml:"dvportSupported" json:"dvportSupported"`
	// Flag to indicate whether remote mirror source session is supported on the
	// vSphere Distributed Switch.
	RemoteSourceSupported bool `xml:"remoteSourceSupported" json:"remoteSourceSupported"`
	// Flag to indicate whether remote mirror destination session is supported on the
	// vSphere Distributed Switch.
	RemoteDestSupported bool `xml:"remoteDestSupported" json:"remoteDestSupported"`
	// Flag to indicate whether encapsulated remote mirror source session is supported on the
	// vSphere Distributed Switch.
	EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported" json:"encapRemoteSourceSupported"`
	// Flag to indicate whether ERSPAN protocol encapsulation is supported
	// on the vSphere Distributed Switch.
	ErspanProtocolSupported *bool `xml:"erspanProtocolSupported" json:"erspanProtocolSupported,omitempty" vim:"6.5"`
	// Flag to indicate whether dvport mirror can be configured to use a
	// dedicated network stack instance.
	MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported" json:"mirrorNetstackSupported,omitempty" vim:"6.7"`
}

Indicators of support for version-specific Distributed Port Mirroring sessions.

type VMwareDVSVspanConfigSpec

type VMwareDVSVspanConfigSpec struct {
	DynamicData

	// The Distributed Port Mirroring session to be reconfigured.
	VspanSession VMwareVspanSession `xml:"vspanSession" json:"vspanSession"`
	// Operation type, see
	// `ConfigSpecOperation_enum` for valid values.
	Operation string `xml:"operation" json:"operation"`
}

This class defines the configuration of a Distributed Port Mirroring session.

A Distributed Port Mirroring session

type VMwareDVSVspanSessionEncapType added in v0.12.0

type VMwareDVSVspanSessionEncapType string

type VMwareDVSVspanSessionType

type VMwareDVSVspanSessionType string

type VMwareDvsDpuCapability added in v0.29.0

type VMwareDvsDpuCapability struct {
	DynamicData

	// Flag to indicate whether network offloading is supported on the
	// vSphere Distributed Switch.
	NetworkOffloadSupported *bool `xml:"networkOffloadSupported" json:"networkOffloadSupported,omitempty"`
}

The feature capabilities of Dpu Features supported by the vSphere Distributed Switch.

type VMwareDvsIpfixCapability

type VMwareDvsIpfixCapability struct {
	DynamicData

	// Flag to indicate whether IPFIX(NetFlow) is supported on the
	// vSphere Distributed Switch.
	//
	// IPFIX is supported in vSphere Distributed Switch Version 5.0 or later.
	IpfixSupported *bool `xml:"ipfixSupported" json:"ipfixSupported,omitempty"`
	// Flag to indicate whether IPv6 for IPFIX(NetFlow) is supported on the
	// vSphere Distributed Switch.
	//
	// IPv6 for IPFIX is supported in vSphere Distributed Switch Version 6.0 or later.
	Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported" json:"ipv6ForIpfixSupported,omitempty"`
	// Flag to indicate whether Observation Domain Id for IPFIX is supported
	// on the vSphere Distributed Switch.
	//
	// Observation Domain Id is supported in vSphere Distributed Switch Version 6.0 or later.
	ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported" json:"observationDomainIdSupported,omitempty"`
}

The feature capabilities of Ipfix supported by the vSphere Distributed Switch.

type VMwareDvsLacpApiVersion

type VMwareDvsLacpApiVersion string

type VMwareDvsLacpCapability

type VMwareDvsLacpCapability struct {
	DynamicData

	// Flag to indicate whether Link Aggregation Control Protocol is supported on the
	// vSphere Distributed Switch.
	LacpSupported *bool `xml:"lacpSupported" json:"lacpSupported,omitempty"`
	// Flag to indicate whether the vSphere Distributed Switch supports more
	// than one Link Aggregation Control Protocol group to be configured.
	//
	// It is suppported in vSphere Distributed Switch Version 5.5 or later.
	MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported" json:"multiLacpGroupSupported,omitempty" vim:"5.5"`
	// Flag to indicate whether LACP Fast Mode is supported on the
	// vSphere Distributed Switch.
	//
	// LACP Fast Mode is supported in vSphere Distributed Switch Version 7.0 or later.
	LacpFastModeSupported *bool `xml:"lacpFastModeSupported" json:"lacpFastModeSupported,omitempty" vim:"7.0.2.0"`
}

The feature capabilities of Link Aggregation Control Protocol supported by the vSphere Distributed Switch.

type VMwareDvsLacpGroupConfig

type VMwareDvsLacpGroupConfig struct {
	DynamicData

	// The generated key as the identifier for the Link Aggregation group.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The display name.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The mode of Link Aggregation Control Protocol.
	//
	// See `VMwareUplinkLacpMode_enum` for valid values.
	Mode string `xml:"mode,omitempty" json:"mode,omitempty"`
	// The number of uplink ports.
	UplinkNum int32 `xml:"uplinkNum,omitempty" json:"uplinkNum,omitempty"`
	// Load balance policy.
	//
	// See `VMwareDvsLacpLoadBalanceAlgorithm_enum` for valid values.
	LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty" json:"loadbalanceAlgorithm,omitempty"`
	// The VLAN Specification of the Uplink Ports in the Link Aggregation group.
	Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty" json:"vlan,omitempty"`
	// Ipfix configuration of the Link Aggregation
	// Control Protocol group.
	Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty" json:"ipfix,omitempty"`
	// Names for the Uplink Ports in the group.
	//
	// This property is ignored in an update operation.
	UplinkName []string `xml:"uplinkName,omitempty" json:"uplinkName,omitempty"`
	// Keys for the Uplink Ports in the group.
	//
	// This property is ignored in an update operation.
	UplinkPortKey []string `xml:"uplinkPortKey,omitempty" json:"uplinkPortKey,omitempty"`
	// The timeout mode of LACP group.
	//
	// See `VMwareUplinkLacpTimeoutMode_enum` for valid values.
	TimeoutMode string `xml:"timeoutMode,omitempty" json:"timeoutMode,omitempty" vim:"7.0.2.0"`
}

This class defines VMware specific multiple IEEE 802.3ad Dynamic Link Aggregation Control Protocol groups.

type VMwareDvsLacpGroupSpec

type VMwareDvsLacpGroupSpec struct {
	DynamicData

	// The Link Aggregation Control Protocol group to be configured.
	LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig" json:"lacpGroupConfig"`
	// Operation type, see
	// `ConfigSpecOperation_enum` for valid values.
	Operation string `xml:"operation" json:"operation"`
}

This class defines the configuration of a Link Aggregation Control Protocol group.

type VMwareDvsLacpLoadBalanceAlgorithm

type VMwareDvsLacpLoadBalanceAlgorithm string

type VMwareDvsLagIpfixConfig

type VMwareDvsLagIpfixConfig struct {
	DynamicData

	// True if ipfix monitoring is enabled in the Link Aggregation Control Protocol group.
	//
	// If set, this property will override the ipfix configuration of Uplink Ports
	// in the Link Aggregation Control Protocol group.
	// Thus they are no longer inheriting ipfix configuration from their Uplink Port Group.
	// Setting this property would require
	// `VMwareDVSPortgroupPolicy.ipfixOverrideAllowed`
	// of all the Uplink Port Groups to be true,
	// otherwise ConflictingConfiguration fault will be raised.
	IpfixEnabled *bool `xml:"ipfixEnabled" json:"ipfixEnabled,omitempty"`
}

This class defines the ipfix configuration of the Link Aggregation Control Protocol group.

type VMwareDvsLagVlanConfig

type VMwareDvsLagVlanConfig struct {
	DynamicData

	// The VlanId range for the Uplink Ports in the Link Aggregation
	// Control Protocol group.
	//
	// The valid VlanId range is from 0 to 4094. Overlapping ranges are allowed.
	// If set, this property will override the VLAN configuration of Uplink Ports
	// in the Link Aggregation Control Protocol group.
	// Thus they are no longer inheriting VLAN configuration from their Uplink Port Group.
	// Setting this property would require
	// `VMwareDVSPortgroupPolicy.vlanOverrideAllowed`
	// of all the Uplink Port Groups to be true,
	// otherwise ConflictingConfiguration fault will be raised.
	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
}

This class defines the vlan configuration of the Link Aggregation Control Protocol group.

type VMwareDvsMtuCapability added in v0.26.0

type VMwareDvsMtuCapability struct {
	DynamicData

	// Minimum supported MTU on VDS.
	MinMtuSupported int32 `xml:"minMtuSupported" json:"minMtuSupported"`
	// Maximum supported MTU on VDS.
	MaxMtuSupported int32 `xml:"maxMtuSupported" json:"maxMtuSupported"`
}

Indicators of support for version-specific supported MTU.

type VMwareDvsMulticastFilteringMode

type VMwareDvsMulticastFilteringMode string

type VMwareIpfixConfig

type VMwareIpfixConfig struct {
	DynamicData

	// IP address for the ipfix collector, using IPv4 or IPv6.
	//
	// IPv6 is supported in vSphere Distributed Switch Version 6.0 or later.
	// This must be set before ipfix monitoring can be enabled for the
	// switch, or for any portgroup or port of the switch.
	CollectorIpAddress string `xml:"collectorIpAddress,omitempty" json:"collectorIpAddress,omitempty"`
	// Port for the ipfix collector.
	//
	// This must be set before ipfix monitoring
	// can be enabled for the switch, or for any portgroup or port of the
	// switch. Legal value range is 0-65535.
	CollectorPort int32 `xml:"collectorPort,omitempty" json:"collectorPort,omitempty"`
	// Observation Domain Id for the ipfix collector.
	//
	// Observation Domain Id is supported
	// in vSphere Distributed Switch Version 6.0 or later.
	// Legal value range is 0-((2^32)-1)
	ObservationDomainId int64 `xml:"observationDomainId,omitempty" json:"observationDomainId,omitempty" vim:"6.0"`
	// The number of seconds after which "active" flows are forced to be
	// exported to the collector.
	//
	// Legal value range is 60-3600. Default: 60.
	ActiveFlowTimeout int32 `xml:"activeFlowTimeout" json:"activeFlowTimeout"`
	// The number of seconds after which "idle" flows are forced to be
	// exported to the collector.
	//
	// Legal value range is 10-600. Default: 15.
	IdleFlowTimeout int32 `xml:"idleFlowTimeout" json:"idleFlowTimeout"`
	// The ratio of total number of packets to the number of packets
	// analyzed.
	//
	// Set to 0 to disable sampling. Legal value range is 0-16384.
	// Default: 4096.
	SamplingRate int32 `xml:"samplingRate" json:"samplingRate"`
	// Whether to limit analysis to traffic that has both source and
	// destination served by the same host.
	//
	// Default: false.
	InternalFlowsOnly bool `xml:"internalFlowsOnly" json:"internalFlowsOnly"`
}

Configuration for IPFIX monitoring of distributed virtual switch traffic.

IPFIX monitoring must be enabled to use this capability. See `VMwareDVSPortSetting*.*VMwareDVSPortSetting.ipfixEnabled`.

type VMwareUplinkLacpMode

type VMwareUplinkLacpMode string

type VMwareUplinkLacpPolicy

type VMwareUplinkLacpPolicy struct {
	InheritablePolicy

	// The flag to indicate whether or not
	// Link Aggregation Control Protocol is enabled.
	//
	// It can be set to true if the value of
	// `VMwareDVSConfigInfo.lacpApiVersion`
	// is `singleLag`,
	// else an exception ConflictingConfiguration will be thrown.
	Enable *BoolPolicy `xml:"enable,omitempty" json:"enable,omitempty"`
	// The mode of Link Aggregation Control Protocol.
	//
	// See `VMwareUplinkLacpMode_enum` for valid values.
	Mode *StringPolicy `xml:"mode,omitempty" json:"mode,omitempty"`
}

Deprecated as of vSphere API 5.5.

This class defines VMware specific Link Aggregation Control Protocol policy.

type VMwareUplinkLacpTimeoutMode added in v0.26.0

type VMwareUplinkLacpTimeoutMode string

type VMwareUplinkPortOrderPolicy

type VMwareUplinkPortOrderPolicy struct {
	InheritablePolicy

	// List of active uplink ports used for load balancing.
	ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty" json:"activeUplinkPort,omitempty"`
	// Standby uplink ports used for failover.
	StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty" json:"standbyUplinkPort,omitempty"`
}

This data object type describes uplink port ordering policy for a distributed virtual port.

A uplink port can be in the active list, the standby list, or neither. It cannot be in both lists.

type VMwareVspanPort

type VMwareVspanPort struct {
	DynamicData

	// Individual ports to participate in the Distributed Port Mirroring session.
	PortKey []string `xml:"portKey,omitempty" json:"portKey,omitempty"`
	// Uplink ports used as destination ports to participate in the Distributed Port Mirroring session.
	//
	// A fault will be raised if uplinkPortName is used as source ports
	// in any Distributed Port Mirroring session.
	UplinkPortName []string `xml:"uplinkPortName,omitempty" json:"uplinkPortName,omitempty"`
	// Wild card specification for source ports participating in the Distributed Port Mirroring session.
	//
	// See `DistributedVirtualSwitchPortConnecteeConnecteeType_enum` for valid values.
	// Any port that has a connectee of the specified type has its receive traffic
	// mirrored. A fault will be raised if wildcards are specified as destination
	// ports or source ports mirroring traffic on the transmit side.
	// It is to be not used.
	WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty" json:"wildcardPortConnecteeType,omitempty"`
	// Vlan Ids for ingress source of Remote Mirror destination
	// session.
	Vlans []int32 `xml:"vlans,omitempty" json:"vlans,omitempty" vim:"5.1"`
	// IP address for the destination of encapsulated remote mirror source session,
	// IPv4 address is specified using dotted decimal notation.
	//
	// For example, "192.0.2.1".
	// IPv6 addresses are 128-bit addresses represented as eight fields
	// of up to four hexadecimal digits.
	// A colon separates each field (:). For example,
	// 2001:DB8:101::230:6eff:fe04:d9ff.
	IpAddress []string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty" vim:"5.1"`
}

This class defines the ports, uplink ports name, vlans and IP addresses participating in a Distributed Port Mirroring session.

See `VMwareVspanSession`.

type VMwareVspanSession

type VMwareVspanSession struct {
	DynamicData

	// The generated key as the identifier for the session.
	Key string `xml:"key,omitempty" json:"key,omitempty"`
	// The display name.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The description for the session.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// Whether the session is enabled.
	Enabled bool `xml:"enabled" json:"enabled"`
	// Source ports for which transmitted packets are mirrored.
	SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty" json:"sourcePortTransmitted,omitempty"`
	// Source ports for which received packets are mirrored.
	SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty" json:"sourcePortReceived,omitempty"`
	// Destination ports that received the mirrored packets.
	//
	// You cannot use wild card ports as destination ports. If `VMwareVspanPort.wildcardPortConnecteeType`
	// is set in the value, the reconfigure
	// operation will raise a fault. Also any port designated in the value of
	// this property can not match the wild card source port in any of the
	// Distributed Port Mirroring session.
	DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty" json:"destinationPort,omitempty"`
	// VLAN ID used to encapsulate the mirrored traffic.
	EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty" json:"encapsulationVlanId,omitempty"`
	// Whether to strip the original VLAN tag.
	//
	// if false, the original VLAN tag
	// will be preserved on the mirrored traffic. If `VMwareVspanSession.encapsulationVlanId`
	// has been set and this property is false, the frames will be double tagged
	// with the original VLAN ID as the inner tag.
	StripOriginalVlan bool `xml:"stripOriginalVlan" json:"stripOriginalVlan"`
	// An integer that describes how much of each frame to mirror.
	//
	// If unset, all
	// of the frame would be mirrored. Setting this property to a smaller value
	// is useful when the consumer will look only at the headers.
	// The value cannot be less than 60.
	MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty" json:"mirroredPacketLength,omitempty"`
	// Whether or not destination ports can send and receive "normal" traffic.
	//
	// Setting this to false will make mirror ports be used solely for mirroring
	// and not double as normal access ports.
	NormalTrafficAllowed bool `xml:"normalTrafficAllowed" json:"normalTrafficAllowed"`
	// Type of the session.
	//
	// See
	// `VMwareDVSVspanSessionType_enum`
	// for valid values.
	// Default value is mixedDestMirror if unspecified in a VSPAN create operation.
	SessionType string `xml:"sessionType,omitempty" json:"sessionType,omitempty" vim:"5.1"`
	// Sampling rate of the session.
	//
	// If its value is n, one of every n
	// packets is mirrored.
	// Valid values are between 1 to 65535, and default value is 1.
	SamplingRate int32 `xml:"samplingRate,omitempty" json:"samplingRate,omitempty" vim:"5.1"`
	// Encapsulation type of the session.
	//
	// See
	// `VMwareDVSVspanSessionEncapType_enum`
	// for valid values.
	// Default value is encapProtocolGRE if unspecified in a
	// VSPAN create operation.
	EncapType string `xml:"encapType,omitempty" json:"encapType,omitempty" vim:"6.5"`
	// ERSPAN ID of the session.
	//
	// Valid values are between 0 to 0x3ff, and default value is 0.
	// This value is applicable only if encaptType is
	// `erspan2` or
	// `erspan3`
	ErspanId int32 `xml:"erspanId,omitempty" json:"erspanId,omitempty" vim:"6.5"`
	// Class of Service of the monitored frame.
	//
	// Valid values are between 0 to 7, and default value is 0.
	// This value is applicable only if encaptType is
	// `erspan2` or
	// `erspan3`
	ErspanCOS int32 `xml:"erspanCOS,omitempty" json:"erspanCOS,omitempty" vim:"6.5"`
	// Timestamp Granularity.
	//
	// If the value is false, timestamp-granularity will be microsecond.
	// Otherwise the timestamp-granularity will be nanosecond
	// This value is applicable only if encaptType is
	// `erspan3`
	ErspanGraNanosec *bool `xml:"erspanGraNanosec" json:"erspanGraNanosec,omitempty" vim:"6.5"`
	// Netstack instance of the session.
	Netstack string `xml:"netstack,omitempty" json:"netstack,omitempty" vim:"6.7"`
}

The `VMwareVspanSession` data object defines the configuration of a VLAN Services and Protocols for Advanced Networks (VSPAN) session.

You use a VSPAN session for the following operations:

  • To mirror network traffic (inbound/outbound) from a set of source entities to a set of destination entities.
  • To assist in troubleshooting.
  • As input for security and other network analysis appliances.

The type of entities that you can specify as source or destination is determined by the session type. You can use uplink distributed virtual ports only for mixed destination mirror VSPAN sessions (mixedDestMirror). For all sessions except mixedDestMirror sessions, you cannot use uplink distributed virtual ports as destination ports. sessionType is required for vSphere Distributed Switch 5.1 and later, ignored for prior version if set. <table> <thead> <tr> <th>Session Type</th> <th>Source</th> <th>Destination </th> </tr> </thead> <tbody> <tr> <td>mixedDestMirror</td> <td>Distributed Ports</td> <td>Distributed Ports + Uplink Ports Name</td> </tr> <tr> <td>dvPortMirror</td> <td>Distributed Ports</td> <td>Distributed Ports</td> </tr> <tr> <td>remoteMirrorSource</td> <td>Distributed Ports</td> <td>Uplink Ports Name</td> </tr> <tr> <td>remoteMirrorDest</td> <td>VLAN</td> <td>Distributed Ports</td> </tr> <tr> <td>encapRemoteMirrorSource</td> <td>Distributed Ports</td> <td>IP address</td> </tr> </tbody> </table>

type VStorageObject added in v0.12.0

type VStorageObject struct {
	DynamicData

	// Virtual storage object configuration
	Config VStorageObjectConfigInfo `xml:"config" json:"config"`
}

This data object type describes a virtual storage object.

type VStorageObjectAssociations added in v0.18.0

type VStorageObjectAssociations struct {
	DynamicData

	// ID of this virtual storage object.
	Id ID `xml:"id" json:"id"`
	// Array of vm associations related to the virtual storage object.
	VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty" json:"vmDiskAssociations,omitempty"`
	// Received error while generating associations.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

This data object is a key-value pair whose key is the virtual storage object id, and value is the vm association information.

type VStorageObjectAssociationsVmDiskAssociations added in v0.18.0

type VStorageObjectAssociationsVmDiskAssociations struct {
	DynamicData

	// ID of the virtual machine.
	VmId string `xml:"vmId" json:"vmId"`
	// Device key of the disk attached to the VM.
	DiskKey int32 `xml:"diskKey" json:"diskKey"`
}

This data object contains infomation of a VM Disk associations.

type VStorageObjectConfigInfo added in v0.12.0

type VStorageObjectConfigInfo struct {
	BaseConfigInfo

	// The descriptor version of this object
	DescriptorVersion int32 `xml:"descriptorVersion,omitempty" json:"descriptorVersion,omitempty" vim:"8.0.1.0"`
	// The size in MB of this object.
	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
	// Consumption type of this object.
	//
	// See also `VStorageObjectConsumptionType_enum`.
	ConsumptionType []string `xml:"consumptionType,omitempty" json:"consumptionType,omitempty"`
	// IDs of the consumer objects which consume this vstorage object.
	//
	// For a virtual disk, this can be VM ID(s).
	ConsumerId []ID `xml:"consumerId,omitempty" json:"consumerId,omitempty"`
}

Data object specifies Virtual storage object configuration

type VStorageObjectConsumptionType added in v0.12.0

type VStorageObjectConsumptionType string

Consumption type constants.

Consumption type describes how the virtual storage object is connected and

type VStorageObjectCreateSnapshotExRequestType added in v0.31.0

type VStorageObjectCreateSnapshotExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// A short description to be associated with the snapshot.
	Description string `xml:"description" json:"description"`
}

The parameters of `VStorageObjectManagerBase.VStorageObjectCreateSnapshotEx_Task`.

type VStorageObjectCreateSnapshotEx_Task added in v0.31.0

type VStorageObjectCreateSnapshotEx_Task VStorageObjectCreateSnapshotExRequestType

type VStorageObjectCreateSnapshotEx_TaskResponse added in v0.31.0

type VStorageObjectCreateSnapshotEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type VStorageObjectCreateSnapshotRequestType added in v0.18.0

type VStorageObjectCreateSnapshotRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// A short description to be associated with the snapshot.
	Description string `xml:"description" json:"description"`
}

The parameters of `VcenterVStorageObjectManager.VStorageObjectCreateSnapshot_Task`.

type VStorageObjectCreateSnapshot_Task added in v0.18.0

type VStorageObjectCreateSnapshot_Task VStorageObjectCreateSnapshotRequestType

type VStorageObjectCreateSnapshot_TaskResponse added in v0.18.0

type VStorageObjectCreateSnapshot_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type VStorageObjectDeleteSnapshotExRequestType added in v0.31.0

type VStorageObjectDeleteSnapshotExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
}

The parameters of `VStorageObjectManagerBase.VStorageObjectDeleteSnapshotEx_Task`.

type VStorageObjectDeleteSnapshotEx_Task added in v0.31.0

type VStorageObjectDeleteSnapshotEx_Task VStorageObjectDeleteSnapshotExRequestType

type VStorageObjectDeleteSnapshotEx_TaskResponse added in v0.31.0

type VStorageObjectDeleteSnapshotEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type VStorageObjectExtendDiskExRequestType added in v0.31.0

type VStorageObjectExtendDiskExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual disk to be extended.
	Id ID `xml:"id" json:"id"`
	// The datastore where the virtual disk is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The new capacity of the virtual disk in MB.
	NewCapacityInMB int64 `xml:"newCapacityInMB" json:"newCapacityInMB"`
}

The parameters of `VStorageObjectManagerBase.VStorageObjectExtendDiskEx_Task`.

type VStorageObjectExtendDiskEx_Task added in v0.31.0

type VStorageObjectExtendDiskEx_Task VStorageObjectExtendDiskExRequestType

type VStorageObjectExtendDiskEx_TaskResponse added in v0.31.0

type VStorageObjectExtendDiskEx_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type VStorageObjectSnapshot added in v0.31.0

type VStorageObjectSnapshot struct {
	DynamicData

	// ID of this snapshot object.
	Id ID `xml:"id" json:"id"`
	// VClock associated with the FCD when the operation completes.
	Vclock VslmVClockInfo `xml:"vclock" json:"vclock"`
}

This data object type contains ID and VClock details of a virtual disk snapshot.

type VStorageObjectSnapshotDetails added in v0.22.0

type VStorageObjectSnapshotDetails struct {
	DynamicData

	// Path of the snaphost object
	Path string `xml:"path,omitempty" json:"path,omitempty"`
	// Changed block tracking ID of the snapshot
	ChangedBlockTrackingId string `xml:"changedBlockTrackingId,omitempty" json:"changedBlockTrackingId,omitempty"`
}

This data object type provides details of a vstorage object snapshot

type VStorageObjectSnapshotInfo added in v0.18.0

type VStorageObjectSnapshotInfo struct {
	DynamicData

	// An array of snapshots
	Snapshots []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"snapshots,omitempty" json:"snapshots,omitempty"`
}

This data object type contains the brief information of a virtual storage snapshot.

type VStorageObjectSnapshotInfoVStorageObjectSnapshot added in v0.18.0

type VStorageObjectSnapshotInfoVStorageObjectSnapshot struct {
	DynamicData

	// ID of the snapshot object.
	Id *ID `xml:"id,omitempty" json:"id,omitempty"`
	// Backing object ID
	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty"`
	// The date and time this object was created.
	CreateTime time.Time `xml:"createTime" json:"createTime"`
	// Short description of the snapshot
	Description string `xml:"description" json:"description"`
}

type VStorageObjectStateInfo added in v0.12.0

type VStorageObjectStateInfo struct {
	DynamicData

	// If set this flag indicates that the object currently is part of
	// provisioning operation or the last operation has not finished gracefully.
	//
	// There are maintenance procedures that are working on resolving that
	// tentative state. Note that this might result in the object to be removed.
	Tentative *bool `xml:"tentative" json:"tentative,omitempty"`
}

Contains information of a virtual storage object state.

NOTE: The information obtained with this object is dynamic and it could change during the lifetime of the object. For performance purposes some of the data may not reflect the immediate state of the object, also there is not guarantee that it will be provided.

type VVolHostPE

type VVolHostPE struct {
	DynamicData

	// The host associated with this volume.
	//
	// Refers instance of `HostSystem`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Host-specific information about the ProtocolEndpoint.
	ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint" json:"protocolEndpoint"`
}

type VVolVmConfigFileUpdateResult added in v0.12.0

type VVolVmConfigFileUpdateResult struct {
	DynamicData

	// Mapping of target config VVol IDs to the target virtual machine
	// config file paths which are successfully updated.
	SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty" json:"succeededVmConfigFile,omitempty"`
	// The list of virtual machines config files the server has attempted,
	// but failed to update.
	FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty" json:"failedVmConfigFile,omitempty"`
}

VVolVmConfigFileUpdateResult is the result returned by the `Datastore.UpdateVVolVirtualMachineFiles_Task` method.

type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo added in v0.12.0

type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct {
	DynamicData

	// The target virtual machine config VVol ID
	TargetConfigVVolId string `xml:"targetConfigVVolId" json:"targetConfigVVolId"`
	// Datastore path for the virtual machine that failed to recover
	DsPath string `xml:"dsPath,omitempty" json:"dsPath,omitempty" vim:"7.0"`
	// The reason why the update failed.
	Fault LocalizedMethodFault `xml:"fault" json:"fault"`
}

Information of the failed update on the virtual machine config file.

type ValidateCredentialsInGuestRequestType

type ValidateCredentialsInGuestRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// MoRef of the VM to perform the operation on.
	//
	// Required privileges: VirtualMachine.GuestOperations.Query
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// The guest authentication data. See
	// `GuestAuthentication`.
	Auth BaseGuestAuthentication `xml:"auth,typeattr" json:"auth"`
}

The parameters of `GuestAuthManager.ValidateCredentialsInGuest`.

type ValidateCredentialsInGuestResponse

type ValidateCredentialsInGuestResponse struct {
}

type ValidateHCIConfiguration added in v0.21.0

type ValidateHCIConfiguration ValidateHCIConfigurationRequestType

type ValidateHCIConfigurationRequestType added in v0.21.0

type ValidateHCIConfigurationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The `ClusterComputeResourceHCIConfigSpec`
	// to be used for validating the hosts. If not specified, the
	// existing `ClusterComputeResourceHCIConfigInfo` of the
	// cluster will be used.
	// Note:- This param must be omitted for post-configure validation.
	HciConfigSpec *ClusterComputeResourceHCIConfigSpec `xml:"hciConfigSpec,omitempty" json:"hciConfigSpec,omitempty"`
	// The set of hosts to be validated. If not specified, the set
	// of existing hosts in the cluster will be used.
	// Note:- This param must be omitted for post-configure validation.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts,omitempty" json:"hosts,omitempty"`
}

The parameters of `ClusterComputeResource.ValidateHCIConfiguration`.

type ValidateHCIConfigurationResponse added in v0.21.0

type ValidateHCIConfigurationResponse struct {
	Returnval []BaseClusterComputeResourceValidationResultBase `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type ValidateHost

type ValidateHost ValidateHostRequestType

type ValidateHostProfileCompositionRequestType added in v0.18.0

type ValidateHostProfileCompositionRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The source host profile of the configurations for
	// composition.
	//
	// Refers instance of `Profile`.
	Source ManagedObjectReference `xml:"source" json:"source"`
	// The array of target host profiles that the configurations
	// composite into.
	//
	// Refers instances of `Profile`.
	Targets []ManagedObjectReference `xml:"targets,omitempty" json:"targets,omitempty"`
	// A `HostApplyProfile` object
	// contains the sub profiles that will be merged from the source to
	// the target host profiles, and all the ancestors of these sub
	// profiles. For singleton sub profile, it will be added into a
	// target host profile if it doesn't exist in the target; otherwise,
	// it replaces the one in the target.
	// The member variable
	// `ApplyProfile.toBeMerged` of these sub profiles
	// should have a value of <code>true</code>. The member variables
	// `ApplyProfile.toBeMerged`
	// `ApplyProfile.toReplaceWith`,
	// `ApplyProfile.toBeDeleted`
	// of the ancestors should have a value of <code>false</code>.
	ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty" json:"toBeMerged,omitempty"`
	// A `HostApplyProfile` object
	// contains the sub profiles that will be used to replace the array
	// in the target host profiles, and all the ancestors of these sub
	// profiles.
	// Similar to above except that the member variable
	// `ApplyProfile.toReplaceWith`
	// is turned on.
	ToReplaceWith *HostApplyProfile `xml:"toReplaceWith,omitempty" json:"toReplaceWith,omitempty"`
	// A `HostApplyProfile` object
	// contains the sub profiles that will be deleted from the source
	// `*and*` the target host profiles, and all the ancestors of
	// these sub profiles.
	// Similar to above except that the member variable
	// `ApplyProfile.toBeDeleted`
	// is turned on.
	ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty" json:"toBeDeleted,omitempty"`
	// A `HostApplyProfile`
	// object contains the sub profiles that the member variable
	// `ApplyProfile.enabled` will be copied from the
	// source host profile to all the target host profiles, and all the
	// ancestors of these sub profiles.
	// The member variable
	// `ApplyProfile.copyEnableStatus`
	// of these sub profiles is turned on. The member variable
	// `ApplyProfile.copyEnableStatus` of the
	// `ApplyProfile.copyEnableStatus` of the
	// ancestors should have a value of <code>false</code>.
	EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty" json:"enableStatusToBeCopied,omitempty"`
	// Indicates that the validation result for each target
	// don't contain the source-target difference.
	ErrorOnly *bool `xml:"errorOnly" json:"errorOnly,omitempty"`
}

The parameters of `HostProfileManager.ValidateHostProfileComposition_Task`.

type ValidateHostProfileComposition_Task added in v0.18.0

type ValidateHostProfileComposition_Task ValidateHostProfileCompositionRequestType

type ValidateHostProfileComposition_TaskResponse added in v0.18.0

type ValidateHostProfileComposition_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

type ValidateHostRequestType

type ValidateHostRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The OVF descriptor to examine.
	OvfDescriptor string `xml:"ovfDescriptor" json:"ovfDescriptor"`
	// The host to validate against.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Additional parameters for validateHost, wrapped in a ValidateHostParams
	// instance.
	Vhp OvfValidateHostParams `xml:"vhp" json:"vhp"`
}

The parameters of `OvfManager.ValidateHost`.

type ValidateHostResponse

type ValidateHostResponse struct {
	Returnval OvfValidateHostResult `xml:"returnval" json:"returnval"`
}

type ValidateMigration

type ValidateMigration ValidateMigrationRequestType

type ValidateMigrationRequestType

type ValidateMigrationRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The set of virtual machines intended for migration.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
	// The power state that the virtual machines must have. If
	// this argument is not set, each virtual machine is evaluated
	// according to its current power state.
	State VirtualMachinePowerState `xml:"state,omitempty" json:"state,omitempty"`
	// The set of tests to run. If this argument is not set, all
	// tests will be run.
	TestType []string `xml:"testType,omitempty" json:"testType,omitempty"`
	// The target resource pool for the virtual machines. If the
	// pool parameter is left unset, the target pool for each particular
	// virtual machine's migration will be that virtual machine's current
	// pool. If the virtual machine is a template then either this
	// parameter or the host parameter must be set; additionally if
	// resource tests are requested then this parameter is required.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The target host on which the virtual machines will run. The host
	// parameter may be left unset if the compute resource associated with
	// the target pool represents a stand-alone host or a DRS-enabled
	// cluster. In the former case the stand-alone host is used as the
	// target host. In the latter case, each connected host in the cluster
	// that is not in maintenance mode is tested as a target host.
	// If the virtual machine is a template then either this
	// parameter or the pool parameter must be set.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
}

The parameters of `ServiceInstance.ValidateMigration`.

type ValidateMigrationResponse

type ValidateMigrationResponse struct {
	Returnval []BaseEvent `xml:"returnval,omitempty,typeattr" json:"returnval,omitempty"`
}

type ValidateMigrationTestType

type ValidateMigrationTestType string

Deprecated as of vSphere API 4.0, use `CheckTestType_enum` instead.

Types of tests available for validateMigration.

type ValidateStoragePodConfig added in v0.18.0

type ValidateStoragePodConfig ValidateStoragePodConfigRequestType

type ValidateStoragePodConfigRequestType added in v0.18.0

type ValidateStoragePodConfigRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The storage pod.
	//
	// Refers instance of `StoragePod`.
	Pod ManagedObjectReference `xml:"pod" json:"pod"`
	// A set of storage Drs configuration changes to apply to
	// the storage pod.
	Spec StorageDrsConfigSpec `xml:"spec" json:"spec"`
}

The parameters of `StorageResourceManager.ValidateStoragePodConfig`.

type ValidateStoragePodConfigResponse added in v0.18.0

type ValidateStoragePodConfigResponse struct {
	Returnval *LocalizedMethodFault `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type VasaProviderContainerSpec

type VasaProviderContainerSpec struct {
	DynamicData

	// VASA Providers that manage this volume
	VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty" json:"vasaProviderInfo,omitempty"`
	// Vendor specified Storage Container ID
	ScId string `xml:"scId" json:"scId"`
	// Indicates whether the container got deleted
	Deleted bool `xml:"deleted" json:"deleted"`
}

Represents a VASA provider and its related datastores.

type VcAgentUninstallFailedEvent

type VcAgentUninstallFailedEvent struct {
	HostEvent

	// The reason why the uninstall failed, if known.
	//
	// See `AgentInstallFailedReason_enum`
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This event records when the VirtualCenter agent on a host failed to uninstall.

type VcAgentUninstalledEvent

type VcAgentUninstalledEvent struct {
	HostEvent
}

This event records when the VirtualCenter agent on a host is uninstalled.

type VcAgentUpgradeFailedEvent

type VcAgentUpgradeFailedEvent struct {
	HostEvent

	// The reason why the upgrade failed, if known.
	//
	// See `AgentInstallFailedReason_enum`
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.0"`
}

This event records when the VirtualCenter agent on a host failed to upgrade.

type VcAgentUpgradedEvent

type VcAgentUpgradedEvent struct {
	HostEvent
}

This event records when the VirtualCenter agent on a host upgraded.

type VchaClusterConfigInfo added in v0.12.0

type VchaClusterConfigInfo struct {
	DynamicData

	// Node configuration information for the VCHA Cluster
	FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty" json:"failoverNodeInfo1,omitempty"`
	// Node configuration information for the VCHA Cluster
	FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty" json:"failoverNodeInfo2,omitempty"`
	// Node configuration information for the VCHA Cluster
	WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty" json:"witnessNodeInfo,omitempty"`
	// Current state of VCHA Cluster.
	//
	// `VchaState_enum` lists all
	// possible states.
	// If the state is invalid or notConfigured, the other fields in this
	// object will be unset.
	State string `xml:"state" json:"state"`
}

The VchaClusterConfigInfo class contains configuration information of the three nodes of a VCHA Cluster.

type VchaClusterConfigSpec added in v0.12.0

type VchaClusterConfigSpec struct {
	DynamicData

	// IP Address of Passive node in the VCHA Cluster network.
	PassiveIp string `xml:"passiveIp" json:"passiveIp"`
	// IP Address of Witness node in the VCHA Cluster network.
	WitnessIp string `xml:"witnessIp" json:"witnessIp"`
}

The VchaClusterConfigSpec class contains IP addresses of Passive and Witness nodes to configure and form the VCHA Cluster.

Passive and Witness nodes are assumed to be pre-configured to allow access to them over the specified IP addresses. Active Node IP address is not required as it is retrieved from the already configured interface on VCHA Cluster network.

type VchaClusterDeploymentSpec added in v0.12.0

type VchaClusterDeploymentSpec struct {
	DynamicData

	// Deployment spec for the Passive node
	PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec" json:"passiveDeploymentSpec"`
	// Deployment spec for the Witness node
	WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr" json:"witnessDeploymentSpec"`
	// Active vCenter Server specification required to deploy
	// VCHA Cluster.
	ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec" json:"activeVcSpec"`
	// The Cluster network config spec allows creation and configuration of
	// the second Network adapter of the Active or Source VCenter.
	//
	// The second network adapter is used for communication between
	// the nodes of a VCHA cluster.
	ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty" json:"activeVcNetworkConfig,omitempty"`
}

The VchaClusterDeploymentSpec class contains deployment information for creating and configuring a VCHA Cluster.

type VchaClusterHealth added in v0.12.0

type VchaClusterHealth struct {
	DynamicData

	// Runtime information of the VCHA Cluster
	RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo" json:"runtimeInfo"`
	// A collection of Messages describing the reason for a non-healthy
	// Cluster.
	HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty" json:"healthMessages,omitempty"`
	// A collection of additional information regarding the health messages.
	AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty" json:"additionalInformation,omitempty"`
}

The VchaClusterHealth class describes the overall VCHA Cluster health.

Health information include the last known runtime information about the VCHA Cluster along with health messages and any additional information applicable to the current VCHA Cluster health. If the cluster state is healthy, there will not be any health messages or additional information provided.

type VchaClusterMode added in v0.12.0

type VchaClusterMode string

type VchaClusterNetworkSpec added in v0.12.0

type VchaClusterNetworkSpec struct {
	DynamicData

	// Network spec for the Witness node.
	WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr" json:"witnessNetworkSpec"`
	// Network spec for the Passive node.
	PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec" json:"passiveNetworkSpec"`
}

The VchaClusterNetworkSpec class contains network configuration information for a VCHA Cluster.

type VchaClusterRuntimeInfo added in v0.12.0

type VchaClusterRuntimeInfo struct {
	DynamicData

	// Last known state of the VCHA Cluster.
	//
	// `VchaClusterState` lists all possible states.
	ClusterState string `xml:"clusterState" json:"clusterState"`
	// Runtime information for each node in the VCHA Cluster.
	NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty" json:"nodeInfo,omitempty"`
	// Operational mode of the VCHA Cluster.
	//
	// `VchaClusterMode`
	// lists all possible modes.
	ClusterMode string `xml:"clusterMode" json:"clusterMode"`
}

The VchaClusterRuntimeInfo class describes the runtime information of a VCHA Cluster.

This includes the last known state of the cluster and last known states of each node.

type VchaClusterState added in v0.12.0

type VchaClusterState string

type VchaNodeRole added in v0.12.0

type VchaNodeRole string

type VchaNodeRuntimeInfo added in v0.12.0

type VchaNodeRuntimeInfo struct {
	DynamicData

	// Last known state of the node.
	//
	// `VchaNodeState`
	// lists all possible states.
	NodeState string `xml:"nodeState" json:"nodeState"`
	// Last known role of the node.
	//
	// `VchaNodeRole`
	// lists all possible roles.
	NodeRole string `xml:"nodeRole" json:"nodeRole"`
	// IP address for the node in the replication network.
	NodeIp string `xml:"nodeIp" json:"nodeIp"`
}

The VchaNodeRuntimeInfo class describes a node's runtime information in a VCHA Cluster.

type VchaNodeState added in v0.12.0

type VchaNodeState string

VchaNodeState enum defines possible state a node can be in a

type VchaState added in v0.12.0

type VchaState string

type VersionURI added in v0.18.0

type VersionURI string

type VimAccountPasswordChangedEvent

type VimAccountPasswordChangedEvent struct {
	HostEvent
}

Password for the Vim account user on the host has been changed.

This is an account created by VirtualCenter and used to manage the host.

type VimFault

type VimFault struct {
	MethodFault
}

The common base type for all virtual infrastructure management exceptions.

func (*VimFault) GetVimFault

func (b *VimFault) GetVimFault() *VimFault

type VimFaultFault

type VimFaultFault BaseVimFault

type VimVasaProvider

type VimVasaProvider struct {
	DynamicData

	// Provider UID.
	//
	// This is populated with namespace prefixed to providerId,
	// which uniquely identifies a VASA Provider. Both namespace and providerId
	// are sourced from Vasa Provider and available within SMS. This field
	// helps in preventing a regeneration of duplicate VASA Provider within
	// vvold when a user attempts to register the same VP using different names
	// or alternative urls.
	Uid string `xml:"uid,omitempty" json:"uid,omitempty" vim:"6.7"`
	// VASA Provider URL.
	//
	// In VirtualHost based MultiVC setup,
	// this is set to default virtual host's URL.
	Url string `xml:"url" json:"url"`
	// Name
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// Self-signed certificate of VASA provider.
	//
	// In VirtualHost based MultiVC setup,
	// this is set to default virtual host's self-signed certificate.
	SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty" json:"selfSignedCertificate,omitempty"`
	// Virtual host configuration for VASA Provider when it supports MultiVC
	// through VirtualHosts.
	VhostConfig *VimVasaProviderVirtualHostConfig `xml:"vhostConfig,omitempty" json:"vhostConfig,omitempty" vim:"8.0.1.0"`
	// SMS supported VASA provider versionId.
	//
	// i-e if versionX corresponds to VASA version supported
	// by SMS, then X needs to be set here.
	// versionX corresponds to SMS supported VASA versions are, 1.0-&gt;version1, 1.5-&gt;version2,
	// 2.0-&gt;version3, 3.0-&gt;version4, 3.5-&gt;version5, 4.0-&gt;version6, 5.0-&gt;version7, etc.
	// For example: If SMS is connecting to VASA 5.0, the this field should be set to 7.
	VersionId int32 `xml:"versionId,omitempty" json:"versionId,omitempty" vim:"8.0.1.0"`
}

Data object representing VASA Provider.

type VimVasaProviderInfo

type VimVasaProviderInfo struct {
	DynamicData

	// Vasa provider
	Provider VimVasaProvider `xml:"provider" json:"provider"`
	// Per-array State
	ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty" json:"arrayState,omitempty"`
}

Data object representing VASA Provider information.

type VimVasaProviderStatePerArray

type VimVasaProviderStatePerArray struct {
	DynamicData

	// Priority of the provider for the given array
	Priority int32 `xml:"priority" json:"priority"`
	// Storage Array object Id
	ArrayId string `xml:"arrayId" json:"arrayId"`
	// Indicates whether a VASA Provider (`VimVasaProvider.url`) is active
	// for the specified storage array.
	Active bool `xml:"active" json:"active"`
}

Per Storage Array VP status.

type VimVasaProviderVirtualHostConfig added in v0.31.0

type VimVasaProviderVirtualHostConfig struct {
	DynamicData

	// Virtual Host FQDN on VASA Provider.
	//
	// If set, it's
	// used as SNI hostname in outgoing VASA Provider connection.
	VhostName string `xml:"vhostName,omitempty" json:"vhostName,omitempty"`
	// IP address where Virtual Host is running
	ServiceHost string `xml:"serviceHost" json:"serviceHost"`
	// Dedicated port for the virtual host.
	//
	// If not specified, default VirtualHost port is used to
	// communicate with VASA Provider.
	ServicePort int32 `xml:"servicePort,omitempty" json:"servicePort,omitempty"`
}

Holds VirtualHost configuration information when VASA 5.0 or greater VVOL VASA Provider supports MultiVC through VirtualHosts.

type VirtualAHCIController

type VirtualAHCIController struct {
	VirtualSATAController
}

The VirtualAHCIController data object type represents an AHCI SATA controller in a virtual machine.

type VirtualAHCIControllerOption

type VirtualAHCIControllerOption struct {
	VirtualSATAControllerOption
}

VirtualAHCIControllerOption is the data object that contains the options for an AHCI SATA controller.

type VirtualAppImportSpec

type VirtualAppImportSpec struct {
	ImportSpec

	// The name of the vApp
	Name string `xml:"name" json:"name"`
	// vApp configuration
	VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec" json:"vAppConfigSpec"`
	// Resource pool specification.
	//
	// If resourcePoolSpec.entity is specified, that resource pool is used as the parent
	// resource pool and the vApp will be made a linked child to the parent vApp. This
	// field is ignored for the root node in an ImportSpec tree.
	// Use of resourcePoolSpec.entity for creating linked children is deprecated as of
	// vSphere API 5.1.
	ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec" json:"resourcePoolSpec"`
	// Contains a list of children (`VirtualMachine`s and
	// `VirtualApp`s).
	Child []BaseImportSpec `xml:"child,omitempty,typeattr" json:"child,omitempty"`
}

A VAppImportSpec is used by `ResourcePool.importVApp` when importing vApps (single VM or multi-VM).

It provides all information needed to import a `VirtualApp`.

See also `ImportSpec`.

type VirtualAppLinkInfo

type VirtualAppLinkInfo struct {
	DynamicData

	// The key contains a reference to the entity that is linked to this vApp
	//
	// Refers instance of `ManagedEntity`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Whether the entity should be removed, when this vApp is removed
	DestroyWithParent *bool `xml:"destroyWithParent" json:"destroyWithParent,omitempty"`
}

Deprecated as of vSphere API 5.1.

Linked child information.

type VirtualAppSummary

type VirtualAppSummary struct {
	ResourcePoolSummary

	// Product information.
	//
	// References to properties in the URLs are expanded.
	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
	// Whether the vApp is running
	VAppState VirtualAppVAppState `xml:"vAppState,omitempty" json:"vAppState,omitempty"`
	// Whether a vApp is suspended, in the process of being suspended, or in the
	// process of being resumed.
	//
	// A stopped vApp is marked as suspended
	// under the following conditions:
	//     - All child virtual machines are either suspended or powered-off.
	//     - There is at least one suspended virtual machine for which the
	//       stop action is not "suspend".
	//
	// If the vAppState property is "stopped", the value is set to true if the vApp is
	// suspended (according the the above definition).
	//
	// If the vAppState property is "stopping" or "starting" and the suspend flag is set to
	// true, then the vApp is either in the process of being suspended or resumed
	// from a suspended state, respectively.
	//
	// If the vAppState property is "started", then the suspend flag is set to false.
	Suspended *bool `xml:"suspended" json:"suspended,omitempty" vim:"4.1"`
	// Whether one or more VMs in this vApp require a reboot to finish
	// installation.
	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
	// vCenter-specific UUID of the vApp
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.1"`
}

This data object type encapsulates a typical set of resource pool information that is useful for list views and summary pages.

type VirtualAppVAppState

type VirtualAppVAppState string

The VAppState type defines the set of states a vApp can be in.

The transitory states between started and stopped is modeled explicitly, since the starting or stopping of a vApp is typically a time-consuming

type VirtualBusLogicController

type VirtualBusLogicController struct {
	VirtualSCSIController
}

VirtualBusLogicController is the data object that represents a BusLogic SCSI controller.

type VirtualBusLogicControllerOption

type VirtualBusLogicControllerOption struct {
	VirtualSCSIControllerOption
}

This data object contains the options for a BusLogic SCSI controller.

type VirtualCdrom

type VirtualCdrom struct {
	VirtualDevice
}

The VirtualCdrom data object type describes the configuration of a CD-ROM device in a virtual machine.

type VirtualCdromAtapiBackingInfo

type VirtualCdromAtapiBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The VirtualCdrom.AtapiBackingInfo data object type represents an ATAPI device backing for a virtual CD-ROM.

type VirtualCdromAtapiBackingOption

type VirtualCdromAtapiBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The VirtualCdromOption.AtapiBackingOption data object type contains the options for the ATAPI CD-ROM device backing.

type VirtualCdromIsoBackingInfo

type VirtualCdromIsoBackingInfo struct {
	VirtualDeviceFileBackingInfo
}

The VirtualCdrom.IsoBackingInfo data class represents an ISO backing for a virtual CD-ROM.

type VirtualCdromIsoBackingOption

type VirtualCdromIsoBackingOption struct {
	VirtualDeviceFileBackingOption
}

The VirtualCdromOption.IsoBackingOption data object type contains the options for an ISO image backing.

type VirtualCdromOption

type VirtualCdromOption struct {
	VirtualDeviceOption
}

The VirtualCdromOption data object type contains the options for the virtual CD-ROM class.

type VirtualCdromPassthroughBackingInfo

type VirtualCdromPassthroughBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// Flag to indicate whether or not the virtual machine has
	// exclusive CD-ROM device access.
	Exclusive bool `xml:"exclusive" json:"exclusive"`
}

The VirtualCdrom.PassthroughBackingInfo data class represents a device pass-through backing for a virtual CD-ROM.

type VirtualCdromPassthroughBackingOption

type VirtualCdromPassthroughBackingOption struct {
	VirtualDeviceDeviceBackingOption

	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
}

The VirtualCdromOption.PassthroughBackingOption data object type contains the options for a pass-through CD-ROM device backing.

type VirtualCdromRemoteAtapiBackingInfo

type VirtualCdromRemoteAtapiBackingInfo struct {
	VirtualDeviceRemoteDeviceBackingInfo
}

The VirtualCdrom.RemoteAtapiBackingInfo data class represents a remote ATAPI device backing for a virtual CD-ROM.

type VirtualCdromRemoteAtapiBackingOption

type VirtualCdromRemoteAtapiBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The VirtualCdromOption.RemoteAtapiBackingOption data object type contains the options for the remote ATAPI CD-ROM device backing.

Note that the server cannot present a list of valid remote backing devices because it is unable to scan remote hosts.

type VirtualCdromRemotePassthroughBackingInfo

type VirtualCdromRemotePassthroughBackingInfo struct {
	VirtualDeviceRemoteDeviceBackingInfo

	// Flag to indicate whether or not the virtual machine
	// has exclusive access to the CD-ROM device.
	Exclusive bool `xml:"exclusive" json:"exclusive"`
}

The VirtualCdrom.RemotePassthroughBackingInfo data object type contains the information to specify a remote pass-through device backing of a virtual CD-ROM.

type VirtualCdromRemotePassthroughBackingOption

type VirtualCdromRemotePassthroughBackingOption struct {
	VirtualDeviceRemoteDeviceBackingOption

	// Flag to indicate whether or not exclusive CD-ROM device access is supported.
	Exclusive BoolOption `xml:"exclusive" json:"exclusive"`
}

The VirtualCdromOption.RemotePassthroughBackingOption data object type contains the options for a remote pass-through CD-ROM device backing.

Note that the server cannot present a list of valid remote backing devices because it is unable to scan remote hosts.

type VirtualController

type VirtualController struct {
	VirtualDevice

	// Bus number associated with this controller.
	BusNumber int32 `xml:"busNumber" json:"busNumber"`
	// List of devices currently controlled by this controller.
	//
	// Each entry contains the `VirtualDevice.key` property of the
	// corresponding device object.
	Device []int32 `xml:"device,omitempty" json:"device,omitempty"`
}

VirtualController is the base data object type for a device controller in a virtual machine.

VirtualController extends `VirtualDevice` to inherit general information about a controller (such as name and description), and to allow controllers to appear in a generic list of virtual devices.

func (*VirtualController) GetVirtualController

func (b *VirtualController) GetVirtualController() *VirtualController

type VirtualControllerOption

type VirtualControllerOption struct {
	VirtualDeviceOption

	// The minimum and maximum number of devices this controller can control
	// at run time.
	Devices IntOption `xml:"devices" json:"devices"`
	// Array of supported device options for this controller.
	SupportedDevice []string `xml:"supportedDevice,omitempty" json:"supportedDevice,omitempty"`
}

The VirtualControllerOption data object type contains information about a virtual controller type.

func (*VirtualControllerOption) GetVirtualControllerOption

func (b *VirtualControllerOption) GetVirtualControllerOption() *VirtualControllerOption

type VirtualDevice

type VirtualDevice struct {
	DynamicData

	// A unique key that distinguishes this device from other
	// devices in the same virtual machine.
	//
	// Keys are immutable but may be
	// recycled; that is, a key does not change as long as the device is
	// associated with a particular virtual machine. However, once a device is
	// removed, its key may be used when another device is added.
	//
	// This property is not read-only, but the client cannot control its value.
	// Persistent device keys are always assigned and managed by the server, which
	// guarantees that all devices will have non-negative key values.
	//
	// When adding new devices, it may be necessary for a client to assign keys
	// temporarily in order to associate controllers with devices in
	// configuring a virtual machine. However, the server does not allow a
	// client to reassign a device key, and the server may assign a different
	// value from the one passed during configuration. Clients should ensure
	// that existing device keys are not reused as temporary key values for the
	// new device to be added (for example, by using unique negative integers as
	// temporary keys).
	//
	// When editing or deleting a device, clients must use the server-provided key
	// to refer to an existing device.
	Key int32 `xml:"key" json:"key"`
	// Provides a label and summary information for the device.
	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
	// Information about the backing of this virtual device presented
	// in the context of the virtual machine's environment.
	//
	// Not all devices are required to have backing information.
	//
	// See also `VirtualMachineConfigOption`.
	Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr" json:"backing,omitempty"`
	// Provides information about restrictions on removing this device while
	// a virtual machine is running.
	//
	// If the device is not removable, then
	// this property is null.
	Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty" json:"connectable,omitempty"`
	// Information about the bus slot of a device in a virtual machine.
	SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr" json:"slotInfo,omitempty" vim:"5.1"`
	// Object key for the controller object for this device.
	//
	// This property contains the key property value of the controller device
	// object.
	ControllerKey int32 `xml:"controllerKey,omitempty" json:"controllerKey,omitempty"`
	// The unit number of this device on its controller.
	//
	// This property is null if
	// the controller property is null (for example, when the device is not
	// attached to a specific controller object).
	//
	// Normally, two devices on the same controller
	// may not be assigned the same unit number. If
	// multiple devices could exist on a controller,
	// then unit number has to be specified to
	// configure respective devices.
	UnitNumber *int32 `xml:"unitNumber" json:"unitNumber,omitempty"`
	// The virtual NUMA node.
	//
	// A negative number means there is no
	// affinity for the device. A positive number is a vNUMA node.
	// An unset value of numaNode is status-quo during Reconfigure time.
	// If numaNode is unset during ConfigInfo, then it means there is no
	// affinity for the device.
	NumaNode int32 `xml:"numaNode,omitempty" json:"numaNode,omitempty" vim:"8.0.0.1"`
	// Information about device group device is part of.
	//
	// Devices in the device group cannot be added/removed individually,
	// whole group has to be added/removed at once. Value can be set
	// during device add, it cannot be modified later.
	DeviceGroupInfo *VirtualDeviceDeviceGroupInfo `xml:"deviceGroupInfo,omitempty" json:"deviceGroupInfo,omitempty" vim:"8.0.0.1"`
}

VirtualDevice is the base data object type for devices in a virtual machine.

This type contains enough information about a virtual device to allow clients to display devices they do not recognize. For example, a client with an older version than the server to which it connects may see a device without knowing what it is.

func (*VirtualDevice) GetVirtualDevice

func (b *VirtualDevice) GetVirtualDevice() *VirtualDevice

type VirtualDeviceBackingInfo

type VirtualDeviceBackingInfo struct {
	DynamicData
}

<code>`VirtualDeviceBackingInfo`</code> is a base data object type for information about the backing of a device in a virtual machine.

This base type does not define any properties. It is used as a namespace for general-purpose subtypes. Specific devices are represented by subtypes which define properties for device-specific backing information.

func (*VirtualDeviceBackingInfo) GetVirtualDeviceBackingInfo

func (b *VirtualDeviceBackingInfo) GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo

type VirtualDeviceBackingOption

type VirtualDeviceBackingOption struct {
	DynamicData

	// The name of the class the client should use to instantiate backing
	// for the virtual device.
	Type string `xml:"type" json:"type"`
}

The `VirtualDeviceBackingOption` data class defines options for device-specific virtual backing objects.

func (*VirtualDeviceBackingOption) GetVirtualDeviceBackingOption

func (b *VirtualDeviceBackingOption) GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption

type VirtualDeviceBusSlotInfo

type VirtualDeviceBusSlotInfo struct {
	DynamicData
}

<code>`VirtualDeviceBusSlotInfo`</code> is a base data object type for information about device connection to its bus.

This base type does not define any properties. It is used as a namespace for general-purpose subtypes. Specific devices types are represented by subtypes which define properties for device-specific backing information.

func (*VirtualDeviceBusSlotInfo) GetVirtualDeviceBusSlotInfo

func (b *VirtualDeviceBusSlotInfo) GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo

type VirtualDeviceBusSlotOption

type VirtualDeviceBusSlotOption struct {
	DynamicData

	// The name of the class the client should use to instantiate bus slot
	// object for the virtual device.
	Type string `xml:"type" json:"type"`
}

The `VirtualDeviceBusSlotOption` data class defines options for device-specific bus slot objects.

type VirtualDeviceConfigSpec

type VirtualDeviceConfigSpec struct {
	DynamicData

	// Type of operation being performed on the specified virtual device.
	//
	// If no operation is specified, the spec. is ignored.
	Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty" json:"operation,omitempty"`
	// Type of operation being performed on the backing
	// of the specified virtual device.
	//
	// If no file operation is specified in the VirtualDeviceSpec,
	// then any backing filenames in the
	// `VirtualDevice`
	// must refer to files that already exist.
	// The "replace" and "delete" values for this property are only
	// applicable to virtual disk backing files.
	FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty" json:"fileOperation,omitempty"`
	// Device specification, with all necessary properties set.
	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
	// Virtual Device Profile requirement.
	//
	// Profiles are solution specifics.
	// Storage Profile Based Management(SPBM) is a vSphere server extension.
	// The API users who want to provision VMs using Storage Profiles, need to
	// interact with SPBM service.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
	// BackingInfo configuration options.
	//
	// Each BackingSpec corresponds to a BackingInfo object. The member
	// `VirtualDeviceConfigSpec.backing` refers to the
	// `VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`.
	Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty" json:"backing,omitempty" vim:"6.5"`
	// List of independent filters `VirtualMachineIndependentFilterSpec`
	// to configure on the virtual device.
	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
	// The change mode of the device.
	//
	// The values of the mode will be one of `VirtualDeviceConfigSpecChangeMode_enum` enumerations.
	// On unset, default to 'fail'.
	ChangeMode string `xml:"changeMode,omitempty" json:"changeMode,omitempty" vim:"8.0.0.1"`
}

The VirtualDeviceSpec data object type encapsulates change specifications for an individual virtual device.

The virtual device being added or modified must be fully specified.

func (*VirtualDeviceConfigSpec) GetVirtualDeviceConfigSpec

func (b *VirtualDeviceConfigSpec) GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec

type VirtualDeviceConfigSpecBackingSpec added in v0.12.0

type VirtualDeviceConfigSpecBackingSpec struct {
	DynamicData

	Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
	Crypto BaseCryptoSpec                      `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
}

<code>`VirtualDeviceConfigSpecBackingSpec`</code> is a data object type for information about configuration of the backing of a device in a virtual machine.

The member `VirtualDeviceConfigSpecBackingSpec.parent` refers the parent in the chain of `VirtualDeviceBackingInfo` objects.

type VirtualDeviceConfigSpecChangeMode added in v0.29.0

type VirtualDeviceConfigSpecChangeMode string

Describes the change mode of the device.

Applies only to virtual disks during VirtualDeviceSpec.Operation "add"

type VirtualDeviceConfigSpecFileOperation

type VirtualDeviceConfigSpecFileOperation string

The type of operation being performed on the backing of a virtual device.

Valid values are:

type VirtualDeviceConfigSpecOperation

type VirtualDeviceConfigSpecOperation string

The type of operation being performed on the specified virtual device.

Valid values are:

type VirtualDeviceConnectInfo

type VirtualDeviceConnectInfo struct {
	DynamicData

	// Specifies whether the virtual machine should override the
	// virtual device connection state upon the completion of a
	// migration.
	//
	// At this time, this property is only applicable to instant
	// clone operations, and will be ignored for other migration
	// types. The property is also only valid with
	// VirtualEthernetCards, and any attempt to set this property
	// on an unsupported device will result in an error.
	// This property will persist only until the virtual machine
	// undergoes a supported migration, at which point it will be
	// consumed and unset on the destination virtual machine,
	// preventing the property from affecting future migrations.
	// The migration's success is not dependent on whether the device
	// reaches the desired connection state.
	// The set of possible values are described in
	// `VirtualDeviceConnectInfoMigrateConnectOp_enum`.
	MigrateConnect string `xml:"migrateConnect,omitempty" json:"migrateConnect,omitempty" vim:"6.7"`
	// Specifies whether or not to connect the device
	// when the virtual machine starts.
	StartConnected bool `xml:"startConnected" json:"startConnected"`
	// Enables guest control over whether the connectable device is
	// connected.
	AllowGuestControl bool `xml:"allowGuestControl" json:"allowGuestControl"`
	// Indicates whether the device is currently connected.
	//
	// Valid only while the virtual machine is running.
	Connected bool `xml:"connected" json:"connected"`
	// Indicates the current status of the connectable device.
	//
	// Valid only while the
	// virtual machine is running. The set of possible values is described in
	// `VirtualDeviceConnectInfoStatus_enum`
	Status string `xml:"status,omitempty" json:"status,omitempty" vim:"4.0"`
}

The <code>`VirtualDeviceConnectInfo`</code> data object type contains information about connectable virtual devices.

type VirtualDeviceConnectInfoMigrateConnectOp added in v0.18.0

type VirtualDeviceConnectInfoMigrateConnectOp string

Contains information about connectable virtual devices when

type VirtualDeviceConnectInfoStatus

type VirtualDeviceConnectInfoStatus string

type VirtualDeviceConnectOption

type VirtualDeviceConnectOption struct {
	DynamicData

	// Flag to indicate whether or not the device supports
	// the startConnected feature.
	StartConnected BoolOption `xml:"startConnected" json:"startConnected"`
	// Flag to indicate whether or not the device can be
	// connected and disconnected from within the guest operating system.
	AllowGuestControl BoolOption `xml:"allowGuestControl" json:"allowGuestControl"`
}

The ConnectOption data object type contains information about options for connectable virtual devices.

type VirtualDeviceDeviceBackingInfo

type VirtualDeviceDeviceBackingInfo struct {
	VirtualDeviceBackingInfo

	// The name of the device on the host system.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// Indicates whether the device should be auto detected
	// instead of directly specified.
	//
	// If this value is set to TRUE,
	// deviceName is ignored.
	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5"`
}

The <code>`VirtualDeviceDeviceBackingInfo`</code> data object type defines information about a host device or resource that backs a device in a virtual machine.

func (*VirtualDeviceDeviceBackingInfo) GetVirtualDeviceDeviceBackingInfo

func (b *VirtualDeviceDeviceBackingInfo) GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo

type VirtualDeviceDeviceBackingOption

type VirtualDeviceDeviceBackingOption struct {
	VirtualDeviceBackingOption

	// Flag to indicate whether the specific instance of this device can
	// be auto-detected on the host instead of having to specify a
	// particular physical device.
	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable" vim:"2.5"`
}

The DeviceBackingOption data class contains device-specific backing options.

func (*VirtualDeviceDeviceBackingOption) GetVirtualDeviceDeviceBackingOption

func (b *VirtualDeviceDeviceBackingOption) GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption

type VirtualDeviceDeviceGroupInfo added in v0.29.0

type VirtualDeviceDeviceGroupInfo struct {
	DynamicData

	// Device group instance key from
	// <code>`VirtualMachineVirtualDeviceGroupsDeviceGroup`</code>.
	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
	// Device sequence in the group.
	//
	// Small unique positive integer obtained
	// from <code>`VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo.device`</code>
	// template.
	SequenceId int32 `xml:"sequenceId" json:"sequenceId"`
}

<code>`VirtualDeviceDeviceGroupInfo`</code> contains information about the device group device is assigned to.

type VirtualDeviceFileBackingInfo

type VirtualDeviceFileBackingInfo struct {
	VirtualDeviceBackingInfo

	// Filename for the host file used in this backing.
	FileName string `xml:"fileName" json:"fileName"`
	// Reference to the datastore managed object where this file is stored.
	//
	// If the file is not located on a datastore, then this reference is null.
	// This is not used for configuration.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// Backing object's durable and unmutable identifier.
	//
	// Each backing object has a unique identifier which is not settable.
	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty" vim:"5.5"`
}

<code>`VirtualDeviceFileBackingInfo`</code> is a data object type for information about file backing for a device in a virtual machine.

func (*VirtualDeviceFileBackingInfo) GetVirtualDeviceFileBackingInfo

func (b *VirtualDeviceFileBackingInfo) GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo

type VirtualDeviceFileBackingOption

type VirtualDeviceFileBackingOption struct {
	VirtualDeviceBackingOption

	// Valid filename extension for the filename.
	//
	// If no extensions are present, any file extension is acceptable.
	FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty" json:"fileNameExtensions,omitempty"`
}

The FileBackingOption data class contains file-specific backing options.

func (*VirtualDeviceFileBackingOption) GetVirtualDeviceFileBackingOption

func (b *VirtualDeviceFileBackingOption) GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption

type VirtualDeviceFileExtension

type VirtualDeviceFileExtension string

All known file extensions.

Valid ones are:

type VirtualDeviceOption

type VirtualDeviceOption struct {
	DynamicData

	// The name of the run-time class the client should instantiate
	// to create a run-time instance of this device.
	Type string `xml:"type" json:"type"`
	// If the device is connectable, then the connectOption
	// describes the connect options and defaults.
	ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty" json:"connectOption,omitempty"`
	// If the device can use a bus slot configuration, then the busSlotOption
	// describes the bus slot options.
	BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty" json:"busSlotOption,omitempty" vim:"5.1"`
	// Data object type that denotes the controller option object that is
	// valid for controlling this device.
	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty"`
	// Flag to indicate whether or not this device will be auto-assigned a controller
	// if one is required.
	//
	// If this is true, then a client need not explicitly create
	// the controller that this device will plug into.
	AutoAssignController *BoolOption `xml:"autoAssignController,omitempty" json:"autoAssignController,omitempty"`
	// A list of backing options that can be used to map the virtual
	// device to the host.
	//
	// The list is optional, since some devices exist only within
	// the virtual machine; for example, a VirtualController.
	BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr" json:"backingOption,omitempty"`
	// Index into the backingOption list, indicating the default backing.
	DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty" json:"defaultBackingOptionIndex,omitempty"`
	// List of property names enforced by a licensing restriction
	// of the underlying product.
	//
	// For example, a limit that is not
	// derived based on the product or hardware features; the
	// property name "numCPU".
	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
	// Indicates whether this device is deprecated.
	//
	// Hence, if set the device
	// cannot be used when creating a new virtual machine or be added to an existing
	// virtual machine. However, the device is still supported by the platform.
	Deprecated bool `xml:"deprecated" json:"deprecated"`
	// Indicates if this type of device can be hot-added to the virtual machine
	// via a reconfigure operation when the virtual machine is powered on.
	PlugAndPlay bool `xml:"plugAndPlay" json:"plugAndPlay"`
	// Indicates if this type of device can be hot-removed from the virtual machine
	// via a reconfigure operation when the virtual machine is powered on.
	HotRemoveSupported *bool `xml:"hotRemoveSupported" json:"hotRemoveSupported,omitempty" vim:"2.5 U2"`
	NumaSupported      *bool `xml:"numaSupported" json:"numaSupported,omitempty"`
}

The VirtualDeviceOption data object type contains information about a virtual device type, the options for configuring the virtual device, and the relationship between this virtual device and other devices.

The vSphere API groups device configurations that are mutually exclusive into different configuration objects; each of these configuration objects may define subtypes for virtual device backing options that are independent of the virtual device. Backing-dependent options should appear in a subtype of `VirtualDeviceBackingOption`.

func (*VirtualDeviceOption) GetVirtualDeviceOption

func (b *VirtualDeviceOption) GetVirtualDeviceOption() *VirtualDeviceOption

type VirtualDevicePciBusSlotInfo

type VirtualDevicePciBusSlotInfo struct {
	VirtualDeviceBusSlotInfo

	// The pci slot number of the virtual device.
	//
	// The pci slot number assignment should generally be left to the system.
	// If assigned a value, and the value is invalid or duplicated, it will
	// automatically be reassigned. This will not cause an error.
	//
	// Generally, the PCI slot numbers should never be specified in an
	// Reconfigure operation, and only in a CreateVM operation if i) they
	// are specified for all devices, and ii) the numbers have been
	// determined by looking at an existing VM configuration of similar
	// hardware version. In other words, when the virtual hardware configuration
	// is duplicated.
	PciSlotNumber int32 `xml:"pciSlotNumber" json:"pciSlotNumber"`
}

The <code>`VirtualDevicePciBusSlotInfo`</code> data object type defines information about a pci bus slot of pci device in a virtual machine.

func (*VirtualDevicePciBusSlotInfo) GetVirtualDevicePciBusSlotInfo

func (b *VirtualDevicePciBusSlotInfo) GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo

type VirtualDevicePipeBackingInfo

type VirtualDevicePipeBackingInfo struct {
	VirtualDeviceBackingInfo

	// Pipe name for the host pipe associated with this backing.
	PipeName string `xml:"pipeName" json:"pipeName"`
}

The <code>`VirtualDevicePipeBackingInfo`</code> data object type defines information for using a named pipe as backing for a device in a virtual machine.

func (*VirtualDevicePipeBackingInfo) GetVirtualDevicePipeBackingInfo

func (b *VirtualDevicePipeBackingInfo) GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo

type VirtualDevicePipeBackingOption

type VirtualDevicePipeBackingOption struct {
	VirtualDeviceBackingOption
}

The <code>`VirtualDevicePipeBackingOption`</code> data object type contains options specific to pipe backings.

func (*VirtualDevicePipeBackingOption) GetVirtualDevicePipeBackingOption

func (b *VirtualDevicePipeBackingOption) GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption

type VirtualDeviceRemoteDeviceBackingInfo

type VirtualDeviceRemoteDeviceBackingInfo struct {
	VirtualDeviceBackingInfo

	// The name of the device on the remote system.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// Indicates whether the device should be auto detected
	// instead of directly specified.
	//
	// If this value is set to TRUE,
	// <code>deviceName</code> is ignored.
	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5"`
}

<code>`VirtualDeviceRemoteDeviceBackingInfo`</code> is a data object type for information about a remote device backing used by a device in a virtual machine.

The primary difference between a remote device backing and a local device backing is that the VirtualCenter server cannot provide a list of remote host devices available for this virtual device backing.

func (*VirtualDeviceRemoteDeviceBackingInfo) GetVirtualDeviceRemoteDeviceBackingInfo

func (b *VirtualDeviceRemoteDeviceBackingInfo) GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo

type VirtualDeviceRemoteDeviceBackingOption

type VirtualDeviceRemoteDeviceBackingOption struct {
	VirtualDeviceBackingOption

	// Flag to indicate whether the specific instance of this device can
	// be auto-detected on the host instead of having to specify a
	// particular physical device.
	AutoDetectAvailable BoolOption `xml:"autoDetectAvailable" json:"autoDetectAvailable" vim:"2.5"`
}

VirtualDeviceOption.RemoteDeviceBackingOption describes the options for a remote device backing.

The primary difference between a remote device backing and a local device backing is that the VirtualCenter server cannot provide a list of remote host devices available for this virtual device backing.

func (*VirtualDeviceRemoteDeviceBackingOption) GetVirtualDeviceRemoteDeviceBackingOption

func (b *VirtualDeviceRemoteDeviceBackingOption) GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption

type VirtualDeviceURIBackingInfo

type VirtualDeviceURIBackingInfo struct {
	VirtualDeviceBackingInfo

	// Identifies the local host or a system on the network,
	// depending on the value of <code>`VirtualDeviceURIBackingInfo.direction`</code>.
	//     - If you use the virtual machine as a server, the URI identifies
	//       the host on which the virtual machine runs. In this case,
	//       the host name part of the URI should be empty, or it should
	//       specify the address of the local host.
	//     - If you use the virtual machine as a client, the URI identifies
	//       the remote system on the network.
	ServiceURI string `xml:"serviceURI" json:"serviceURI"`
	// The direction of the connection.
	//
	// For possible values see
	// `VirtualDeviceURIBackingOptionDirection_enum`
	Direction string `xml:"direction" json:"direction"`
	// Identifies a proxy service that provides network access to the
	// <code>`VirtualDeviceURIBackingInfo.serviceURI`</code>.
	//
	// If you specify a proxy URI, the virtual machine initiates
	// a connection with the proxy service and forwards the
	// `VirtualDeviceURIBackingInfo.serviceURI` and `VirtualDeviceURIBackingInfo.direction` to the proxy.
	ProxyURI string `xml:"proxyURI,omitempty" json:"proxyURI,omitempty"`
}

The <code>`VirtualDeviceURIBackingInfo`</code> data object type defines information for using a network socket as backing for a virtual device.

func (*VirtualDeviceURIBackingInfo) GetVirtualDeviceURIBackingInfo

func (b *VirtualDeviceURIBackingInfo) GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo

type VirtualDeviceURIBackingOption

type VirtualDeviceURIBackingOption struct {
	VirtualDeviceBackingOption

	// List of possible directions.
	//
	// Valid directions are:
	//     - `server`
	//     - `client`
	Directions ChoiceOption `xml:"directions" json:"directions"`
}

The `VirtualDeviceURIBackingOption` data object type describes network communication options for virtual devices.

When establishing a connection with a remote system on the network, the virtual machine can act as a server or a client. When the virtual machine acts as a server, it accepts a connection. When the virtual machine acts as a client, it initiates the connection.

func (*VirtualDeviceURIBackingOption) GetVirtualDeviceURIBackingOption

func (b *VirtualDeviceURIBackingOption) GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption

type VirtualDeviceURIBackingOptionDirection

type VirtualDeviceURIBackingOptionDirection string

The <code>VirtualDeviceURIBackingOptionDirection</code> enum type

type VirtualDisk

type VirtualDisk struct {
	VirtualDevice

	// Deprecated as of vSphere API 5.5, use `VirtualDisk.capacityInBytes`.
	//
	// Capacity of this virtual disk in kilobytes.
	//
	// Information might be lost when actual disk size is rounded off to kilobytes.
	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
	// of a megabyte.
	CapacityInKB int64 `xml:"capacityInKB" json:"capacityInKB"`
	// Capacity of this virtual disk in bytes.
	//
	// Server will always populate this property. Clients must initialize it when
	// creating a new non -RDM disk or in case they want to change the current
	// capacity of an existing virtual disk, but can omit it otherwise.
	// If the disk is on a Virtual Volume datastore the disk size must be a multiple
	// of a megabyte.
	CapacityInBytes int64 `xml:"capacityInBytes,omitempty" json:"capacityInBytes,omitempty" vim:"5.5"`
	// Deprecated as of vSphere API 4.1, use
	// `StorageIOAllocationInfo.shares`.
	//
	// Disk shares, used for resource scheduling.
	Shares *SharesInfo `xml:"shares,omitempty" json:"shares,omitempty"`
	// Deprecated as of vSphere API 6.5, use.
	//
	// Resource allocation for storage I/O.
	StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty" json:"storageIOAllocation,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 6.5, use `VirtualDisk.vDiskId`.
	//
	// Virtual disk durable and unmutable identifier.
	//
	// Virtual disk has a UUID field but that can be set through
	// VirtualDiskManager APIs.
	// This identifier is a universally unique identifier which is not settable.
	// VirtualDisk can remain in existence even if it is not associated with VM.
	DiskObjectId string `xml:"diskObjectId,omitempty" json:"diskObjectId,omitempty" vim:"5.5"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// vFlash cache configuration supported on this virtual disk.
	VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty" json:"vFlashCacheConfigInfo,omitempty" vim:"5.5"`
	// IDs of the IO Filters associated with the virtual disk.
	//
	// See `IoFilterInfo.id`. This information
	// is provided when retrieving configuration information for
	// an existing virtual machine. The client cannot modify this information
	// on a virtual machine.
	Iofilter []string `xml:"iofilter,omitempty" json:"iofilter,omitempty" vim:"6.0"`
	// ID of the virtual disk object as the first class entity.
	//
	// See `ID`
	// The ID is a universally unique identifier for the disk lifecycle,
	// even if the virtual disk is not associated with VM.
	VDiskId *ID `xml:"vDiskId,omitempty" json:"vDiskId,omitempty" vim:"6.5"`
	// Disk descriptor version of the virtual disk.
	VDiskVersion int32 `xml:"vDiskVersion,omitempty" json:"vDiskVersion,omitempty" vim:"8.0.1.0"`
	// Indicates whether a disk with
	// `VirtualDiskFlatVer2BackingInfo` backing is a linked
	// clone from an unmanaged delta disk and hence the
	// `VirtualDiskFlatVer2BackingInfo.parent` chain to
	// this delta disk will not be available.
	NativeUnmanagedLinkedClone *bool `xml:"nativeUnmanagedLinkedClone" json:"nativeUnmanagedLinkedClone,omitempty" vim:"6.7"`
	// The IDs of the independent filters associated with the virtual disk.
	//
	// This information is provided when retrieving configuration information for
	// an existing virtual machine. The client cannot modify this information on
	// a virtual machine.
	IndependentFilters []BaseVirtualMachineBaseIndependentFilterSpec `xml:"independentFilters,omitempty,typeattr" json:"independentFilters,omitempty" vim:"7.0.2.1"`
	// Flag to indicate whether a disk should be presented to the guest
	// in read-only mode (limited by choice of adapter).
	GuestReadOnly *bool `xml:"guestReadOnly" json:"guestReadOnly,omitempty" vim:"8.0.2.0"`
}

This data object type contains information about a disk in a virtual machine.

The virtual disk backing object types describe the different virtual disk backings available. The disk format version in each case describes the version of the format that is used.

Supported virtual disk backings: <dl> <dt>Sparse disk format, version 1 and 2</dt> <dd>The virtual disk backing grows when needed. Supported only for VMware Server.</dd> <dt>Flat disk format, version 1 and 2</dt> <dd>The virtual disk backing is preallocated. Version 1 is supported only for VMware Server.</dd> <dt>Space efficient sparse disk format</dt> <dd>The virtual disk backing grows on demand and incorporates additional space optimizations.</dd> <dt>Raw disk format, version 2</dt> <dd>The virtual disk backing uses a full physical disk drive to back the virtual disk. Supported only for VMware Server.</dd> <dt>Partitioned raw disk format, version 2</dt> <dd>The virtual disk backing uses one or more partitions on a physical disk drive to back a virtual disk. Supported only for VMware Server.</dd> <dt>Raw disk mapping, version 1</dt> <dd>The virtual disk backing uses a raw device mapping to back the virtual disk. Supported for ESX Server 2.5 and 3.x.</dd> </dl>

type VirtualDiskAdapterType

type VirtualDiskAdapterType string

type VirtualDiskAntiAffinityRuleSpec

type VirtualDiskAntiAffinityRuleSpec struct {
	ClusterRuleInfo

	// The list of virtual disks.
	DiskId []int32 `xml:"diskId" json:"diskId"`
}

Pod-wide anit-affinity rule for virtual disks.

The set of virtual disks should be placed on different datastores.

type VirtualDiskBlocksNotFullyProvisioned

type VirtualDiskBlocksNotFullyProvisioned struct {
	DeviceBackingNotSupported
}

The disk blocks of the specified virtual disk have not been fully provisioned on the file system.

Typically, this fault is returned as part of a parent fault like `VmConfigIncompatibleForFaultTolerance`, indicating that the disk blocks of the virtual disk must be fully provisioned on the file system before fault tolerance can be enabled on the associated virtual machine.

type VirtualDiskBlocksNotFullyProvisionedFault

type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned

type VirtualDiskCompatibilityMode

type VirtualDiskCompatibilityMode string

All known compatibility modes for raw disk mappings.

Valid compatibility modes are:

  • virtualMode
  • physicalMode

type VirtualDiskConfigSpec

type VirtualDiskConfigSpec struct {
	VirtualDeviceConfigSpec

	// Manner in which to move the virtual disk to the target datastore.
	//
	// The set of possible values is described in
	// `VirtualMachineRelocateDiskMoveOptions_enum`.
	//
	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
	//
	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
	// is assumed.
	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"6.0"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Manner in which to transfer the cache associated with the virtual disk to the
	// target host.
	//
	// If left unset then migrate is used when virtual flash resource on the source host
	// is accessible and when the backing vFlash module version is compatible with the
	// specific vFalsh module on the target host; otherwise flush is used for write back
	// cache, or a no-op for write through cache. This setting can avoid VM migration failure
	// due to incompatibility.
	// If true then migrate is always used. VM migration may fail if the backing vFlash module
	// version is incompatible with the module on the target host.
	// If false then flush is used for write back cache. It is a no-op for write through
	// cache. This setting can avoid VM migration failure due to incompatibility, but cache
	// files have to be rebuilt on the target host.
	// Default is unset.
	//
	// See also `HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption`.
	MigrateCache *bool `xml:"migrateCache" json:"migrateCache,omitempty"`
}

The VirtualDiskSpec data object type encapsulates change specifications for an individual virtual disk device.

The virtual disk being added or modified must be fully specified.

type VirtualDiskDeltaDiskFormat

type VirtualDiskDeltaDiskFormat string

type VirtualDiskDeltaDiskFormatVariant

type VirtualDiskDeltaDiskFormatVariant string

type VirtualDiskDeltaDiskFormatsSupported

type VirtualDiskDeltaDiskFormatsSupported struct {
	DynamicData

	// Datastore type name
	DatastoreType string `xml:"datastoreType" json:"datastoreType"`
	// Delta disk formats supported.
	//
	// Valid values are:
	//     - `redoLogFormat`
	//     - `nativeFormat`
	DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat" json:"deltaDiskFormat"`
}

Delta disk format supported for each datastore type.

type VirtualDiskFlatVer1BackingInfo

type VirtualDiskFlatVer1BackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// Valid modes are:
	//     - `persistent`
	//     - `nonpersistent`
	//     - `undoable`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Flag to indicate the type of virtual disk file: split or monolithic.
	//
	// If true, the virtual disk is stored in multiple files, each 2GB.
	Split *bool `xml:"split" json:"split,omitempty"`
	// Flag to indicate whether writes should go directly to the file system
	// or should be buffered.
	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
}

This data object type contains information about backing a virtual disk by using a virtual disk file on the host, in the flat file format used by GSX Server 2.x.

Flat disks are allocated when created, unlike sparse disks, which grow as needed.

type VirtualDiskFlatVer1BackingOption

type VirtualDiskFlatVer1BackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// Valid disk modes are:
	//     - `persistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select whether or not a disk
	// should be split.
	Split BoolOption `xml:"split" json:"split"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select "writethrough" as a mode for
	// virtual disks.
	//
	// Typically, this is available only for GSX Server Linux hosts.
	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
	// Flag to indicate whether this backing can have its size changed.
	Growable bool `xml:"growable" json:"growable"`
}

This data object type contains the available options when backing a virtual disk using a host file with the flat file format from GSX Server 2.x.

Flat disks are pre-allocated, whereas sparse disks are grown as needed.

type VirtualDiskFlatVer2BackingInfo

type VirtualDiskFlatVer2BackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// Valid modes are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Flag to indicate the type of virtual disk file: split or monolithic.
	//
	// If true, the virtual disk is stored in multiple files, each 2GB.
	// On ESX this property is ignored when creating new disks or
	// editing existing disks. This property is always false for disks
	// created on ESX.
	// When an existing split disk such as those created by VMware
	// Server is added to a virtual machine on ESX, the property will
	// be set to true when retrieved from `VirtualMachineConfigInfo`.
	Split *bool `xml:"split" json:"split,omitempty"`
	// Flag to indicate whether writes should go directly to the file system
	// or should be buffered.
	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
	// Flag to indicate to the underlying filesystem, whether the
	// virtual disk backing file should be allocated lazily (using
	// thin provisioning). This flag is only used for file systems
	// that support configuring the provisioning policy on a per file
	// basis, such as VMFS3.
	//
	// When specified as part of a `VirtualMachineConfigSpec`, this
	// property applies only when creating a new virtual disk; it is
	// ignored when editing an existing virtual disk.
	//
	// see `DatastoreCapability.perFileThinProvisioningSupported`
	ThinProvisioned *bool `xml:"thinProvisioned" json:"thinProvisioned,omitempty"`
	// Flag to indicate to the underlying filesystem whether the
	// virtual disk backing file should be scrubbed completely at
	// this time.
	//
	// Virtual disks on some filesystems like VMFS3 are zeroed-out
	// lazily so that disk creation time doesn't take too long.
	// However, clustering applications and features like
	// Fault Tolerance require that the virtual disk be
	// completely scrubbed. This setting allows controlling the
	// scrubbing policy on a per-disk basis.
	//
	// If this flag is unset or set to false when creating a new disk,
	// the disk scrubbing policy will be decided by the filesystem. If
	// this flag is unset or set to false when editing an existing disk,
	// it is ignored.
	// When returned as part of a `VirtualMachineConfigInfo`, this
	// property may be unset if its value is unknown.
	EagerlyScrub *bool `xml:"eagerlyScrub" json:"eagerlyScrub,omitempty" vim:"4.0"`
	// Disk UUID for the virtual disk, if available.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
	// The change ID of the virtual disk for the corresponding
	// snapshot or virtual machine.
	//
	// This can be used to track
	// incremental changes to a virtual disk. See
	// `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
	// The format of the delta disk.
	//
	// This field is valid only for a delta disk.
	//
	// See `DeltaDiskFormat` for the
	// supported formats. If not specified, the default value used is
	// `redoLogFormat`.
	//
	// If `nativeFormat`
	// is specified and the datastore does not support this format or the parent is
	// on a different datastore,
	// `DeltaDiskFormatNotSupported` is
	// thrown.
	//
	// vSphere server does not support relocation of virtual machines with
	// `nativeFormat`.
	// An exception is thrown for such requests.
	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"5.0"`
	// Indicates whether the disk backing has digest file enabled.
	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty" vim:"5.0"`
	// Grain size in kB for a delta disk of format type seSparseFormat.
	//
	// The default
	// size is 4 kB.
	// This setting is used to specify the grain size of
	// `Flex-SE` delta disks
	// when the base disk is of type FlatVer2BackingInfo.
	// The `DeltaDiskFormat` must also
	// be set to seSparseFormat.
	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty" vim:"5.1"`
	// The delta disk format variant, if applicable.
	//
	// This field is valid only for a delta disk and may specify more detailed
	// information for the delta disk format specified in
	// `deltaDiskFormat`.
	//
	// If `redoLogFormat` is
	// specified for the
	// `deltaDiskFormat`,
	// see `DeltaDiskFormatVariant` for the
	// supported formats. If this is not specified for
	// `redoLogFormat`,
	// the default value used is
	// `vmfsSparseVariant`.
	//
	// For other delta disk formats, this currently remains unspecified.
	DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty" json:"deltaDiskFormatVariant,omitempty" vim:"6.0"`
	// The sharing mode of the virtual disk.
	//
	// See `VirtualDiskSharing_enum`. The default value is
	// no sharing.
	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
	// Virtual Disk Backing encryption options.
	//
	// On modification operations the value is ignored, use the specification
	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
	// `VirtualDeviceConfigSpec.backing`.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
}

This data object type contains information about backing a virtual disk using a virtual disk file on the host, in the flat file format used by VMware Server, ESX Server 2.x, and ESX Server 3.x.

Flat disks are allocated when created, unlike sparse disks, which grow as needed.

type VirtualDiskFlatVer2BackingOption

type VirtualDiskFlatVer2BackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// Valid disk modes are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select whether or not a disk
	// should be split.
	Split BoolOption `xml:"split" json:"split"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select "writethrough" as a mode for
	// virtual disks.
	//
	// Typically, this is available only for VMware Server Linux hosts.
	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size.
	Growable bool `xml:"growable" json:"growable"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation while
	// the virtual machine is powered on.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size
	// while the virtual machine is powered on.
	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable" vim:"2.5"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
	// Flag to indicate if this backing supports thin-provisioned disks.
	//
	// When creating a thin-provisioned disk (or converting an existing disk to
	// to a thin-provisioned one), both the target datastore and the
	// host accessing it must support thin-provisioning. This flag indicates only
	// the host capability. See `DatastoreCapability.perFileThinProvisioningSupported`
	// for datastore capability.
	ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty" json:"thinProvisioned,omitempty" vim:"4.0"`
	// Flag to indicate if this backing supports eager scrubbing.
	EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty" json:"eagerlyScrub,omitempty" vim:"4.0"`
	// Deprecated as of vSphere API 5.1, please use
	// `VirtualDiskFlatVer2BackingOption.deltaDiskFormatsSupported`.
	//
	// Delta disk formats supported.
	//
	// Valid values are:
	//     - `redoLogFormat`
	//     - `nativeFormat`
	DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"5.0"`
	// Delta disk formats supported for each datastore type.
	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty" json:"deltaDiskFormatsSupported,omitempty" vim:"5.1"`
}

This data object type contains the available options when backing a virtual disk using a host file with the flat file format used in VMware Server and in ESX Server 2.x and greater.

Flat disks are pre-allocated, whereas sparse disks are grown as needed.

type VirtualDiskId

type VirtualDiskId struct {
	DynamicData

	// Virtual machine reference.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Device ID `VirtualDevice.key` of the virtual disk.
	DiskId int32 `xml:"diskId" json:"diskId"`
}

Identifier for a virtual disk.

type VirtualDiskLocalPMemBackingInfo added in v0.18.0

type VirtualDiskLocalPMemBackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Disk UUID for the virtual disk, if available.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// Persistent memory volume UUID - UUID which associates this
	// virtual disk with a specific host.
	//
	// This is read only property.
	//
	// See also `HostPersistentMemoryInfo.volumeUUID`.
	VolumeUUID string `xml:"volumeUUID,omitempty" json:"volumeUUID,omitempty"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and
	// its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing
	// is not currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal
	// or not. The guarantee provided by the content ID is that if two disk
	// backings have the same content ID and are not currently being written
	// to, then reads issued from the guest operating system to those disk
	// backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
}

This data object type contains information about backing a virtual disk using non-volatile memory technologies (persistent memory).

Supported for ESX Server 6.5 and later.

type VirtualDiskLocalPMemBackingOption added in v0.18.0

type VirtualDiskLocalPMemBackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size.
	Growable bool `xml:"growable" json:"growable"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation while
	// the virtual machine is powered on.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size
	// while the virtual machine is powered on.
	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid"`
}

This data object type contains the available options when backing a virtualdisk using persistent memory.

type VirtualDiskMode

type VirtualDiskMode string

The list of known disk modes.

The list of supported disk modes varies by the backing type. The "persistent" mode is supported by every backing type.

type VirtualDiskModeNotSupported

type VirtualDiskModeNotSupported struct {
	DeviceNotSupported

	// Disk mode that is not supported
	Mode string `xml:"mode" json:"mode"`
}

The disk mode of the specified virtual disk is not supported.

Typically, this fault is returned as part of a parent fault like `VmConfigIncompatibleForFaultTolerance`, indicating that the virtual disk's mode needs to be changed before fault tolerance can be enabled on the associated virtual machine.

type VirtualDiskModeNotSupportedFault

type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported

type VirtualDiskOption

type VirtualDiskOption struct {
	VirtualDeviceOption

	// Minimum, maximum, and default capacity of the disk.
	CapacityInKB LongOption `xml:"capacityInKB" json:"capacityInKB"`
	// Minimum, maximum, and default values for Storage I/O allocation.
	//
	// See also `StorageIOAllocationInfo`.
	IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty" json:"ioAllocationOption,omitempty" vim:"4.1"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// vFlash cache configuration on the disk.
	VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty" json:"vFlashCacheConfigOption,omitempty" vim:"5.5"`
}

The VirtualDiskOption data class contains the options for the virtual disk data object type.

type VirtualDiskOptionVFlashCacheConfigOption

type VirtualDiskOptionVFlashCacheConfigOption struct {
	DynamicData

	// Cache data consistency type.
	//
	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
	CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType" json:"cacheConsistencyType"`
	// Cache mode
	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
	CacheMode ChoiceOption `xml:"cacheMode" json:"cacheMode"`
	// Cache reservation
	ReservationInMB LongOption `xml:"reservationInMB" json:"reservationInMB"`
	// Cache block size
	BlockSizeInKB LongOption `xml:"blockSizeInKB" json:"blockSizeInKB"`
}

Deprecated since vSphere 7.0 because vFlash Read Cache end of availability.

Options for vFlash cache configuration.

type VirtualDiskPartitionedRawDiskVer2BackingInfo

type VirtualDiskPartitionedRawDiskVer2BackingInfo struct {
	VirtualDiskRawDiskVer2BackingInfo

	// Array of partition indexes.
	//
	// This array identifies the
	// partitions that are used on the physical disk drive.
	Partition []int32 `xml:"partition" json:"partition"`
}

This data object type contains information about backing a virtual disk using one or more partitions on a physical disk device.

This type of backing is supported for VMware Server.

type VirtualDiskPartitionedRawDiskVer2BackingOption

type VirtualDiskPartitionedRawDiskVer2BackingOption struct {
	VirtualDiskRawDiskVer2BackingOption
}

The VirtualDiskOption.PartitionedRawDiskVer2BackingOption object type contains the available options when backing a virtual disk using one or more partitions on a physical disk device.

This backing is supported in VMware Server.

type VirtualDiskRawDiskMappingVer1BackingInfo

type VirtualDiskRawDiskMappingVer1BackingInfo struct {
	VirtualDeviceFileBackingInfo

	// Unique identifier of the LUN accessed by the raw disk mapping.
	LunUuid string `xml:"lunUuid,omitempty" json:"lunUuid,omitempty"`
	// The host-specific device the LUN is being accessed through.
	//
	// If the
	// target LUN is not available on the host then it is empty. For example, this
	// could happen if it has accidentally been masked out.
	DeviceName string `xml:"deviceName,omitempty" json:"deviceName,omitempty"`
	// The compatibility mode of the raw disk mapping (RDM).
	//
	// This must be specified
	// when a new virtual disk with an RDM backing is created. On subsequent virtual
	// machine reconfigurations, this property should be handled as follows,
	// depending on the version of the host:
	//
	// On ESX Server 2.5, the compatibility mode of an RDM backing is a
	// characteristic of the virtual machine's configuration. When reconfiguring
	// a virtual machine that currently uses a virtual disk backed by an RDM,
	// the compatibility mode of that backing may be modified. When reconfiguring a
	// virtual machine to add an existing virtual disk backed by an RDM, the
	// compatibility mode of that backing may be specified. If left unspecified it
	// defaults to "physicalMode".
	//
	// On ESX Server 3.x, the compatibility mode of an RDM backing is a
	// characteristic of the RDM itself. Once the RDM is created, its compatibility
	// mode cannot be changed by reconfiguring the virtual machine. When
	// reconfiguring a virtual machine to add an existing virtual disk backed by an
	// RDM, the compatibility mode of that backing must be left unspecified.
	//
	// See also `VirtualDiskCompatibilityMode_enum`.
	CompatibilityMode string `xml:"compatibilityMode,omitempty" json:"compatibilityMode,omitempty"`
	// The disk mode.
	//
	// Valid values are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `append`
	//
	// Disk modes are only supported when the raw disk mapping is using virtual
	// compatibility mode.
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode,omitempty" json:"diskMode,omitempty"`
	// Disk UUID for the virtual disk, if available.
	//
	// Disk UUID is not available if
	// the raw disk mapping is in physical compatibility mode.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
	// The change ID of the virtual disk for the corresponding
	// snapshot or virtual machine.
	//
	// This can be used to track
	// incremental changes to a virtual disk. See
	// `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// Only raw disk mappings in *virtual compatibility mode* can have parents.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
	// The format of the delta disk.
	//
	// This field is valid only for a delta disk.
	//
	// See `DeltaDiskFormat` for the
	// supported formats. The default value used for VM with hardware
	// version 8 and lower is
	// `redoLogFormat`.
	// The default value used for VM with hardware
	// version 9 and higher is
	// `seSparseFormat`.
	//
	// `nativeFormat` is not
	// supported for bask disk of type RawDiskMappingVer1BackingInfo.
	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty" vim:"6.7"`
	// Grain size in kB for a delta disk of format type seSparseFormat.
	//
	// The default
	// size is 4 kB.
	// The grain size of
	// `Flex-SE` delta disks
	// when the base disk is of type RawDiskMappingVer1BackingInfo.
	// The `DeltaDiskFormat` must also
	// be set to seSparseFormat.
	DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty" json:"deltaGrainSize,omitempty" vim:"6.7"`
	// The sharing mode of the virtual disk.
	//
	// See `VirtualDiskSharing_enum`. The default value is
	// no sharing.
	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
}

This data object type contains information about backing a virtual disk using a raw device mapping.

Supported for ESX Server 2.5 and 3.x.

type VirtualDiskRawDiskMappingVer1BackingOption

type VirtualDiskRawDiskMappingVer1BackingOption struct {
	VirtualDeviceDeviceBackingOption

	// Valid extensions for the filename of the optional
	// raw disk mapping descriptor file.
	//
	// This is present only for ESX Server 3.x and greater hosts.
	DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty" json:"descriptorFileNameExtensions,omitempty"`
	// The supported raw disk mapping compatibility modes.
	//
	// See also `VirtualDiskCompatibilityMode_enum`.
	CompatibilityMode ChoiceOption `xml:"compatibilityMode" json:"compatibilityMode"`
	// The disk mode.
	//
	// Valid values are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
}

The VirtualDiskOption.RawDiskMappingVer1BackingOption object type contains the available options when backing a virtual disk using a raw device mapping on ESX Server 2.5 or 3.x.

type VirtualDiskRawDiskVer2BackingInfo

type VirtualDiskRawDiskVer2BackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// The name of the raw disk descriptor file.
	DescriptorFileName string `xml:"descriptorFileName" json:"descriptorFileName"`
	// Disk UUID for the virtual disk, if available.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
	// The change ID of the virtual disk for the corresponding
	// snapshot or virtual machine.
	//
	// This can be used to track
	// incremental changes to a virtual disk. See
	// `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
	// The sharing mode of the virtual disk.
	//
	// See `VirtualDiskSharing_enum`. The default value is
	// no sharing.
	Sharing string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"6.0"`
}

This data object type contains information about backing a virtual disk by using a host device, as used by VMware Server.

func (*VirtualDiskRawDiskVer2BackingInfo) GetVirtualDiskRawDiskVer2BackingInfo

func (b *VirtualDiskRawDiskVer2BackingInfo) GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo

type VirtualDiskRawDiskVer2BackingOption

type VirtualDiskRawDiskVer2BackingOption struct {
	VirtualDeviceDeviceBackingOption

	// Valid extensions for the filename of the raw disk descriptor
	// file.
	DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions" json:"descriptorFileNameExtensions"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
}

The VirtualDiskOption.RawDiskVer2BackingOption object type contains the available options when backing a virtual disk using a host device on VMware Server.

func (*VirtualDiskRawDiskVer2BackingOption) GetVirtualDiskRawDiskVer2BackingOption

func (b *VirtualDiskRawDiskVer2BackingOption) GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption

type VirtualDiskRuleSpec added in v0.18.0

type VirtualDiskRuleSpec struct {
	ClusterRuleInfo

	// Type of the virtual disks rule.
	//
	// The set of possible values are described
	// in `VirtualDiskRuleSpecRuleType_enum`
	DiskRuleType string `xml:"diskRuleType" json:"diskRuleType"`
	// The list of virtual disks for this rule.
	DiskId []int32 `xml:"diskId,omitempty" json:"diskId,omitempty"`
}

The set of virtual disks that are currently disabled

type VirtualDiskRuleSpecRuleType added in v0.18.0

type VirtualDiskRuleSpecRuleType string

Rule type determines how the virtual disks in a vm can be grouped

type VirtualDiskSeSparseBackingInfo

type VirtualDiskSeSparseBackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// Valid modes are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether writes should go directly to the file system
	// or should be buffered.
	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
	// Disk UUID for the virtual disk, if available.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty"`
	// The change ID of the virtual disk for the corresponding
	// snapshot or virtual machine.
	//
	// This can be used to track
	// incremental changes to a virtual disk. See `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
	// The format of the delta disk.
	//
	// This field is valid only for a delta disk.
	//
	// See `DeltaDiskFormat` for the
	// supported formats. If not specified, the default value used is
	// `redoLogFormat`.
	DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty" json:"deltaDiskFormat,omitempty"`
	// Indicates whether the disk backing has digest file enabled.
	DigestEnabled *bool `xml:"digestEnabled" json:"digestEnabled,omitempty"`
	// Specify the grain size in kB.
	//
	// The default size is 4 kB.
	GrainSize int32 `xml:"grainSize,omitempty" json:"grainSize,omitempty"`
	// Virtual Disk Backing encryption options.
	//
	// On modification operations the value is ignored, use the specification
	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
	// `VirtualDeviceConfigSpec.backing`.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
}

Backing type for virtual disks that use the space efficient sparse format.

Space for space efficient sparse disks is allocated on demand and optimizations are applied to achieve additional space savings. The effective space usage of such a disk can be obtained from `VirtualMachineFileLayoutEx`.

type VirtualDiskSeSparseBackingOption

type VirtualDiskSeSparseBackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// Valid disk modes are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select "writethrough" as a mode for
	// virtual disks.
	//
	// Typically, this is available only for VMware Server Linux hosts.
	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size.
	Growable bool `xml:"growable" json:"growable"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation while
	// the virtual machine is powered on.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size
	// while the virtual machine is powered on.
	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid"`
	// Delta disk formats supported for each datastore type.
	DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported" json:"deltaDiskFormatsSupported"`
}

Backing options for virtual disks that use the space efficient sparse format.

Space for Flex-SE disks is allocated on demand and optimizations are applied to achieve additional space savings.

type VirtualDiskSharing

type VirtualDiskSharing string

The sharing mode of the virtual disk.

Setting the value to sharingMultiWriter means that multiple virtual machines can write to the virtual disk. This sharing mode is allowed

type VirtualDiskSparseVer1BackingInfo

type VirtualDiskSparseVer1BackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// Valid values are:
	//     - `persistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Flag to indicate the type of virtual disk file: split or monolithic.
	//
	// If true, the virtual disk is stored in multiple files, each 2GB.
	Split *bool `xml:"split" json:"split,omitempty"`
	// Flag to indicate whether writes should go directly to the file system
	// or should be buffered.
	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
	// The space in use for this sparse disk.
	//
	// This information is provided
	// when retrieving configuration information for an existing virtual
	// machine. The client cannot modify this information using reconfigure
	// on a virtual machine.
	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
}

This data object type contains information about backing a virtual disk by using a virtual disk file on the host, in the sparse disk format used by GSX Server 2.x.

type VirtualDiskSparseVer1BackingOption

type VirtualDiskSparseVer1BackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// Valid disk modes are:
	//     - `persistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskModes ChoiceOption `xml:"diskModes" json:"diskModes"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select whether or not a sparse disk
	// should be split.
	Split BoolOption `xml:"split" json:"split"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select "writethrough" as a mode for
	// virtual disks.
	//
	// Typically, this is available only for VMware Server Linux hosts.
	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
	// Flag to indicate whether this backing can have its size changed.
	Growable bool `xml:"growable" json:"growable"`
}

This data object type contains the available options when backing a virtual disk using a host file with the sparse file format from GSX Server 2.x.

type VirtualDiskSparseVer2BackingInfo

type VirtualDiskSparseVer2BackingInfo struct {
	VirtualDeviceFileBackingInfo

	// The disk persistence mode.
	//
	// Valid modes are:
	//     - `persistent`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode string `xml:"diskMode" json:"diskMode"`
	// Flag to indicate the type of virtual disk file: split or monolithic.
	//
	// If true, the virtual disk is stored in multiple files, each 2GB.
	Split *bool `xml:"split" json:"split,omitempty"`
	// Flag to indicate whether writes should go directly to the file system
	// or should be buffered.
	WriteThrough *bool `xml:"writeThrough" json:"writeThrough,omitempty"`
	// The space in use for this sparse disk.
	//
	// This information is provided
	// when retrieving configuration information for an exisiting virtual
	// machine. The client cannot modify this information using reconfigure
	// on a virtual machine.
	SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty" json:"spaceUsedInKB,omitempty"`
	// Disk UUID for the virtual disk, if available.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty" vim:"2.5"`
	// Content ID of the virtual disk file, if available.
	//
	// A content ID indicates the logical contents of the disk backing and its parents.
	//
	// This property is only guaranteed to be up to date if this disk backing is not
	// currently being written to by any virtual machine.
	//
	// The only supported operation is comparing if two content IDs are equal or not.
	// The guarantee provided by the content ID is that if two disk backings have the
	// same content ID and are not currently being written to, then reads issued from
	// the guest operating system to those disk backings will return the same data.
	ContentId string `xml:"contentId,omitempty" json:"contentId,omitempty" vim:"4.0"`
	// The change ID of the virtual disk for the corresponding
	// snapshot or virtual machine.
	//
	// This can be used to track
	// incremental changes to a virtual disk. See
	// `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty" vim:"4.0"`
	// The parent of this virtual disk file, if this is a delta disk backing.
	//
	// This will be unset if this is not a delta disk backing.
	//
	// A delta disk backing is a way to preserve a virtual disk backing
	// at some point in time. A delta disk backing is a file backing which in
	// turn points to the original virtual disk backing (the parent). After a delta
	// disk backing is added, all writes go to the delta disk backing. All reads
	// first try the delta disk backing and then try the parent backing if needed.
	//
	// A delta disk backing can be added to a disk either implicitly during
	// snapshot operations, or explicitly during create or reconfigure of the virtual
	// machine.
	//
	// Note that the type of the backing is consistent throughout the chain; any new
	// delta disk backing which is added is of the same type as the original disk .
	// Also note that since the parent backing is not being written to,
	// it is possible that the parent backing may be shared among multiple
	// disks belonging to multiple virtual machines.
	//
	// During virtual machine `creation` and
	// `reconfiguration` this property is
	// only checked if the `VirtualDeviceConfigSpec` specifies
	// an *add operation* with a
	// *create file operation*.
	// In this case, a new delta disk backing is created which points to the parent
	// disk backing. Only the `fileName`
	// property is important; all other properties will be ignored. The parent backing
	// is assumed to exist and will not be recursively created.
	//
	// This property may only be set if
	// `deltaDiskBackingsSupported`
	// is true.
	Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty" json:"parent,omitempty" vim:"4.0"`
	// Virtual Disk Backing encryption options.
	//
	// On modification operations the value is ignored, use the specification
	// `VirtualDeviceConfigSpecBackingSpec.crypto` in
	// `VirtualDeviceConfigSpec.backing`.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
}

This data object type contains information about backing a virtual disk by using a virtual disk file on the host, in the sparse disk format used by VMware Server.

type VirtualDiskSparseVer2BackingOption

type VirtualDiskSparseVer2BackingOption struct {
	VirtualDeviceFileBackingOption

	// The disk mode.
	//
	// Valid disk modes are:
	//     - `persistent`
	//     - `nonpersistent`
	//     - `undoable`
	//     - `independent_persistent`
	//     - `independent_nonpersistent`
	//     - `append`
	//
	// See also `VirtualDiskMode_enum`.
	DiskMode ChoiceOption `xml:"diskMode" json:"diskMode"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select whether or not a sparse disk
	// should be split.
	Split BoolOption `xml:"split" json:"split"`
	// Flag to indicate whether or not the host supports
	// allowing the client to select "writethrough" as a mode for
	// virtual disks.
	//
	// Typically, this is available only for VMware Server Linux hosts.
	WriteThrough BoolOption `xml:"writeThrough" json:"writeThrough"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size.
	Growable bool `xml:"growable" json:"growable"`
	// Indicates whether or not this disk backing can be
	// extended to larger sizes through a reconfigure operation while
	// the virtual machine is powered on.
	//
	// If set to true, reconfiguring this virtual disk
	// with a `VirtualDisk.capacityInKB` value greater
	// than its current value will grow the disk to the newly specified size
	// while the virtual machine is powered on.
	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable" vim:"2.5"`
	// Flag to indicate whether this backing supports disk UUID property.
	Uuid bool `xml:"uuid" json:"uuid" vim:"2.5"`
}

This data object type contains the options available when backing a virtual disk using a host file with the sparse file format from VMware Server.

type VirtualDiskSpec

type VirtualDiskSpec struct {
	DynamicData

	// The type of the new virtual disk.
	//
	// See also `VirtualDiskType_enum`.
	DiskType string `xml:"diskType" json:"diskType"`
	// The type of the virtual disk adapter for the new virtual disk.
	//
	// See also `VirtualDiskAdapterType_enum`.
	AdapterType string `xml:"adapterType" json:"adapterType"`
}

Specification used to create or clone a virtual disk

func (*VirtualDiskSpec) GetVirtualDiskSpec

func (b *VirtualDiskSpec) GetVirtualDiskSpec() *VirtualDiskSpec

type VirtualDiskType

type VirtualDiskType string

type VirtualDiskVFlashCacheConfigInfo

type VirtualDiskVFlashCacheConfigInfo struct {
	DynamicData

	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Name of vFlash module which manages the cache.
	//
	// If not specified, default setting
	// `HostVFlashManagerVFlashCacheConfigSpec.defaultVFlashModule`
	// will be used.
	VFlashModule string `xml:"vFlashModule,omitempty" json:"vFlashModule,omitempty"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Amount of vFlash resource that is guaranteed available to the cache.
	//
	// If not specified,
	// default reservation will be used.
	ReservationInMB int64 `xml:"reservationInMB,omitempty" json:"reservationInMB,omitempty"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Cache data consistency types after a crash.
	//
	// See `VirtualDiskVFlashCacheConfigInfoCacheConsistencyType_enum`
	// for supported types. If not specified, the default value used is
	// `strong`
	CacheConsistencyType string `xml:"cacheConsistencyType,omitempty" json:"cacheConsistencyType,omitempty"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Cache modes.
	//
	// See `VirtualDiskVFlashCacheConfigInfoCacheMode_enum`
	// for supported modes. If not specified, the default value used is
	// `write_thru`.
	CacheMode string `xml:"cacheMode,omitempty" json:"cacheMode,omitempty"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Cache block size.
	//
	// This parameter allows the user to control how much
	// data gets cached on a single access to the VMDK. Max block size is 1MB.
	// Default is 4KB.
	BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty" json:"blockSizeInKB,omitempty"`
}

Data object describes the vFlash cache configuration on this virtual disk.

type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType

type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string

type VirtualDiskVFlashCacheConfigInfoCacheMode

type VirtualDiskVFlashCacheConfigInfoCacheMode string

type VirtualE1000

type VirtualE1000 struct {
	VirtualEthernetCard
}

The VirtualE1000 data object type represents an instance of the E1000 virtual Ethernet adapter attached to a virtual machine.

type VirtualE1000Option

type VirtualE1000Option struct {
	VirtualEthernetCardOption
}

The VirtualE1000 option data object type contains the options for the `VirtualE1000` data object type.

type VirtualE1000e

type VirtualE1000e struct {
	VirtualEthernetCard
}

The VirtualE1000e data object type represents an instance of the E1000e virtual Ethernet adapter attached to a virtual machine.

type VirtualE1000eOption

type VirtualE1000eOption struct {
	VirtualEthernetCardOption
}

The VirtualE1000e option data object type contains the options for the `VirtualE1000e` data object type.

type VirtualEnsoniq1371

type VirtualEnsoniq1371 struct {
	VirtualSoundCard
}

The VirtualEnsoniq1371 data object type represents an Ensoniq 1371 sound card in a virtual machine.

type VirtualEnsoniq1371Option

type VirtualEnsoniq1371Option struct {
	VirtualSoundCardOption
}

The VirtualEnsoniq1371Option data object type contains the options for the virtual Ensoniq 1371 sound card.

type VirtualEthernetCard

type VirtualEthernetCard struct {
	VirtualDevice

	// MAC address type.
	//
	// Valid values for address type are:
	// <dl>
	// <dt>Manual</dt>
	// <dd>Statically assigned MAC address.</dd>
	// <dt>Generated</dt>
	// <dd>Automatically generated MAC address.</dd>
	// <dt>Assigned</dt>
	// <dd>MAC address assigned by VirtualCenter.</dd>
	// </dl>
	AddressType string `xml:"addressType,omitempty" json:"addressType,omitempty"`
	// MAC address assigned to the virtual network adapter.
	//
	// Clients can
	// set this property to any of the allowed address types. The server might
	// override the specified value for "Generated" or "Assigned" if it does not
	// fall in the right ranges or is determined to be a duplicate.
	MacAddress string `xml:"macAddress,omitempty" json:"macAddress,omitempty"`
	// Indicates whether wake-on-LAN is enabled on this virtual network adapter.
	//
	// Clients
	// can set this property to selectively enable or disable wake-on-LAN.
	WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled,omitempty"`
	// Resource requirements of the virtual network adapter
	ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty" json:"resourceAllocation,omitempty" vim:"6.0"`
	// An ID assigned to the virtual network adapter by external management plane or
	// controller.
	//
	// The value and format of this property is determined by external
	// management plane or controller, and vSphere doesn't do any validation. It's
	// also up to external management plane or controller to set, unset or maintain
	// this property. Setting this property with an empty string value will unset the
	// property.
	ExternalId string `xml:"externalId,omitempty" json:"externalId,omitempty" vim:"6.0"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Indicates whether UPT(Universal Pass-through) compatibility is enabled
	// on this network adapter.
	//
	// UPT is only compatible for Vmxnet3 adapter.
	// Clients can set this property enabled or disabled if ethernet
	// virtual device is Vmxnet3.
	UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled" json:"uptCompatibilityEnabled,omitempty" vim:"6.0"`
}

The `VirtualEthernetCard` data object contains the properties of an Ethernet adapter attached to a virtual machine.

func (*VirtualEthernetCard) GetVirtualEthernetCard

func (b *VirtualEthernetCard) GetVirtualEthernetCard() *VirtualEthernetCard

type VirtualEthernetCardDVPortBackingOption

type VirtualEthernetCardDVPortBackingOption struct {
	VirtualDeviceBackingOption
}

This data object type contains the options for using a distributed virtual port virtual network card backing data object type.

type VirtualEthernetCardDistributedVirtualPortBackingInfo

type VirtualEthernetCardDistributedVirtualPortBackingInfo struct {
	VirtualDeviceBackingInfo

	// `DistributedVirtualPort` or `DistributedVirtualPortgroup`
	// connection.
	//
	// To specify a port connection, set the
	// `DistributedVirtualSwitchPortConnection.portKey` property.
	// To specify a portgroup connection, set the
	// `DistributedVirtualSwitchPortConnection.portgroupKey` property.
	//
	// This property will be unset during Virtual Machine or template cloning
	// operation unless it's set to a `DistributedVirtualSwitchPortConnection`
	// object and the portgroup is a late binding portgroup.
	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
}

The `VirtualEthernetCardDistributedVirtualPortBackingInfo` data object defines backing for a virtual Ethernet card that connects to a distributed virtual switch port or portgroup.

type VirtualEthernetCardLegacyNetworkBackingInfo

type VirtualEthernetCardLegacyNetworkBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The `VirtualEthernetCardLegacyNetworkBackingInfo` data object provides legacy backing for a virtual Ethernet card.

type VirtualEthernetCardLegacyNetworkBackingOption

type VirtualEthernetCardLegacyNetworkBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

This data object type contains the options for using a legacy virtual network card backing data object type.

type VirtualEthernetCardLegacyNetworkDeviceName

type VirtualEthernetCardLegacyNetworkDeviceName string

Possible device names for legacy network backing option are listed below.

Note: This is not an exhaustive list. It is possible to specify a specific device as well. For example, on ESX hosts, the device name could be specified as "vmnic\[0-9\]" or vmnet\_\[0-9\]. For VMware Server Windows hosts, the device name could be specified as "vmnet\[0-9\]" and for VMware Server Linux hosts, the device name could be specified as "/dev/vmnet\[0-9\]" depending on what devices are available on that particular host.

type VirtualEthernetCardMacType

type VirtualEthernetCardMacType string

The enumeration of all known valid MAC address types.

type VirtualEthernetCardNetworkBackingInfo

type VirtualEthernetCardNetworkBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// Reference to the network managed object to which this backing applies.
	//
	// This is not used during configuration.
	//
	// Refers instance of `Network`.
	Network *ManagedObjectReference `xml:"network,omitempty" json:"network,omitempty"`
	// Deprecated as of vSphere API 4.0, this property is not supported.
	// &nbsp;.
	//
	// &nbsp;
	InPassthroughMode *bool `xml:"inPassthroughMode" json:"inPassthroughMode,omitempty" vim:"2.5 U2"`
}

The `VirtualEthernetCardNetworkBackingInfo` data object defines network backing for a virtual Ethernet card.

type VirtualEthernetCardNetworkBackingOption

type VirtualEthernetCardNetworkBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

This data object type contains the options for the virtual network card backing data object type.

type VirtualEthernetCardNotSupported

type VirtualEthernetCardNotSupported struct {
	DeviceNotSupported
}

The virtual machine's virtual ethernet card is not supported.

type VirtualEthernetCardNotSupportedFault

type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported

type VirtualEthernetCardOpaqueNetworkBackingInfo

type VirtualEthernetCardOpaqueNetworkBackingInfo struct {
	VirtualDeviceBackingInfo

	// The opaque network ID
	OpaqueNetworkId string `xml:"opaqueNetworkId" json:"opaqueNetworkId"`
	// The opaque network type
	OpaqueNetworkType string `xml:"opaqueNetworkType" json:"opaqueNetworkType"`
}

This class defines backing for a virtual Ethernet card that connects to an opaque network.

type VirtualEthernetCardOpaqueNetworkBackingOption

type VirtualEthernetCardOpaqueNetworkBackingOption struct {
	VirtualDeviceBackingOption
}

This data object type contains the options for the virtual network card backing data object type.

type VirtualEthernetCardOption

type VirtualEthernetCardOption struct {
	VirtualDeviceOption

	// The valid Organizational Unique Identifiers (OUIs)
	// supported by this virtual Ethernet card.
	//
	// <dl>
	// <dt>Supported OUIs for statically assigned MAC addresses:</dt>
	// <dd>"00:50:56"</dd>
	// </dl>
	SupportedOUI ChoiceOption `xml:"supportedOUI" json:"supportedOUI"`
	// The supported MAC address types.
	MacType ChoiceOption `xml:"macType" json:"macType"`
	// Flag to indicate whether or not wake-on-LAN is settable on this device.
	WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled" json:"wakeOnLanEnabled"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Flag to indicate whether VMDirectPath Gen 2 is available on this device.
	VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported" json:"vmDirectPathGen2Supported,omitempty" vim:"4.1"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer supported and
	// there is no replacement.
	//
	// Flag to indicate whether Universal Pass-through(UPT) is settable on this device.
	UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty" json:"uptCompatibilityEnabled,omitempty" vim:"6.0"`
}

This data object type contains the options for the virtual ethernet card data object type.

func (*VirtualEthernetCardOption) GetVirtualEthernetCardOption

func (b *VirtualEthernetCardOption) GetVirtualEthernetCardOption() *VirtualEthernetCardOption

type VirtualEthernetCardResourceAllocation

type VirtualEthernetCardResourceAllocation struct {
	DynamicData

	// Amount of network bandwidth that is guaranteed to the
	// virtual network adapter.
	//
	// If utilization is less than reservation, the resource can be used by
	// other virtual network adapters. Reservation is not allowed to exceed the
	// value of `VirtualEthernetCardResourceAllocation.limit` if
	// `VirtualEthernetCardResourceAllocation.limit` is set.
	// Units in Mbits/sec.
	Reservation *int64 `xml:"reservation" json:"reservation,omitempty"`
	// Network share.
	//
	// The value is used as a relative weight in
	// competing for shared bandwidth, in case of resource contention.
	Share SharesInfo `xml:"share" json:"share"`
	// The bandwidth limit for the virtual network adapter.
	//
	// The utilization of the virtual network adapter will not
	// exceed this limit, even if there are available resources.
	// To clear the value of this property and revert it to unset,
	// set the vaule to "-1" in an update operation.
	// Units in Mbits/sec.
	Limit *int64 `xml:"limit" json:"limit,omitempty"`
}

This class specifies the network resource requirement.

type VirtualFloppy

type VirtualFloppy struct {
	VirtualDevice
}

The VirtualFloppy data object type contains information about a floppy drive in a virtual machine.

type VirtualFloppyDeviceBackingInfo

type VirtualFloppyDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The data object type for device backing of a virtual floppy drive.

type VirtualFloppyDeviceBackingOption

type VirtualFloppyDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The DeviceBackingOption data object type contains the options for the floppy device backing type.

type VirtualFloppyImageBackingInfo

type VirtualFloppyImageBackingInfo struct {
	VirtualDeviceFileBackingInfo
}

The data object type for file image backing of a virtual floppy drive.

type VirtualFloppyImageBackingOption

type VirtualFloppyImageBackingOption struct {
	VirtualDeviceFileBackingOption
}

The ImageBackingOption data object type contains the options for the floppy image backing type.

type VirtualFloppyOption

type VirtualFloppyOption struct {
	VirtualDeviceOption
}

The VirtualFloppyOption data class contains the options for the virtual floppy data object type.

type VirtualFloppyRemoteDeviceBackingInfo

type VirtualFloppyRemoteDeviceBackingInfo struct {
	VirtualDeviceRemoteDeviceBackingInfo
}

The data object type for remote device backing of a virtual floppy drive.

type VirtualFloppyRemoteDeviceBackingOption

type VirtualFloppyRemoteDeviceBackingOption struct {
	VirtualDeviceRemoteDeviceBackingOption
}

The RemoteDeviceBackingOption data object type contains the options for the floppy remote device backing type.

type VirtualHardware

type VirtualHardware struct {
	DynamicData

	// Number of virtual CPUs present in this virtual machine.
	NumCPU int32 `xml:"numCPU" json:"numCPU"`
	// Number of cores used to distribute virtual CPUs among sockets
	// in this virtual machine.
	//
	// This field should be ignored for powered off VM with
	// autoCoresPerSocket equals TRUE, because the virtual socket size
	// will be assigned during power-on.
	// This field could be unset for releases prior to 7.0 U3, and it
	// implies numCoresPerSocket is 1.
	// In other cases, this field represents the actual virtual socket
	// size seen by the virtual machine.
	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
	// Cores per socket is automatically determined.
	AutoCoresPerSocket *bool `xml:"autoCoresPerSocket" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
	// Memory size, in MB.
	MemoryMB int32 `xml:"memoryMB" json:"memoryMB"`
	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty" vim:"5.0"`
	// Does this virtual machine have System Management Controller
	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty" vim:"5.0"`
	// The set of virtual devices belonging to the virtual machine.
	//
	// This list is unordered.
	Device []BaseVirtualDevice `xml:"device,omitempty,typeattr" json:"device,omitempty"`
	// One of motherboardLayout choices.
	//
	// Default is i440bxHostBridge. See
	// `VirtualHardware.motherboardLayout`
	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
	// Number of SMT (Simultaneous multithreading) threads.
	//
	// If unset, then system defaults are in use.
	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
}

The VirtualHardware data object type contains the complete configuration of the hardware in a virtual machine.

type VirtualHardwareCompatibilityIssue

type VirtualHardwareCompatibilityIssue struct {
	VmConfigFault
}

There is a problem with the compatibility between the intended execution host and the virtual machine.

This may be an error or warning depending on the specific fault subclass.

func (*VirtualHardwareCompatibilityIssue) GetVirtualHardwareCompatibilityIssue

func (b *VirtualHardwareCompatibilityIssue) GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue

type VirtualHardwareCompatibilityIssueFault

type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue

type VirtualHardwareMotherboardLayout added in v0.29.0

type VirtualHardwareMotherboardLayout string

type VirtualHardwareOption

type VirtualHardwareOption struct {
	DynamicData

	// The virtual hardware version.
	HwVersion int32 `xml:"hwVersion" json:"hwVersion"`
	// Array of virtual device options valid for this virtual
	// machine configuration.
	//
	// The list is unordered.
	VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr" json:"virtualDeviceOption"`
	// Whether the set of virtual devices can be changed, e.g., can devices
	// be added or removed.
	//
	// This does not preclude changing devices.
	DeviceListReadonly bool `xml:"deviceListReadonly" json:"deviceListReadonly"`
	// List of acceptable values for the number of CPUs supported by this
	// `ConfigOption`.
	//
	// This is usually superceded by the information available in the
	// guest operating system descriptors.
	// The guest operating system descriptor describes a maximum CPU
	// count, but the acceptable values are still constrained to the
	// set specified here. The default value is stored at index 0 in the list.
	NumCPU []int32 `xml:"numCPU" json:"numCPU"`
	// The minimum, maximum and default number of cores per socket that
	// can be used when distributing virtual CPUs.
	NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
	// Whether auto cores per socket is supported.
	AutoCoresPerSocket *BoolOption `xml:"autoCoresPerSocket,omitempty" json:"autoCoresPerSocket,omitempty" vim:"8.0.0.1"`
	// Can the number of virtual CPUs be changed
	NumCpuReadonly bool `xml:"numCpuReadonly" json:"numCpuReadonly"`
	// The minimum, maximum, and default memory options, in MB, per virtual machine,
	// for this VirtualHardwareOption.
	//
	// These
	// values are typically overruled by the supported and recommended
	// values specified in the `GuestOsDescriptor` class.
	MemoryMB LongOption `xml:"memoryMB" json:"memoryMB"`
	// The minimum, maximum, and default number of PCI controllers for
	// this virtual machine configuration.
	NumPCIControllers IntOption `xml:"numPCIControllers" json:"numPCIControllers"`
	// The minimum, maximum, and default number of IDE controllers for
	// this virtual machine configuration.
	//
	// Note: SCSI controllers sit
	// on the PCI controller so their options (minimum, maximum, and default values)
	// are contained inside the
	// `VirtualPCIControllerOption`
	// class.
	NumIDEControllers IntOption `xml:"numIDEControllers" json:"numIDEControllers"`
	// The minimum, maximum, and default number of USB controllers for
	// this virtual machine configuration.
	NumUSBControllers IntOption `xml:"numUSBControllers" json:"numUSBControllers"`
	// The minimum, maximum, and default number of XHCI (USB 3.0) controllers for
	// this virtual machine configuration.
	NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty" json:"numUSBXHCIControllers,omitempty" vim:"5.0"`
	// The minimum, maximum, and default number of SIO controllers for
	// this virtual machine configuration.
	NumSIOControllers IntOption `xml:"numSIOControllers" json:"numSIOControllers"`
	// The minimum, maximum, and default number of PS2 controllers for
	// this virtual machine configuration.
	NumPS2Controllers IntOption `xml:"numPS2Controllers" json:"numPS2Controllers"`
	// List of propery names which limits are given be a licensing
	// restriction of the underlying product, e.g., a limit that is
	// not derived based on the product or hardware features.
	//
	// For example, the property name "numCPU"
	LicensingLimit []string `xml:"licensingLimit,omitempty" json:"licensingLimit,omitempty"`
	// The minimum, maximum and default number of NPIV WorldWideNode names
	// supported for this virtual machine configuration.
	NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty" json:"numSupportedWwnPorts,omitempty" vim:"4.0"`
	// The minimum, maximum and default number of NPIV WorldWidePort names
	// supported for this virtual machine configuration.
	NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty" json:"numSupportedWwnNodes,omitempty" vim:"4.0"`
	// Default value and value range for `ResourceConfigOption`
	ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty" json:"resourceConfigOption,omitempty" vim:"4.1"`
	// The minimum, maximum and default number of virtual NVDIMM controllers
	// for this virtual machine configuration.
	NumNVDIMMControllers *IntOption `xml:"numNVDIMMControllers,omitempty" json:"numNVDIMMControllers,omitempty" vim:"6.7"`
	// The minimum, maximum, and default number of virtual TPMs.
	NumTPMDevices *IntOption `xml:"numTPMDevices,omitempty" json:"numTPMDevices,omitempty" vim:"6.7"`
	// The minimum, maximum, and default number of virtual watchdog timers.
	NumWDTDevices *IntOption `xml:"numWDTDevices,omitempty" json:"numWDTDevices,omitempty" vim:"7.0"`
	// The minimum, maximum and default number of PrecisionClock devices.
	NumPrecisionClockDevices *IntOption `xml:"numPrecisionClockDevices,omitempty" json:"numPrecisionClockDevices,omitempty" vim:"7.0"`
	// The minimum, maximum and default value of Intel's Secure Guard Extensions
	// Enclave Page Cache (EPC) memory.
	EpcMemoryMB *LongOption `xml:"epcMemoryMB,omitempty" json:"epcMemoryMB,omitempty" vim:"7.0"`
	// Empty for HWv17 &amp; older, \["efi"\] for HWv18.
	AcpiHostBridgesFirmware []string `xml:"acpiHostBridgesFirmware,omitempty" json:"acpiHostBridgesFirmware,omitempty" vim:"8.0.0.1"`
	// The minimum, maximum and default number of CPU simultaneous threads.
	NumCpuSimultaneousThreads *IntOption `xml:"numCpuSimultaneousThreads,omitempty" json:"numCpuSimultaneousThreads,omitempty" vim:"8.0.0.1"`
	// The minimum, maximum and default number of NUMA nodes.
	NumNumaNodes *IntOption `xml:"numNumaNodes,omitempty" json:"numNumaNodes,omitempty" vim:"8.0.0.1"`
	// Maximum number of device groups.
	NumDeviceGroups *IntOption `xml:"numDeviceGroups,omitempty" json:"numDeviceGroups,omitempty" vim:"8.0.0.1"`
	// Supported device group types.
	DeviceGroupTypes []string `xml:"deviceGroupTypes,omitempty" json:"deviceGroupTypes,omitempty" vim:"8.0.0.1"`
}

The VirtualHardwareOption data object contains the options available for all virtual devices.

type VirtualHardwareVersionNotSupported

type VirtualHardwareVersionNotSupported struct {
	VirtualHardwareCompatibilityIssue

	HostName string `xml:"hostName" json:"hostName"`
	// The host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host" vim:"2.5"`
}

The virtual machine's virtual hardware version is not supported on the host.

type VirtualHardwareVersionNotSupportedFault

type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported

type VirtualHdAudioCard

type VirtualHdAudioCard struct {
	VirtualSoundCard
}

The VirtualHdAudioCard data object type represents a HD Audio sound card in a virtual machine.

type VirtualHdAudioCardOption

type VirtualHdAudioCardOption struct {
	VirtualSoundCardOption
}

The VirtualHdAudioCardOption data object type contains the options for a virtual HD Audio sound card.

type VirtualIDEController

type VirtualIDEController struct {
	VirtualController
}

The VirtualIDEController data object type specifies a virtual IDE controller.

type VirtualIDEControllerOption

type VirtualIDEControllerOption struct {
	VirtualControllerOption

	// The minimum, maximum, and default number of IDE VirtualDisk instances you can
	// have, at any given time, in the IDE controller.
	//
	// The number is further constrained
	// by the number of available slots in the virtual IDE controller.
	NumIDEDisks IntOption `xml:"numIDEDisks" json:"numIDEDisks"`
	// The minimum, maximum, and default number of IDE VirtualCdrom instances you can
	// have, at any given time, in the IDE controller.
	//
	// The number is further constrained
	// by the number of available slots in the virtual IDE controller.
	NumIDECdroms IntOption `xml:"numIDECdroms" json:"numIDECdroms"`
}

The VirtualIDEControllerOption data object type contains the options for a virtual IDE controller.

type VirtualKeyboard

type VirtualKeyboard struct {
	VirtualDevice
}

This data object type contains information about the keyboard on a virtual machine.

type VirtualKeyboardOption

type VirtualKeyboardOption struct {
	VirtualDeviceOption
}

The VirtualKeyboardOption data object type contains the options for the virtual keyboard class.

type VirtualLsiLogicController

type VirtualLsiLogicController struct {
	VirtualSCSIController
}

VirtualLsiLogicController is the data object that represents a LSI Logic SCSI controller.

type VirtualLsiLogicControllerOption

type VirtualLsiLogicControllerOption struct {
	VirtualSCSIControllerOption
}

VirtualLsiLogicControllerOption is the data object that contains the options for a LSI Logic SCSI controller.

type VirtualLsiLogicSASController

type VirtualLsiLogicSASController struct {
	VirtualSCSIController
}

VirtualLsiLogicSASController is the data object that represents a LSI Logic SAS SCSI controller.

type VirtualLsiLogicSASControllerOption

type VirtualLsiLogicSASControllerOption struct {
	VirtualSCSIControllerOption
}

VirtualLsiLogicSASControllerOption is the data object that contains the options for a LSI Logic SAS SCSI controller.

type VirtualMachineAffinityInfo

type VirtualMachineAffinityInfo struct {
	DynamicData

	// List of nodes (processors for CPU, NUMA nodes for memory) that
	// may be used by the virtual machine.
	//
	// If the array is empty when
	// modifying the affinity setting, then any existing affinity is removed.
	AffinitySet []int32 `xml:"affinitySet" json:"affinitySet"`
}

Specification of scheduling affinity.

Scheduling affinity is used for explicitly specifying which processors or NUMA nodes may be used by a virtual machine.

type VirtualMachineAppHeartbeatStatusType

type VirtualMachineAppHeartbeatStatusType string

type VirtualMachineBaseIndependentFilterSpec added in v0.27.0

type VirtualMachineBaseIndependentFilterSpec struct {
	DynamicData
}

The BaseIndependentFilterSpec is base class for two different types of independent filter specs `VirtualMachineIndependentFilterSpec` and `VirtualMachineEmptyIndependentFilterSpec` which are used to specify independent filters to be attached/removed on VMs virtual disk.

func (*VirtualMachineBaseIndependentFilterSpec) GetVirtualMachineBaseIndependentFilterSpec added in v0.27.0

func (b *VirtualMachineBaseIndependentFilterSpec) GetVirtualMachineBaseIndependentFilterSpec() *VirtualMachineBaseIndependentFilterSpec

type VirtualMachineBootOptions

type VirtualMachineBootOptions struct {
	DynamicData

	// Delay in milliseconds before starting the boot sequence.
	//
	// The boot delay specifies a time interval between virtual machine
	// power on or restart and the beginning of the boot sequence.
	BootDelay int64 `xml:"bootDelay,omitempty" json:"bootDelay,omitempty"`
	// If set to <code>true</code>, the virtual machine
	// automatically enters BIOS setup the next time it boots.
	//
	// The virtual machine resets this flag to <code>false</code>
	// so that subsequent boots proceed normally.
	EnterBIOSSetup *bool `xml:"enterBIOSSetup" json:"enterBIOSSetup,omitempty"`
	// If set to <code>true</code>, the virtual machine's firmware will
	// perform signature checks of any EFI images loaded during startup, and
	// will refuse to start any images which do not pass those signature
	// checks.
	//
	// When creating a new VM:
	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
	// and this flag is set to <code>false</code> error is returned.
	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
	// <code>true</code>, the value of this flag is set to <code>true</code>.
	EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled" json:"efiSecureBootEnabled,omitempty" vim:"6.5"`
	// If set to <code>true</code>, a virtual machine that fails
	// to boot will try again after the `VirtualMachineBootOptions.bootRetryDelay`
	// time period has expired.
	//
	// When <code>false</code>,
	// the virtual machine waits indefinitely for you to initiate
	// boot retry.
	BootRetryEnabled *bool `xml:"bootRetryEnabled" json:"bootRetryEnabled,omitempty" vim:"4.1"`
	// Delay in milliseconds before a boot retry.
	//
	// The boot retry delay
	// specifies a time interval between virtual machine boot failure
	// and the subsequent attempt to boot again. The virtual machine
	// uses this value only if `VirtualMachineBootOptions.bootRetryEnabled` is true.
	BootRetryDelay int64 `xml:"bootRetryDelay,omitempty" json:"bootRetryDelay,omitempty" vim:"4.1"`
	// Boot order.
	//
	// Listed devices are used for booting. After list
	// is exhausted, default BIOS boot device algorithm is used for
	// booting.
	// Note that order of the entries in the list is important:
	// device listed first is used for boot first, if that one
	// fails second entry is used, and so on.
	// Platform may have some internal limit on the number of devices
	// it supports. If bootable device is not reached before platform's
	// limit is hit, boot will fail. At least single entry is supported
	// by all products supporting boot order settings.
	BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr" json:"bootOrder,omitempty" vim:"5.0"`
	// Protocol to attempt during PXE network boot or NetBoot.
	//
	// See also `VirtualMachineBootOptionsNetworkBootProtocolType_enum`.
	NetworkBootProtocol string `xml:"networkBootProtocol,omitempty" json:"networkBootProtocol,omitempty" vim:"6.0"`
}

The `VirtualMachineBootOptions` data object defines the boot-time behavior of a virtual machine.

You can use the delay options to specify a time interval during which you can enter the virtual machine BIOS setup. These options provide a solution for the situation that occurs when the console attaches to the virtual machine after the boot sequence has passed the BIOS setup entry point.

type VirtualMachineBootOptionsBootableCdromDevice

type VirtualMachineBootOptionsBootableCdromDevice struct {
	VirtualMachineBootOptionsBootableDevice
}

Bootable CDROM.

First CDROM with bootable media found is used.

type VirtualMachineBootOptionsBootableDevice

type VirtualMachineBootOptionsBootableDevice struct {
	DynamicData
}

Bootable device.

func (*VirtualMachineBootOptionsBootableDevice) GetVirtualMachineBootOptionsBootableDevice

func (b *VirtualMachineBootOptionsBootableDevice) GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice

type VirtualMachineBootOptionsBootableDiskDevice

type VirtualMachineBootOptionsBootableDiskDevice struct {
	VirtualMachineBootOptionsBootableDevice

	// `Key`
	// property of the bootable harddisk.
	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
}

Bootable disk.

type VirtualMachineBootOptionsBootableEthernetDevice

type VirtualMachineBootOptionsBootableEthernetDevice struct {
	VirtualMachineBootOptionsBootableDevice

	// `Key`
	// property of the bootable ethernet adapter.
	DeviceKey int32 `xml:"deviceKey" json:"deviceKey"`
}

Bootable ethernet adapter.

PXE boot is attempted from the device.

type VirtualMachineBootOptionsBootableFloppyDevice

type VirtualMachineBootOptionsBootableFloppyDevice struct {
	VirtualMachineBootOptionsBootableDevice
}

Bootable floppy disk.

type VirtualMachineBootOptionsNetworkBootProtocolType

type VirtualMachineBootOptionsNetworkBootProtocolType string

type VirtualMachineCapability

type VirtualMachineCapability struct {
	DynamicData

	// Indicates whether or not a virtual machine supports snapshot operations.
	SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported" json:"snapshotOperationsSupported"`
	// Indicates whether or not a virtual machine supports multiple snapshots.
	//
	// This value is not set when the virtual machine is unavailable, for instance,
	// when it is being created or deleted.
	MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported" json:"multipleSnapshotsSupported"`
	// Indicates whether or not a virtual machine supports snapshot config.
	SnapshotConfigSupported bool `xml:"snapshotConfigSupported" json:"snapshotConfigSupported"`
	// Indicates whether or not a virtual machine supports snapshot operations in
	// poweredOff state.
	//
	// This flag doesn't affect vim.VirtualMachine.GetSnapshot,
	// which is always supported.
	PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported" json:"poweredOffSnapshotsSupported"`
	// Indicates whether or not a virtual machine supports memory snapshots.
	MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported" json:"memorySnapshotsSupported"`
	// Indicates whether or not a virtual machine supports reverting to a snapshot.
	RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported" json:"revertToSnapshotSupported"`
	// Indicates whether or not a virtual machine supports quiesced snapshots.
	QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported" json:"quiescedSnapshotsSupported"`
	// Deprecated as of vSphere API 4.0. The value returned from the server is
	// always false.
	//
	// Indicates whether or not snapshots can be disabled.
	DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported" json:"disableSnapshotsSupported" vim:"2.5"`
	// Indicates whether or not the snapshot tree can be locked.
	LockSnapshotsSupported bool `xml:"lockSnapshotsSupported" json:"lockSnapshotsSupported" vim:"2.5"`
	// Indicates whether console preferences can be set for this virtual machine.
	ConsolePreferencesSupported bool `xml:"consolePreferencesSupported" json:"consolePreferencesSupported"`
	// Indicates whether CPU feature requirements masks can be set for this
	// virtual machine.
	//
	// Masking for hardware version 9 and newer virtual
	// machines is controlled by `VirtualMachineCapability.featureRequirementSupported`.
	CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported" json:"cpuFeatureMaskSupported"`
	// Indicates whether or not a virtual machine supports ACPI S1 settings management.
	S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported" json:"s1AcpiManagementSupported"`
	// Indicates whether of not this virtual machine supports
	// setting the screen resolution of the console window.
	//
	// This capability depends on the guest operating system
	// configured for this virtual machine.
	SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported" json:"settingScreenResolutionSupported"`
	// Supports tools auto-update.
	ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported" json:"toolsAutoUpdateSupported"`
	// Supports virtual machine NPIV WWN.
	VmNpivWwnSupported bool `xml:"vmNpivWwnSupported" json:"vmNpivWwnSupported" vim:"2.5"`
	// Supports assigning NPIV WWN to virtual machines that don't have RDM disks.
	NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported" json:"npivWwnOnNonRdmVmSupported" vim:"2.5"`
	// Indicates whether the NPIV disabling operation is supported the virtual machine.
	VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported" json:"vmNpivWwnDisableSupported,omitempty" vim:"4.0"`
	// Indicates whether the update of NPIV WWNs are supported on the virtual machine.
	VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported" json:"vmNpivWwnUpdateSupported,omitempty" vim:"4.0"`
	// Flag indicating whether the virtual machine has a configurable
	// *swapfile placement policy*.
	SwapPlacementSupported bool `xml:"swapPlacementSupported" json:"swapPlacementSupported" vim:"2.5"`
	// Indicates whether asking tools to sync time with the host is supported.
	ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported" json:"toolsSyncTimeSupported" vim:"2.5"`
	// Indicates whether or not the use of nested page table hardware support
	// can be explicitly set.
	VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported" json:"virtualMmuUsageSupported" vim:"2.5"`
	// Indicates whether resource settings for disks can be
	// applied to this virtual machine.
	DiskSharesSupported bool `xml:"diskSharesSupported" json:"diskSharesSupported" vim:"2.5"`
	// Indicates whether boot options can be configured
	// for this virtual machine.
	BootOptionsSupported bool `xml:"bootOptionsSupported" json:"bootOptionsSupported" vim:"2.5"`
	// Indicates whether automatic boot retry can be
	// configured for this virtual machine.
	BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported" json:"bootRetryOptionsSupported,omitempty" vim:"4.1"`
	// Flag indicating whether the video ram size of this virtual machine
	// can be configured.
	SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported" json:"settingVideoRamSizeSupported" vim:"2.5"`
	// Indicates whether of not this virtual machine supports
	// setting the display topology of the console window.
	//
	// This capability depends on the guest operating system
	// configured for this virtual machine.
	SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported" json:"settingDisplayTopologySupported,omitempty" vim:"2.5 U2"`
	// Deprecated as of vSphere API 6.0.
	//
	// Indicates whether record and replay functionality is supported on this
	// virtual machine.
	RecordReplaySupported *bool `xml:"recordReplaySupported" json:"recordReplaySupported,omitempty" vim:"4.0"`
	// Indicates that change tracking is supported for virtual disks of this
	// virtual machine.
	//
	// However, even if change tracking is supported, it might
	// not be available for all disks of the virtual machine. For example,
	// passthru raw disk mappings or disks backed by any Ver1BackingInfo cannot
	// be tracked.
	ChangeTrackingSupported *bool `xml:"changeTrackingSupported" json:"changeTrackingSupported,omitempty" vim:"4.0"`
	// Indicates whether multiple virtual cores per socket is supported on this VM.
	MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported" json:"multipleCoresPerSocketSupported,omitempty" vim:"5.0"`
	// Indicates that host based replication is supported on this virtual
	// machine.
	//
	// However, even if host based replication is supported,
	// it might not be available for all disk types. For example, passthru
	// raw disk mappings can not be replicated.
	HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported" json:"hostBasedReplicationSupported,omitempty" vim:"5.0"`
	// Indicates whether features like guest OS auto-lock and MKS connection
	// controls are supported for this virtual machine.
	GuestAutoLockSupported *bool `xml:"guestAutoLockSupported" json:"guestAutoLockSupported,omitempty" vim:"5.0"`
	// Indicates whether
	// `memoryReservationLockedToMax`
	// may be set to true for this virtual machine.
	MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported" json:"memoryReservationLockSupported,omitempty" vim:"5.0"`
	// Indicates whether featureRequirement feature is supported.
	FeatureRequirementSupported *bool `xml:"featureRequirementSupported" json:"featureRequirementSupported,omitempty" vim:"5.1"`
	// Indicates whether a monitor type change is supported while this virtual
	// machine is in the poweredOn state.
	PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported" json:"poweredOnMonitorTypeChangeSupported,omitempty" vim:"5.1"`
	// Indicates whether this virtual machine supports the Flex-SE
	// (space-efficient, sparse) format for virtual disks.
	SeSparseDiskSupported *bool `xml:"seSparseDiskSupported" json:"seSparseDiskSupported,omitempty" vim:"5.1"`
	// Indicates whether this virtual machine supports nested hardware-assisted
	// virtualization.
	NestedHVSupported *bool `xml:"nestedHVSupported" json:"nestedHVSupported,omitempty" vim:"5.1"`
	// Indicates whether this virtual machine supports virtualized CPU performance
	// counters.
	VPMCSupported *bool `xml:"vPMCSupported" json:"vPMCSupported,omitempty" vim:"5.1"`
	// Indicates whether secureBoot is supported for this virtual machine.
	SecureBootSupported *bool `xml:"secureBootSupported" json:"secureBootSupported,omitempty" vim:"6.5"`
	// Indicates whether this virtual machine supports Per-VM EVC mode.
	PerVmEvcSupported *bool `xml:"perVmEvcSupported" json:"perVmEvcSupported,omitempty" vim:"6.7"`
	// Indicates that `VirtualMachineFlagInfo.virtualMmuUsage` is
	// ignored by this virtual machine, always operating as if "on" was selected.
	VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored" json:"virtualMmuUsageIgnored,omitempty" vim:"6.7"`
	// Indicates that `VirtualMachineFlagInfo.virtualExecUsage` is
	// ignored by this virtual machine, always operating as if "hvOn" was selected.
	VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored" json:"virtualExecUsageIgnored,omitempty" vim:"6.7"`
	// Indicates whether this virtual machine supports creating disk-only snapshots
	// in suspended state.
	//
	// If this capability is not set, the snapshot of a
	// virtual machine in suspended state will always include memory.
	DiskOnlySnapshotOnSuspendedVMSupported *bool `xml:"diskOnlySnapshotOnSuspendedVMSupported" json:"diskOnlySnapshotOnSuspendedVMSupported,omitempty" vim:"6.7"`
	// Indicates whether this virtual machine supports suspending to memory.
	SuspendToMemorySupported *bool `xml:"suspendToMemorySupported" json:"suspendToMemorySupported,omitempty" vim:"7.0.2.0"`
	// Indicates support for allowing or disallowing all tools time
	// sync with host.
	ToolsSyncTimeAllowSupported *bool `xml:"toolsSyncTimeAllowSupported" json:"toolsSyncTimeAllowSupported,omitempty" vim:"7.0.1.0"`
	// Indicates support for AMD-SEV (Secure Encrypted Virtualization).
	//
	// SEV is
	// supported when set to true, and unsupported otherwise.
	SevSupported *bool `xml:"sevSupported" json:"sevSupported,omitempty" vim:"7.0.1.0"`
	// Indicates support for failover to a dfferent host on VM's with pmem.
	//
	// Failover is supported when set to true, and unsupported otherwise.
	PmemFailoverSupported *bool `xml:"pmemFailoverSupported" json:"pmemFailoverSupported,omitempty" vim:"7.0.2.0"`
	// Whether the VM supports requiring SGX remote attestation.
	RequireSgxAttestationSupported *bool `xml:"requireSgxAttestationSupported" json:"requireSgxAttestationSupported,omitempty" vim:"8.0.0.1"`
	// Indicates support for change mode on virtual disks
	ChangeModeDisksSupported *bool `xml:"changeModeDisksSupported" json:"changeModeDisksSupported,omitempty" vim:"8.0.0.1"`
	// Indicates support for Vendor Device Groups
	VendorDeviceGroupSupported *bool `xml:"vendorDeviceGroupSupported" json:"vendorDeviceGroupSupported,omitempty" vim:"8.0.1.0"`
}

This data object type contains information about the operation/capabilities of a virtual machine

type VirtualMachineCdromInfo

type VirtualMachineCdromInfo struct {
	VirtualMachineTargetInfo

	// Description of the physical device.
	//
	// This is set only by the server.
	Description string `xml:"description,omitempty" json:"description,omitempty" vim:"6.5"`
}

CdromInfo class contains information about a physical CD-ROM drive on the host.

type VirtualMachineCertThumbprint added in v0.29.0

type VirtualMachineCertThumbprint struct {
	DynamicData

	// The thumbprint of the certificate of the host to which we are
	// connecting.
	Thumbprint string `xml:"thumbprint" json:"thumbprint"`
	// The hash algorithm used to generate the thumbprint.
	//
	// `VirtualMachineCertThumbprintHashAlgorithm_enum` lists the set of supported values.
	HashAlgorithm string `xml:"hashAlgorithm,omitempty" json:"hashAlgorithm,omitempty"`
}

Describes a single certificate thumbprint that can be used to verify the identity of the host before connecting to a running virtual machine.

type VirtualMachineCertThumbprintHashAlgorithm added in v0.29.0

type VirtualMachineCertThumbprintHashAlgorithm string

type VirtualMachineCloneSpec

type VirtualMachineCloneSpec struct {
	DynamicData

	// A type of RelocateSpec that specifies the location of resources the
	// newly cloned virtual machine will use.
	//
	// The location specifies:
	//     - A datastore where the virtual machine will be located on physical
	//       storage.
	//       This is always provided because it indicates where the newly
	//       created clone will be copied.
	//     - a resource pool and optionally a host. The resource pool
	//       determines what compute resources will be available to the clone
	//       and the host indicates which machine will host the clone.
	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
	// Specifies whether or not the new virtual machine should be marked as a
	// template.
	Template bool `xml:"template" json:"template"`
	// An optional specification of changes to the virtual hardware.
	//
	// For example, this can be used to, (but not limited to) reconfigure the
	// networks the virtual switches are hooked up to in the cloned virtual
	// machine.
	// Use `VirtualMachineRelocateSpec.deviceChange` in
	// `VirtualMachineCloneSpec.location`
	// for specifying any virtual device changes for disks and networks.
	Config *VirtualMachineConfigSpec `xml:"config,omitempty" json:"config,omitempty"`
	// An optional guest operating system customization specification.
	//
	// This value is ignored if a template is being created.
	Customization *CustomizationSpec `xml:"customization,omitempty" json:"customization,omitempty"`
	// Specifies whether or not the new VirtualMachine should be powered on
	// after creation.
	//
	// As part of a customization, this flag is normally set
	// to true, since the first power-on operation completes the customization
	// process. This flag is ignored if a template is being created.
	PowerOn bool `xml:"powerOn" json:"powerOn"`
	// Snapshot reference from which to base the clone.
	//
	// If this parameter is set, the clone is based off of the snapshot
	// point. This means that the newly created virtual machine will
	// have the same configuration as the virtual machine at the time
	// the snapshot was taken.
	//
	// If this property is not set then the clone is based off of the
	// virtual machine's current configuration.
	//
	// Setting this is only supported if the host this virtual machine
	// is currently residing on
	// *supports cloning from a snapshot point*. Such support does not need to
	// exist on the destination host for the clone.
	//
	// Setting this is only supported if the virtual machine supports
	// reporting snapshot configuration information. See `VirtualMachineCapability.snapshotConfigSupported`. Such support does not need
	// to exist on the destination host for the clone.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Snapshot *ManagedObjectReference `xml:"snapshot,omitempty" json:"snapshot,omitempty" vim:"4.0"`
	// Flag indicating whether to retain a copy of the source virtual machine's
	// memory state in the clone.
	//
	// Retaining the memory state during
	// clone results in a clone in suspended state with all network adapters
	// removed to avoid network conflicts, except those with a
	// VirtualEthernetCard.addressType of "manual".
	// Users of this flag should take special care so that, when adding a network
	// adapter back to the clone, the VM is not resumed on the same VM network
	// as the source VM, or else MAC address conflicts could occur.
	// When cloning between two hosts with different CPUs outside an EVC cluster,
	// users of this flag should be aware that vCenter does not verify
	// CPU compatibility between the clone's memory state and the target host
	// prior to the clone operation, so the clone may fail to resume
	// until it is migrated to a host with a compatible CPU.
	//
	// This flag is ignored if the snapshot parameter is unset. This flag
	// only applies for a snapshot taken on a running or suspended
	// virtual machine with the 'memory' parameter set to true, because otherwise
	// the snapshot has no memory state. This flag defaults to false.
	Memory *bool `xml:"memory" json:"memory,omitempty" vim:"5.5"`
	// Provisioning policy for virtual TPM devices during VM clone operations.
	//
	// The list of supported values is defined in `VirtualMachineCloneSpecTpmProvisionPolicy_enum`.
	//
	// If unset - a globally defined policy is used, which by default is set to
	// 'copy'.
	TpmProvisionPolicy string `xml:"tpmProvisionPolicy,omitempty" json:"tpmProvisionPolicy,omitempty" vim:"8.0.0.1"`
}

Specification for a virtual machine cloning operation.

type VirtualMachineCloneSpecTpmProvisionPolicy added in v0.29.0

type VirtualMachineCloneSpecTpmProvisionPolicy string

TPM provisioning policies used when cloning a VM with a virtual TPM

type VirtualMachineConfigInfo

type VirtualMachineConfigInfo struct {
	DynamicData

	// The changeVersion is a unique identifier for a given version
	// of the configuration.
	//
	// Each change to the configuration
	// updates this value. This is typically implemented as an ever
	// increasing count or a time-stamp. However, a client should
	// always treat this as an opaque string.
	ChangeVersion string `xml:"changeVersion" json:"changeVersion"`
	// Last time a virtual machine's configuration was modified.
	Modified time.Time `xml:"modified" json:"modified"`
	// Display name of the virtual machine.
	//
	// Any / (slash), \\ (backslash), character used in this
	// name element is escaped. Similarly, any % (percent) character used in
	// this name element is escaped, unless it is used to start an escape
	// sequence. A slash is escaped as %2F or %2f. A backslash is escaped as %5C or
	// %5c, and a percent is escaped as %25.
	Name string `xml:"name" json:"name"`
	// This is the full name of the guest operating system for the virtual machine.
	//
	// For example: Windows 2000 Professional.
	//
	// See also `VirtualMachineConfigInfo.alternateGuestName`.
	GuestFullName string `xml:"guestFullName" json:"guestFullName"`
	// The version string for this virtual machine.
	Version string `xml:"version" json:"version"`
	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
	// in "12345678-abcd-1234-cdef-123456789abc" format.
	Uuid string `xml:"uuid" json:"uuid"`
	// Time the virtual machine's configuration was created.
	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty" vim:"6.7"`
	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
	// as a hexademical string.
	//
	// This identifier is used by VirtualCenter to
	// uniquely identify all virtual machine instances, including those that
	// may share the same SMBIOS UUID.
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
	// A 64-bit node WWN (World Wide Name).
	//
	// These WWNs are paired with the
	// `VirtualMachineConfigInfo.npivPortWorldWideName` to be used by the NPIV VPORTs instantiated for the
	// virtual machine on the physical HBAs of the host. A pair of node and port WWNs
	// serves as a unique identifier in accessing a LUN, so that it can be monitored or
	// controlled by the storage administrator.
	//
	// If this property contains a single node WWN, the same node WWN is used to pair
	// with all port WWNs listed in `VirtualMachineConfigInfo.npivPortWorldWideName`. If this property or
	// `VirtualMachineConfigInfo.npivPortWorldWideName` is empty or unset, NPIV WWN is disabled for the
	// virtual machine.
	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty" vim:"2.5"`
	// A 64-bit port WWN (World Wide Name).
	//
	// For detail description on WWN, see
	// `VirtualMachineConfigInfo.npivNodeWorldWideName`.
	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty" vim:"2.5"`
	// The source that provides/generates the assigned WWNs.
	//
	// See also `VirtualMachineConfigInfoNpivWwnType_enum`.
	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty" vim:"2.5"`
	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
	//
	// This
	// property should be set to desired number which is an aggregate of existing
	// plus new numbers. Desired Node WWNs should always be greater than the existing
	// number of node WWNs
	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty" vim:"4.0"`
	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
	//
	// This
	// property should be set to desired number which is an aggregate of existing
	// plus new numbers. Desired Node WWNs should always be greater than the existing
	// number of port WWNs
	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty" vim:"4.0"`
	// This property is used to enable or disable the NPIV capability on a desired
	// virtual machine on a temporary basis.
	//
	// When this property is set NPIV Vport
	// will not be instantiated by the VMX process of the Virtual Machine. When this
	// property is set port WWNs and node WWNs in the VM configuration are preserved.
	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty" vim:"4.0"`
	// This property is used to check whether the NPIV can be enabled on the Virtual
	// machine with non-rdm disks in the configuration, so this is potentially not
	// enabling npiv on vmfs disks.
	//
	// Also this property is used to check whether RDM
	// is required to generate WWNs for a virtual machine.
	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty" vim:"4.0"`
	// Hash incorporating the virtual machine's config file location
	// and the UUID of the host assigned to run the virtual machine.
	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
	// Flag indicating whether or not a virtual machine is a template.
	Template bool `xml:"template" json:"template"`
	// Guest operating system configured on a virtual machine.
	//
	// This is a guest identifier that can be used to access the
	// `GuestOsDescriptor`
	// list for information about default configuration.
	// For more information on possible values, see
	// `VirtualMachineGuestOsIdentifier`.
	GuestId string `xml:"guestId" json:"guestId"`
	// Used as display name for the operating system if guestId is `other`
	// or `other-64`.
	//
	// See also `VirtualMachineConfigInfo.guestFullName`.
	AlternateGuestName string `xml:"alternateGuestName" json:"alternateGuestName" vim:"2.5"`
	// Description for the virtual machine.
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// Information about the files associated with a virtual machine.
	//
	// This information does not include files for specific virtual disks or
	// snapshots.
	Files VirtualMachineFileInfo `xml:"files" json:"files"`
	// Configuration of VMware Tools running in the guest operating system.
	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
	// Additional flags for a virtual machine.
	Flags VirtualMachineFlagInfo `xml:"flags" json:"flags"`
	// Legacy console viewer preferences when doing power operations.
	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
	// Configuration of default power operations.
	DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps" json:"defaultPowerOps"`
	// Whether the next reboot will result in a power off.
	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
	// Processor, memory, and virtual devices for a virtual machine.
	Hardware VirtualHardware `xml:"hardware" json:"hardware"`
	// Vcpu configuration.
	//
	// The <code>vcpuConfig</code> array is indexed
	// by vcpu number.
	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty" vim:"7.0"`
	// Resource limits for CPU.
	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
	// Resource limits for memory.
	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
	// The latency-sensitivity of the virtual machine.
	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty" vim:"5.1"`
	// Whether memory can be added while this virtual machine is running.
	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty" vim:"2.5 U2"`
	// Whether virtual processors can be added while this
	// virtual machine is running.
	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty" vim:"2.5 U2"`
	// Whether virtual processors can be removed while this
	// virtual machine is running.
	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty" vim:"2.5 U2"`
	// The maximum amount of memory, in MB, than can be added to a
	// running virtual machine.
	//
	// This value is determined by the
	// virtual machine and is specified only if
	// `VirtualMachineConfigInfo.memoryHotAddEnabled`
	// is set to true.
	HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty" json:"hotPlugMemoryLimit,omitempty" vim:"2.5 U2"`
	// Memory, in MB that can be added to a running virtual machine
	// must be in increments of this value and needs be a
	// multiple of this value.
	//
	// This value is determined by the virtual machine and is specified
	// only if `VirtualMachineConfigSpec.memoryHotAddEnabled`
	// has been set to true.
	HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty" json:"hotPlugMemoryIncrementSize,omitempty" vim:"2.5 U2"`
	// Affinity settings for CPU.
	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
	// Deprecated since vSphere 6.0.
	//
	// Affinity settings for memory.
	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
	//
	// Resource limits for network.
	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
	// Additional configuration information for the virtual machine.
	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
	// Specifies CPU feature compatibility masks that override the
	// defaults from the `GuestOsDescriptor`
	// of the virtual machine's guest OS.
	//
	// As of vSphere API 6.5 `FeatureMask`
	// is the recommended method for masking virtual machines with
	// hardware version 9 and above (newer). They can be viewed via
	// `featureMask`.
	CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
	// Enumerates the set of datastores that this virtual machine is
	// stored on, as well as the URL identification for each of these.
	//
	// Changes to datastores do not generate property updates on this
	// property. However, when this property is retrieved it returns the
	// current datastore information.
	DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty" json:"datastoreUrl,omitempty"`
	// Virtual machine swapfile placement policy.
	//
	// This will be unset if the
	// virtual machine's
	// `swapPlacementSupported`
	// capability is false. If swapPlacementSupported is true, the default
	// policy is "inherit".
	//
	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty" vim:"2.5"`
	// Configuration options for the boot behavior of the virtual machine.
	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty" vim:"2.5"`
	// Fault Tolerance settings for this virtual machine.
	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
	// vSphere Replication settings for this virtual machine.
	//
	// Note this may become deprecated in the future releases. We discourage
	// any unnecessary dependency on this field.
	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty" vim:"6.0"`
	// vApp meta-data for the virtual machine
	VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty" vim:"4.0"`
	// Indicates whether user-configured virtual asserts will be
	// triggered during virtual machine replay.
	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty" vim:"4.0"`
	// Indicates whether changed block tracking for this VM's disks
	// is active.
	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty" vim:"4.0"`
	// Information about firmware type for this Virtual Machine.
	//
	// Possible values are described in
	// `GuestOsDescriptorFirmwareType_enum`
	// When creating a new VM:
	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code> and
	// this property is set to <code>bios</code>, error is returned.
	// \- If this property is unset and vim.vm.FlagInfo.vbsEnabled is set
	// to <code>true</code>, this property is set to <code>efi</code>.
	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty" vim:"5.0"`
	// Indicates the maximum number of active remote display connections
	// that the virtual machine will support.
	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty" vim:"5.0"`
	// Indicates whether the guest operating system will logout any active
	// sessions whenever there are no remote display connections open to
	// the virtual machine.
	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty" vim:"5.0"`
	// Specifies that this VM is managed by a VC Extension.
	//
	// See the
	// `managedBy` property in the ConfigSpec
	// for more details.
	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
	// If set true, memory resource reservation for this virtual machine will always be
	// equal to the virtual machine's memory size; increases in memory size will be
	// rejected when a corresponding reservation increase is not possible.
	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty" vim:"5.0"`
	// Set of values to be used only to perform admission control when
	// determining if a host has sufficient resources for the virtual
	// machine to power on.
	InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty" json:"initialOverhead,omitempty" vim:"5.0"`
	// Indicates whether this VM is configured to use nested
	// hardware-assisted virtualization.
	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty" vim:"5.1"`
	// Indicates whether this VM have vurtual CPU performance counters
	// enabled.
	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty" vim:"5.1"`
	// Configuration of scheduled hardware upgrades and result from last
	// attempt to run scheduled hardware upgrade.
	//
	// See also `ScheduledHardwareUpgradeInfo`.
	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty" vim:"5.1"`
	// Fork configuration of this virtual machines.
	//
	// If unset, this virtual machine
	// is not configured for fork.
	//
	// See also `VirtualMachineForkConfigInfo`.
	ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty" json:"forkConfigInfo,omitempty" vim:"6.0"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Specifies the total vFlash resource reservation for the vFlash caches associated
	// with this VM's virtual disks, in bytes.
	//
	// This reservation must be allocated to power on the VM.
	// See `VirtualMachineRuntimeInfo.vFlashCacheAllocation` for allocated
	// reservation when VM is powered on.
	VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty" json:"vFlashCacheReservation,omitempty" vim:"5.5"`
	// A checksum of vmx config file.
	VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty" json:"vmxConfigChecksum,omitempty" vim:"6.0"`
	// Whether to allow tunneling of clients from the guest VM into the
	// common message bus on the host network.
	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty" vim:"6.0"`
	// Virtual Machine Object Identifier.
	//
	// With Object-based Storage systems, Virtual Machine home directory
	// is backed by an object.
	// This identifier will be set only if VM directory resided on
	// object-based storage systems.
	VmStorageObjectId string `xml:"vmStorageObjectId,omitempty" json:"vmStorageObjectId,omitempty" vim:"6.0"`
	// Virtual Machine Swap Object Identifier.
	//
	// With Object-based Storage systems, VM's Swap is backed by an object.
	// This identifier will be set only if VM swap resided on
	// object-based storage systems.
	SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty" json:"swapStorageObjectId,omitempty" vim:"6.0"`
	// Virtual Machine cryptographic options.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty" vim:"6.5"`
	// Guest integrity platform configuration
	GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty" json:"guestIntegrityInfo,omitempty" vim:"6.5"`
	// An enum describing whether encrypted vMotion is required for this VM.
	//
	// See `VirtualMachineConfigSpecEncryptedVMotionModes_enum` for allowed values.
	// This defaults to opportunistic for a regular VM, and will be set to
	// required for an encrypted VM.
	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty" vim:"6.5"`
	// Configuration of SGX, Software Guard Extensions for the VM.
	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
	// Content Library Item info.
	ContentLibItemInfo *VirtualMachineContentLibraryItemInfo `xml:"contentLibItemInfo,omitempty" json:"contentLibItemInfo,omitempty" vim:"7.0"`
	// An enum describing whether encrypted Fault Tolerance is required for this
	// VM.
	//
	// See `VirtualMachineConfigSpecEncryptedFtModes_enum` for allowed values.
	// \- This defaults to opportunistic for a regular VM, and will be set to
	// required for an encrypted VM.
	// \- If this property is unset, the mode of encrypted Fault Tolerance
	// will be set to opportunistic.
	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
	// GMM configuration
	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty" vim:"7.0"`
	// SEV (Secure Encrypted Virtualization) enabled or not.
	//
	// SEV is enabled
	// when set to true, and disabled otherwise.
	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
	// vNUMA info.
	NumaInfo *VirtualMachineVirtualNumaInfo `xml:"numaInfo,omitempty" json:"numaInfo,omitempty" vim:"8.0.0.1"`
	// Property to indicate PMem HA failover configuration.
	//
	// \- When set to TRUE, VMs configured to use PMem
	// will be failed over to other hosts by HA, but the data
	// in NVDIMM is not persistent.
	// \- When set to FALSE, VMs configured to use PMem will not
	// be failed over to other hosts by HA.
	// Property is currently only applicable to VMs with NVDimms and
	// will fail to set True if vPMem disks are present.
	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
	// Indicates whether VMXStats Collection is enabled/disabled.
	//
	// \- If TRUE, VMXStats is enabled for the VM and a scoreboard
	// file is created to store stats for various VMX components.
	// \- If FALSE, VMXStats is disabled for the VM and there is
	// no scoreboard file created.
	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
	// Indicates whether operation notification to applications is
	// enabled/disabled.
	//
	// \- When set to TRUE, application running inside the VM will be
	// notified of operations for which they have registered.
	// \- If unset or FALSE, new applications are not allowed to register
	// for notifications and RPCs will no longer be supported from
	// already registered applications.
	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
	// Operation notification timeout in seconds.
	//
	// \- Specifies the maximum time the application can take to
	// prepare for the operation after its been notified. This value is used
	// only if `VirtualMachineConfigInfo.vmOpNotificationToAppEnabled` is set to TRUE.
	// \- If `VirtualMachineConfigInfo.vmOpNotificationTimeout` is unset, then it defaults to
	// cluster/host timeout.
	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
	// Status of the device swap operation.
	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
	// Virtual persistent memory info.
	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
	// Assignable hardware device groups.
	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
	// Indicates whether support to add and remove fixed passthrough
	// devices when the VM is running is enabled.
	//
	// When the virtual machine is powered on, this indicates if
	// support for hot adding and removing fixed passthrough devices
	// was enabled prior to power on. Otherwise, it indicates whether
	// it will be enabled when the VM is powered on.
	// NOTE: When setting this to true, the memory reservation should
	// be equal to the guest memory size or the option to reserve all
	// guest memory should be selected. If unset, the current value is
	// left unchanged.
	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
}

The ConfigInfo data object type encapsulates the configuration settings and virtual hardware for a virtual machine.

This type holds all the information that is present in the .vmx configuration file for the virtual machine.

func (VirtualMachineConfigInfo) ToConfigSpec added in v0.28.0

ToConfigSpec returns a VirtualMachineConfigSpec based on the VirtualMachineConfigInfo.

type VirtualMachineConfigInfoDatastoreUrlPair

type VirtualMachineConfigInfoDatastoreUrlPair struct {
	DynamicData

	Name string `xml:"name" json:"name"`
	Url  string `xml:"url" json:"url"`
}

Contains the name of a datastore, and its local file path on the host currently affiliated with this virtual machine.

type VirtualMachineConfigInfoNpivWwnType

type VirtualMachineConfigInfoNpivWwnType string

type VirtualMachineConfigInfoOverheadInfo

type VirtualMachineConfigInfoOverheadInfo struct {
	DynamicData

	// Memory overhead required for virtual machine to be powered on (in bytes).
	InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty" json:"initialMemoryReservation,omitempty"`
	// Disk space required for virtual machine to be powered on (in bytes).
	//
	// This space is used by virtualization infrastructure to swap out
	// virtual machine process memory. Location of the file is specified by
	// sched.swap.vmxSwapDir virtual machinge advanced config option or
	// in case it is not specified - current virtual machine home directory
	// is being used.
	InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty" json:"initialSwapReservation,omitempty"`
}

Information about virtualization overhead required to power on the virtual machine on the registered host.

type VirtualMachineConfigInfoSwapPlacementType

type VirtualMachineConfigInfoSwapPlacementType string

Available choices for virtual machine swapfile placement policy.

This is the set of legal values for the virtual machine configuration's `swapPlacement` property. All values except for "inherit" and "vmConfigured" are also valid values for a compute resource configuration's `vmSwapPlacement`

type VirtualMachineConfigOption

type VirtualMachineConfigOption struct {
	DynamicData

	// The version corresponding to this configOption.
	Version string `xml:"version" json:"version"`
	// A description string for this configOption.
	Description string `xml:"description" json:"description"`
	// List of supported guest operating systems.
	//
	// The choice of guest operating system may limit the set of valid devices.
	// For example, you cannot select Vmxnet with all guest operating systems.
	GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor" json:"guestOSDescriptor"`
	// Index into guestOsDescriptor array denoting the default guest
	// operating system.
	GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex" json:"guestOSDefaultIndex"`
	// Processor, memory, and virtual device options for a virtual machine.
	HardwareOptions VirtualHardwareOption `xml:"hardwareOptions" json:"hardwareOptions"`
	// Capabilities supported by a virtual machine.
	Capabilities VirtualMachineCapability `xml:"capabilities" json:"capabilities"`
	// The datastore options for this virtual machine.
	Datastore DatastoreOption `xml:"datastore" json:"datastore"`
	// The list of virtual devices that are created on a virtual machine by default.
	//
	// Clients should not create these devices.
	DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr" json:"defaultDevice,omitempty"`
	// The monitor types supported by a host.
	//
	// The acceptable monitor types
	// are enumerated by `VirtualMachineFlagInfoMonitorType_enum`.
	SupportedMonitorType []string `xml:"supportedMonitorType" json:"supportedMonitorType" vim:"2.5"`
	// Specifies the supported property transports that are
	// available for the OVF environment
	SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty" json:"supportedOvfEnvironmentTransport,omitempty" vim:"4.0"`
	// Specifies the supported transports for the OVF
	// installation phase.
	SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty" json:"supportedOvfInstallTransport,omitempty" vim:"4.0"`
	// The relations between the properties of the virtual
	// machine config spec.
	PropertyRelations []VirtualMachinePropertyRelation `xml:"propertyRelations,omitempty" json:"propertyRelations,omitempty" vim:"6.7"`
}

This configuration data object type contains information about the execution environment for a virtual machine.

This includes information about which features are supported, such as:

  • Which guest operating systems are supported.
  • How devices are emulated. For example, that a CD-ROM drive can be emulated with a file or that a serial port can be emulated with a pipe.

VirtualCenter can provide a broader environment than any single physical host. This is a departure from traditional virtualization approaches, which rely on the host system to define the environment for virtual machines. This data object describes environment capabilities and is used by VirtualCenter to choose hosts on which to run virtual machines.

type VirtualMachineConfigOptionDescriptor

type VirtualMachineConfigOptionDescriptor struct {
	DynamicData

	// A unique key used to identify a configOption object in this
	// `EnvironmentBrowser`.
	Key string `xml:"key" json:"key"`
	// A description of the configOption object.
	Description string `xml:"description,omitempty" json:"description,omitempty"`
	// List of hosts to which this descriptor applies.
	//
	// List of hosts is not set when descriptor is returned
	// from `Datacenter.queryDatacenterConfigOptionDescriptor`.
	//
	// Refers instances of `HostSystem`.
	Host []ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Indicates whether the associated set of configuration options
	// can be used for virtual machine creation on a given host or
	// cluster.
	CreateSupported *bool `xml:"createSupported" json:"createSupported,omitempty" vim:"2.5 U2"`
	// Indicates whether the associated set of virtual machine
	// configuration options is the default one for a given host or
	// cluster.
	//
	// Latest version is marked as default unless
	// other version is specified via
	// `ComputeResourceConfigInfo.defaultHardwareVersionKey`
	// or `DatacenterConfigInfo.defaultHardwareVersionKey`.
	// If this setting is TRUE, virtual machine creates will use the
	// associated set of configuration options, unless a config version is
	// explicitly specified in the `ConfigSpec`.
	DefaultConfigOption *bool `xml:"defaultConfigOption" json:"defaultConfigOption,omitempty" vim:"2.5 U2"`
	// Indicates whether the associated set of configuration options
	// can be used to power on a virtual machine on a given host or
	// cluster.
	RunSupported *bool `xml:"runSupported" json:"runSupported,omitempty" vim:"5.1"`
	// Indicates whether the associated set of configuration options
	// can be used as a virtual hardware upgrade target.
	UpgradeSupported *bool `xml:"upgradeSupported" json:"upgradeSupported,omitempty" vim:"5.1"`
}

Contains the definition of a unique key that can be used to retrieve a configOption object.

type VirtualMachineConfigSpec

type VirtualMachineConfigSpec struct {
	DynamicData

	// If specified, the changes are only applied if the current changeVersion matches
	// the specified changeVersion.
	//
	// This field can be used to guard against updates that
	// have happened between when configInfo is read and when it is applied.
	//
	// For more information about how configurations are uniquely identified, see
	// `VirtualMachineConfigInfo.changeVersion`.
	ChangeVersion string `xml:"changeVersion,omitempty" json:"changeVersion,omitempty"`
	// Display name of the virtual machine.
	//
	// Any % (percent) character used in this name parameter must be escaped, unless it
	// is used to start an escape sequence. Clients may also escape any other characters
	// in this name parameter. Snapshots of virtual machines that have spaces in their
	// names and are associated with ESX 2.x servers are not supported. Therefore, if you
	// want the option to take snapshots of this virtual machine and you are associating
	// it with an ESX 2.x server, do not use spaces in the name.
	//
	// Reconfigure privilege: VirtualMachine.Config.Rename
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The version string for this virtual machine.
	//
	// This is used only while
	// creating a new virtual machine, and can be updated by invoking
	// `VirtualMachine.UpgradeVM_Task` for this virtual
	// machine.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
	// Creation date of a virtual machine represented in DateTime format.
	//
	// This property is populated by the vCenter Server with the date
	// and time of creation of the virtual machine. Values provided by the
	// client will be ignored.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	CreateDate *time.Time `xml:"createDate" json:"createDate,omitempty" vim:"6.7"`
	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
	// in "12345678-abcd-1234-cdef-123456789abc" format.
	//
	// Normally, this property is not set by a client, allowing the
	// Virtual Infrastructure environment to assign a UUID when
	// the virtual machine is created. However, in some rare cases,
	// such as a manual copy of a virtual machine, it may be necessary
	// to set this property.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// VirtualCenter-specific 128-bit UUID of a virtual machine, represented
	// as a hexadecimal string.
	//
	// This identifier is used by VirtalCenter
	// to uniquely identify all virtual machine instances in the Virtual
	// Infrastructure environment, including those that may share the same
	// SMBIOS UUID.
	//
	// Normally, this property is not set by a client, allowing the
	// Virtual Infrastructure environment to assign or change it when
	// VirtualCenter detects an identifier conflict between virtual
	// machines. This identifier can be modified even when a virtual
	// machine is powered on. Clients can specify that vCenter Server
	// reassign a new identifier by a providing an empty string. Reassigning
	// the identifer is not allowed for Fault Tolerance virtual machines.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
	// The NPIV node WWN to be assigned to a virtual machine.
	//
	// This property should only
	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
	// specified node WWN is currently being used by another virtual machine, a
	// `VmWwnConflict` fault will be thrown.
	//
	// For detail description on WWN, see `VirtualMachineConfigInfo.npivNodeWorldWideName`.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings.
	NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty" json:"npivNodeWorldWideName,omitempty" vim:"2.5"`
	// The NPIV port WWN to be assigned to a virtual machine.
	//
	// This property should only
	// be used or set when the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` property is "set".
	// Otherwise, an `InvalidVmConfig` fault will be thrown. If the
	// specified port WWN is currently being used by another virtual machine, a
	// `VmWwnConflict` fault will be thrown.
	//
	// For detail description on WWN, see `VirtualMachineConfigInfo.npivPortWorldWideName`.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings.
	NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty" json:"npivPortWorldWideName,omitempty" vim:"2.5"`
	// This property is used internally in the communication between the
	// VirtualCenter server and ESX Server to indicate the source for
	// `VirtualMachineConfigSpec.npivNodeWorldWideName` and
	// `VirtualMachineConfigSpec.npivPortWorldWideName` when `VirtualMachineConfigSpec.npivWorldWideNameOp` is "set".
	//
	// This property should only be set by the VirtualCenter server.
	//
	// If this property is set in a call to a VirtualCenter server,
	// an `InvalidVmConfig` fault will always be thrown. In a
	// call to an ESX Server host, an `InvalidVmConfig`
	// fault will be thrown if the value of `VirtualMachineConfigSpec.npivWorldWideNameOp` is not set to
	// "set".
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings.
	NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty" json:"npivWorldWideNameType,omitempty" vim:"2.5"`
	// The NPIV node WWNs to be extended from the original list of WWN nummbers.
	//
	// This
	// property should be set to desired number which is an aggregate of existing
	// plus new numbers. Desired Node WWNs should always be greater than the existing
	// number of node WWNs
	NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty" json:"npivDesiredNodeWwns,omitempty" vim:"4.0"`
	// The NPIV port WWNs to be extended from the original list of WWN nummbers.
	//
	// This
	// property should be set to desired number which is an aggregate of existing
	// plus new numbers. Desired Node WWNs should always be greater than the existing
	// number of port WWNs
	NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty" json:"npivDesiredPortWwns,omitempty" vim:"4.0"`
	// This property is used to enable or disable the NPIV capability on a desired
	// virtual machine on a temporary basis.
	//
	// When this property is set NPIV Vport
	// will not be instantiated by the VMX process of the Virtual Machine. When this
	// property is set port WWNs and node WWNs in the VM configuration are preserved.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings.
	NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled" json:"npivTemporaryDisabled,omitempty" vim:"4.0"`
	// This property is used to check whether the NPIV can be enabled on the Virtual
	// machine with non-rdm disks in the configuration, so this is potentially not
	// enabling npiv on vmfs disks.
	//
	// Also this property is used to check whether RDM
	// is required to generate WWNs for a virtual machine.
	NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks" json:"npivOnNonRdmDisks,omitempty" vim:"4.0"`
	// The flag to indicate what type of NPIV WWN operation is going to be performed
	// on the virtual machine.
	//
	// If unset, it indicates no change to existing NPIV WWN
	// assignment (or not assigned) in the virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings.
	//
	// See also `VirtualMachineConfigSpecNpivWwnOp_enum`.
	NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty" json:"npivWorldWideNameOp,omitempty" vim:"2.5"`
	// 128-bit hash based on the virtual machine's configuration file location
	// and the UUID of the host assigned to run the virtual machine.
	//
	// Normally, this property is not set by a client, allowing the
	// Virtual Infrastructure environment to assign a location ID when
	// the virtual machine is created. However, if the virtual machine's
	// configuration file has been manually moved, it may be desirable to clear this
	// property, setting it to an empty string, so the property is regenerated.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	LocationId string `xml:"locationId,omitempty" json:"locationId,omitempty"`
	// Short guest operating system identifier.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
	// Full name for guest, if guestId is specified as `other`
	// or `other-64`.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	AlternateGuestName string `xml:"alternateGuestName,omitempty" json:"alternateGuestName,omitempty" vim:"2.5"`
	// User-provided description of the virtual machine.
	//
	// Because this property
	// is optional in the virtual machine configuration, it is necessary
	// to pass an explicit empty string in a ConfigSpec object to remove an annotation
	// that is already present in the `VirtualMachineConfigInfo`
	// for a virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.Rename
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// Information about virtual machine files.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	Files *VirtualMachineFileInfo `xml:"files,omitempty" json:"files,omitempty"`
	// Configuration of VMware Tools running in the guest operating system.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	Tools *ToolsConfigInfo `xml:"tools,omitempty" json:"tools,omitempty"`
	// Additional flags for a virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	Flags *VirtualMachineFlagInfo `xml:"flags,omitempty" json:"flags,omitempty"`
	// Legacy console viewer preferences that are used with power operations.
	//
	// For
	// example, power on.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty" json:"consolePreferences,omitempty"`
	// Configuration for default power operations.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty" json:"powerOpInfo,omitempty"`
	// Whether the next reboot will result in a power off.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	RebootPowerOff *bool `xml:"rebootPowerOff" json:"rebootPowerOff,omitempty" vim:"8.0.0.1"`
	// Number of virtual processors in a virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.CpuCount
	NumCPUs int32 `xml:"numCPUs,omitempty" json:"numCPUs,omitempty"`
	// Vcpu configuration.
	//
	// The <code>vcpuConfig</code> array is indexed
	// by vcpu number.
	VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty" json:"vcpuConfig,omitempty" vim:"7.0"`
	// Number of cores among which to distribute
	// CPUs in this virtual machine.
	//
	// Set "numCoresPerSocket" with a non-zero value
	// to manually configure coresPerSocket size.
	// Set "numCoresPerSocket" with zero to remove any manual size
	// if present, and use default coresPerSocket behavior.
	// Leave "numCoresPerSocket" unset to continue with existing
	// configuration (either manual or default).
	NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty" json:"numCoresPerSocket,omitempty" vim:"5.0"`
	// Size of a virtual machine's memory, in MB.
	//
	// Reconfigure privilege: VirtualMachine.Config.Memory
	MemoryMB int64 `xml:"memoryMB,omitempty" json:"memoryMB,omitempty"`
	// Indicates whether or not memory can be added to the virtual
	// machine while it is running.
	//
	// This attribute can only be set when the virtual machine is
	// powered-off.
	//
	// Reconfigure privilege: VirtualMachine.Config.Memory
	MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled" json:"memoryHotAddEnabled,omitempty" vim:"2.5 U2"`
	// Indicates whether or not virtual processors can be added to
	// the virtual machine while it is running.
	//
	// This attribute can only be set when the virtual machine is
	// powered-off.
	//
	// Reconfigure privilege: VirtualMachine.Config.CpuCount
	CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled" json:"cpuHotAddEnabled,omitempty" vim:"2.5 U2"`
	// Indicates whether or not virtual processors can be removed
	// from the virtual machine while it is running.
	//
	// This attribute can only be set when the virtual machine is
	// powered-off.
	//
	// Reconfigure privilege: VirtualMachine.Config.CpuCount
	CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled" json:"cpuHotRemoveEnabled,omitempty" vim:"2.5 U2"`
	// Does this virtual machine have Virtual Intel I/O Controller Hub 7
	VirtualICH7MPresent *bool `xml:"virtualICH7MPresent" json:"virtualICH7MPresent,omitempty" vim:"5.0"`
	// Does this virtual machine have System Management Controller
	VirtualSMCPresent *bool `xml:"virtualSMCPresent" json:"virtualSMCPresent,omitempty" vim:"5.0"`
	// Set of virtual devices being modified by the configuration operation.
	//
	// Reconfigure privileges:
	//     - VirtualMachine.Config.Resource if setting the "shares" property of
	//       a new or existing VirtualDisk device
	//     - VirtualMachine.Config.RawDevice if adding, removing, or modifying a
	//       raw device (also required when creating a virtual machine)
	//     - VirtualMachine.Config.HostUSBDevice if adding, removing, or
	//       modifying a VirtualUSB device backed by a host USB device (also
	//       required when creating a virtual machine).
	//     - VirtualMachine.Interact.DeviceConnection if setting the "connectable"
	//       property of a connectable device
	//     - VirtualMachine.Interact.SetCDMedia if setting the "backing" property
	//       of a VirtualCdrom device
	//     - VirtualMachine.Interact.SetFloppyMedia if setting the "backing" property
	//       of a VirtualFloppy device
	//     - VirtualMachine.Config.EditDevice if setting any property of a
	//       non-CDROM non-Floppy device
	//     - VirtualMachine.Config.AddExistingDisk if adding a VirtualDisk, and
	//       the fileOperation is unset (also required when creating a virtual machine)
	//     - VirtualMachine.Config.AddNewDisk if adding a VirtualDisk and the
	//       fileOperation is set (also required when creating a virtual machine)
	//     - VirtualMachine.Config.RemoveDisk if removing a VirtualDisk device
	//     - VirtualMachine.Config.AddRemoveDevice if adding or removing any
	//       device other than disk, raw, or USB device.
	//     - Network.Assign if if setting the "backing" property of a
	//       VirtualEthernetCard device.
	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty"`
	// Resource limits for CPU.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty" json:"cpuAllocation,omitempty"`
	// Resource limits for memory.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty" json:"memoryAllocation,omitempty"`
	// The latency-sensitivity setting of the virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty" vim:"5.1"`
	// Affinity settings for CPU.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty" json:"cpuAffinity,omitempty"`
	// Deprecated since vSphere 6.0.
	//
	// Affinity settings for memory.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty" json:"memoryAffinity,omitempty"`
	// Deprecated from vSphere 5.5, shaping policy on VM is not supported.
	//
	// Resource limits for network.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty" json:"networkShaper,omitempty"`
	// Specifies the CPU feature compatibility masks.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	// As of vSphere API 6.5 `FeatureMask`
	// is the recommended method for masking virtual machines with
	// hardware version 9 and above (newer).
	CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty" json:"cpuFeatureMask,omitempty"`
	// Additional configuration information for the virtual machine.
	//
	// This describes a set of modifications to the additional options. If the key is
	// already present, it will be reset with the new value provided. Otherwise, a new
	// option is added. Keys with empty values will be removed.
	//
	// Configuration keys that would conflict with parameters that are explicitly
	// configurable through other fields in the ConfigSpec object are silently ignored.
	//
	// Reconfigure privilege: VirtualMachine.Config.AdvancedConfig
	// (also required when setting this property while creating a virtual machine)
	ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr" json:"extraConfig,omitempty"`
	// Virtual machine swapfile placement policy.
	//
	// This may only be set if the
	// `swapPlacementSupported`
	// capability is true for this virtual machine. Any change to this policy
	// will take effect the next time the virtual machine powers on, resumes
	// from a suspended state, or migrates while powered on.
	//
	// Reconfigure privilege: VirtualMachine.Config.SwapPlacement
	// (also required when setting this property while creating a virtual machine)
	//
	// See also `VirtualMachineConfigInfoSwapPlacementType_enum`.
	SwapPlacement string `xml:"swapPlacement,omitempty" json:"swapPlacement,omitempty" vim:"2.5"`
	// Settings that control the boot behavior of the virtual
	// machine.
	//
	// These settings take effect during the next power-on
	// of the virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty" json:"bootOptions,omitempty" vim:"2.5"`
	// Configuration of vApp meta-data for a virtual machine
	VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr" json:"vAppConfig,omitempty" vim:"4.0"`
	// Fault Tolerance settings for this virtual machine.
	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
	// vSphere Replication settings.
	//
	// Note this may become deprecated in the future releases. We
	// discourage any unnecessary dependency on this field.
	RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty" json:"repConfig,omitempty" vim:"6.0"`
	// Set to true, if the vApp configuration should be removed
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	VAppConfigRemoved *bool `xml:"vAppConfigRemoved" json:"vAppConfigRemoved,omitempty" vim:"4.0"`
	// Indicates whether user-configured virtual asserts will be
	// triggered during virtual machine replay.
	//
	// This setting takes
	// effect during the next replay of the virtual machine.
	//
	// Enabling this functionality can potentially cause some
	// performance overhead during virtual machine execution.
	VAssertsEnabled *bool `xml:"vAssertsEnabled" json:"vAssertsEnabled,omitempty" vim:"4.0"`
	// Setting to control enabling/disabling changed block tracking for
	// the virtual disks of this VM.
	//
	// This may only be set if the
	// `changeTrackingSupported`
	// capability is true for this virtual machine. Any change to this property
	// will take effect the next time the virtual machine powers on, resumes
	// from a suspended state, performs a snapshot create/delete/revert operation
	// or migrates while powered on.
	//
	// Reconfigure privilege: VirtualMachine.Config.ChangeTracking
	// (also required when setting this property while creating a virtual machine)
	ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled" json:"changeTrackingEnabled,omitempty" vim:"4.0"`
	// Set the desired firmware type for this Virtual Machine.
	//
	// Possible values are described in
	// `GuestOsDescriptorFirmwareType_enum`
	Firmware string `xml:"firmware,omitempty" json:"firmware,omitempty" vim:"5.0"`
	// If set, this setting limits the maximum number of active remote
	// display connections that the virtual machine will support to
	// the specified value.
	//
	// Reconfigure privilege: VirtualMachine.Config.MksControl
	MaxMksConnections int32 `xml:"maxMksConnections,omitempty" json:"maxMksConnections,omitempty" vim:"5.0"`
	// If set to True, this causes the guest operating system to automatically
	// logout any active sessions whenever there are no remote display
	// connections open to the virtual machine.
	//
	// Reconfigure privilege: VirtualMachine.Config.MksControl
	GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled" json:"guestAutoLockEnabled,omitempty" vim:"5.0"`
	// Specifies that this VM is managed by a VC Extension.
	//
	// This information is primarily used in the Client to show a custom icon for
	// managed virtual machines, and a description of the function of the virtual
	// machine. If no extension can be found with the extension key in the
	// `managedBy` object, or the type is not found
	// in the `managedEntityInfo` list of the
	// extension, the default virtual machine icon is used, and no description is
	// shown.
	// To unset this field pass a `ManagedByInfo` object with an
	// empty `extensionKey`.
	//
	// Reconfigure privilege: VirtualMachine.Config.ManagedBy
	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
	// If set true, memory resource reservation for this virtual machine will always be
	// equal to the virtual machine's memory size; increases in memory size will be
	// rejected when a corresponding reservation increase is not possible.
	//
	// This feature
	// may only be enabled if it is currently possible to reserve all of the virtual machine's memory.
	//
	// Reconfigure privilege: VirtualMachine.Config.Resource
	MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax" json:"memoryReservationLockedToMax,omitempty" vim:"5.0"`
	// Specifies that this VM will use nested hardware-assisted virtualization.
	//
	// When creating a new VM:
	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
	// and this flag is set to <code>false</code> error is returned.
	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
	// <code>true</code>, the value of this flag is set to <code>true</code>.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	NestedHVEnabled *bool `xml:"nestedHVEnabled" json:"nestedHVEnabled,omitempty" vim:"5.1"`
	// Specifies that this VM will have virtual CPU performance counters
	// enabled.
	//
	// Reconfigure privilege: VirtualMachine.Config.Settings
	VPMCEnabled *bool `xml:"vPMCEnabled" json:"vPMCEnabled,omitempty" vim:"5.1"`
	// Configuration of scheduled hardware upgrades.
	//
	// Reconfigure privilege: VirtualMachine.Config.UpgradeVirtualHardware
	//
	// See also `ScheduledHardwareUpgradeInfo`.
	ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty" json:"scheduledHardwareUpgradeInfo,omitempty" vim:"5.1"`
	// Virtual Machine Profile requirement.
	//
	// Profiles are solution specific.
	// Profile Based Storage Management is a vSphere server extension.
	// API users who want to provision VMs using Storage Profiles, need to
	// interact with it.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr" json:"vmProfile,omitempty" vim:"5.5"`
	// Whether to allow tunneling of clients from the guest VM into the
	// common message bus on the host network.
	MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled" json:"messageBusTunnelEnabled,omitempty" vim:"6.0"`
	// Virtual Machine cryptographic options.
	//
	// The cryptographic options are inherited to all disks of the VM.
	// The cryptographic options for a disk can be different by setting
	// its CryptoSpec.
	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"6.5"`
	// An enum describing whether encrypted vMotion is required for this VM.
	//
	// Supported values are listed in `VirtualMachineConfigSpecEncryptedVMotionModes_enum`.
	// This defaults to opportunistic for a regular VM, and will be set to
	// required for an encrypted VM.
	MigrateEncryption string `xml:"migrateEncryption,omitempty" json:"migrateEncryption,omitempty" vim:"6.5"`
	// Configuration of SGX, Software Guard Extensions for the VM.
	SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty" json:"sgxInfo,omitempty" vim:"7.0"`
	// An enum describing whether encrypted Fault Tolerance is required
	// for this VM.
	//
	// Supported values are listed in `VirtualMachineConfigSpecEncryptedFtModes_enum`.
	// \- This defaults to opportunistic for a regular VM, and will be set to
	// required for an encrypted VM.
	// \- If this property is unset, the mode of encrypted Fault Tolerance
	// will be set to opportunistic.
	FtEncryptionMode string `xml:"ftEncryptionMode,omitempty" json:"ftEncryptionMode,omitempty" vim:"7.0.2.0"`
	// Configuration of GMM, Guest Monitoring Mode for the VM.
	GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty" json:"guestMonitoringModeInfo,omitempty" vim:"7.0"`
	// SEV (Secure Encrypted Virtualization) enabled or not.
	//
	// SEV is enabled when
	// set to true, and disabled otherwise.
	SevEnabled *bool `xml:"sevEnabled" json:"sevEnabled,omitempty" vim:"7.0.1.0"`
	// Virtual NUMA information for this VM.
	VirtualNuma *VirtualMachineVirtualNuma `xml:"virtualNuma,omitempty" json:"virtualNuma,omitempty" vim:"8.0.0.1"`
	// One of motherboardLayout choices.
	//
	// Default is i440bxHostBridge. See
	// `VirtualHardware.motherboardLayout`
	MotherboardLayout string `xml:"motherboardLayout,omitempty" json:"motherboardLayout,omitempty" vim:"8.0.0.1"`
	// Property to enable/disable PMem HA failover.
	//
	// \- When set to TRUE, VMs configured to use PMem
	// will be failed over to other hosts by HA, but the data
	// in NVDIMM is not persistent.
	// \- When set to FALSE, VMs configured to use PMem will not
	// be failed over to other hosts by HA.
	// Property is currently only applicable to VMs with NVDimms and
	// will fail to set True if vPMem disks are present.
	PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled" json:"pmemFailoverEnabled,omitempty" vim:"7.0.2.0"`
	// Property to enable/disable VMXStats Collection.
	//
	// \- Setting this property is only allowed when the VM is powered off
	// and will fail otherwise.
	// \- When set to TRUE, VMs will be configured to create a
	// scoreboard file to store certain stats for various VMX
	// components.
	VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled" json:"vmxStatsCollectionEnabled,omitempty" vim:"7.0.3.1"`
	// Property to enable/disable operation notification to applications.
	//
	// \- When set to TRUE, application running inside the VM will be
	// notified of operations for which they have registered.
	// \- If unset defaults to FALSE, no notifications are sent to the
	// application.
	VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled" json:"vmOpNotificationToAppEnabled,omitempty" vim:"7.0.3.0"`
	// Operation notification timeout in seconds.
	//
	// \- Specifies the maximum time duration the applications may take to
	// prepare for the operation after its been notified. This value is used
	// only if `VirtualMachineConfigSpec.vmOpNotificationToAppEnabled` is set to TRUE.
	// \- Timeout has to be a non-zero positive value for applications to
	// be able to register and get notifications.
	VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty" json:"vmOpNotificationTimeout,omitempty" vim:"8.0.0.1"`
	// Status of the device swap operation.
	DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty" json:"deviceSwap,omitempty" vim:"8.0.0.1"`
	// Number of SMT (Simultaneous multithreading) threads.
	//
	// \- Set "simultaneousThreads" with a non-zero value to configure threads.
	// \- If unset, then use system defaults.
	SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty" json:"simultaneousThreads,omitempty" vim:"8.0.0.1"`
	// Configuration for virtual persistent memory.
	Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty" json:"pmem,omitempty" vim:"7.0.3.0"`
	// Assignable hardware device groups.
	DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty" json:"deviceGroups,omitempty" vim:"8.0.0.1"`
	// Indicates whether support to add and remove fixed passthrough
	// devices when the VM is running should be enabled.
	//
	// This property can only be set when the VM is powered off. If set,
	// additional setup will be performed when the VM is powered on
	// so that hot adding and removing fixed passthrough devices will
	// be possible.
	// NOTE: When setting this to true, the memory reservation should
	// be equal to the guest memory size or the option to reserve all
	// guest memory should be selected. If unset, the current value
	// is left unchanged.
	FixedPassthruHotPlugEnabled *bool `xml:"fixedPassthruHotPlugEnabled" json:"fixedPassthruHotPlugEnabled,omitempty" vim:"8.0.1.0"`
}

This data object type encapsulates configuration settings when creating or reconfiguring a virtual machine.

To support incremental changes, these properties are all optional. If an optional property is unset, or any nested optional property is unset, the property will not be changed unless 'unset' is a valid value for the property. To determine whether 'unset' is a valid value for a particular property, refer to the documentation for that property.

type VirtualMachineConfigSpecEncryptedFtModes added in v0.26.0

type VirtualMachineConfigSpecEncryptedFtModes string

The set of valid encrypted Fault Tolerance modes for a VM.

If the VM is encrypted, its encrypted Fault Tolerance mode

type VirtualMachineConfigSpecEncryptedVMotionModes added in v0.12.0

type VirtualMachineConfigSpecEncryptedVMotionModes string

The set of valid encrypted vMotion modes for a VM.

type VirtualMachineConfigSpecNpivWwnOp

type VirtualMachineConfigSpecNpivWwnOp string

type VirtualMachineConfigSummary

type VirtualMachineConfigSummary struct {
	DynamicData

	// Name of the virtual machine.
	Name string `xml:"name" json:"name"`
	// Flag to determine whether or not this virtual machine is a template.
	Template bool `xml:"template" json:"template"`
	// Path name to the configuration file for the virtual machine
	VmPathName string `xml:"vmPathName" json:"vmPathName"`
	// Memory size of the virtual machine, in megabytes.
	MemorySizeMB int32 `xml:"memorySizeMB,omitempty" json:"memorySizeMB,omitempty"`
	// Configured CPU reservation in MHz
	CpuReservation int32 `xml:"cpuReservation,omitempty" json:"cpuReservation,omitempty"`
	// Configured Memory reservation in MB
	MemoryReservation int32 `xml:"memoryReservation,omitempty" json:"memoryReservation,omitempty"`
	// Number of processors in the virtual machine.
	NumCpu int32 `xml:"numCpu,omitempty" json:"numCpu,omitempty"`
	// Number of virtual network adapters.
	NumEthernetCards int32 `xml:"numEthernetCards,omitempty" json:"numEthernetCards,omitempty"`
	// Number of virtual disks attached to the virtual machine.
	NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty" json:"numVirtualDisks,omitempty"`
	// Virtual machine BIOS identification.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// VC-specific identifier of the virtual machine
	InstanceUuid string `xml:"instanceUuid,omitempty" json:"instanceUuid,omitempty" vim:"4.0"`
	// Guest operating system identifier (short name).
	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
	// Guest operating system name configured on the virtual machine.
	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
	// Description for the virtual machine.
	Annotation string `xml:"annotation,omitempty" json:"annotation,omitempty"`
	// Product information.
	//
	// References to properties in the URLs are expanded.
	Product *VAppProductInfo `xml:"product,omitempty" json:"product,omitempty" vim:"4.0"`
	// Whether the VM requires a reboot to finish installation.
	//
	// False if no vApp
	// meta-data is configured.
	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty" vim:"4.0"`
	// Fault Tolerance settings for this virtual machine.
	//
	// This property will be populated only for fault tolerance virtual
	// machines and will be left unset for all other virtual machines.
	// See `FaultToleranceConfigInfo` for a description.
	FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr" json:"ftInfo,omitempty" vim:"4.0"`
	// Specifies that this VM is managed by a VC Extension.
	//
	// See the
	// `managedBy` property in the ConfigSpec
	// for more details.
	ManagedBy *ManagedByInfo `xml:"managedBy,omitempty" json:"managedBy,omitempty" vim:"5.0"`
	// Is TPM present in a VM?
	TpmPresent *bool `xml:"tpmPresent" json:"tpmPresent,omitempty" vim:"6.7"`
	// Number of VMIOP backed devices attached to the virtual machine.
	NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty" json:"numVmiopBackings,omitempty" vim:"6.7"`
	// The hardware version string for this virtual machine.
	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
}

A subset of virtual machine configuration.

type VirtualMachineConnection added in v0.24.0

type VirtualMachineConnection struct {
	DynamicData

	// The unique identifier associated with the connection.
	//
	// The label is a UTF-8 string which specifies a unique identifier for
	// a connection.
	Label string `xml:"label" json:"label"`
	// The client identifer.
	//
	// This identifier is a UTF-8 string which is semantically meaningful
	// for the connection. Examples of the client identifier are an IP
	// address (V4 or V6) with or without a port specification, a machine
	// name that requires a DNS lookup, or any other network oriented
	// identification scheme.
	Client string `xml:"client" json:"client"`
	// The name of the user authorizing the connection.
	//
	// This is used for auditing.
	UserName string `xml:"userName" json:"userName"`
}

The `VirtualMachineConnection` object describes a connection to the virtual machine.

func (*VirtualMachineConnection) GetVirtualMachineConnection added in v0.24.0

func (b *VirtualMachineConnection) GetVirtualMachineConnection() *VirtualMachineConnection

type VirtualMachineConnectionState

type VirtualMachineConnectionState string

The connectivity state of a virtual machine.

When the API is provided directly by a server product, such as ESX Server, then the disconnected state is not possible. However, when accessed through VirtualCenter, the state of a virtual machine is set to disconnected if the hosts that manage the virtual machine becomes unavailable.

type VirtualMachineConsolePreferences

type VirtualMachineConsolePreferences struct {
	DynamicData

	// Power on the virtual machine when it is opened in the console.
	PowerOnWhenOpened *bool `xml:"powerOnWhenOpened" json:"powerOnWhenOpened,omitempty"`
	// Enter full screen mode when this virtual machine is powered on.
	EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn" json:"enterFullScreenOnPowerOn,omitempty"`
	// Close the console application when the virtual machine is powered off
	// or suspended.
	CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend" json:"closeOnPowerOffOrSuspend,omitempty"`
}

Preferences for the legacy console application that affect the way it behaves during power operations on the virtual machine.

type VirtualMachineContentLibraryItemInfo added in v0.23.0

type VirtualMachineContentLibraryItemInfo struct {
	DynamicData

	// The content library item UUID
	ContentLibraryItemUuid string `xml:"contentLibraryItemUuid" json:"contentLibraryItemUuid"`
	// The content library item version is determined and
	// managed by content library and this field stamps the version
	// provided by CL to the VM.
	ContentLibraryItemVersion string `xml:"contentLibraryItemVersion,omitempty" json:"contentLibraryItemVersion,omitempty"`
}

Describes the content library item information associated with the virtual machine.

type VirtualMachineCpuIdInfoSpec

type VirtualMachineCpuIdInfoSpec struct {
	ArrayUpdateSpec

	Info *HostCpuIdInfo `xml:"info,omitempty" json:"info,omitempty"`
}

Wrapper class to support incremental updates of the cpuFeatureMask.

As of vSphere API 6.5 `VirtualMachineConfigSpec.extraConfig` is the recommended method for setting the mask for a virtual machine with hardware version 9 and above (newer). They can be viewed via `featureMask`.

type VirtualMachineCryptoState added in v0.18.0

type VirtualMachineCryptoState string

type VirtualMachineDatastoreInfo

type VirtualMachineDatastoreInfo struct {
	VirtualMachineTargetInfo

	// Information about the datastore
	Datastore DatastoreSummary `xml:"datastore" json:"datastore"`
	// Information about the datastore capabilities
	Capability DatastoreCapability `xml:"capability" json:"capability"`
	// The maximum size of a file that can reside on this datastore.
	MaxFileSize int64 `xml:"maxFileSize" json:"maxFileSize"`
	// The maximum capacity of a virtual disk which can be created on this volume
	MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty" json:"maxVirtualDiskCapacity,omitempty" vim:"5.5"`
	// Maximum raw device mapping size (physical compatibility)
	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty" vim:"6.0"`
	// Maximum raw device mapping size (virtual compatibility)
	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty" vim:"6.0"`
	// Access mode for this datastore.
	//
	// This is either
	// readOnly or readWrite. A virtual disk needs to be
	// stored on readWrite datastore. ISOs can be read
	// from a readOnly datastore.
	//
	// See also `HostMountMode_enum`.
	Mode string `xml:"mode" json:"mode"`
	// Indicate the states of vStorage hardware acceleration
	// support for this datastore.
	//
	// In the case of a cluster compute resource, this property
	// is aggregated from the values reported by individual hosts
	// as follows:
	//     - If at least one host reports
	//       `vStorageSupported`,
	//       then it is set to
	//       `vStorageSupported`.
	//     - Else if at least one host reports
	//       `vStorageUnknown`,
	//       it is set to
	//       `vStorageUnknown`.
	//     - Else if at least one host reports
	//       `vStorageUnsupported`,
	//       it is set to
	//       `vStorageUnsupported`.
	//     - Else it is unset.
	//
	// See also `FileSystemMountInfoVStorageSupportStatus_enum`.
	VStorageSupport string `xml:"vStorageSupport,omitempty" json:"vStorageSupport,omitempty" vim:"5.0"`
}

DatastoreInfo describes a datastore that a virtual disk can be stored on.

type VirtualMachineDatastoreVolumeOption

type VirtualMachineDatastoreVolumeOption struct {
	DynamicData

	// The type name of the file system volume information object for this
	// option.
	//
	// See also `HostFileSystemVolumeInfo`.
	FileSystemType string `xml:"fileSystemType" json:"fileSystemType"`
	// The major version of the file system volume information for this
	// option.
	//
	// If not specified, all versions of this file system are included
	// in this option. Currently, this value is set only for VMFS volumes.
	MajorVersion int32 `xml:"majorVersion,omitempty" json:"majorVersion,omitempty"`
}

This data object type describes a file system volume option for this virtual machine.

type VirtualMachineDefaultPowerOpInfo

type VirtualMachineDefaultPowerOpInfo struct {
	DynamicData

	// Describes the default power off type for this virtual machine.
	//
	// The possible values are specified by the PowerOpType.
	//     - hard - Perform power off by using the PowerOff method.
	//     - soft - Perform power off by using the ShutdownGuest method.
	//     - preset - The preset value is specified in the defaultPowerOffType
	//       section.
	//
	// This setting is advisory and clients can choose to ignore it.
	PowerOffType string `xml:"powerOffType,omitempty" json:"powerOffType,omitempty"`
	// Describes the default suspend type for this virtual machine.
	//
	// The possible values are specified by the PowerOpType.
	//     - hard - Perform suspend by using the Suspend method.
	//     - soft - Perform suspend by using the StandbyGuest method.
	//     - preset - The preset value is specified in the defaultSuspendType
	//       section.
	//
	// This setting is advisory and clients can choose to ignore it.
	SuspendType string `xml:"suspendType,omitempty" json:"suspendType,omitempty"`
	// Describes the default reset type for this virtual machine.
	//
	// The possible values are specified by the PowerOpType.
	//     - hard - Perform reset by using the Reset method.
	//     - soft - Perform reset by using the RebootGuest method.
	//     - preset - The preset value is specified in the defaultResetType
	//       section.
	//
	// This setting is advisory and clients can choose to ignore it.
	ResetType string `xml:"resetType,omitempty" json:"resetType,omitempty"`
	// Default operation for power off: soft or hard
	DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty" json:"defaultPowerOffType,omitempty"`
	// Default operation for suspend: soft or hard
	DefaultSuspendType string `xml:"defaultSuspendType,omitempty" json:"defaultSuspendType,omitempty"`
	// Default operation for reset: soft or hard
	DefaultResetType string `xml:"defaultResetType,omitempty" json:"defaultResetType,omitempty"`
	// Behavior of virtual machine when it receives the S1 ACPI call.
	StandbyAction string `xml:"standbyAction,omitempty" json:"standbyAction,omitempty"`
}

The DefaultPowerOpInfo data object type holds the configured defaults for the power operations on a virtual machine.

The properties indicated whether to do a "soft" or guest initiated operation, or a "hard" operation.

type VirtualMachineDefaultProfileSpec

type VirtualMachineDefaultProfileSpec struct {
	VirtualMachineProfileSpec
}

Used to indicate that the Default Storage Policy of the target datastore be used for a Virtual Machine Home or a Virtual Disk object.

Neither the association nor the policy data is persisted in Virtual Machine configuration. This data is managed by an extension of Virtual Center (Storage Policy Based Management).

type VirtualMachineDefinedProfileSpec

type VirtualMachineDefinedProfileSpec struct {
	VirtualMachineProfileSpec

	// Storage Policy Profile identification - Should be
	// pbm.profileId but for implementation reasons, could not be.
	ProfileId string `xml:"profileId" json:"profileId"`
	// Specification containing replication related parameters, sent to the Replication Data Service
	// provider.
	ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty" json:"replicationSpec,omitempty" vim:"6.5"`
	// Profile data sent to the Storage Backend by vSphere.
	//
	// This data is provided by the SPBM component of the vSphere platform.
	// This field should not be set by Virtual Center users.
	ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty" json:"profileData,omitempty"`
	// Parameterized Storage Profiles
	// Extra configuration that is not expressed as a capability in the Profile
	// definition.
	ProfileParams []KeyValue `xml:"profileParams,omitempty" json:"profileParams,omitempty" vim:"6.7"`
}

Policy specification that carries a pre-defined Storage Policy to be associated with a Virtual Machine Home or a Virtual Disk object.

Such a pre-defined policy can be either be vSphere Storage Administrator defined or may come from a set of pre-defined policies from Storage Vendor.

Neither the association nor the policy data is persisted in Virtual Machine configuration. This data is managed by the an extension of Virtual Center (Storage Policy Based Management).

type VirtualMachineDeviceRuntimeInfo

type VirtualMachineDeviceRuntimeInfo struct {
	DynamicData

	// The device runtime state.
	RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr" json:"runtimeState"`
	// The device key.
	Key int32 `xml:"key" json:"key"`
}

The DeviceRuntimeInfo data object type provides information about the execution state of a single virtual device.

type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState

type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct {
	DynamicData
}

Runtime state of a device.

Subclassed for information that is specific to certain device types.

func (*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState) GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState

func (b *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState) GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct {
	VirtualMachineDeviceRuntimeInfoDeviceRuntimeState

	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// Flag to indicate whether VMDirectPath Gen 2 is active on this device.
	//
	// If false, the reason(s) for inactivity will be provided in one or
	// more of `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`,
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`,
	// and `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`.
	VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active" json:"vmDirectPathGen2Active,omitempty"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
	// populated with reasons for the inactivity that are related to virtual
	// machine state or configuration (chosen from
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
	//
	// Other reasons for
	// inactivity will be provided in
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`. If there is a reason
	// for inactivity that cannot be described by the available constants,
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
	// with an additional explanation provided by the platform.
	//
	// Note that this list of reasons is not guaranteed to be exhaustive.
	VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty" json:"vmDirectPathGen2InactiveReasonVm,omitempty"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this array will be
	// populated with reasons for the inactivity that are not related to
	// virtual machine state or configuration (chosen from
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
	//
	// Virtual machine
	// related reasons for inactivity will be provided in
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`. If there is a reason
	// for inactivity that cannot be described by the available constants,
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended` will be populated
	// with an additional explanation provided by the platform.
	//
	// Note that this list of reasons is not guaranteed to be exhaustive.
	//
	// See also `HostCapability.vmDirectPathGen2Supported`.
	VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty" json:"vmDirectPathGen2InactiveReasonOther,omitempty"`
	// Deprecated as of vSphere API 8.0. VMDirectPath Gen 2 is no longer
	// supported and there is no replacement.
	//
	// If `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2Active` is false, this property may
	// contain an explanation provided by the platform, beyond the reasons
	// (if any) enumerated in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonOther`.
	VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty" json:"vmDirectPathGen2InactiveReasonExtended,omitempty"`
	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is active
	// on this device.
	//
	// If true, the network adapter works in the pass-through mode.
	// If false, the network adapter still has the network connectivity but
	// works in emulated mode and pass-through is not enabled.
	// The reason for inactivity is provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`
	// and/or `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
	// This flag is unset if not applicable. It indicates network adapter is not a
	// vmxnet3 adapter or `VirtualVmxnet3.uptv2Enabled` of it
	// is not set to true.
	Uptv2Active *bool `xml:"uptv2Active" json:"uptv2Active,omitempty" vim:"8.0.0.1"`
	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
	// populated with reasons for the inactivity that are related to virtual
	// machine state or configuration (chosen from
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm_enum`).
	//
	// Other reasons for
	// inactivity will be provided in `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonOther`.
	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
	//
	// Note that this field of reasons is not guaranteed to be exhaustive.
	Uptv2InactiveReasonVm []string `xml:"uptv2InactiveReasonVm,omitempty" json:"uptv2InactiveReasonVm,omitempty" vim:"8.0.0.1"`
	// When `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is false, this field will be
	// populated with reasons for the inactivity that are not related to
	// virtual machine state or configuration (chosen from
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther_enum`).
	//
	// Virtual machine
	// related reasons for inactivity will be provided in
	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2InactiveReasonVm`.
	// This field will be unset if `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.uptv2Active` is true or unset.
	//
	// Note that this field of reasons is not guaranteed to be exhaustive.
	Uptv2InactiveReasonOther []string `xml:"uptv2InactiveReasonOther,omitempty" json:"uptv2InactiveReasonOther,omitempty" vim:"8.0.0.1"`
	// The status indicating whether network reservation requirement is violated
	// or not on the virtual network adapter.
	//
	// See `ManagedEntityStatus_enum`
	// for possible values.
	//
	// `red` indicates that reservation specified on the virtual
	// network adapter is not being fulfilled. This can happen if the reservation requested is
	// greater than the available capacity reserved for virtual machine traffic on the host.
	//
	// `green` indicates that the reservation specified on the
	// virtual network adapter is being fulfilled.
	ReservationStatus string `xml:"reservationStatus,omitempty" json:"reservationStatus,omitempty" vim:"5.5"`
	// The status indicating the state of virtual network adapter's attachment
	// to an opaque network.
	//
	// See `ManagedEntityStatus_enum` for possible values.
	//
	// `red` indicates that the network adapter
	// is not yet successfully attached to opaque network. This can happen if
	// corresponding attachment port is missing in the kernel.
	//
	// `green` indicates that the network
	// adapater is successfully attached to opaque network.
	AttachmentStatus string `xml:"attachmentStatus,omitempty" json:"attachmentStatus,omitempty" vim:"6.7"`
	// These network adapter requirements must have equivalent capabilities
	// on the virtual switch in order to power on or migrate to the host.
	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"6.7"`
}

Runtime state of a virtual ethernet card device.

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm

type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string

type VirtualMachineDiskDeviceInfo

type VirtualMachineDiskDeviceInfo struct {
	VirtualMachineTargetInfo

	// Size of disk
	Capacity int64 `xml:"capacity,omitempty" json:"capacity,omitempty"`
	// List of known virtual machines using this physical disk as a backing
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
}

The DiskDeviceInfo class contains basic information about a specific disk hardware device.

func (*VirtualMachineDiskDeviceInfo) GetVirtualMachineDiskDeviceInfo

func (b *VirtualMachineDiskDeviceInfo) GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo

type VirtualMachineDisplayTopology

type VirtualMachineDisplayTopology struct {
	DynamicData

	// The x co-ordinate defining the start of the display rectangle.
	X int32 `xml:"x" json:"x"`
	// The y co-ordinate defining the start of the display rectangle.
	Y int32 `xml:"y" json:"y"`
	// The width of the display rectangle.
	Width int32 `xml:"width" json:"width"`
	// The height of the display rectangle.
	Height int32 `xml:"height" json:"height"`
}

This data object defines a two-dimensional, rectangular display area.

type VirtualMachineDvxClassInfo added in v0.29.0

type VirtualMachineDvxClassInfo struct {
	DynamicData

	// DVX device class.
	DeviceClass BaseElementDescription `xml:"deviceClass,typeattr" json:"deviceClass"`
	// The label for the vendor name of this class.
	//
	// The value is defined by vendors of the DVX device class
	// as part of their localizable messages.
	VendorName string `xml:"vendorName" json:"vendorName"`
	// Indicates whether the devices of this class are SR-IOV NICs.
	SriovNic bool `xml:"sriovNic" json:"sriovNic"`
	// The configuration parameters for this DVX device class.
	ConfigParams []OptionDef `xml:"configParams,omitempty" json:"configParams,omitempty"`
}

Description of a Device Virtualization Extensions (DVX) device class.

type VirtualMachineDynamicPassthroughInfo added in v0.23.0

type VirtualMachineDynamicPassthroughInfo struct {
	VirtualMachineTargetInfo

	// The vendor name of this PCI device.
	VendorName string `xml:"vendorName" json:"vendorName"`
	// The device name of this PCI device.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// The custom label attached to this PCI device.
	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
	// PCI vendor ID for this device.
	VendorId int32 `xml:"vendorId" json:"vendorId"`
	// PCI device ID for this device.
	DeviceId int32 `xml:"deviceId" json:"deviceId"`
}

Description of a Dynamic DirectPath PCI device.

type VirtualMachineEmptyIndependentFilterSpec added in v0.27.0

type VirtualMachineEmptyIndependentFilterSpec struct {
	VirtualMachineBaseIndependentFilterSpec
}

The EmptyIndependentFilterSpec data object is used to specify empty independent filter spec.

This obejct is passed during provisioning workflows to remove all attached independent filters.

type VirtualMachineEmptyProfileSpec

type VirtualMachineEmptyProfileSpec struct {
	VirtualMachineProfileSpec
}

Specifies an empty Storage Policy for a Virtual Machine Home or a Virtual Disk object.

The object is left without any profile association, and hence has no explicit policy driven requirements. This implies that object's policy driven SLAs are always met trivially.

type VirtualMachineFaultToleranceState

type VirtualMachineFaultToleranceState string

The FaultToleranceState type defines a simple set of states for a fault tolerant virtual machine:

type VirtualMachineFaultToleranceType

type VirtualMachineFaultToleranceType string

The FaultToleranceType defines the type of fault tolerance, if any,

type VirtualMachineFeatureRequirement

type VirtualMachineFeatureRequirement struct {
	DynamicData

	// Accessor name to the feature requirement test
	Key string `xml:"key" json:"key"`
	// Name of the feature.
	//
	// Identical to the key.
	FeatureName string `xml:"featureName" json:"featureName"`
	// Opaque value for the feature operation.
	//
	// Operation is contained
	// in the value.
	Value string `xml:"value" json:"value"`
}

Feature requirement contains a key, featureName and an opaque value

type VirtualMachineFileInfo

type VirtualMachineFileInfo struct {
	DynamicData

	// Path name to the configuration file for the virtual machine, e.g., the
	// .vmx file.
	//
	// This also implicitly defines the configuration directory.
	VmPathName string `xml:"vmPathName,omitempty" json:"vmPathName,omitempty"`
	// Path name of the directory that holds suspend and snapshot files
	// belonging to the virtual machine.
	//
	// Prior to vSphere 5.0, this
	// directory also holds snapshot redo files. Starting with vSphere 5.0,
	// the redo files will stay in the same directory as the snapshotted
	// disk, thus this directory will no longer hold the snapshot redo
	// files.
	//
	// This path name defaults to the same directory as the configuration
	// file.
	//
	// ESX Server requires this to indicate a VMFS volume or NAS volume
	// (for ESX Server 3).
	// In case the configuration file is not stored on VMFS or NAS, this
	// property must be set explicitly.
	SnapshotDirectory string `xml:"snapshotDirectory,omitempty" json:"snapshotDirectory,omitempty"`
	// Some products allow the suspend directory to be different than the
	// snapshot directory.
	//
	// On products where this is not possible, setting
	// of this property is ignored.
	SuspendDirectory string `xml:"suspendDirectory,omitempty" json:"suspendDirectory,omitempty"`
	// Directory to store the log files for the virtual machine.
	//
	// If not specified,
	// this defaults to the same directory as the configuration file,
	LogDirectory string `xml:"logDirectory,omitempty" json:"logDirectory,omitempty"`
	// Directory to store the fault tolerance meta data files for the
	// virtual machine.
	FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty" json:"ftMetadataDirectory,omitempty" vim:"6.0"`
}

The FileInfo data object type contains the locations of virtual machine files other than the virtual disk files.

The configurable parameters are all in the FileInfo object.

The object also contains a FileLayout object that returns a complete list of additional files that makes up the virtual machine configuration. This is a read-only structure and is returned when the configuration is read. This is ignored during configuration and can be left out.

type VirtualMachineFileLayout

type VirtualMachineFileLayout struct {
	DynamicData

	// A list of files that makes up the configuration of the virtual machine
	// (excluding the .vmx file, since that file is represented in the
	// FileInfo).
	//
	// These are relative paths from the configuration directory. A
	// slash is always used as a separator. This list will typically include the
	// NVRAM file, but could also include other meta-data files.
	ConfigFile []string `xml:"configFile,omitempty" json:"configFile,omitempty"`
	// A list of files stored in the virtual machine's log directory.
	//
	// These are
	// relative paths from the logDirectory. A slash is always used as a
	// separator.
	LogFile []string `xml:"logFile,omitempty" json:"logFile,omitempty"`
	// Files making up each virtual disk.
	Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
	// Files of each snapshot.
	Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
	// The swapfile specific to this virtual machine, if any.
	//
	// This is a
	// complete datastore path, not a relative path.
	SwapFile string `xml:"swapFile,omitempty" json:"swapFile,omitempty"`
}

Deprecated as of vSphere API 4.0, use `VirtualMachineFileLayoutEx` instead.

Describes the set of files that makes up a virtual machine on disk.

The file layout is broken into 4 major sections:

  • Configuration: Files stored in the configuration directory
  • Log: Files stored in the log directory
  • Disk: Files stored relative to a disk configuration file
  • Snapshot: Stored in the snapshot directory

Often the same directory is used for configuration, log, disk and snapshots.

type VirtualMachineFileLayoutDiskLayout

type VirtualMachineFileLayoutDiskLayout struct {
	DynamicData

	// Identification of the disk in `config`.
	Key int32 `xml:"key" json:"key"`
	// List of files that makes up the virtual disk.
	//
	// At least one entry
	// always exists in this array. The first entry is the main
	// descriptor of the virtual disk (the one used when adding the
	// disk to a virtual machine). These are complete datastore paths, not
	// relative paths.
	DiskFile []string `xml:"diskFile" json:"diskFile"`
}

Enumerats the set of files for each virtual disk.

type VirtualMachineFileLayoutEx

type VirtualMachineFileLayoutEx struct {
	DynamicData

	// Information about all the files that constitute the virtual machine
	// including configuration files, disks, swap file, suspend file, log files,
	// core files, memory file etc.
	//
	// `VirtualMachineFileLayoutExFileType_enum` lists the
	// different file-types that make a virtual machine.
	File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty" json:"file,omitempty"`
	// Layout of each virtual disk attached to the virtual machine.
	//
	// For a virtual machine with snaphots, this property gives only those disks
	// that are attached to it at the current point of running.
	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
	// Layout of each snapshot of the virtual machine.
	Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty" json:"snapshot,omitempty"`
	// Time when values in this structure were last updated.
	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
}

Detailed description of files that make up a virtual machine on disk.

The file layout is broken into 4 major sections:

  • Configuration: Files stored in the configuration directory
  • Log: Files stored in the log directory
  • Disk: Files stored relative to a disk configuration file
  • Snapshot: Stored in the snapshot directory

Often the same directory is used for configuration, log, disk and snapshots.

type VirtualMachineFileLayoutExDiskLayout

type VirtualMachineFileLayoutExDiskLayout struct {
	DynamicData

	// Identifier for the virtual disk in `VirtualHardware.device`.
	Key int32 `xml:"key" json:"key"`
	// The disk-unit chain that makes up this virtual disk.
	Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty" json:"chain,omitempty"`
}

Layout of a virtual disk, including the base- and delta- disks.

A virtual disk typically is made up of a chain of disk-units.

type VirtualMachineFileLayoutExDiskUnit

type VirtualMachineFileLayoutExDiskUnit struct {
	DynamicData

	// Array of keys of the files that make up the disk unit.
	//
	// Values here
	// correspond to property `VirtualMachineFileLayoutExFileInfo.key` in
	// `VirtualMachineFileLayoutEx.file`.
	//
	// At least one entry always exists in this array. Property
	// `VirtualMachineFileLayoutExFileInfo.type` of the referenced file
	// can be used to distinguish the disk descriptor (type `diskDescriptor`) from the extents.
	FileKey []int32 `xml:"fileKey" json:"fileKey"`
}

Information about a single unit of a virtual disk, such as the base-disk or a delta-disk.

A disk-unit consists of at least one descriptor file, and zero or more extent files.

Sometimes, a disk-unit is also referred to as a _backing_.

type VirtualMachineFileLayoutExFileInfo

type VirtualMachineFileLayoutExFileInfo struct {
	DynamicData

	// Key to reference this file.
	Key int32 `xml:"key" json:"key"`
	// Name of the file, including the complete datastore path.
	Name string `xml:"name" json:"name"`
	// Type of the file.
	//
	// `VirtualMachineFileLayoutExFileType_enum` lists
	// all valid values.
	Type string `xml:"type" json:"type"`
	// Size of the file in bytes.
	Size int64 `xml:"size" json:"size"`
	// Size of the file in bytes corresponding to the file blocks
	// that were allocated uniquely.
	//
	// In other words, if the underlying
	// storage supports sharing of file blocks across disk files, the
	// property corresponds to the size of the file blocks that were
	// allocated only in context of this file, i.e. it does not include
	// shared blocks that were allocated in other files.
	// This property will be unset if the underlying implementation
	// is unable to compute this information. One example of this
	// is when the file resides on a NAS datastore whose underlying
	// storage doesn't support this metric. In some cases the field
	// might be set but the value could be over-estimated due to
	// the inability of the NAS based storage to provide an
	// accurate value.
	UniqueSize int64 `xml:"uniqueSize,omitempty" json:"uniqueSize,omitempty" vim:"5.1"`
	// Backing object's durable and unmutable identifier.
	//
	// Each backing object has a unique identifier which is not settable.
	// This property is applied to the file backed by a storage object,
	// such as vvol.
	BackingObjectId string `xml:"backingObjectId,omitempty" json:"backingObjectId,omitempty" vim:"6.0"`
	// Flag which indicates the accessibility of the file
	// when the file info object was created.
	Accessible *bool `xml:"accessible" json:"accessible,omitempty" vim:"6.0"`
}

Basic information about a file.

type VirtualMachineFileLayoutExFileType

type VirtualMachineFileLayoutExFileType string

type VirtualMachineFileLayoutExSnapshotLayout

type VirtualMachineFileLayoutExSnapshotLayout struct {
	DynamicData

	// Reference to the snapshot.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// Key to the snapshot data file in `VirtualMachineFileLayoutEx.file`.
	DataKey int32 `xml:"dataKey" json:"dataKey"`
	// Key to the snapshot memory file in `VirtualMachineFileLayoutEx.file`.
	//
	// Powered off snapshots do not have a memory component and in some cases
	// the memory component is combined with the data component. When a memory
	// component does not exist, the value is initialized to -1.
	MemoryKey int32 `xml:"memoryKey,omitempty" json:"memoryKey,omitempty" vim:"6.0"`
	// Layout of each virtual disk of the virtual machine when the
	// snapshot was taken.
	Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty" json:"disk,omitempty"`
}

Layout of a snapshot.

type VirtualMachineFileLayoutSnapshotLayout

type VirtualMachineFileLayoutSnapshotLayout struct {
	DynamicData

	// Identification of the snapshot
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Key ManagedObjectReference `xml:"key" json:"key"`
	// A list of files that make up the snapshot state.
	//
	// These are relative
	// paths from the snapshotDirectory. A slash is always used as a
	// separator.
	SnapshotFile []string `xml:"snapshotFile" json:"snapshotFile"`
}

Enumerates the set of files that make up a snapshot or redo-point

type VirtualMachineFlagInfo

type VirtualMachineFlagInfo struct {
	DynamicData

	// Flag to turn off video acceleration for a virtual machine console window.
	DisableAcceleration *bool `xml:"disableAcceleration" json:"disableAcceleration,omitempty"`
	// Flag to enable logging for a virtual machine.
	EnableLogging *bool `xml:"enableLogging" json:"enableLogging,omitempty"`
	// Flag to specify whether or not to use TOE (TCP/IP Offloading).
	UseToe *bool `xml:"useToe" json:"useToe,omitempty"`
	// Deprecated as of VI API 2.5, use `VirtualMachineFlagInfo.monitorType`.
	//
	// Flag to specify whether or not to run in debug mode.
	RunWithDebugInfo *bool `xml:"runWithDebugInfo" json:"runWithDebugInfo,omitempty"`
	// vmx process type.
	//
	// See `VirtualMachineFlagInfoMonitorType_enum`
	// for possible values for this property.
	MonitorType string `xml:"monitorType,omitempty" json:"monitorType,omitempty" vim:"2.5"`
	// Deprecated as of vSphere API 6.7.
	//
	// Specifies how the VCPUs of a virtual machine are allowed to
	// share physical cores on a hyperthreaded system.
	//
	// Two VCPUs are
	// "sharing" a core if they are both running on logical CPUs of
	// the core at the same time.
	//
	// See also `VirtualMachineHtSharing_enum`.
	HtSharing string `xml:"htSharing,omitempty" json:"htSharing,omitempty"`
	// Deprecated as of vSphere API 4.0. The flag is ignored by the server.
	//
	// Flag to specify whether snapshots are disabled for this virtual
	// machine.
	SnapshotDisabled *bool `xml:"snapshotDisabled" json:"snapshotDisabled,omitempty" vim:"2.5"`
	// Flag to specify whether the snapshot tree is locked for this virtual machine.
	SnapshotLocked *bool `xml:"snapshotLocked" json:"snapshotLocked,omitempty" vim:"2.5"`
	// Indicates whether disk UUIDs are being used by this virtual machine.
	//
	// If this flag is set to false, disk UUIDs are not exposed to the guest.
	//
	// Since products before ESX 3.1 do not support disk UUIDs, moving virtual
	// machines from a platform that supports UUID to a platform that does
	// not support UUIDs could result in unspecified guest behavior. For
	// virtual machines where the ability to move to older platforms is
	// important, this flag should be set to false. If the value is unset,
	// the behavior 'false' will be used.
	DiskUuidEnabled *bool `xml:"diskUuidEnabled" json:"diskUuidEnabled,omitempty" vim:"2.5"`
	// Indicates whether or not the system will try to use nested page
	// table hardware support, if available.
	//
	// By default, VMware software will determine whether or not
	// to use nested page table hardware support based on various factors such
	// as the guest operating system type and the physical hardware.
	// Certain workloads can benefit from explicitly turning
	// nested page table hardware support on or off; this can be set using
	// nptUsage flag.
	// If the value is unset, the value will default to automatic.
	//
	// `VirtualMachineFlagInfoVirtualMmuUsage_enum` represents the set of
	// possible values.
	VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty" json:"virtualMmuUsage,omitempty" vim:"2.5"`
	// Indicates whether or not the system will try to use Hardware
	// Virtualization (HV) support for instruction virtualization,
	// if available.
	//
	// By default, VMware software will determine whether or not
	// to use hardware virtualization support based on various factors such
	// as the guest operating system type and the physical hardware.
	// Certain workloads can benefit from explicitly turning
	// hardware virtualization support on or off.
	// If the value is unset, the value will default to hvAuto.
	//
	// `VirtualMachineFlagInfoVirtualExecUsage_enum` represents the set of
	// possible values.
	//
	// New processors can enable two hardware acceleration technologies
	// for virtualization, one for instruction virtualization and the
	// other for MMU virtualization. Intel names its hardware-assisted
	// instruction virtualization as VT, and its hardware-assisted
	// MMU virtualization as EPT. AMD calls them as AMD-V and RVI,
	// respectively. For details on these technologies, please refer
	// to documents from the processor vendors.
	//
	// `VirtualMachineFlagInfo.virtualExecUsage` controls instruction
	// virtualization; while `VirtualMachineFlagInfo.virtualMmuUsage`
	// controls MMU virtualization. "On" allows hardware acceleration,
	// while "off" only allows software solution.
	//
	// There are four meaningful combinations.
	//
	// (hvAuto, automatic) - The host chooses which feature to use.
	// (hvOn, on) - Use both VT/AMD-V and EPT/RVI.
	// (hvOn, off) - Use VT/AMD-V but do not use EPT/RVI.
	// (hvOff, off) - Do not use any of these hardware acceleration technologies.
	VirtualExecUsage string `xml:"virtualExecUsage,omitempty" json:"virtualExecUsage,omitempty" vim:"4.0"`
	// Specifies the power-off behavior for a virtual machine that has
	// a snapshot.
	//
	// If the value is unset, the behavior 'powerOff' will
	// be used.
	//
	// See also `VirtualMachinePowerOffBehavior_enum`.
	SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty" json:"snapshotPowerOffBehavior,omitempty" vim:"2.5"`
	// Deprecated as of vSphere API 6.0.
	//
	// Flag to specify whether record and replay operations are
	// allowed for this virtual machine.
	//
	// If this flag is set to 'true', instruction virtualization
	// will use hardware virtualization (HV) support. I.e.,
	// virtualExecUsage will be set to 'hvOn'.
	// If this flag is set to 'false' for a virtual machine that
	// already has a recording, replay will be disallowed, though
	// the recording will be preserved.
	// If the value is unset, the behavior 'false' will be used.
	RecordReplayEnabled *bool `xml:"recordReplayEnabled" json:"recordReplayEnabled,omitempty" vim:"4.0"`
	// Indicates the type of fault tolerance type the virtual machine is
	// configured to use.
	//
	// `VirtualMachineFaultToleranceType_enum` represents the set of
	// possible values.
	FaultToleranceType string `xml:"faultToleranceType,omitempty" json:"faultToleranceType,omitempty" vim:"6.0"`
	// Flag to specify whether common CBRC digest cache is enabled for this
	// virtual machine.
	//
	// The common CBRC cache is shared between the hot added disks in the VM.
	// If this flag is set to 'true' the VM will allocate a commont digest
	// cache on power on.
	CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled" json:"cbrcCacheEnabled,omitempty" vim:"6.5"`
	// Flag to specify if Intel Virtualization Technology for Directed I/O
	// is enabled for this virtual machine.
	//
	// When creating a new VM:
	// \- If vim.vm.FlagInfo.vbsEnabled is set to <code>true</code>,
	// and this flag is set to <code>false</code> error is returned.
	// \- If this flag is unset and vim.vm.FlagInfo.vbsEnabled is set to
	// <code>true</code>, the value of this flag is set to <code>true</code>.
	VvtdEnabled *bool `xml:"vvtdEnabled" json:"vvtdEnabled,omitempty" vim:"6.7"`
	// Flag to specify if Virtualization-based security
	// is enabled for this virtual machine.
	//
	// If set to <code>true</code> when creating a new VM, the following VM
	// properties might be modified automatically:
	// \- If vim.vm.FlagInfo.vvtdEnabled is not set to <code>false</code>,
	// it is set to <code>true</code>. Else error is returned.
	// \- If vim.vm.ConfigSpec.nestedHVEnabled is not set to <code>false</code>,
	// it is set to <code>true</code>. Else error is returned.
	// \- If vim.vm.BootOptions.efiSecureBootEnabled is not set to
	// <code>false</code>, it is set to <code>true</code>. Else error is
	// returned.
	// \- If vim.vm.firmware is not set to <code>bios</code>, it is set
	// to <code>efi</code>. Else error is returned.
	VbsEnabled *bool `xml:"vbsEnabled" json:"vbsEnabled,omitempty" vim:"6.7"`
}

The FlagInfo data object type encapsulates the flag settings for a virtual machine.

These properties are optional since the same structure is used to change the values during an edit or create operation.

type VirtualMachineFlagInfoMonitorType

type VirtualMachineFlagInfoMonitorType string

type VirtualMachineFlagInfoVirtualExecUsage

type VirtualMachineFlagInfoVirtualExecUsage string

type VirtualMachineFlagInfoVirtualMmuUsage

type VirtualMachineFlagInfoVirtualMmuUsage string

type VirtualMachineFloppyInfo

type VirtualMachineFloppyInfo struct {
	VirtualMachineTargetInfo
}

FloppyInfo class contains information about a physical floppy drive on the host.

type VirtualMachineForkConfigInfo

type VirtualMachineForkConfigInfo struct {
	DynamicData

	// Flag to indicate whether this virtual machine is a parent enabled
	// virtual machine.
	//
	// If this vm is not a parent enabled vm this
	// property will be unset.
	// When set into the vim.vm.ConfigSpec this flag will be ignored.
	ParentEnabled *bool `xml:"parentEnabled" json:"parentEnabled,omitempty"`
	// The fork group ID identifies the parent group of which this child
	// VirtualMachine is a child.
	//
	// Applicable for child VirtualMachines only.
	ChildForkGroupId string `xml:"childForkGroupId,omitempty" json:"childForkGroupId,omitempty"`
	// The fork group ID identifies the parent group which this VirtualMachine
	// belongs to.
	//
	// Applicable for parent VirtualMachines only.
	ParentForkGroupId string `xml:"parentForkGroupId,omitempty" json:"parentForkGroupId,omitempty" vim:"6.5"`
	// The flag to indicate the fork child type.
	//
	// For a persistent child
	// virtual machine, once it is powered on, it will become a linked
	// clone of its parent and this flag will be set to 'none'.
	//
	// See also `VirtualMachineForkConfigInfoChildType_enum`.
	ChildType string `xml:"childType,omitempty" json:"childType,omitempty"`
}

This data object describes the fork configuration of this virtual machine.

type VirtualMachineForkConfigInfoChildType

type VirtualMachineForkConfigInfoChildType string

Fork child type.

A child could be type of none, persistent, or

type VirtualMachineGuestIntegrityInfo added in v0.12.0

type VirtualMachineGuestIntegrityInfo struct {
	DynamicData

	// Flag to indicate whether guest integrity platform feature is enabled for
	// this virtual machine.
	//
	// Guest integrity adds capabilities in the virtual
	// platform to detect attacks on the guest OS kernel
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
}

This data object describes the guest integrity platform configuration of this virtual machine.

type VirtualMachineGuestMonitoringModeInfo added in v0.23.0

type VirtualMachineGuestMonitoringModeInfo struct {
	DynamicData

	GmmFile      string `xml:"gmmFile,omitempty" json:"gmmFile,omitempty"`
	GmmAppliance string `xml:"gmmAppliance,omitempty" json:"gmmAppliance,omitempty"`
}

This data object describes the GMM (Guest Mode Monitoring) configuration of this virtual machine.

type VirtualMachineGuestOsFamily

type VirtualMachineGuestOsFamily string

Guest operating system family constants.

type VirtualMachineGuestOsIdentifier

type VirtualMachineGuestOsIdentifier string

Guest operating system identifier.

type VirtualMachineGuestQuiesceSpec added in v0.12.0

type VirtualMachineGuestQuiesceSpec struct {
	DynamicData

	// The property to indicate maximum time in minutes for snapshot operation
	// to be performed on the virtual machine.
	//
	// The timeout can not be less than 5 minutes or more than 240 minutes.
	Timeout int32 `xml:"timeout,omitempty" json:"timeout,omitempty"`
}

This data object type encapsulates configuration settings when creating a virtual machine quiesced snapshot.

func (*VirtualMachineGuestQuiesceSpec) GetVirtualMachineGuestQuiesceSpec added in v0.12.0

func (b *VirtualMachineGuestQuiesceSpec) GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec

type VirtualMachineGuestState

type VirtualMachineGuestState string

The possible hints that the guest could display about current tasks inside the guest.

type VirtualMachineGuestSummary

type VirtualMachineGuestSummary struct {
	DynamicData

	// Guest operating system identifier (short name), if known.
	GuestId string `xml:"guestId,omitempty" json:"guestId,omitempty"`
	// Guest operating system name configured on the virtual machine.
	GuestFullName string `xml:"guestFullName,omitempty" json:"guestFullName,omitempty"`
	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2` and
	// `VirtualMachineGuestSummary.toolsRunningStatus`.
	//
	// Current status of VMware Tools in the guest operating system, if known.
	ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty" json:"toolsStatus,omitempty"`
	// Deprecated as of vSphere API 5.0 use `VirtualMachineGuestSummary.toolsVersionStatus2`.
	//
	// Current version status of VMware Tools in the guest operating system,
	// if known.
	ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty" json:"toolsVersionStatus,omitempty" vim:"4.0"`
	// Current version status of VMware Tools in the guest operating system,
	// if known.
	ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty" json:"toolsVersionStatus2,omitempty" vim:"5.0"`
	// Current running status of VMware Tools in the guest operating system,
	// if known.
	ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty" json:"toolsRunningStatus,omitempty" vim:"4.0"`
	// Hostname of the guest operating system, if known.
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// Primary IP address assigned to the guest operating system, if known.
	IpAddress string `xml:"ipAddress,omitempty" json:"ipAddress,omitempty"`
	// The hardware version string for this virtual machine.
	HwVersion string `xml:"hwVersion,omitempty" json:"hwVersion,omitempty" vim:"6.9.1"`
}

A subset of virtual machine guest information.

type VirtualMachineHtSharing

type VirtualMachineHtSharing string

Deprecated as of vSphere API 6.7.

Set of possible values for `VirtualMachineFlagInfo.htSharing`.

type VirtualMachineIdeDiskDeviceInfo

type VirtualMachineIdeDiskDeviceInfo struct {
	VirtualMachineDiskDeviceInfo

	PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty" json:"partitionTable,omitempty"`
}

The IdeDiskDeviceInfo class contains detailed information about a specific IDE disk hardware device.

These devices are for the vim.vm.device.VirtualDisk.RawDiskVer2BackingInfo and vim.vm.device.VirtualDisk.PartitionedRawDiskVer2BackingInfo backings.

type VirtualMachineIdeDiskDevicePartitionInfo

type VirtualMachineIdeDiskDevicePartitionInfo struct {
	DynamicData

	// Identification of the partition
	Id int32 `xml:"id" json:"id"`
	// Size of partition
	Capacity int32 `xml:"capacity" json:"capacity"`
}

Describes the partition sizes

type VirtualMachineImportSpec

type VirtualMachineImportSpec struct {
	ImportSpec

	// Configuration for the virtual machine.
	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
	// Deprecated as of vSphere API 5.1.
	//
	// If specified, this resource pool will be used as the parent resource pool and the
	// virtual machine will be made a linked child to the parent vApp.
	//
	// This field is ignored
	// for the root node in an ImportSpec tree.
	//
	// Refers instance of `ResourcePool`.
	ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty" json:"resPoolEntity,omitempty" vim:"4.1"`
}

A VmImportSpec is used by `ResourcePool.importVApp` when importing entities.

It provides all information needed to import a `VirtualMachine`. So far, this coincides with `VirtualMachineConfigSpec`.

A VmImportSpec can be contained in a `VirtualAppImportSpec` as part of the ImportSpec for an entity.

See also `ImportSpec`.

type VirtualMachineIndependentFilterSpec added in v0.27.0

type VirtualMachineIndependentFilterSpec struct {
	VirtualMachineBaseIndependentFilterSpec

	// Name/id of the IO filter.
	FilterName string `xml:"filterName" json:"filterName"`
	// IO filter class.
	FilterClass string `xml:"filterClass,omitempty" json:"filterClass,omitempty"`
	// Capabilities defined by the above filter.
	//
	// Basically this key value pair define the configurable properties
	// of the independent filters. Users can specify desired values.
	FilterCapabilities []KeyValue `xml:"filterCapabilities,omitempty" json:"filterCapabilities,omitempty"`
}

The IndependentFilterSpec data object is used to specify the independent filters to be associated with virtual machine disks.

type VirtualMachineInstantCloneSpec added in v0.18.0

type VirtualMachineInstantCloneSpec struct {
	DynamicData

	// The name of the cloned virtual machine.
	Name string `xml:"name" json:"name"`
	// A type of `VirtualMachineRelocateSpec` that specifies the location of
	// resources the newly created virtual machine will use.
	//
	// The location might be empty or specify:
	//     - The folder where the virtual machine should be located. If not
	//       specified, the root VM folder of the source VM will be used.
	//     - A datastore where the InstantCloned virtual machine will be located
	//       on the physical storage.
	//     - A resource pool determines where compute resources will be
	//       available to the clone.
	//     - A device change specification. The only allowed device changes
	//       are edits of VirtualEthernetCard and filebacked Serial/Parallel
	//       ports.
	//
	// All other settings are NOT supported.
	Location VirtualMachineRelocateSpec `xml:"location" json:"location"`
	// A list of key value pairs that will be passed to the destination VM.
	//
	// These pairs should be used to provide user-defined customization to
	// differentiate the destination VM from the source VM. Values will be
	// queryable via destination VM's `VirtualMachineConfigInfo.extraConfig`.
	Config []BaseOptionValue `xml:"config,omitempty,typeattr" json:"config,omitempty"`
	// 128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string
	// in "12345678-abcd-1234-cdef-123456789abc" format.
	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
}

Specification for creating an Instant Clone of a powered-on virtual machine.

type VirtualMachineLegacyNetworkSwitchInfo

type VirtualMachineLegacyNetworkSwitchInfo struct {
	DynamicData

	// The name of the network switch.
	Name string `xml:"name" json:"name"`
}

The LegacyNetworkSwitchInfo data object type contains information about the legacy network switches available on the host.

  • VMware Server - Options available for the "custom" NetworkBackingType.
  • ESX Server - The "esxnet" NetworkBackingType.

type VirtualMachineMemoryAllocationPolicy

type VirtualMachineMemoryAllocationPolicy string

type VirtualMachineMemoryReservationInfo

type VirtualMachineMemoryReservationInfo struct {
	DynamicData

	// The minimum amount of memory reserved for all running virtual machines,
	// in bytes.
	VirtualMachineMin int64 `xml:"virtualMachineMin" json:"virtualMachineMin"`
	// The maximum amount of memory reserved for all running virtual machines,
	// in bytes.
	VirtualMachineMax int64 `xml:"virtualMachineMax" json:"virtualMachineMax"`
	// The amount of memory reserved for all running virtual machines,
	// in bytes.
	VirtualMachineReserved int64 `xml:"virtualMachineReserved" json:"virtualMachineReserved"`
	// Policy for allocating additional memory for virtual machines.
	//
	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
	AllocationPolicy string `xml:"allocationPolicy" json:"allocationPolicy"`
}

The VirtualMachineReservationInfo data object type describes the amount of memory that is being reserved for virtual machines on the host, and how additional memory may be acquired.

type VirtualMachineMemoryReservationSpec

type VirtualMachineMemoryReservationSpec struct {
	DynamicData

	// The amount of memory reserved for all running virtual machines, in
	// bytes.
	VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty" json:"virtualMachineReserved,omitempty"`
	// Policy for allocating additional memory for virtual machines.
	//
	// See also `VirtualMachineMemoryAllocationPolicy_enum`.
	AllocationPolicy string `xml:"allocationPolicy,omitempty" json:"allocationPolicy,omitempty"`
}

The VirtualMachineReservationSpec data object specifies configurable parameters for virtual machine memory reservation.

type VirtualMachineMessage

type VirtualMachineMessage struct {
	DynamicData

	// A unique identifier for this particular message.
	//
	// This field is a key for looking up format strings in the locmsg
	// catalog.
	Id string `xml:"id" json:"id"`
	// Substitution arguments for variables in the localized message.
	//
	// Substitution variables in the format string identified by `VirtualMachineMessage.id`
	// are 1-based indexes into this array. Substitution variable {1}
	// corresponds to argument\[0\], etc.
	Argument []AnyType `xml:"argument,omitempty,typeattr" json:"argument,omitempty"`
	// Text in session locale.
	//
	// Use `SessionManager*.*SessionManager.SetLocale` to
	// change the session locale.
	Text string `xml:"text,omitempty" json:"text,omitempty" vim:"4.0"`
}

Message data which is intended to be displayed according to the locale of a client.

A `VirtualMachineMessage` contains both a formatted, localized version of the text and the data needed to perform localization in conjunction with localization catalogs.

Clients of the VIM API may use `SessionManager*.*SessionManager.SetLocale` to cause the server to emit localized `VirtualMachineMessage.text`, or may perform client-side localization based on message catalogs provided by the `LocalizationManager`.

Message variables are always integers, e.g. {1} and {2}, which are 1-based indexes into `VirtualMachineMessage.argument`.

  • The corresponding argument may be a recursive lookup:
  • `VirtualMachineMessage.argument` = \["button.cancel", "msg.revert"\]
  • CATALOG(locmsg, `VirtualMachineMessage.id`) = "Select '{1}' to {2}"
  • CATALOG(locmsg, button.cancel) = "Cancel"
  • CATALOG(locmsg, msg.revert) = "revert"
  • \==&gt; `VirtualMachineMessage.text` = "Select 'Cancel' to revert"
  • If the recursive lookup fails, the argument is a plain string.
  • `VirtualMachineMessage.argument` = \["127.0.0.1"\]
  • CATALOG(locmsg, `VirtualMachineMessage.id`) = "IP address is {1}"
  • \==&gt; `VirtualMachineMessage.text` "IP address is 127.0.0.1"

See also `LocalizationManager`.

type VirtualMachineMetadataManagerVmMetadata

type VirtualMachineMetadataManagerVmMetadata struct {
	DynamicData

	// Datastore URL-based ID for VM, for example,
	// "\[datastore1\] SomeVM/SomeVM.vmx".
	VmId string `xml:"vmId" json:"vmId"`
	// Opaque metadata for the VM identified by vmId.
	//
	// If no
	// value is supplied, the entry for this VM is removed.
	Metadata string `xml:"metadata,omitempty" json:"metadata,omitempty"`
}

VmMetadata is a pair of VM ID and opaque metadata.

type VirtualMachineMetadataManagerVmMetadataInput

type VirtualMachineMetadataManagerVmMetadataInput struct {
	DynamicData

	// The input operation type.
	//
	// The values come from `VirtualMachineMetadataManagerVmMetadataOp_enum`
	Operation string `xml:"operation" json:"operation"`
	// the VM and optional metadata
	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
}

VmMetadataInput specifies the operation and metadata for a specific VM.

type VirtualMachineMetadataManagerVmMetadataOp

type VirtualMachineMetadataManagerVmMetadataOp string

type VirtualMachineMetadataManagerVmMetadataOwner

type VirtualMachineMetadataManagerVmMetadataOwner struct {
	DynamicData

	// A string representing the owner.
	//
	// Valid values come
	// from `VirtualMachineMetadataManagerVmMetadataOwnerOwner_enum` for vSAN datastores. Otherwise, the
	// owner field is interpreted by the implementation based on
	// the datastore type.
	Name string `xml:"name" json:"name"`
}

VmMetadataOwner defines the namespace for an owner

type VirtualMachineMetadataManagerVmMetadataOwnerOwner

type VirtualMachineMetadataManagerVmMetadataOwnerOwner string

This enum contains a list of valid owner values for

type VirtualMachineMetadataManagerVmMetadataResult

type VirtualMachineMetadataManagerVmMetadataResult struct {
	DynamicData

	// The VM-specific metadata
	VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata" json:"vmMetadata"`
	// MethodFault set for errors in getting or setting
	// the VmMetadata.
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

A list of VmMetadataResults are returned for successful and non-successful results of an update or retrieve operation.

See also `VirtualMachineMetadataManager.UpdateMetadata`, `VirtualMachineMetadataManager.RetrieveMetadata`, `VirtualMachineMetadataManager.RetrieveAllMetadata`, `VirtualMachineMetadataManager.ClearMetadata`.

type VirtualMachineMksConnection added in v0.24.0

type VirtualMachineMksConnection struct {
	VirtualMachineConnection
}

The `VirtualMachineMksConnection` object describes an MKS style connection to the virtual machine.

type VirtualMachineMksTicket

type VirtualMachineMksTicket struct {
	DynamicData

	// The ticket name.
	//
	// This is used as the username and password for the MKS
	// connection.
	Ticket string `xml:"ticket" json:"ticket"`
	// The name of the configuration file for the virtual machine.
	CfgFile string `xml:"cfgFile" json:"cfgFile"`
	// The host with which to establish a connection.
	//
	// If the host is not specified,
	// it is assumed that the requesting entity knows the appropriate host with which
	// to connect.
	Host string `xml:"host,omitempty" json:"host,omitempty"`
	// The port number to use.
	//
	// If the port is not specified,
	// it is assumed that the requesting entity knows the appropriate port to
	// use when making a new connection.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The expected thumbprint of the SSL cert of the host to which
	// we are connecting.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty" vim:"2.5"`
}

Deprecated as of vSphere API 4.1, use `VirtualMachineTicket` instead.

This data object contains the information needed to establish an MKS (mouse-keyboard-screen) connection to a running virtual machine.

type VirtualMachineMovePriority

type VirtualMachineMovePriority string

MovePriority is an enumeration of values that indicate the priority of the task that moves a virtual machine from one host to another or one storage location to another.

Note this priority can affect both the source and target hosts.

type VirtualMachineNeedSecondaryReason

type VirtualMachineNeedSecondaryReason string

The NeedSecondaryReason type defines all reasons a virtual machine is

type VirtualMachineNetworkInfo

type VirtualMachineNetworkInfo struct {
	VirtualMachineTargetInfo

	// Information about the network
	Network BaseNetworkSummary `xml:"network,typeattr" json:"network"`
	// Key of parent vSwitch of the network
	Vswitch string `xml:"vswitch,omitempty" json:"vswitch,omitempty" vim:"6.5"`
}

NetworkInfo describes a network that a device backing can attached to.

type VirtualMachineNetworkShaperInfo

type VirtualMachineNetworkShaperInfo struct {
	DynamicData

	// Is the shaper enabled?
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Peak bandwidth, in bits per second.
	PeakBps int64 `xml:"peakBps,omitempty" json:"peakBps,omitempty"`
	// Average bandwidth, in bits per second.
	AverageBps int64 `xml:"averageBps,omitempty" json:"averageBps,omitempty"`
	// Burst size, in bytes.
	BurstSize int64 `xml:"burstSize,omitempty" json:"burstSize,omitempty"`
}

Network traffic shaping specification.

Traffic shaping is used to configure the network utilization characteristics of a virtual machine.

type VirtualMachineParallelInfo

type VirtualMachineParallelInfo struct {
	VirtualMachineTargetInfo
}

ParallelInfo class contains information about a physical parallel drive on the host.

type VirtualMachinePciPassthroughInfo

type VirtualMachinePciPassthroughInfo struct {
	VirtualMachineTargetInfo

	// Details of the PCI device, including vendor, class and
	// device identification information.
	PciDevice HostPciDevice `xml:"pciDevice" json:"pciDevice"`
	// The ID of the system the PCI device is attached to.
	SystemId string `xml:"systemId" json:"systemId"`
}

Description of a generic PCI device that can be attached to a virtual machine.

func (*VirtualMachinePciPassthroughInfo) GetVirtualMachinePciPassthroughInfo

func (b *VirtualMachinePciPassthroughInfo) GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo

type VirtualMachinePciSharedGpuPassthroughInfo

type VirtualMachinePciSharedGpuPassthroughInfo struct {
	VirtualMachineTargetInfo

	// The VGPU corresponding to this GPU passthrough device.
	Vgpu string `xml:"vgpu" json:"vgpu"`
}

Description of a gpu PCI device that can be shared with a virtual machine.

type VirtualMachinePowerOffBehavior

type VirtualMachinePowerOffBehavior string

type VirtualMachinePowerOpType

type VirtualMachinePowerOpType string

The list of possible default power operations available for the virtual machine

type VirtualMachinePowerState

type VirtualMachinePowerState string

The PowerState type defines a simple set of states for a virtual machine: poweredOn, poweredOff, and suspended.

This type does not model substates, such as when a task is running to change the virtual machine state. If the virtual machine is in a state with a task in progress, it transitions to a new state when the task completes. For example, a virtual machine continues to be in the poweredOn state while a suspend task is running, and changes to the suspended state once the task finishes.

As a consequence of this approach, clients interested in monitoring the status of a virtual machine should typically track the `activeTask` data object in addition to the `powerState` object.

type VirtualMachinePrecisionClockInfo added in v0.23.0

type VirtualMachinePrecisionClockInfo struct {
	VirtualMachineTargetInfo

	// The currrent host system clock synchronization protocol.
	//
	// Used for specifying protocol in
	// `VirtualPrecisionClockSystemClockBackingInfo`.
	SystemClockProtocol string `xml:"systemClockProtocol,omitempty" json:"systemClockProtocol,omitempty"`
}

The PrecisionClockInfo data object type describes available host clock resources, which can be used as backing reference for virtual precision clock devices.

type VirtualMachineProfileDetails added in v0.18.0

type VirtualMachineProfileDetails struct {
	DynamicData

	// Storage profile associated with Virtual Machine's home directory.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
	// An optional list that allows specifying details of the policy associated
	// with virutual disks.
	DiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"diskProfileDetails,omitempty" json:"diskProfileDetails,omitempty"`
}

The `VirtualMachineProfileDetails` data object type provides details of the policy associated with a virtual machine and it's virtual disks.

type VirtualMachineProfileDetailsDiskProfileDetails added in v0.18.0

type VirtualMachineProfileDetailsDiskProfileDetails struct {
	DynamicData

	// Virtual disk ID.
	DiskId int32 `xml:"diskId" json:"diskId"`
	// Storage profile associated with the Virtual Disk.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
}

Details of the policies associated with Virtual Disks.

type VirtualMachineProfileRawData

type VirtualMachineProfileRawData struct {
	DynamicData

	// vSphere Extension Identifier
	ExtensionKey string `xml:"extensionKey" json:"extensionKey"`
	// Extension-specific additional data to be associated
	// with Virtual machine and its devices.
	ObjectData string `xml:"objectData,omitempty" json:"objectData,omitempty"`
}

The extensible data object type encapsulates additional data specific to Virtual Machine and its devices.

This data is provided by vSphere Extensions which are integral part of vSphere.

The data is not persisted in Virtual Machine configuration file but is stored and managed by extensions.

Storage Profile Based Management (SPBM) will be one of the consumers of this data structure. SPBM will provide detailed information about Virtual Machine storage requirements.

type VirtualMachineProfileSpec

type VirtualMachineProfileSpec struct {
	DynamicData
}

The ProfileSpec data object is used to specify the Storage Policy to be associated with a Virtual Machine Home or a Virtual Disk.

func (*VirtualMachineProfileSpec) GetVirtualMachineProfileSpec

func (b *VirtualMachineProfileSpec) GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec

type VirtualMachinePropertyRelation added in v0.18.0

type VirtualMachinePropertyRelation struct {
	DynamicData

	// The target property and its value
	Key DynamicProperty `xml:"key" json:"key"`
	// The related properties and their values
	Relations []DynamicProperty `xml:"relations,omitempty" json:"relations,omitempty"`
}

Data object which represents relations between a property and its target value and the required values of any other properties in the vm configuration so that the target value can be set.

type VirtualMachineQuestionInfo

type VirtualMachineQuestionInfo struct {
	DynamicData

	// Identifier with an opaque value that specifies the pending question.
	Id string `xml:"id" json:"id"`
	// Text that describes the pending question.
	Text string `xml:"text" json:"text"`
	// List of key-value pairs that specify possible answers.
	Choice ChoiceOption `xml:"choice" json:"choice"`
	// The message data for the individual messages that comprise the question.
	//
	// Only available on servers that support localization.
	Message []VirtualMachineMessage `xml:"message,omitempty" json:"message,omitempty" vim:"2.5"`
}

This data object type describes the question that is currently blocking a virtual machine.

type VirtualMachineQuickStats

type VirtualMachineQuickStats struct {
	DynamicData

	// Basic CPU performance statistics, in MHz.
	//
	// Valid while the virtual machine is running.
	OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty" json:"overallCpuUsage,omitempty"`
	// Basic CPU performance statistics, in MHz.
	//
	// Valid while the virtual machine is running.
	OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty" json:"overallCpuDemand,omitempty" vim:"4.0"`
	// Percentage of time that the virtual machine was ready, but could not
	// get scheduled to run on the physical CPU.
	//
	// Valid while the virtual machine is running.
	OverallCpuReadiness int32 `xml:"overallCpuReadiness,omitempty" json:"overallCpuReadiness,omitempty" vim:"7.0"`
	// Guest memory utilization statistics, in MB.
	//
	// This
	// is also known as active guest memory. The number
	// can be between 0 and the configured memory size of
	// the virtual machine. Valid while the virtual machine is
	// running.
	GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty" json:"guestMemoryUsage,omitempty"`
	// Host memory utilization statistics, in MB.
	//
	// This
	// is also known as consumed host memory. This is between 0 and
	// the configured resource limit. Valid while the virtual machine is
	// running. This includes the overhead memory of the VM.
	HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty" json:"hostMemoryUsage,omitempty"`
	// Guest operating system heartbeat metric.
	//
	// See `VirtualMachine.guestHeartbeatStatus` for a description.
	GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus" json:"guestHeartbeatStatus"`
	// This is the amount of CPU resource, in MHz, that this VM is entitled to, as
	// calculated by DRS.
	//
	// Valid only for a VM managed by DRS.
	DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty" json:"distributedCpuEntitlement,omitempty"`
	// This is the amount of memory, in MB, that this VM is entitled to, as
	// calculated by DRS.
	//
	// Valid only for a VM managed by DRS.
	DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty" json:"distributedMemoryEntitlement,omitempty"`
	// The static CPU resource entitlement for a virtual machine.
	//
	// This value is
	// calculated based on this virtual machine's resource reservations, shares
	// and limit, and doesn't take into account current usage. This is the worst
	// case CPU allocation for this virtual machine, that is, the amount of CPU
	// resource this virtual machine would receive if all virtual machines running
	// in the cluster went to maximum consumption. Units are MHz.
	StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty" json:"staticCpuEntitlement,omitempty" vim:"4.0"`
	// The static memory resource entitlement for a virtual machine.
	//
	// This value is
	// calculated based on this virtual machine's resource reservations, shares
	// and limit, and doesn't take into account current usage. This is the worst
	// case memory allocation for this virtual machine, that is, the amount of
	// memory this virtual machine would receive if all virtual machines running
	// in the cluster went to maximum consumption. Units are MB.
	StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty" json:"staticMemoryEntitlement,omitempty" vim:"4.0"`
	// Amount of host physical memory that is mapped for a virtual machine,
	// in MB.
	//
	// The number can be between 0 and the configured memory size of
	// the virtual machine. Valid while the virtual machine is running.
	GrantedMemory int32 `xml:"grantedMemory,omitempty" json:"grantedMemory,omitempty" vim:"7.0"`
	// The portion of memory, in MB, that is granted to this VM from non-shared
	// host memory.
	PrivateMemory int32 `xml:"privateMemory,omitempty" json:"privateMemory,omitempty" vim:"4.0"`
	// The portion of memory, in MB, that is granted to this VM from host memory
	// that is shared between VMs.
	SharedMemory int32 `xml:"sharedMemory,omitempty" json:"sharedMemory,omitempty" vim:"4.0"`
	// The portion of memory, in MB, that is granted to this VM from the host's swap
	// space.
	//
	// This is a sign that there is memory pressure on the host.
	SwappedMemory int32 `xml:"swappedMemory,omitempty" json:"swappedMemory,omitempty" vim:"4.0"`
	// The size of the balloon driver in the VM, in MB.
	//
	// The host will inflate the
	// balloon driver to reclaim physical memory from the VM. This is a sign that
	// there is memory pressure on the host.
	BalloonedMemory int32 `xml:"balloonedMemory,omitempty" json:"balloonedMemory,omitempty" vim:"4.0"`
	// The amount of consumed overhead memory, in MB, for this VM.
	ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty" json:"consumedOverheadMemory,omitempty" vim:"4.0"`
	// The network bandwidth used for logging between the
	// primary and secondary fault tolerance VMs.
	//
	// The unit is kilobytes per second.
	FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty" json:"ftLogBandwidth,omitempty" vim:"4.0"`
	// The amount of time in wallclock that the VCPU of the secondary fault
	// tolerance VM is behind the VCPU of the primary VM.
	//
	// The unit is millisecond.
	FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty" json:"ftSecondaryLatency,omitempty" vim:"4.0"`
	// The latency status of the fault tolerance VM.
	//
	// ftLatencyStatus is determined by the value of ftSecondaryLatency.
	// ftLatencyStatus is:
	// green, if ftSecondaryLatency is less than or equal to 2 seconds;
	// yellow, if ftSecondaryLatency is greater than 2 seconds,
	// and less than or equal to 6 seconds;
	// red, if ftSecondaryLatency is greater than 6 seconds;
	// gray, if ftSecondaryLatency is unknown.
	FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty" json:"ftLatencyStatus,omitempty" vim:"4.0"`
	// The amount of compressed memory currently consumed by VM, in Kb.
	CompressedMemory int64 `xml:"compressedMemory,omitempty" json:"compressedMemory,omitempty" vim:"4.1"`
	// The system uptime of the VM in seconds.
	UptimeSeconds int32 `xml:"uptimeSeconds,omitempty" json:"uptimeSeconds,omitempty" vim:"4.1"`
	// The amount of memory swapped to fast disk device such as
	// SSD, in KB.
	SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty" json:"ssdSwappedMemory,omitempty" vim:"5.0"`
	// The amount of memory that was recently touched by the VM, in MB.
	ActiveMemory int32 `xml:"activeMemory,omitempty" json:"activeMemory,omitempty" vim:"7.0.3.0"`
	// Stats for each physical memory tier.
	//
	// A physical memory tier consists of one or
	// more logical memory tiers of the same `HostMemoryTierType_enum`. For
	// example, the logical tiers can be tier0 (DRAM), tier1 (DRAM), and tier2 (PMEM),
	// while the physical tiers are just DRAM and PMEM.
	MemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"memoryTierStats,omitempty" json:"memoryTierStats,omitempty" vim:"7.0.3.0"`
}

A set of statistics that are typically updated with near real-time regularity.

This data object type does not support notification, for scalability reasons. Therefore, changes in QuickStats do not generate property collector updates. To monitor statistics values, use the statistics and alarms modules instead.

type VirtualMachineQuickStatsMemoryTierStats added in v0.27.0

type VirtualMachineQuickStatsMemoryTierStats struct {
	DynamicData

	// The memory tier type.
	//
	// See `HostMemoryTierType_enum` for supported
	// values.
	MemoryTierType string `xml:"memoryTierType" json:"memoryTierType"`
	// Memory access bandwidth usage for the reads of the VM on this tier in
	// MBps.
	ReadBandwidth int64 `xml:"readBandwidth" json:"readBandwidth"`
}

type VirtualMachineRecordReplayState

type VirtualMachineRecordReplayState string

Deprecated as of vSphere API 6.0.

The RecordReplayState type defines a simple set of record and replay

type VirtualMachineRelocateDiskMoveOptions

type VirtualMachineRelocateDiskMoveOptions string

Specifies how a virtual disk is moved or copied to a datastore.

In all cases after the move or copy the virtual machine's current running point will be placed on the target datastore. The current running point is defined as the disk backing which the virtual machine is currently writing to. This end state can be achieved in multiple ways, and the supported options are described in this enumeration.

These options are only relevant when the backing of the specified disk is a *file backing*.

Since disk backings may become shared as the result of either a *clone operation* or a *relocate operation*, `VirtualMachine.PromoteDisks_Task` has been provided as a way to unshare such disk backings.

type VirtualMachineRelocateSpec

type VirtualMachineRelocateSpec struct {
	DynamicData

	// The service endpoint of vCenter where the virtual machine should be
	// located.
	//
	// If not specified, the current vCenter service is used. If the
	// virtual machine is relocated to a different vCenter service, the
	// destination host, pool, and datastore parameters have to be explicitly
	// specified by default when the task is submitted.
	Service *ServiceLocator `xml:"service,omitempty" json:"service,omitempty" vim:"6.0"`
	// The folder where the virtual machine should be located.
	//
	// If not specified,
	// the root VM folder of the destination datacenter will be used.
	//
	// Refers instance of `Folder`.
	Folder *ManagedObjectReference `xml:"folder,omitempty" json:"folder,omitempty" vim:"6.0"`
	// The datastore where the virtual machine should be located.
	//
	// If
	// not specified, the current datastore is used.
	//
	// Refers instance of `Datastore`.
	Datastore *ManagedObjectReference `xml:"datastore,omitempty" json:"datastore,omitempty"`
	// Manner in which to move the virtual disk to the *target datastore*.
	//
	// The set of possible values is described in
	// `VirtualMachineRelocateDiskMoveOptions_enum`.
	//
	// This property applies to all the disks which the virtual machine has,
	// but can be overridden on a per-disk basis using
	// `VirtualMachineRelocateSpecDiskLocator.diskMoveType` prior to vSphere
	// API 6.0 or using
	// `VirtualDiskConfigSpec.diskMoveType` in vSphere API
	// 6.0 and later.
	//
	// This property can only be set if
	// `HostCapability.deltaDiskBackingsSupported` is true.
	//
	// If left unset then
	// `moveAllDiskBackingsAndDisallowSharing`
	// is assumed.
	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"4.0"`
	// The resource pool to which this virtual machine should be attached.
	//     - For a relocate or clone operation to a virtual machine, if the
	//       argument is not supplied, the current resource pool of virtual
	//       machine is used.
	//     - For a clone operation from a template to a virtual machine,
	//       this argument is required.
	//     - If the virtual machine is relocated to a different vCenter service,
	//       and a resource pool is not specified, the destination host must be
	//       specified.
	//     - If a resource pool is specified, the virtual machine is powered
	//       on, and the target pool represents a cluster without DRS enabled,
	//       an InvalidArgument exception is thrown.
	//     - If the virtual machine is relocated to a different datacenter
	//       within the vCenter service, the resource pool has to be specified
	//       and cannot be unset.
	//
	// Refers instance of `ResourcePool`.
	Pool *ManagedObjectReference `xml:"pool,omitempty" json:"pool,omitempty"`
	// The target host for the virtual machine.
	//
	// If not specified,
	//     - if resource pool is not specified, current host is used.
	//     - if resource pool is specified, and the target pool represents
	//       a stand-alone host, the host is used.
	//     - if resource pool is specified, the virtual machine is powered on,
	//       and the target pool represents a DRS-enabled cluster, a host
	//       selected by DRS is used.
	//     - if resource pool is specified, the virtual machine is powered on,
	//       and the target pool represents a cluster without DRS enabled,
	//       an InvalidArgument exception is thrown.
	//     - if a resource pool is specified, the target pool represents a
	//       cluster, and this is a clone or the virtual machine is powered
	//       off, a random compatible host is chosen.
	//     - A destination host must be specified if the virtual machine is
	//       relocated to a different vCenter service, and a resource pool is
	//       not specified.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// An optional list that allows specifying the datastore location
	// for each virtual disk.
	Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
	// Deprecated as of vSphere API 5.0. Use
	// `VirtualMachineRelocateSpecDiskLocator.diskBackingInfo` instead for
	// disk format conversions. This setting will be ignored for
	// disks with the above property set.
	//
	// Transformation to perform on the disks.
	//
	// The backend is free to ignore
	// this hint if it is not valid for the current operation. This can be
	// used by clients, for example, to create sparse disks for templates.
	//
	// See also `VirtualMachineRelocateTransformation_enum`.
	Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty" json:"transform,omitempty"`
	// An optional list of virtual device specs that allow specifying the new
	// device locations for the relocate operation.
	//
	// The supported device changes are:
	//     - For `VirtualEthernetCard`, it has to be used
	//       in `VirtualDeviceConfigSpec.device` to specify the
	//       target network backing.
	//     - For `VirtualDisk`, it can be used to specify
	//       vFlash cache configuration, or the storage profile for destination
	//       disks. The storage profiles are used to either upgrade the virtual
	//       disk's storage to a persistent memory, or keep the virtual disk
	//       in persistent memory when moving the virtual machine's overall
	//       storage.
	//     - All other specification are ignored.
	DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr" json:"deviceChange,omitempty" vim:"5.5"`
	// Storage profile requirement for Virtual Machine's home directory.
	//
	// Profiles are solution specific.
	// Storage Profile Based Management(SPBM) is a vSphere server extension.
	// The API users who want to provision VMs using Storage Profiles, need to
	// interact with SPBM.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
	// Virtual Machine cryptographic options.
	//
	// Encryption requirement for the virtual machine's metadata
	// files (non-disk files).
	CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr" json:"cryptoSpec,omitempty" vim:"7.0"`
}

Specification for moving or copying a virtual machine to a different datastore or host.

type VirtualMachineRelocateSpecDiskLocator

type VirtualMachineRelocateSpecDiskLocator struct {
	DynamicData

	// Device ID of the virtual disk.
	DiskId int32 `xml:"diskId" json:"diskId"`
	// Target datastore.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Manner in which to move the virtual disk to the *target datastore*.
	//
	// The set of possible values is described
	// in `VirtualMachineRelocateDiskMoveOptions_enum`.
	//
	// This property can only be set if `HostCapability.deltaDiskBackingsSupported` is true.
	//
	// If left unset then `moveAllDiskBackingsAndDisallowSharing`
	// is assumed.
	DiskMoveType string `xml:"diskMoveType,omitempty" json:"diskMoveType,omitempty" vim:"4.0"`
	// Backing information for the virtual disk at the destination.
	//
	// This can be used, for instance, to change the format of the
	// virtual disk. If the specified backing is invalid or not
	// supported at the destination, `InvalidDeviceBacking` is thrown. Specific property
	// changes may be ignored if they are not supported.
	//
	// Supported BackingInfo types and properties:
	//     - `VirtualDiskFlatVer2BackingInfo`
	//       - thinProvisioned
	//       - eagerlyScrub
	//     - `VirtualDiskSeSparseBackingInfo`
	//       (ESX 5.1 or later)
	DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr" json:"diskBackingInfo,omitempty" vim:"5.0"`
	// Virtual Disk Profile requirement.
	//
	// Profiles are solution specific.
	// Profile Based Storage Management is a vSphere server extension.
	// The API users who want to provision VMs using Storage Profiles, need to
	// interact with it.
	// This is an optional parameter and if user doesn't specify profile,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"5.5"`
	// Cryptographic option of the current disk.
	Backing *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"backing,omitempty" json:"backing,omitempty" vim:"7.0"`
	// List of independent filters `VirtualMachineIndependentFilterSpec`
	// to be configured on the virtual disk after the relocate.
	FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr" json:"filterSpec,omitempty" vim:"7.0.2.1"`
}

The DiskLocator data object type specifies a virtual disk device (by ID) and a datastore locator for the disk's storage.

type VirtualMachineRelocateSpecDiskLocatorBackingSpec added in v0.23.0

type VirtualMachineRelocateSpecDiskLocatorBackingSpec struct {
	DynamicData

	Parent *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"parent,omitempty" json:"parent,omitempty"`
	Crypto BaseCryptoSpec                                    `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty"`
}

<code>`VirtualMachineRelocateSpecDiskLocatorBackingSpec`</code> is a data object type for crytographic information about the backing of a device.

The member `VirtualMachineRelocateSpecDiskLocatorBackingSpec.parent` refers the parent in the chain of `VirtualDeviceBackingInfo` objects.

type VirtualMachineRelocateTransformation

type VirtualMachineRelocateTransformation string

Deprecated as of vSphere API 5.0.

The set of tranformations that can be performed on the virtual disks as part of the copy.

type VirtualMachineRuntimeInfo

type VirtualMachineRuntimeInfo struct {
	DynamicData

	// Per-device runtime info.
	//
	// This array will be empty if the host
	// software does not provide runtime info for any of the device
	// types currently in use by the virtual machine.
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty" json:"device,omitempty" vim:"4.1"`
	// The host that is responsible for running a virtual machine.
	//
	// This property is null if the virtual machine is not running and is
	// not assigned to run on a particular host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Indicates whether or not the virtual machine is available for management.
	ConnectionState VirtualMachineConnectionState `xml:"connectionState" json:"connectionState"`
	// The current power state of the virtual machine.
	PowerState VirtualMachinePowerState `xml:"powerState" json:"powerState"`
	// Represents if the vm is currently being failed over by FDM
	VmFailoverInProgress *bool `xml:"vmFailoverInProgress" json:"vmFailoverInProgress,omitempty" vim:"7.0.2.0"`
	// The fault tolerance state of the virtual machine.
	FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty" json:"faultToleranceState,omitempty" vim:"4.0"`
	// The vSphere HA protection state for a virtual machine.
	//
	// Property
	// is unset if vSphere HA is not enabled.
	DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty" json:"dasVmProtection,omitempty" vim:"5.0"`
	// Flag to indicate whether or not the VMware Tools installer
	// is mounted as a CD-ROM.
	ToolsInstallerMounted bool `xml:"toolsInstallerMounted" json:"toolsInstallerMounted"`
	// The timestamp when the virtual machine was most recently suspended.
	//
	// This property is updated every time the virtual machine is suspended.
	SuspendTime *time.Time `xml:"suspendTime" json:"suspendTime,omitempty"`
	// The timestamp when the virtual machine was most recently powered on.
	//
	// This property is updated when the virtual machine is powered on
	// from the poweredOff state, and is cleared when the virtual machine is
	// powered off. This property is not updated when a virtual machine is resumed
	// from a suspended state.
	BootTime *time.Time `xml:"bootTime" json:"bootTime,omitempty"`
	// The total time the virtual machine has been suspended
	// since it was initially powered on.
	//
	// This time excludes the current period,
	// if the virtual machine is currently suspended. This property is updated
	// when the virtual machine resumes, and is reset to zero when the virtual machine
	// is powered off.
	SuspendInterval int64 `xml:"suspendInterval,omitempty" json:"suspendInterval,omitempty"`
	// The current question, if any, that is blocking the virtual machine's execution.
	Question *VirtualMachineQuestionInfo `xml:"question,omitempty" json:"question,omitempty"`
	// Deprecated as of vSphere API 4.1, use the `PerformanceManager`
	// memory overhead counter to get this value.
	//
	// The amount of memory resource (in bytes) that will be used by
	// the virtual machine above its guest memory requirements.
	//
	// This value is set if and only if the virtual machine is registered
	// on a host that supports memory resource allocation features.
	//
	// For powered off VMs, this is the minimum overhead required to
	// power on the VM on the registered host.
	//
	// For powered on VMs, this is the current overhead reservation, a
	// value which is almost always larger than the minimum overhead, and
	// which grows with time.
	//
	// See also `HostSystem.QueryMemoryOverheadEx`.
	MemoryOverhead int64 `xml:"memoryOverhead,omitempty" json:"memoryOverhead,omitempty"`
	// Current upper-bound on CPU usage.
	//
	// The upper-bound is based on the host
	// the virtual machine is current running on, as well as limits configured
	// on the virtual machine itself or any parent resource pool.
	// Valid while the virtual machine is running.
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty" json:"maxCpuUsage,omitempty"`
	// Current upper-bound on memory usage.
	//
	// The upper-bound is based on memory
	// configuration of the virtual machine, as well as limits configured
	// on the virtual machine itself or any parent resource pool.
	// Valid while the virtual machine is running.
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty" json:"maxMemoryUsage,omitempty"`
	// Number of active MKS connections to this virtual machine.
	NumMksConnections int32 `xml:"numMksConnections" json:"numMksConnections"`
	// Deprecated as of vSphere API 6.0.
	//
	// Record / replay state of this virtual machine.
	RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty" json:"recordReplayState,omitempty" vim:"4.0"`
	// For a powered off virtual machine, indicates whether the virtual
	// machine's last shutdown was an orderly power off or not.
	//
	// Unset if
	// the virtual machine is running or suspended.
	CleanPowerOff *bool `xml:"cleanPowerOff" json:"cleanPowerOff,omitempty" vim:"4.0"`
	// If set, indicates the reason the virtual machine needs a secondary.
	NeedSecondaryReason string `xml:"needSecondaryReason,omitempty" json:"needSecondaryReason,omitempty" vim:"4.0"`
	// This property indicates whether the guest has gone into one of the
	// s1, s2 or s3 standby modes, false indicates the guest is awake.
	OnlineStandby *bool `xml:"onlineStandby" json:"onlineStandby,omitempty" vim:"5.1"`
	// For a powered-on or suspended virtual machine in a cluster with Enhanced
	// VMotion Compatibility (EVC) enabled, this identifies the least-featured
	// EVC mode (among those for the appropriate CPU vendor) that could admit
	// the virtual machine.
	//
	// See `EVCMode`. Until vSphere 6.5, this
	// property will be unset if the virtual machine is powered off or is not in
	// an EVC cluster.
	//
	// This property may be used as a general indicator of the CPU feature
	// baseline currently in use by the virtual machine. However, the virtual
	// machine may be suppressing some of the features present in the CPU
	// feature baseline of the indicated mode, either explicitly (in the
	// virtual machine's configured
	// `cpuFeatureMask`) or implicitly
	// (in the default masks for the
	// `GuestOsDescriptor` appropriate for the
	// virtual machine's configured guest OS).
	MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty" json:"minRequiredEVCModeKey,omitempty" vim:"4.1"`
	// Whether any disk of the virtual machine requires consolidation.
	//
	// This can happen for example when a snapshot is deleted but its
	// associated disk is not committed back to the base disk.
	// Use `VirtualMachine.ConsolidateVMDisks_Task` to consolidate if
	// needed.
	ConsolidationNeeded *bool `xml:"consolidationNeeded" json:"consolidationNeeded,omitempty" vim:"5.0"`
	// These requirements must have equivalent host capabilities
	// `HostConfigInfo.featureCapability` in order to power on.
	OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty" json:"offlineFeatureRequirement,omitempty" vim:"5.1"`
	// These requirements must have equivalent host capabilities
	// `HostConfigInfo.featureCapability` in order to power on,
	// resume, or migrate to the host.
	FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty" json:"featureRequirement,omitempty" vim:"5.1"`
	// The masks applied to an individual virtual machine as a result of its
	// configuration.
	FeatureMask []HostFeatureMask `xml:"featureMask,omitempty" json:"featureMask,omitempty" vim:"5.1"`
	// Deprecated since vSphere 7.0 because vFlash Read Cache
	// end of availability.
	//
	// Specifies the total allocated vFlash resource for the vFlash caches associated with VM's
	// VMDKs when VM is powered on, in bytes.
	VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty" json:"vFlashCacheAllocation,omitempty" vim:"5.5"`
	// Whether the virtual machine is paused, or not.
	Paused *bool `xml:"paused" json:"paused,omitempty" vim:"6.0"`
	// Whether a snapshot operation is in progress in the background, or not.
	SnapshotInBackground *bool `xml:"snapshotInBackground" json:"snapshotInBackground,omitempty" vim:"6.0"`
	// This flag indicates whether a parent virtual machine is in a fork ready
	// state.
	//
	// A persistent instant clone child can be created only when this flag
	// is true. While a non-persistent instant clone child can be created
	// independent of this flag, it can only be powered on if this flag is true.
	QuiescedForkParent *bool `xml:"quiescedForkParent" json:"quiescedForkParent,omitempty" vim:"6.0"`
	// Whether the virtual machine is frozen for instant clone, or not.
	InstantCloneFrozen *bool `xml:"instantCloneFrozen" json:"instantCloneFrozen,omitempty" vim:"6.7"`
	// Encryption state of the virtual machine.
	//
	// Valid values are enumerated by the
	// `CryptoState` type.
	CryptoState string `xml:"cryptoState,omitempty" json:"cryptoState,omitempty" vim:"6.7"`
	// Whether the virtual machine is suspended to memory, or not.
	SuspendedToMemory *bool `xml:"suspendedToMemory" json:"suspendedToMemory,omitempty" vim:"7.0.2.0"`
	// Operation notification timeout in seconds.
	//
	// Specifies the maximum time duration the application may take to
	// prepare for the operation after it has been notified.
	// This property is set only for powered on VMs.
	OpNotificationTimeout int64 `xml:"opNotificationTimeout,omitempty" json:"opNotificationTimeout,omitempty" vim:"8.0.0.1"`
	// Indicates whether there is active IOMMU domain in the current VM.
	IommuActive *bool `xml:"iommuActive" json:"iommuActive,omitempty" vim:"8.0.1.0"`
}

The RuntimeInfo data object type provides information about the execution state and history of a virtual machine.

type VirtualMachineRuntimeInfoDasProtectionState

type VirtualMachineRuntimeInfoDasProtectionState struct {
	DynamicData

	// Whether vSphere HA is protecting a virtual machine (VM).
	//
	// If a
	// VM is protected, vSphere HA will enforce any availability
	// features that have been enabled for this VM. For
	// example, if the VM is running on a host
	// that fails and the VM is configured to be restarted on a failure,
	// then vSphere HA will attempt to restart the VM on another host.
	// Similarly, if you enable VM/Application Health Monitoring
	// for this VM, vSphere HA will monitor the heartbeats of the
	// VM and reset the VM when needed, as dictated by the configured
	// policy settings.
	DasProtected bool `xml:"dasProtected" json:"dasProtected"`
}

The `VirtualMachineRuntimeInfoDasProtectionState` object describes the vSphere HA protection state of a virtual machine (VM).

type VirtualMachineScsiDiskDeviceInfo

type VirtualMachineScsiDiskDeviceInfo struct {
	VirtualMachineDiskDeviceInfo

	// Detailed information about the disk.
	Disk *HostScsiDisk `xml:"disk,omitempty" json:"disk,omitempty"`
	// Transport identifier hint used to identify the device.
	//
	// To definitively
	// correlate this device with a host physical disk, use the disk property.
	// This identifier is intended as a hint to end users to identify the
	// disk device.
	TransportHint string `xml:"transportHint,omitempty" json:"transportHint,omitempty" vim:"4.0"`
	// LUN number hint used to identify the SCSI device.
	//
	// To definitively
	// correlate this device with a host physical disk, use the disk property.
	// This identifier is intended as a hint to end users to identify the
	// disk device.
	LunNumber int32 `xml:"lunNumber,omitempty" json:"lunNumber,omitempty" vim:"4.0"`
}

The ScsiDiskDeviceInfo class contains detailed information about a specific scsi disk hardware device.

These devices are for the vim.vm.device.VirtualDisk.RawDiskMappingVer1BackingInfo.

type VirtualMachineScsiPassthroughInfo

type VirtualMachineScsiPassthroughInfo struct {
	VirtualMachineTargetInfo

	// The class of the generic SCSI device.
	ScsiClass string `xml:"scsiClass" json:"scsiClass"`
	// The vendor name.
	Vendor string `xml:"vendor" json:"vendor"`
	// Unit number of the generic device on the physical host.
	PhysicalUnitNumber int32 `xml:"physicalUnitNumber" json:"physicalUnitNumber"`
}

Description of a generic SCSI device, including information about the device ID.

type VirtualMachineScsiPassthroughType

type VirtualMachineScsiPassthroughType string

Possible SCSI classes.

type VirtualMachineSerialInfo

type VirtualMachineSerialInfo struct {
	VirtualMachineTargetInfo
}

SerialInfo class contains information about a physical serial drive on the host.

type VirtualMachineSgxInfo added in v0.23.0

type VirtualMachineSgxInfo struct {
	DynamicData

	// Size of vEPC, in megabytes.
	EpcSize int64 `xml:"epcSize" json:"epcSize"`
	// FLC mode for the virtual machine.
	//
	// The set of possible values are
	// described in `VirtualMachineSgxInfoFlcModes_enum`. If no value is specified,
	// then "unlocked" will be used.
	FlcMode string `xml:"flcMode,omitempty" json:"flcMode,omitempty"`
	// Public key hash of the provider launch enclave.
	//
	// This is the SHA256
	// digest of the SIGSTRUCT.MODULUS(MR\_SIGNER) of the provider launch
	// enclave. This hash must only be provided when the launch enclave mode is
	// "locked", for the other cases the hash is ignored.
	LePubKeyHash string `xml:"lePubKeyHash,omitempty" json:"lePubKeyHash,omitempty"`
	// Indicates whether or not a virtual machine requires remote
	// attestation.
	RequireAttestation *bool `xml:"requireAttestation" json:"requireAttestation,omitempty" vim:"8.0.0.1"`
}

This data object describes the virtual software guard extension (vSGX) configuration of this virtual machine.

type VirtualMachineSgxInfoFlcModes added in v0.23.0

type VirtualMachineSgxInfoFlcModes string

type VirtualMachineSgxTargetInfo added in v0.23.0

type VirtualMachineSgxTargetInfo struct {
	VirtualMachineTargetInfo

	// Maximum size, in bytes, of EPC available on the compute resource.
	MaxEpcSize int64 `xml:"maxEpcSize" json:"maxEpcSize"`
	// FLC modes available in the compute resource.
	//
	// The set of possible values
	// are described in `VirtualMachineSgxInfoFlcModes_enum`.
	FlcModes []string `xml:"flcModes,omitempty" json:"flcModes,omitempty"`
	// Public key hashes of the provider launch enclaves available in the
	// compute resource.
	LePubKeyHashes []string `xml:"lePubKeyHashes,omitempty" json:"lePubKeyHashes,omitempty"`
	// Whether the host/cluster supports requiring SGX remote attestation.
	RequireAttestationSupported *bool `xml:"requireAttestationSupported" json:"requireAttestationSupported,omitempty" vim:"8.0.0.1"`
}

Description of Intel Software Guard Extensions information.

type VirtualMachineSnapshotInfo

type VirtualMachineSnapshotInfo struct {
	DynamicData

	// Current snapshot of the virtual machine
	//
	// This property is set by calling
	// `Snapshot.revert` or
	// `VirtualMachine.createSnapshot`.
	// This property will be empty when the working snapshot is at the root
	// of the snapshot tree.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty" json:"currentSnapshot,omitempty"`
	// Data for the entire set of snapshots for one virtual machine.
	RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList" json:"rootSnapshotList"`
}

The SnapshotInfo data object type provides all the information about the hierarchy of snapshots in a virtual machine.

type VirtualMachineSnapshotTree

type VirtualMachineSnapshotTree struct {
	DynamicData

	// The managed object for this snapshot.
	//
	// Refers instance of `VirtualMachineSnapshot`.
	Snapshot ManagedObjectReference `xml:"snapshot" json:"snapshot"`
	// The virtual machine for which the snapshot was taken.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
	// Name of the snapshot.
	Name string `xml:"name" json:"name"`
	// Description of the snapshot.
	Description string `xml:"description" json:"description"`
	// The unique identifier that distinguishes this snapshot from
	// other snapshots of the virtual machine.
	Id int32 `xml:"id,omitempty" json:"id,omitempty" vim:"4.0"`
	// The date and time the snapshot was taken.
	CreateTime time.Time `xml:"createTime" json:"createTime"`
	// The power state of the virtual machine when this snapshot was taken.
	State VirtualMachinePowerState `xml:"state" json:"state"`
	// Flag to indicate whether or not the snapshot was created with
	// the "quiesce" option, ensuring a consistent state of the file system.
	Quiesced bool `xml:"quiesced" json:"quiesced"`
	// The relative path from the snapshotDirectory pointing to the backup
	// manifest.
	//
	// Available for certain quiesced snapshots only.
	BackupManifest string `xml:"backupManifest,omitempty" json:"backupManifest,omitempty" vim:"2.5 U2"`
	// The snapshot data for all snapshots for which this snapshot is the parent.
	ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty" json:"childSnapshotList,omitempty"`
	// Deprecated as of vSphere API 6.0.
	//
	// Flag to indicate whether this snapshot is associated with a recording
	// session on the virtual machine that can be replayed.
	ReplaySupported *bool `xml:"replaySupported" json:"replaySupported,omitempty" vim:"4.0"`
}

SnapshotTree encapsulates all the read-only data produced by the snapshot.

type VirtualMachineSoundInfo

type VirtualMachineSoundInfo struct {
	VirtualMachineTargetInfo
}

SoundInfo class contains information about a physical sound card on the host.

type VirtualMachineSriovDevicePoolInfo added in v0.12.0

type VirtualMachineSriovDevicePoolInfo struct {
	DynamicData

	// To be used for extending to other device types
	Key string `xml:"key" json:"key"`
}

func (*VirtualMachineSriovDevicePoolInfo) GetVirtualMachineSriovDevicePoolInfo added in v0.12.0

func (b *VirtualMachineSriovDevicePoolInfo) GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo

type VirtualMachineSriovInfo

type VirtualMachineSriovInfo struct {
	VirtualMachinePciPassthroughInfo

	// Indicates whether corresponding PCI device is a virtual function
	// instantiated by a SR-IOV capable device.
	VirtualFunction bool `xml:"virtualFunction" json:"virtualFunction"`
	// The name of the physical nic that is represented by a SR-IOV
	// capable physical function.
	Pnic string `xml:"pnic,omitempty" json:"pnic,omitempty"`
	// SRIOV DevicePool information
	DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr" json:"devicePool,omitempty" vim:"6.5"`
}

Description of a SRIOV device that can be attached to a virtual machine.

type VirtualMachineSriovNetworkDevicePoolInfo added in v0.12.0

type VirtualMachineSriovNetworkDevicePoolInfo struct {
	VirtualMachineSriovDevicePoolInfo

	// vSwitch key
	SwitchKey string `xml:"switchKey,omitempty" json:"switchKey,omitempty"`
	// DVSwitch Uuid
	SwitchUuid string `xml:"switchUuid,omitempty" json:"switchUuid,omitempty"`
}

This class is networking specific SR-IOV device pool info

type VirtualMachineStandbyActionType

type VirtualMachineStandbyActionType string

The list of possible standby actions that the virtual machine can take for S1 ACPI.

type VirtualMachineStorageInfo

type VirtualMachineStorageInfo struct {
	DynamicData

	// Storage space used by this virtual machine on all datastores that it
	// is located on.
	//
	// Total storage space committed to this virtual machine across all datastores is
	// simply an aggregate of the property
	// `VirtualMachineUsageOnDatastore.committed`.
	//
	// See also `VirtualMachineStorageSummary.committed`.
	PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty" json:"perDatastoreUsage,omitempty"`
	// Time when values in this structure were last updated.
	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
}

Information about the amount of storage used by a virtual machine across datastores that it is located on.

type VirtualMachineStorageSummary

type VirtualMachineStorageSummary struct {
	DynamicData

	// Total storage space, in bytes, committed to this virtual machine across
	// all datastores.
	//
	// Essentially an aggregate of the property
	// `VirtualMachineUsageOnDatastore.committed` across all
	// datastores that this virtual machine is located on.
	Committed int64 `xml:"committed" json:"committed"`
	// Additional storage space, in bytes, potentially used by this virtual machine
	// on all datastores.
	//
	// Essentially an aggregate of the property
	// `VirtualMachineUsageOnDatastore.uncommitted` across all
	// datastores that this virtual machine is located on.
	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
	// Total storage space, in bytes, occupied by the virtual machine across
	// all datastores, that is not shared with any other virtual machine.
	Unshared int64 `xml:"unshared" json:"unshared"`
	// Time when values in this structure were last updated.
	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
}

A subset of the storage information of this virtual machine.

See `VirtualMachineStorageInfo` for a detailed storage break-up.

type VirtualMachineSummary

type VirtualMachineSummary struct {
	DynamicData

	// Reference to the virtual machine managed object.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// Runtime and state information of a running virtual machine.
	//
	// Most of this information is also available when a virtual machine is powered off.
	// In that case, it contains information from the last run, if available.
	Runtime VirtualMachineRuntimeInfo `xml:"runtime" json:"runtime"`
	// Guest operating system and VMware Tools information.
	//
	// See `VirtualMachine.guest` for more information.
	Guest *VirtualMachineGuestSummary `xml:"guest,omitempty" json:"guest,omitempty"`
	// Basic configuration information about the virtual machine.
	//
	// This information
	// is not available when the virtual machine is unavailable, for instance, when
	// it is being created or deleted.
	Config VirtualMachineConfigSummary `xml:"config" json:"config"`
	// Storage information of the virtual machine.
	//
	// It can be explicitly refreshed
	// with the `VirtualMachine.RefreshStorageInfo` operation.
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	Storage *VirtualMachineStorageSummary `xml:"storage,omitempty" json:"storage,omitempty" vim:"4.0"`
	// A set of statistics that are typically updated with near real-time regularity.
	//
	// This data object type does not support notification, for scalability reasons.
	// Therefore, changes in QuickStats do not generate property collector updates. To
	// monitor statistics values, use the statistics and alarms modules instead.
	QuickStats VirtualMachineQuickStats `xml:"quickStats" json:"quickStats"`
	// Overall alarm status on this node.
	//
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	OverallStatus ManagedEntityStatus `xml:"overallStatus" json:"overallStatus"`
	// Custom field values.
	CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr" json:"customValue,omitempty"`
}

The summary data object type encapsulates a typical set of virtual machine information that is useful for list views and summary pages.

VirtualCenter can retrieve this information very efficiently, even for large sets of virtual machines.

type VirtualMachineTargetInfo

type VirtualMachineTargetInfo struct {
	DynamicData

	// The identification of the endpoint on the host.
	//
	// The format of this depends
	// on the kind of virtual device this endpoints is used for. For example,
	// for a VirtualEthernetCard this would be a networkname, and for a VirtualCDROM
	// it would be a device name.
	Name string `xml:"name" json:"name"`
	// List of configurations that this device is available for.
	//
	// This is only filled
	// out if more than one configuration is requested.
	ConfigurationTag []string `xml:"configurationTag,omitempty" json:"configurationTag,omitempty"`
}

The TargetInfo specified a value that can be used in the device backings to connect the virtual machine to a physical (or logical) host device.

func (*VirtualMachineTargetInfo) GetVirtualMachineTargetInfo

func (b *VirtualMachineTargetInfo) GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo

type VirtualMachineTargetInfoConfigurationTag

type VirtualMachineTargetInfoConfigurationTag string

Describes how widely the endpoint is available in a cluster.

Note that these fields are not necessarily mutual-exclusive.

type VirtualMachineTicket

type VirtualMachineTicket struct {
	DynamicData

	// The ticket name.
	//
	// This is used as the username and password for the MKS
	// connection.
	Ticket string `xml:"ticket" json:"ticket"`
	// The name of the configuration file for the virtual machine.
	CfgFile string `xml:"cfgFile" json:"cfgFile"`
	// The host with which to establish a connection.
	//
	// If the host is not specified,
	// it is assumed that the requesting entity knows the appropriate host with which
	// to connect.
	Host string `xml:"host,omitempty" json:"host,omitempty"`
	// The port number to use.
	//
	// If the port is not specified,
	// it is assumed that the requesting entity knows the appropriate port to
	// use when making a new connection.
	Port int32 `xml:"port,omitempty" json:"port,omitempty"`
	// The expected SHA1 thumbprint of the SSL cert of the host to which we
	// are connecting.
	//
	// This field can be enabled or disabled on the host.
	SslThumbprint string `xml:"sslThumbprint,omitempty" json:"sslThumbprint,omitempty"`
	// List of expected thumbprints of the certificate of the host to
	// which we are connecting.
	//
	// The list can be configured on the host
	// to include only certain hash types. The default configuration
	// includes all hash types that are considered secure. See vmware.com
	// for the current security standards.
	CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty" json:"certThumbprintList,omitempty" vim:"7.0.3.1"`
	// Websocket URL.
	//
	// Some tickets are "websocket" tickets and are best expressed
	// as a URL.
	Url string `xml:"url,omitempty" json:"url,omitempty" vim:"7.0"`
}

This data object contains the information needed to establish a connection to a running virtual machine.

type VirtualMachineTicketType

type VirtualMachineTicketType string

type VirtualMachineToolsInstallType added in v0.12.0

type VirtualMachineToolsInstallType string

type VirtualMachineToolsRunningStatus

type VirtualMachineToolsRunningStatus string

Current running status of VMware Tools running in the guest

type VirtualMachineToolsStatus

type VirtualMachineToolsStatus string

Deprecated as of vSphere API 4.0 use `VirtualMachineToolsVersionStatus_enum` and `VirtualMachineToolsRunningStatus_enum`.

Current status of VMware Tools running in the guest operating system.

type VirtualMachineToolsVersionStatus

type VirtualMachineToolsVersionStatus string

Current version status of VMware Tools installed in the guest operating

type VirtualMachineUsageOnDatastore

type VirtualMachineUsageOnDatastore struct {
	DynamicData

	// Reference to datastore for which information is being provided.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Storage space, in bytes, on this datastore that is actually being used by
	// the virtual machine.
	//
	// It includes space actually occupied by disks, logs, snapshots,
	// configuration files etc. Files of the virtual machine which are present
	// on a different datastore (e.g. a virtual disk on another datastore) are not
	// included here. `VirtualMachineFileLayoutEx` provides a detailed
	// break-up of the committed space.
	Committed int64 `xml:"committed" json:"committed"`
	// Additional storage space, in bytes, potentially used by the virtual machine
	// on this datastore.
	//
	// Additional space may be needed for example when lazily allocated disks grow,
	// or storage for swap is allocated when powering on the virtual machine.
	//
	// If the virtual machine is running off delta disks (for example because
	// a snapshot was taken), then only the potential growth of the currently
	// used delta-disks is considered.
	Uncommitted int64 `xml:"uncommitted" json:"uncommitted"`
	// Storage space, in bytes, occupied by the virtual machine on this datastore
	// that is not shared with any other virtual machine.
	Unshared int64 `xml:"unshared" json:"unshared"`
}

Storage space used by this virtual machine on a particular datastore.

type VirtualMachineUsbInfo

type VirtualMachineUsbInfo struct {
	VirtualMachineTargetInfo

	// A user visible name of the USB device.
	Description string `xml:"description" json:"description"`
	// The vendor ID of the USB device.
	Vendor int32 `xml:"vendor" json:"vendor"`
	// The product ID of the USB device.
	Product int32 `xml:"product" json:"product"`
	// An autoconnect pattern which describes the device's physical
	// path.
	//
	// This is the path to the specific port on the host where the
	// USB device is attached.
	PhysicalPath string `xml:"physicalPath" json:"physicalPath"`
	// The device class families.
	//
	// For possible values see
	// `VirtualMachineUsbInfoFamily_enum`
	Family []string `xml:"family,omitempty" json:"family,omitempty"`
	// The possible device speeds detected by server.
	//
	// For possible values see
	// `VirtualMachineUsbInfoSpeed_enum`
	Speed []string `xml:"speed,omitempty" json:"speed,omitempty"`
	// Summary information about the virtual machine that is currently
	// using this device, if any.
	Summary *VirtualMachineSummary `xml:"summary,omitempty" json:"summary,omitempty"`
}

This data object contains information about a physical USB device on the host.

type VirtualMachineUsbInfoFamily

type VirtualMachineUsbInfoFamily string

type VirtualMachineUsbInfoSpeed

type VirtualMachineUsbInfoSpeed string

type VirtualMachineVFlashModuleInfo

type VirtualMachineVFlashModuleInfo struct {
	VirtualMachineTargetInfo

	// Information about the vFlash module
	VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule" json:"vFlashModule"`
}

VFlashModuleInfo class contains information about a vFlash module on the host.

type VirtualMachineVMCIDevice

type VirtualMachineVMCIDevice struct {
	VirtualDevice

	// Unique identifier for VMCI socket access to this virtual machine.
	//
	// Use this value to identify this virtual machine in calls to the
	// VMCI Sockets API. Applications running on other virtual machines on this
	// host will use this value to connect to this virtual machine.
	// You can cast this value to a 32-bit unsigned integer.
	//
	// The vSphere Server sets this value when a virtual machine
	// powers on. The Server may change this value after power
	// operations such as vMotion or restoring a virtual machine
	// from a snapshot. If you have saved a VMCI device identifier,
	// check to see if the value is still valid after power
	// operations.
	Id int64 `xml:"id,omitempty" json:"id,omitempty"`
	// Deprecated as of vSphere API 5.1. On vSphere 5.1 and later
	// platforms, the VMCI device does not support communication with
	// other virtual machines. Therefore, this property has no effect
	// on these platforms.
	//
	// Determines the extent of VMCI communication with this virtual
	// machine.
	//
	// Set this property to true to allow VMCI communication
	// with all virtual machines on the host and with trusted services.
	// Set this property to false to allow VMCI communication only
	// with trusted services such as the hypervisor on the host.
	//
	// If unset, communication is restricted to trusted services only.
	AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication,omitempty"`
	// Determines if filtering of VMCI communication is enabled for this virtual
	// machine.
	//
	// Set this property to enable or disable filter rules as specified
	// in `VirtualMachineVMCIDevice.filterInfo`.
	FilterEnable *bool `xml:"filterEnable" json:"filterEnable,omitempty" vim:"6.0"`
	// Specify a `VirtualMachineVMCIDeviceFilterInfo` data object that controls the extent of
	// VMCI communication with this virtual machine.
	FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty" json:"filterInfo,omitempty" vim:"6.0"`
}

The `VirtualMachineVMCIDevice` data object represents a virtual communication device that supports the VMCI (Virtual Machine Communication Interface).

Each virtual machine has a VMCI device that handles interprocess socket-based communication. VMCI device information is available in the virtual machine hardware device list (`VirtualMachine*.*VirtualMachine.config*.*VirtualMachineConfigInfo.hardware*.*VirtualHardware.device`\[\]).

An application running on a virtual machine uses the VMCI Sockets API for communication with other virtual machines on the same host (communication between virtual machines is not supported on vSphere 5.1 and later platforms as described for VirtualVMCIDevice.`VirtualMachineVMCIDevice.allowUnrestrictedCommunication`), or for communication with the host. For information about using the vSphere VMCI Sockets API, see the _VMCI Sockets Programming Guide_.

type VirtualMachineVMCIDeviceAction

type VirtualMachineVMCIDeviceAction string

Set of possible values for action field in FilterSpec.

type VirtualMachineVMCIDeviceDirection

type VirtualMachineVMCIDeviceDirection string

type VirtualMachineVMCIDeviceFilterInfo

type VirtualMachineVMCIDeviceFilterInfo struct {
	DynamicData

	Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty" json:"filters,omitempty"`
}

The `VirtualMachineVMCIDeviceFilterInfo` data object contains an array of filters.

To clear all existing filters, leave filters unset or specify an empty array.

type VirtualMachineVMCIDeviceFilterSpec

type VirtualMachineVMCIDeviceFilterSpec struct {
	DynamicData

	// Long value representing filter rank.
	//
	// This is the rank of this filter. Filters are guaranteed to be
	// processed in ascending rank order, that is, if rank1 &lt; rank2, then
	// rank1 is processed before rank2. The ranks within an array of
	// filters should be unique.
	Rank int64 `xml:"rank" json:"rank"`
	// String value from `VirtualMachineVMCIDeviceAction_enum` enum object.
	Action string `xml:"action" json:"action"`
	// String value from `VirtualMachineVMCIDeviceProtocol_enum` enum object
	Protocol string `xml:"protocol" json:"protocol"`
	// String value from `VirtualMachineVMCIDeviceDirection_enum` enum object.
	Direction string `xml:"direction" json:"direction"`
	// Long value representing the lower destination port boundary.
	//
	// If unset, the lower destination port boundary is default to the
	// lowest port number supported by the given protocol.
	//
	// To specify a single port, both lowerDstPortBoundary and
	// upperDstPortBoundary shall be set to the same value.
	LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty" json:"lowerDstPortBoundary,omitempty"`
	// Long value representing the upper destination port range.
	//
	// If unset, the upper destination port boundary is default to the
	// highest port number supported by the given protocol.
	//
	// To specify a single port, both lowerDstPortBoundary and
	// upperDstPortBoundary shall be set to the same value.
	UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty" json:"upperDstPortBoundary,omitempty"`
}

The `VirtualMachineVMCIDeviceFilterSpec` data object describes a filter based on protocol, direction and port or port-range.

type VirtualMachineVMCIDeviceOption

type VirtualMachineVMCIDeviceOption struct {
	VirtualDeviceOption

	// Indicates support for VMCI communication and specifies the default
	// operation.
	//
	// If `BoolOption.defaultValue` is set to true,
	// the virtual machine can participate in VMCI communication with all other
	// virtual machines on the host. Otherwise, VMCI communication will be
	// restricted to trusted services such as the hypervisor on the host.
	// On vSphere 5.1 and later platforms, the VMCI device does not support
	// communication with other virtual machines. Therefore, this property has
	// no effect on these platforms.
	AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication" json:"allowUnrestrictedCommunication"`
	// Filter specification options.
	FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty" json:"filterSpecOption,omitempty" vim:"6.0"`
	// Indicates support for VMCI firewall filters and specifies the default
	// operation.
	//
	// If `BoolOption.supported` is set to true,
	// then firewall filtering can be used for this virtual machine to allow
	// or deny traffic over VMCI.
	FilterSupported *BoolOption `xml:"filterSupported,omitempty" json:"filterSupported,omitempty" vim:"6.0"`
}

The `VirtualMachineVMCIDeviceOption` data object contains the options for the virtual VMCI device (`VirtualMachineVMCIDevice`).

type VirtualMachineVMCIDeviceOptionFilterSpecOption

type VirtualMachineVMCIDeviceOptionFilterSpecOption struct {
	DynamicData

	// Available actions.
	Action ChoiceOption `xml:"action" json:"action"`
	// Available protocols.
	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
	// Available directions.
	Direction ChoiceOption `xml:"direction" json:"direction"`
	// Minimum, maximum and default values for lower destination port
	// boundary.
	LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary" json:"lowerDstPortBoundary"`
	// Minimum, maximum and default values for upper destination port
	// boundary.
	UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary" json:"upperDstPortBoundary"`
}

Filter specification options.

Indicates options for each filter specification, as defined by `VirtualMachineVMCIDeviceFilterSpec`.

type VirtualMachineVMCIDeviceProtocol

type VirtualMachineVMCIDeviceProtocol string

type VirtualMachineVMIROM

type VirtualMachineVMIROM struct {
	VirtualDevice
}

Deprecated as of vSphere API 6.0. On vSphere 6.0 and later platforms, the VMIROM device does not provide any functionality.

The VirtualVMIROM data object type represents the ROM on the virtual machine's PCI bus that provides support for VMI.

type VirtualMachineVMotionStunTimeInfo added in v0.31.0

type VirtualMachineVMotionStunTimeInfo struct {
	VirtualMachineTargetInfo

	// Migration bandwidth in Mbps
	MigrationBW int64 `xml:"migrationBW" json:"migrationBW"`
	// Stun Time in seconds
	StunTime int64 `xml:"stunTime" json:"stunTime"`
}

Description of VMotion Stun Time.

type VirtualMachineVcpuConfig added in v0.23.0

type VirtualMachineVcpuConfig struct {
	DynamicData

	// Latency sensitivity specification for this vcpu.
	//
	// The latency sensitivity can be configured per-vcpu only when the VM
	// `latencySensitivity` is
	// configured to `high`
	// in the same ConfigSpec.
	// Setting `latencySensitivity`,
	// but not setting the vcpu's LatencySensitivity would apply the VM's
	// latency sensitivity level to all the vcpus of the VM.
	// The latency sensitivity of the vcpu should not exceed the
	// latency sensivity level of the VM.
	// The only allowed levels for vcpu Latency sensitivity
	// are `high` or
	// `normal`
	LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty" json:"latencySensitivity,omitempty"`
}

Vcpu configuration.

type VirtualMachineVendorDeviceGroupInfo added in v0.29.0

type VirtualMachineVendorDeviceGroupInfo struct {
	VirtualMachineTargetInfo

	// Name of Vendor Device Group.
	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
	// Description of Vendor Device Group.
	DeviceGroupDescription string `xml:"deviceGroupDescription,omitempty" json:"deviceGroupDescription,omitempty"`
	// Array describing component devices of this Vendor Device Group.
	//
	// There is one entry per componentDevice in the deviceGroupSpec.
	ComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"componentDeviceInfo,omitempty" json:"componentDeviceInfo,omitempty"`
}

Description of a PCI vendor device group device.

type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo added in v0.29.0

type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct {
	DynamicData

	// Type of this component.
	//
	// See `VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType_enum` for supported types.
	Type string `xml:"type" json:"type"`
	// Name of component device vendor.
	VendorName string `xml:"vendorName" json:"vendorName"`
	// Name of component device.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// True if this device may be configured by user or UI.
	IsConfigurable bool `xml:"isConfigurable" json:"isConfigurable"`
	// VirtualDevice template for this device.
	Device BaseVirtualDevice `xml:"device,typeattr" json:"device"`
}

Class describing a component device within this vendor device group.

type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType added in v0.29.0

type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType string

type VirtualMachineVgpuDeviceInfo added in v0.29.0

type VirtualMachineVgpuDeviceInfo struct {
	VirtualMachineTargetInfo

	// The vGPU device name.
	DeviceName string `xml:"deviceName" json:"deviceName"`
	// A well-known unique identifier for the device.
	//
	// It concatenates the
	// 16-bit PCI vendor id in lower bits followed by 16-bit PCI device id.
	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
	// The maximum framebuffer size in gibibytes.
	MaxFbSizeInGib int64 `xml:"maxFbSizeInGib" json:"maxFbSizeInGib"`
	// Indicate whether device is time-sliced capable.
	TimeSlicedCapable bool `xml:"timeSlicedCapable" json:"timeSlicedCapable"`
	// Indicate whether device is Multiple Instance GPU capable.
	MigCapable bool `xml:"migCapable" json:"migCapable"`
	// Indicate whether device is compute profile capable.
	ComputeProfileCapable bool `xml:"computeProfileCapable" json:"computeProfileCapable"`
	// Indicate whether device is quadro profile capable.
	QuadroProfileCapable bool `xml:"quadroProfileCapable" json:"quadroProfileCapable"`
}

Description of PCI vGPU device and its capabilities.

type VirtualMachineVgpuProfileInfo added in v0.29.0

type VirtualMachineVgpuProfileInfo struct {
	VirtualMachineTargetInfo

	// The vGPU profile name.
	ProfileName string `xml:"profileName" json:"profileName"`
	// A well-known unique identifier for the device that supports this
	// profile.
	//
	// It concatenates the 16-bit PCI vendor id in lower bits
	// followed by 16-bit PCI device id.
	DeviceVendorId int64 `xml:"deviceVendorId" json:"deviceVendorId"`
	// The profile framebuffer size in gibibytes.
	FbSizeInGib int64 `xml:"fbSizeInGib" json:"fbSizeInGib"`
	// Indicate how this profile is shared within device.
	ProfileSharing string `xml:"profileSharing" json:"profileSharing"`
	// Indicate class for this profile.
	ProfileClass string `xml:"profileClass" json:"profileClass"`
	// VMotion stun time information for this profile.
	StunTimeEstimates []VirtualMachineVMotionStunTimeInfo `xml:"stunTimeEstimates,omitempty" json:"stunTimeEstimates,omitempty" vim:"8.0.2.0"`
}

Description of PCI vGPU profile and its attributes.

type VirtualMachineVgpuProfileInfoProfileClass added in v0.29.0

type VirtualMachineVgpuProfileInfoProfileClass string

type VirtualMachineVgpuProfileInfoProfileSharing added in v0.29.0

type VirtualMachineVgpuProfileInfoProfileSharing string

type VirtualMachineVideoCard

type VirtualMachineVideoCard struct {
	VirtualDevice

	// The size of the framebuffer for a virtual machine.
	VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
	// Indicates the number of supported monitors.
	//
	// The number of displays X the maximum resolution of each display is
	// bounded by the video RAM size of the virtual video card.
	// This property can only be updated when the virtual machine is
	// powered off.
	NumDisplays int32 `xml:"numDisplays,omitempty" json:"numDisplays,omitempty" vim:"2.5 U2"`
	// Flag to indicate whether the display settings of the host on which the
	// virtual machine is running should be used to automatically determine
	// the display settings of the virtual machine's video card.
	//
	// This setting takes effect at virtual machine power-on time. If this
	// value is set to TRUE, numDisplays will be ignored.
	UseAutoDetect *bool `xml:"useAutoDetect" json:"useAutoDetect,omitempty" vim:"2.5 U2"`
	// Flag to indicate whether the virtual video card supports 3D functions.
	//
	// This property can only be updated when the virtual machine is powered
	// off.
	Enable3DSupport *bool `xml:"enable3DSupport" json:"enable3DSupport,omitempty" vim:"2.5 U2"`
	// Indicate how the virtual video device renders 3D graphics.
	//
	// The virtual video device can use hardware acceleration and software
	// rendering. By default, VMware products determine whether or not to
	// use hardware acceleration based on the availability of physical graphics
	// devices. Certain workloads can benefit from explicitly specifying if
	// hardware acceleration is required. For example, 3D intensive workloads
	// may indicate to run on systems with graphics hardware.
	//
	// There are three settings.
	//
	// (automatic) - The virtual device chooses how to render 3D graphics (default).
	// (software) - The virtual device will use software rendering and
	// will not attempt to use hardware acceleration.
	// (hardware) - The virtual device will use hardware acceleration and
	// will not activate without it.
	Use3dRenderer string `xml:"use3dRenderer,omitempty" json:"use3dRenderer,omitempty" vim:"5.1"`
	// The size of graphics memory.
	//
	// If 3d support is enabled this setting gives the amount of guest memory
	// used for graphics resources.
	// This property can only be updated when the virtual machine is
	// powered off.
	GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty" vim:"6.0"`
}

The VirtualVideoCard data object type represents a video card in a virtual machine.

type VirtualMachineVideoCardUse3dRenderer

type VirtualMachineVideoCardUse3dRenderer string

type VirtualMachineVirtualDeviceGroups added in v0.29.0

type VirtualMachineVirtualDeviceGroups struct {
	DynamicData

	// Information about device groups used by this VM.
	//
	// When adding a group, all devices that form the group
	// must be added in the same request.
	// When removing group, also all devices participating
	// in the group must be removed.
	// Modifying existing device group membership is not allowed.
	DeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"deviceGroup,omitempty,typeattr" json:"deviceGroup,omitempty"`
}

The VirtualDeviceGroups data object type contains information about the backing that maps the virtual device onto a physical device for a Vendor Device Group device.

Vendor Device Groups allow third-parties to define collections of devices that must be allocated to a virtual machine as a unit. Typically, this is because the set of devices are related in a some way, e.g. a physical link connects the devices.

type VirtualMachineVirtualDeviceGroupsDeviceGroup added in v0.29.0

type VirtualMachineVirtualDeviceGroupsDeviceGroup struct {
	DynamicData

	// Group instance key.
	//
	// Unique integer referencing
	// device group. During group creation client should
	// use a temporary negative number. Once group is
	// added to the virtual machine, server generates non-negative
	// integer that stays constant during group lifetime.
	// See `VirtualDevice.key` for details.
	GroupInstanceKey int32 `xml:"groupInstanceKey" json:"groupInstanceKey"`
	// Provides a label and summary information for the device.
	DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr" json:"deviceInfo,omitempty"`
}

Base device group type.

func (*VirtualMachineVirtualDeviceGroupsDeviceGroup) GetVirtualMachineVirtualDeviceGroupsDeviceGroup added in v0.29.0

func (b *VirtualMachineVirtualDeviceGroupsDeviceGroup) GetVirtualMachineVirtualDeviceGroupsDeviceGroup() *VirtualMachineVirtualDeviceGroupsDeviceGroup

type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup added in v0.29.0

type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup struct {
	VirtualMachineVirtualDeviceGroupsDeviceGroup

	// The name of the vendor device group from
	// <code>`VirtualMachineVendorDeviceGroupInfo`</code>.
	DeviceGroupName string `xml:"deviceGroupName" json:"deviceGroupName"`
}

Vendor device group.

These groups are defined in the <code>`VirtualMachineVendorDeviceGroupInfo`</code>. When this group is added, all devices that form the group must be added in the same request. Modification of membership in the group is not allowed, devices cannot be added or removed. When group is removed, all devices that form the group must be removed in the same request.

type VirtualMachineVirtualDeviceSwap added in v0.29.0

type VirtualMachineVirtualDeviceSwap struct {
	DynamicData

	LsiToPvscsi *VirtualMachineVirtualDeviceSwapDeviceSwapInfo `xml:"lsiToPvscsi,omitempty" json:"lsiToPvscsi,omitempty"`
}

Device Swap: Report current status of device swap feature.

type VirtualMachineVirtualDeviceSwapDeviceSwapInfo added in v0.29.0

type VirtualMachineVirtualDeviceSwapDeviceSwapInfo struct {
	DynamicData

	// Is the swap operation enabled for this virtual machine.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Is the swap operation applicable to this virtual machine?
	// Operation is applicable if it is enabled for the virtual
	// machine, for the host or cluster in which virtual machine
	// resides, operating system supports device swap, and
	// virtual machine has controllers that need to be replaced.
	//
	// This field is read-only and cannot be modified.
	Applicable *bool `xml:"applicable" json:"applicable,omitempty"`
	// Status of the operation.
	//
	// One of
	// `VirtualMachineVirtualDeviceSwapDeviceSwapStatus_enum`
	// This field is read-only and cannot be modified.
	Status string `xml:"status,omitempty" json:"status,omitempty"`
}

Information for the device swap operation.

type VirtualMachineVirtualDeviceSwapDeviceSwapStatus added in v0.29.0

type VirtualMachineVirtualDeviceSwapDeviceSwapStatus string

type VirtualMachineVirtualNuma added in v0.29.0

type VirtualMachineVirtualNuma struct {
	DynamicData

	// Cores per vNUMA node for this VM.
	//
	// The number of vNUMA nodes is
	// calculated by total number of cores divided by corePerNumaNode.
	// If set to be zero, it clears any manual override and autosize
	// vNUMA node.
	// If set to be non zero, VM uses the value as vNUMA node size.
	// If unset, the VM continue to follow the behavior in last poweron.
	CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty" json:"coresPerNumaNode,omitempty"`
	// Capability to expose virtual NUMA when CPU hotadd is enabled.
	//
	// If set to true, ESXi will consider exposing virtual NUMA to
	// the VM when CPU hotadd is enabled.
	// If set to false, ESXi will enforce the VM to have single
	// virtual NUMA node when CPU hotadd is enabled.
	// If unset, the VM continue to follow the behavior in last poweron.
	ExposeVnumaOnCpuHotadd *bool `xml:"exposeVnumaOnCpuHotadd" json:"exposeVnumaOnCpuHotadd,omitempty"`
}

This data object describes the virtual NUMA configuration for this virtual machine and configured through ConfigSpec.

type VirtualMachineVirtualNumaInfo added in v0.29.0

type VirtualMachineVirtualNumaInfo struct {
	DynamicData

	// Cores per NUMA node.
	//
	// When this virtual machine is powered off and "autoCoresPerNumaNode"
	// is True, coresPerNumaNode will be assigned during power-on and this
	// field should be ignored.
	// In other cases, this field represents the virtual NUMA node size
	// seen by the guest.
	CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty" json:"coresPerNumaNode,omitempty"`
	// Whether coresPerNode is determined automatically.
	AutoCoresPerNumaNode *bool `xml:"autoCoresPerNumaNode" json:"autoCoresPerNumaNode,omitempty"`
	// Whether virtual NUMA topology is exposed when CPU hotadd is
	// enabled.
	VnumaOnCpuHotaddExposed *bool `xml:"vnumaOnCpuHotaddExposed" json:"vnumaOnCpuHotaddExposed,omitempty"`
}

vNUMA: This is read-only data for ConfigInfo since this portion is not configurable.

type VirtualMachineVirtualPMem added in v0.27.0

type VirtualMachineVirtualPMem struct {
	DynamicData

	// An enum describing behavior of NVDIMM devices when a VM snapshot is taken
	// and restored.
	//
	// If unset, taking a VM snapshot will fail when the VM is
	// configured with NVDIMMs. See `VirtualMachineVirtualPMemSnapshotMode_enum` for supported values.
	// The snapshot mode applies to all NVDIMMs configured for the VM.
	// Property is currently only applicable to VMs with virtual NVDIMMs and not
	// applicable to vPMem disks.
	// Setting this property will fail if the VM has existing snapshots.
	SnapshotMode string `xml:"snapshotMode,omitempty" json:"snapshotMode,omitempty"`
}

Virtual Persistent Memory configuration for the VM.

type VirtualMachineVirtualPMemSnapshotMode added in v0.27.0

type VirtualMachineVirtualPMemSnapshotMode string

type VirtualMachineWindowsQuiesceSpec added in v0.12.0

type VirtualMachineWindowsQuiesceSpec struct {
	VirtualMachineGuestQuiesceSpec

	// The property to indicate what type of VSS backup operation is going
	// to be performed on the virtual machine.
	//
	// See VSS\_BACKUP\_TYPE on MSDN:
	// https://msdn.microsoft.com/en-us/library/aa384679(v=vs.85).aspx
	VssBackupType int32 `xml:"vssBackupType,omitempty" json:"vssBackupType,omitempty"`
	// The property to indicate if a bootable system state during VSS backup
	// to be performed on the virtual machine.
	VssBootableSystemState *bool `xml:"vssBootableSystemState" json:"vssBootableSystemState,omitempty"`
	// The property to indicate if partial file support is enabled during VSS
	// backup to be performed on the virtual machine.
	VssPartialFileSupport *bool `xml:"vssPartialFileSupport" json:"vssPartialFileSupport,omitempty"`
	// The property to indicate what context of VSS backup operation to be
	// performed on the virtual machine.
	//
	// For the list of supported values,
	// see `VirtualMachineWindowsQuiesceSpecVssBackupContext_enum`
	VssBackupContext string `xml:"vssBackupContext,omitempty" json:"vssBackupContext,omitempty"`
}

This data object type encapsulates configuration settings when creating a virtual machine quiesced snapshot.

type VirtualMachineWindowsQuiesceSpecVssBackupContext added in v0.12.0

type VirtualMachineWindowsQuiesceSpecVssBackupContext string

The VSS Snapshot Context

type VirtualMachineWipeResult

type VirtualMachineWipeResult struct {
	DynamicData

	// The disk id for the disk that was wiped.
	DiskId int32 `xml:"diskId" json:"diskId"`
	// The amount of shrinkable disk space in kB.
	ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace" json:"shrinkableDiskSpace"`
}

Data structure used by wipeDisk to return the amount of disk space that can be saved on an Flex-SE disk if a subsequent shrinkDisk API is invoked on that disk.

type VirtualNVDIMM added in v0.18.0

type VirtualNVDIMM struct {
	VirtualDevice

	// NVDIMM backing size in MiB.
	//
	// If backing is inaccessible, then
	// capacity is reported as 0.
	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
	// NVDIMM device's configured size in MiB.
	ConfiguredCapacityInMB int64 `xml:"configuredCapacityInMB,omitempty" json:"configuredCapacityInMB,omitempty" vim:"7.0.2.0"`
}

The Virtual NVDIMM device.

type VirtualNVDIMMBackingInfo added in v0.18.0

type VirtualNVDIMMBackingInfo struct {
	VirtualDeviceFileBackingInfo

	// Parent object in snapshot chain.
	Parent *VirtualNVDIMMBackingInfo `xml:"parent,omitempty" json:"parent,omitempty"`
	// The change ID of the virtual NVDIMM for the corresponding
	// snapshot of virtual machine.
	//
	// This can be used to track
	// incremental changes.
	// See `VirtualMachine.QueryChangedDiskAreas`.
	ChangeId string `xml:"changeId,omitempty" json:"changeId,omitempty"`
}

The <code>`VirtualNVDIMMBackingInfo`</code> data object type defines information about a resource that backs a device in a virtual machine.

type VirtualNVDIMMController added in v0.18.0

type VirtualNVDIMMController struct {
	VirtualController
}

The Virtual NVDIMM controller.

type VirtualNVDIMMControllerOption added in v0.18.0

type VirtualNVDIMMControllerOption struct {
	VirtualControllerOption

	// Minimum, maximum and default number of virtual NVDIMM controllers.
	NumNVDIMMControllers IntOption `xml:"numNVDIMMControllers" json:"numNVDIMMControllers"`
}

VirtualNVDIMMControllerOption is the data object that contains the options for a virtual NVDIMM controller.

type VirtualNVDIMMOption added in v0.18.0

type VirtualNVDIMMOption struct {
	VirtualDeviceOption

	// Minimum and maximum capacity in MB.
	CapacityInMB LongOption `xml:"capacityInMB" json:"capacityInMB"`
	// Option to show if device capacity growth is supported for
	// powered off VMs.
	Growable bool `xml:"growable" json:"growable"`
	// Option to show if device capacity growth is supported for
	// powered on VMs.
	HotGrowable bool `xml:"hotGrowable" json:"hotGrowable"`
	// Option to show capacity growth granularity if growth operation
	// is supported in MB.
	GranularityInMB int64 `xml:"granularityInMB" json:"granularityInMB"`
}

The VirtualNVDIMMOption contains information about a virtual NVDIMM capacity limits and rules for capacity growth operations.

type VirtualNVMEController added in v0.12.0

type VirtualNVMEController struct {
	VirtualController

	// Mode for sharing the SCSI bus.
	//
	// The modes are physicalSharing,
	// and noSharing. See the
	// `Sharing`
	// data object type for an explanation of these modes.
	SharedBus string `xml:"sharedBus,omitempty" json:"sharedBus,omitempty" vim:"8.0.2.0"`
}

The Virtual NVME controller.

type VirtualNVMEControllerOption added in v0.12.0

type VirtualNVMEControllerOption struct {
	VirtualControllerOption

	// Three properties (numNVMEDisks.min, numNVMEDisks.max, and
	// numNVMEDisks.defaultValue) define the minimum, maximum, and default
	// number of NVME VirtualDisk instances available at any given time in the
	// NVME controller.
	//
	// The number of NVME VirtualDisk instances is
	// also limited by the number of available namespaces in the NVME controller.
	NumNVMEDisks IntOption `xml:"numNVMEDisks" json:"numNVMEDisks"`
	// Supported shared bus modes.
	//
	// See `VirtualNVMEControllerSharing_enum` for the list of available modes.
	Sharing []string `xml:"sharing,omitempty" json:"sharing,omitempty" vim:"8.0.2.0"`
}

VirtualNVMEControllerOption is the data object that contains the options for a virtual NVME controller.

type VirtualNVMEControllerSharing added in v0.31.0

type VirtualNVMEControllerSharing string

type VirtualNicManagerNetConfig

type VirtualNicManagerNetConfig struct {
	DynamicData

	// The NicType of this NetConfig.
	NicType string `xml:"nicType" json:"nicType"`
	// Whether multiple nics can be selected for this nicType.
	MultiSelectAllowed bool `xml:"multiSelectAllowed" json:"multiSelectAllowed"`
	// List of VirtualNic objects that may be used.
	//
	// This will be a subset of the list of VirtualNics in
	// `HostNetworkInfo.vnic`.
	CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty" json:"candidateVnic,omitempty"`
	// List of VirtualNic objects that are selected for use.
	SelectedVnic []string `xml:"selectedVnic,omitempty" json:"selectedVnic,omitempty"`
}

The NetConfig data object type contains the networking configuration.

type VirtualPCIController

type VirtualPCIController struct {
	VirtualController
}

The VirtualPCIController data object type defines a virtual PCI controller.

type VirtualPCIControllerOption

type VirtualPCIControllerOption struct {
	VirtualControllerOption

	// Defines the minimum, maximum, and
	// default number of VirtualSCSIController instances available
	// at any given time in the PCI controller.
	//
	// The number of
	// VirtualSCSIController instances is also limited by the number of
	// available slots in the PCI controller.
	NumSCSIControllers IntOption `xml:"numSCSIControllers" json:"numSCSIControllers"`
	// Defines the minimum, maximum, and
	// default number of VirtualEthernetCard instances available,
	// at any given time, in the PCI controller.
	//
	// The number of
	// VirtualEthernetCard instances is also limited by the number of
	// available slots in the PCI controller.
	NumEthernetCards IntOption `xml:"numEthernetCards" json:"numEthernetCards"`
	// Defines the minimum, maximum, and default
	// number of VirtualVideoCard instances available,
	// at any given time, in the PCI controller.
	//
	// The number of
	// VirtualVideoCard instances is also limited by the number of
	// available slots in the PCI controller.
	NumVideoCards IntOption `xml:"numVideoCards" json:"numVideoCards"`
	// Defines the minimum, maximum, and default
	// number of VirtualSoundCard instances available,
	// at any given time, in the PCI controller.
	//
	// The number of
	// VirtualSoundCard instances is also limited by the number of
	// available slots in the PCI controller.
	NumSoundCards IntOption `xml:"numSoundCards" json:"numSoundCards"`
	// Defines the minimum, maximum, and default
	// number of VirtualVMIROM instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available slots in the PCI controller.
	NumVmiRoms IntOption `xml:"numVmiRoms" json:"numVmiRoms" vim:"2.5"`
	// Defines the minimum, maximum, and default
	// number of VirtualVMCIDevice instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available slots in the PCI controller.
	NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty" json:"numVmciDevices,omitempty" vim:"2.5 U2"`
	// Defines the minimum, maximum, and default
	// number of VirtualPCIPassthrough instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller.
	NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty" json:"numPCIPassthroughDevices,omitempty" vim:"2.5 U2"`
	// Defines the minimum, maximum, and default
	// number of VirtualLsiLogicSASController instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported SCSI controllers.
	NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty" json:"numSasSCSIControllers,omitempty" vim:"2.5 U2"`
	// Defines the minimum, maximum, and default
	// number of VirtualVmxnet3 ethernet card instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported ethernet cards.
	NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty" json:"numVmxnet3EthernetCards,omitempty" vim:"2.5 U2"`
	// Defines the minimum, maximum, and default
	// number of ParaVirtualScsiController instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported SCSI controllers.
	NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty" json:"numParaVirtualSCSIControllers,omitempty" vim:"2.5 U2"`
	// Defines the minimum, maximum, and default
	// number of VirtualSATAController instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported SATA controllers.
	NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty" json:"numSATAControllers,omitempty" vim:"5.5"`
	// Defines the minimum, maximum, and default
	// number of VirtualNVMEController instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported NVME controllers.
	NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty" json:"numNVMEControllers,omitempty" vim:"6.5"`
	// Defines the minimum, maximum, and default
	// number of VirtualVmxnet3Vrdma ethernet card instances available,
	// at any given time, in the PCI controller.
	//
	// This is also limited
	// by the number of available PCI Express slots in the PCI controller
	// as well as the total number of supported ethernet cards.
	NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty" json:"numVmxnet3VrdmaEthernetCards,omitempty" vim:"6.7"`
}

This data object type contains the options for a virtual PCI Controller.

type VirtualPCIPassthrough

type VirtualPCIPassthrough struct {
	VirtualDevice
}

The VirtualPCIPassthrough data object type contains information about a PCI device on the virtual machine that is being backed by a generic PCI device on the host via passthrough.

type VirtualPCIPassthroughAllowedDevice added in v0.23.0

type VirtualPCIPassthroughAllowedDevice struct {
	DynamicData

	// The vendor ID for this PCI device.
	//
	// You must use the vendor ID
	// retrieved from the vSphere host or cluster.
	VendorId int32 `xml:"vendorId" json:"vendorId"`
	// The device ID of this PCI device.
	//
	// You must use the device ID
	// retrieved from the vSphere host or cluster.
	DeviceId int32 `xml:"deviceId" json:"deviceId"`
	// The subVendor ID for this PCI device.
	//
	// If specified, you must use
	// the subVendor ID retrieved from the vSphere host or cluster.
	// Range of legal values is 0x0 to 0xFFFF.
	SubVendorId int32 `xml:"subVendorId,omitempty" json:"subVendorId,omitempty"`
	// The subDevice ID of this PCI device.
	//
	// If specified, you must use
	// the subDevice ID retrieved from the vSphere host or cluster.
	// Range of legal values is 0x0 to 0xFFFF.
	SubDeviceId int32 `xml:"subDeviceId,omitempty" json:"subDeviceId,omitempty"`
	// The revision ID of this PCI device.
	//
	// If specified, you must use
	// the revision ID retrieved from the vSphere host or cluster.
	// Range of legal values is 0x0 to 0xFF.
	RevisionId int16 `xml:"revisionId,omitempty" json:"revisionId,omitempty"`
}

A tuple of vendorId and deviceId indicating an allowed device for a Dynamic DirectPath device.

type VirtualPCIPassthroughDeviceBackingInfo

type VirtualPCIPassthroughDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// The name ID of this PCI, composed of "bus:slot.function".
	Id string `xml:"id" json:"id"`
	// The device ID of this PCI.
	//
	// You must use the device ID retrieved
	// from the vSphere host (`HostPciDevice`.deviceId), converted
	// as is to a string.
	DeviceId string `xml:"deviceId" json:"deviceId"`
	// The ID of the system the PCI device is attached to.
	SystemId string `xml:"systemId" json:"systemId"`
	// The vendor ID for this PCI device.
	//
	// You must use the vendor ID retrieved
	// from the vSphere host (`HostPciDevice`.vendorId).
	VendorId int16 `xml:"vendorId" json:"vendorId"`
}

The VirtualPCIPassthrough.DeviceBackingInfo data object type contains information about the backing that maps the virtual device onto a physical device.

type VirtualPCIPassthroughDeviceBackingOption

type VirtualPCIPassthroughDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

This data object type describes the options for the `VirtualPCIPassthroughDeviceBackingInfo` data object type.

type VirtualPCIPassthroughDvxBackingInfo added in v0.29.0

type VirtualPCIPassthroughDvxBackingInfo struct {
	VirtualDeviceBackingInfo

	// The device class that backs this DVX device.
	//
	// During add operations, this value must be a non-empty string.
	// During edit operations, if this value is not set or is an empty
	// string, the current device class remains unchanged.
	DeviceClass string `xml:"deviceClass,omitempty" json:"deviceClass,omitempty"`
	// The configuration parameters for this device class.
	//
	// All required configuration parameters must be provided for both add
	// and edit operations. The provided configuration parameters replace
	// the previous ones. In particular, passing an empty array will unset
	// all existing configuration parameters.
	ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr" json:"configParams,omitempty"`
}

DVX Device specific information.

type VirtualPCIPassthroughDvxBackingOption added in v0.29.0

type VirtualPCIPassthroughDvxBackingOption struct {
	VirtualDeviceBackingOption
}

Describes the options for `VirtualPCIPassthroughDvxBackingInfo`.

type VirtualPCIPassthroughDynamicBackingInfo added in v0.23.0

type VirtualPCIPassthroughDynamicBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// The list of allowed devices for use with a Dynamic DirectPath
	// device.
	AllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"allowedDevice,omitempty" json:"allowedDevice,omitempty"`
	// An optional label.
	//
	// If set, the device must also have the same
	// customLabel attribute set.
	CustomLabel string `xml:"customLabel,omitempty" json:"customLabel,omitempty"`
	// The id of the device assigned when the VM is powered on.
	//
	// This value
	// is unset when the VM is powered off.
	AssignedId string `xml:"assignedId,omitempty" json:"assignedId,omitempty"`
}

The VirtualPCIPassthrough.DynamicBackingInfo data object type contains information about the backing that maps the virtual device onto a physical device for a Dynamic DirectPath device.

type VirtualPCIPassthroughDynamicBackingOption added in v0.23.0

type VirtualPCIPassthroughDynamicBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

This data object type describes the options for the `VirtualPCIPassthroughDynamicBackingInfo` data object type.

type VirtualPCIPassthroughOption

type VirtualPCIPassthroughOption struct {
	VirtualDeviceOption
}

The VirtualPCIPassthroughOption data object type describes the options for the `VirtualPCIPassthrough` data object type.

type VirtualPCIPassthroughPluginBackingInfo

type VirtualPCIPassthroughPluginBackingInfo struct {
	VirtualDeviceBackingInfo
}

The VirtualPCIPassthrough.PluginBackingInfo is a base data object type for encoding plugin-specific information.

This base type does not define any properties. Specific plugin types are represented by subtypes which define properties for subtype-specific backing information.

func (*VirtualPCIPassthroughPluginBackingInfo) GetVirtualPCIPassthroughPluginBackingInfo

func (b *VirtualPCIPassthroughPluginBackingInfo) GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo

type VirtualPCIPassthroughPluginBackingOption

type VirtualPCIPassthroughPluginBackingOption struct {
	VirtualDeviceBackingOption
}

This data object type describes the options for the `VirtualPCIPassthroughPluginBackingInfo` data object type.

func (*VirtualPCIPassthroughPluginBackingOption) GetVirtualPCIPassthroughPluginBackingOption

func (b *VirtualPCIPassthroughPluginBackingOption) GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption

type VirtualPCIPassthroughVmiopBackingInfo

type VirtualPCIPassthroughVmiopBackingInfo struct {
	VirtualPCIPassthroughPluginBackingInfo

	// The vGPU configuration type exposed by a VMIOP plugin.
	Vgpu string `xml:"vgpu,omitempty" json:"vgpu,omitempty"`
	// The expected size of the vGPU device state during migration.
	VgpuMigrateDataSizeMB int32 `xml:"vgpuMigrateDataSizeMB,omitempty" json:"vgpuMigrateDataSizeMB,omitempty" vim:"8.0.0.1"`
	// Indicates whether the vGPU device is migration capable or not.
	MigrateSupported *bool `xml:"migrateSupported" json:"migrateSupported,omitempty" vim:"7.0.2.0"`
	// Indicates whether the vGPU has enhanced migration features for
	// sub-second downtime.
	EnhancedMigrateCapability *bool `xml:"enhancedMigrateCapability" json:"enhancedMigrateCapability,omitempty" vim:"8.0.0.1"`
}

The VirtualPCIPassthrough.VmiopBackingInfo data object type contains information about the plugin that emulates the virtual device via the VMIOP plugin interface.

At present, this interface is only used to implement vGPU.

type VirtualPCIPassthroughVmiopBackingOption

type VirtualPCIPassthroughVmiopBackingOption struct {
	VirtualPCIPassthroughPluginBackingOption

	// Parameter indicating which GPU profile the plugin should emulate.
	//
	// See also `ConfigTarget.sharedGpuPassthroughTypes`.
	Vgpu StringOption `xml:"vgpu" json:"vgpu"`
	// Maximum number of instances of this backing type allowed
	// per virtual machine.
	//
	// This is a parameter of the plugin
	// itself, which may support only a limited number of
	// instances per virtual machine.
	MaxInstances int32 `xml:"maxInstances" json:"maxInstances"`
}

This data object type describes the options for the `VirtualPCIPassthroughVmiopBackingInfo` data object type.

type VirtualPCNet32

type VirtualPCNet32 struct {
	VirtualEthernetCard
}

This data object type defines the properties of an AMD Lance PCNet32 Ethernet card attached to a virtual machine.

type VirtualPCNet32Option

type VirtualPCNet32Option struct {
	VirtualEthernetCardOption

	// Indicates that this Ethernet card supports morphing into vmxnet when
	// appropriate.
	//
	// This means that, if supportsMorphing="true", the virtual
	// AMD Lance PCNet32 Ethernet card becomes a vmxnet Ethernet card
	// with its added performance capabilities when appropriate.
	SupportsMorphing bool `xml:"supportsMorphing" json:"supportsMorphing"`
}

The VirtualPCNet32Option data object type defines the options for the VirtualPCNet32 data object type.

Except for the boolean supportsMorphing option, the options are inherited from the `VirtualEthernetCardOption` data object type.

type VirtualPS2Controller

type VirtualPS2Controller struct {
	VirtualController
}

The VirtualPS2Controller data object type represents a controller for keyboards and mice.

type VirtualPS2ControllerOption

type VirtualPS2ControllerOption struct {
	VirtualControllerOption

	// The minimum, maximum, and default number of keyboards you can
	// have at any given time.
	//
	// This is further constrained by the number
	// of available slots in the PS/2 controller. The minimum, maximum,
	// and default are integers defined by three properties:
	//     - `*numKeyBoards.min*`: the minimum.
	//     - `*numKeyBoards.max*`: the maximum.
	//     - `*numKeyBoards.defaultValue*`: the default number.
	NumKeyboards IntOption `xml:"numKeyboards" json:"numKeyboards"`
	// The minimum, maximum, and default number of mice you can
	// have at any given time.
	//
	// The number of mice is also limited by the number
	// of available slots in the PS/2 controller. The minimum, maximum, and
	// default are integers defined by three properties:
	//     - `*numPointingDevices.min*`: the minimum.
	//     - `*numPointingDevices.max*`: the maximum.
	//     - `*numPointingDevices.defaultValue*`: the default number.
	NumPointingDevices IntOption `xml:"numPointingDevices" json:"numPointingDevices"`
}

The VirtualPS2ControllerOption data object type contains the options for a virtual PS/2 controller for keyboards and mice.

In addition to the options defined in the `VirtualControllerOption` data object type, these options include the number of keyboards and mice.

type VirtualParallelPort

type VirtualParallelPort struct {
	VirtualDevice
}

This data object type represents a parallel port in a virtual machine.

type VirtualParallelPortDeviceBackingInfo

type VirtualParallelPortDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The data object type for a device backing of a virtual parallel port.

type VirtualParallelPortDeviceBackingOption

type VirtualParallelPortDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

Data object type that represents the options for a device backing of a virtual parallel port.

type VirtualParallelPortFileBackingInfo

type VirtualParallelPortFileBackingInfo struct {
	VirtualDeviceFileBackingInfo
}

The data object type for a file backing of a virtual parallel port.

type VirtualParallelPortFileBackingOption

type VirtualParallelPortFileBackingOption struct {
	VirtualDeviceFileBackingOption
}

Data object type that represents the options for a file backing of a virtual parallel port.

type VirtualParallelPortOption

type VirtualParallelPortOption struct {
	VirtualDeviceOption
}

This data object type contains the options for the virtual parallel port class.

type VirtualPointingDevice

type VirtualPointingDevice struct {
	VirtualDevice
}

The VirtualPointingDevice data object type contains information about the mouse type on a virtual machine.

type VirtualPointingDeviceBackingOption

type VirtualPointingDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption

	// This object defines the supported mouse types, including the default
	// supported mouse type, with the following properties:
	//     - `*hostPointingDevices.value*`: This array defines the
	//       supported mouse types.
	//     - `*hostPointingDevices.choiceDescription*`: This array
	//       provides the descriptions for the supported mouse types defined by
	//       hostPointingDevices.value.
	//     - `*hostPointingDevices.defaultIndex*`: This integer points
	//       to an index in the hostPointingDevices.value array. This is the
	//       mouse type supported by default.
	HostPointingDevice ChoiceOption `xml:"hostPointingDevice" json:"hostPointingDevice"`
}

The DeviceBackingOption data object type represents the options for a pointing device backing a VirtualPointingDevice data object type.

type VirtualPointingDeviceDeviceBackingInfo

type VirtualPointingDeviceDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// This optional property defines the mouse type (two-button,
	// three-button, and so on).
	//
	// The mouse type
	// determines how the user interacts with the host mouse.
	// The valid values are specified in the
	// `VirtualPointingDeviceHostChoice_enum` list.
	//
	// `*Note*`: The value specified by this property must be
	// one of the supported types listed in the hostPointingDevices.value
	// array in the `VirtualPointingDeviceOption` data object type. If this property is
	// not set, then the property defaults to the
	// hostPointingDevices.defaultIndex property in the same data
	// object type.
	HostPointingDevice string `xml:"hostPointingDevice" json:"hostPointingDevice"`
}

The VirtualPointingDevice.DeviceBackingInfo provides information about the physical mouse backing the VirtualPointingDevice data object type.

type VirtualPointingDeviceHostChoice

type VirtualPointingDeviceHostChoice string

The valid choices for host pointing devices are:

type VirtualPointingDeviceOption

type VirtualPointingDeviceOption struct {
	VirtualDeviceOption
}

The VirtualPointingDeviceOption data object type contains the options for the host mouse type defined in the `VirtualPointingDevice` data object type.

These options include the valid selections for the mouse type, the supported mouse types, and the default mouse type.

type VirtualPrecisionClock added in v0.23.0

type VirtualPrecisionClock struct {
	VirtualDevice
}

This data object type represents a virtual clock device providing precision time in a virtual machine.

type VirtualPrecisionClockOption added in v0.23.0

type VirtualPrecisionClockOption struct {
	VirtualDeviceOption
}

The VirtualPrecisionClockOption data object type describes the options for the `VirtualPrecisionClock` data object type.

type VirtualPrecisionClockSystemClockBackingInfo added in v0.23.0

type VirtualPrecisionClockSystemClockBackingInfo struct {
	VirtualDeviceBackingInfo

	// The time synchronization protocol used to discipline system clock.
	//
	// See `HostDateTimeInfoProtocol_enum` for valid values.
	Protocol string `xml:"protocol,omitempty" json:"protocol,omitempty"`
}

The `VirtualPrecisionClockSystemClockBackingInfo` data object contains information about using host system clock as the backing reference clock for this virtual device.

type VirtualPrecisionClockSystemClockBackingOption added in v0.23.0

type VirtualPrecisionClockSystemClockBackingOption struct {
	VirtualDeviceBackingOption

	// Parameter indicating the protocol used to discipline the
	// host system clock.
	Protocol ChoiceOption `xml:"protocol" json:"protocol"`
}

This data object type describes the options for the `VirtualPrecisionClockSystemClockBackingInfo` VirtualPrecisionClockSystemClockBackingInfo} data object type.

type VirtualSATAController

type VirtualSATAController struct {
	VirtualController
}

The VirtualSATAController data object type represents a SATA controller in a virtual machine.

func (*VirtualSATAController) GetVirtualSATAController

func (b *VirtualSATAController) GetVirtualSATAController() *VirtualSATAController

type VirtualSATAControllerOption

type VirtualSATAControllerOption struct {
	VirtualControllerOption

	// Three properties (numSATADisks.min, numSATADisks.max, and
	// numSATADisks.defaultValue) define the minimum, maximum, and default
	// number of SATA VirtualDisk instances available at any given time in the
	// SATA controller.
	//
	// The number of SATA VirtualDisk instances is
	// also limited by the number of available slots in the SATA controller.
	NumSATADisks IntOption `xml:"numSATADisks" json:"numSATADisks"`
	// Three properties (numSATACdroms.min, numSATACdroms.max, and
	// numSATACdroms.defaultValue) define the minimum, maximum, and default
	// number of SATA VirtualCdrom instances available
	// in the SATA controller.
	//
	// The number of SATA VirtualCdrom instances is
	// also limited by the number of available slots in the SATA controller.
	NumSATACdroms IntOption `xml:"numSATACdroms" json:"numSATACdroms"`
}

The VirtualSATAControllerOption data object type contains the options for a virtual SATA controller defined by the `VirtualSATAController` data object type.

func (*VirtualSATAControllerOption) GetVirtualSATAControllerOption

func (b *VirtualSATAControllerOption) GetVirtualSATAControllerOption() *VirtualSATAControllerOption

type VirtualSCSIController

type VirtualSCSIController struct {
	VirtualController

	// All SCSI controllers support hot adding and removing of devices.
	//
	// This
	// support can't be toggled in the current implementation. Therefore, this
	// option is ignored when reconfiguring a SCSI controller and is always set
	// to "true" when reading an existing configuration.
	HotAddRemove *bool `xml:"hotAddRemove" json:"hotAddRemove,omitempty"`
	// Mode for sharing the SCSI bus.
	//
	// The modes are physicalSharing,
	// virtualSharing, and noSharing. See the
	// `Sharing`
	// data object type for an explanation of these modes.
	SharedBus VirtualSCSISharing `xml:"sharedBus" json:"sharedBus"`
	// The unit number of the SCSI controller.
	//
	// The SCSI controller sits on its
	// own bus, so this field defines which slot the controller is using.
	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty" json:"scsiCtlrUnitNumber,omitempty"`
}

The VirtualSCSIController data object type represents a SCSI controller in a virtual machine.

func (*VirtualSCSIController) GetVirtualSCSIController

func (b *VirtualSCSIController) GetVirtualSCSIController() *VirtualSCSIController

type VirtualSCSIControllerOption

type VirtualSCSIControllerOption struct {
	VirtualControllerOption

	// Three properties (numSCSIDisks.min, numSCSIDisks.max, and
	// numSCSIDisks.defaultValue) define the minimum, maximum, and default
	// number of SCSI VirtualDisk instances available at any given time in the
	// SCSI controller.
	//
	// The number of SCSI VirtualDisk instances is
	// also limited by the number of available slots in the SCSI controller.
	NumSCSIDisks IntOption `xml:"numSCSIDisks" json:"numSCSIDisks"`
	// Three properties (numSCSICdroms.min, numSCSICdroms.max, and
	// numSCSICdroms.defaultValue) define the minimum, maximum, and default
	// number of SCSI VirtualCdrom instances available
	// in the SCSI controller.
	//
	// The number of SCSI VirtualCdrom instances is
	// also limited by the number of available slots in the SCSI controller.
	NumSCSICdroms IntOption `xml:"numSCSICdroms" json:"numSCSICdroms"`
	// Three properties (numSCSIPassthrough.min, numSCSIPassthrough.max, and
	// numSCSIPassthrough.defaultValue) define the minimum, maximum, and
	// default number of VirtualSCSIPassthrough instances available
	// have at any given time in the SCSI controller.
	//
	// The number of
	// VirtualSCSIPassthrough instances is also limited by the number of
	// available slots in the SCSI controller.
	NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough" json:"numSCSIPassthrough"`
	// Supported shared bus modes.
	Sharing []VirtualSCSISharing `xml:"sharing" json:"sharing"`
	// Index into sharing array specifying the default value.
	DefaultSharedIndex int32 `xml:"defaultSharedIndex" json:"defaultSharedIndex"`
	// All SCSI controllers support hot adding and removing of devices.
	//
	// This
	// support can't be toggled in the current implementation. Therefore, this
	// option is ignored when reconfiguring a SCSI controller and is always set
	// to "true" when reading an existing configuration.
	HotAddRemove BoolOption `xml:"hotAddRemove" json:"hotAddRemove"`
	// The unit number of the SCSI controller.
	//
	// The SCSI controller sits on its
	// own bus, so that this field defines which slot the controller will use.
	ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber" json:"scsiCtlrUnitNumber"`
}

The VirtualSCSIControllerOption data object type contains the options for a virtual SCSI controller defined by the `VirtualSCSIController` data object type.

func (*VirtualSCSIControllerOption) GetVirtualSCSIControllerOption

func (b *VirtualSCSIControllerOption) GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption

type VirtualSCSIPassthrough

type VirtualSCSIPassthrough struct {
	VirtualDevice
}

The VirtualSCSIPassthrough data object type contains information about a SCSI device on the virtual machine that is being backed by a generic SCSI device on the host via passthrough.

type VirtualSCSIPassthroughDeviceBackingInfo

type VirtualSCSIPassthroughDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The VirtualSCSIPassthrough.DeviceBackingInfo data object type contains information about the backing that maps the virtual device onto a physical device.

type VirtualSCSIPassthroughDeviceBackingOption

type VirtualSCSIPassthroughDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

This data object type describes the options for the `VirtualSCSIPassthroughDeviceBackingInfo` data object type.

type VirtualSCSIPassthroughOption

type VirtualSCSIPassthroughOption struct {
	VirtualDeviceOption
}

The VirtualSCSIPassthroughOption data object type describes the options for the `VirtualSCSIPassthrough` data object type.

type VirtualSCSISharing

type VirtualSCSISharing string

Sharing describes three possible ways of sharing the SCSI bus: One of these values is assigned to the sharedBus object to determine if or how the SCSI bus is shared.

type VirtualSIOController

type VirtualSIOController struct {
	VirtualController
}

This data object type defines a Super IO Controller for floppy drives, parallel ports, and serial ports.

type VirtualSIOControllerOption

type VirtualSIOControllerOption struct {
	VirtualControllerOption

	// Three properties (numFloppyDrives.min, numFloppyDrives.max, and
	// numFloppyDrives.defaultValue) define the minimum, maximum, and default
	// number of floppy drives you can have at any given time in the Super IO
	// Controller.
	//
	// This is further constrained by the number of available
	// slots in the Super IO Controller.
	NumFloppyDrives IntOption `xml:"numFloppyDrives" json:"numFloppyDrives"`
	// Three properties (numSerialPorts.min, numSerialPorts.max, and
	// numSerialPorts.defaultValue) define the minimum, maximum, and default
	// number of serial ports you can
	// have at any given time in the Super IO Controller.
	//
	// This is further
	// constrained by the number of available slots in the Super IO
	// Controller.
	NumSerialPorts IntOption `xml:"numSerialPorts" json:"numSerialPorts"`
	// Three properties (numParallelPorts.min, numParallelPorts.max, and
	// numParallelPorts.defaultValue) define the minimum, maximum, and default
	// number of parallel ports you can
	// have at any given time in the Super IO controller.
	//
	// This is further
	// constrained by the number of available slots in the Super IO
	// Controller.
	NumParallelPorts IntOption `xml:"numParallelPorts" json:"numParallelPorts"`
}

The VirtualSIOControllerOption data object type contains the options for a virtual Super IO Controller.

type VirtualSerialPort

type VirtualSerialPort struct {
	VirtualDevice

	// Enables CPU yield behavior.
	//
	// If you set <code>yieldOnPoll</code> to <code>true</code>,
	// the virtual machine will periodically relinquish the processor if its sole task
	// is polling the virtual serial port. The amount of time it takes to regain
	// the processor will depend on the degree of other virtual machine activity on the host.
	//
	// To use this property, the CPU yield option must be supported. (See the
	// <code>`VirtualSerialPortOption.yieldOnPoll`</code> property for
	// the virtual serial port option object.)
	YieldOnPoll bool `xml:"yieldOnPoll" json:"yieldOnPoll"`
}

The <code>`VirtualSerialPort`</code> data object represents a serial port on a virtual machine.

A virtual serial port uses one of the following backing types to specify how the virtual machine performs serial port operations.

  • Network backing (<code>`VirtualSerialPortURIBackingInfo`</code>) supports a connection between the virtual machine and a resource on the network. The virtual machine can initiate a connection with the network resource, or it can listen for connections originating from the network.
  • Pipe backing (<code>`VirtualSerialPortPipeBackingInfo`</code>) supports I/O through a named pipe. The pipe connects the virtual machine to a host application or a virtual machine on the same host.
  • File backing (<code>`VirtualSerialPortFileBackingInfo`</code>) supports output through the virtual serial port to a file on the same host.
  • Physical serial port backing (<code>`VirtualSerialPortDeviceBackingInfo`</code>) supports a connection between the virtual machine and a device that is connected to a physical serial port on the host.
  • ThinPrint backing (<code>`VirtualSerialPortThinPrintBackingInfo`</code>) provides driver-free printing.

When you use network backing, you can also configure a virtual serial port to use a virtual serial port concentrator. The virtual machine initiates a telnet connection with the concentrator, and the concentrator acts as a proxy between the virtual machine and a system on the network. By using a virtual serial port concentrator, you can maintain the connection between the virtual machine and the network resource when a vMotion event moves the virtual machine from one host to another. Without a virtual serial port concentrator, the connection would be lost. For information about using a serial port concentrator, see _Using a Proxy with vSphere Virtual Serial Ports_.

You can configure a virtual serial port when you create or reconfigure a virtual machine. For example, to create a virtual serial port with network backing, use the following sequence of operations. In this procedure, the virtual serial port uses a proxy and will accept a network connection.

  1. Use the <code>`EnvironmentBrowser.QueryConfigOption`</code> method to determine the backing options that are available on a host. The method returns a <code>`VirtualMachineConfigOption`</code> data object. The virtual machine configuration data includes a list of backing options (<code>`VirtualDeviceOption.backingOption`</code>). The following pseudocode shows the path to the backing options.

    &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigOption`.hardwareOptions.VirtualDeviceOption\[\].backingOption\[\]</code>

    The array of virtual device options can include a virtual serial port (<code>`VirtualSerialPortOption`</code>). The array of serial port backing options can include URI, file, pipe, or device backing options.

  2. Use the <code>`Folder.CreateVM_Task`</code> method (or the <code>`ResourcePool.CreateChildVM_Task`</code> method) to create the virtual machine and configure the virtual serial port backing. Create a <code>`VirtualMachineConfigSpec`</code> data object and nested data objects for the method's <code>config</code> parameter. The following pseudocode shows the resulting path to the backing information.

    &nbsp;&nbsp;&nbsp;&nbsp;<code>`VirtualMachineConfigSpec`.deviceChange\[\].device.backing</code>

    Set the direction property to "server" to direct the virtual machine to accept a connection. Set the serviceURI property to the URI for the host on which the virtual machine runs.

If you use physical device backing (<code>`VirtualSerialPortDeviceBackingOption`</code>), you should also use the <code>`EnvironmentBrowser.QueryConfigTarget`</code> method to determine if a serial device is available before configuring device backing.

type VirtualSerialPortDeviceBackingInfo

type VirtualSerialPortDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The <code>`VirtualSerialPortDeviceBackingInfo`</code> data object defines information for using a host serial port device as backing for a <code>`VirtualSerialPort`</code>.

On a host, the first virtual machine to configure physical device backing for a virtual serial port will obtain the mapping. As long as that machine maintains the backing, any additional attempts to configure backing using that device will fail (a recoverable error, see the connection info <code>`VirtualDeviceConnectInfo.status`</code>).

type VirtualSerialPortDeviceBackingOption

type VirtualSerialPortDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The <code>`VirtualSerialPortDeviceBackingOption`</code> data object type contains the options for backing a serial port with a host serial port device.

type VirtualSerialPortEndPoint

type VirtualSerialPortEndPoint string

The <code>`VirtualSerialPortEndPoint_enum` enum defines endpoint values for virtual serial port pipe backing.

When you use serial port pipe backing to connect a virtual machine to another process, you must define the endpoints. See the <code>`VirtualSerialPortPipeBackingInfo.endpoint`</code> property for the virtual serial port pipe backing information data object.

The possible endpoint values are:

  • client
  • server

For the supported choices, see the <code>`VirtualSerialPortPipeBackingOption.endpoint`</code> property for the virtual serial port pipe backing option data object.

type VirtualSerialPortFileBackingInfo

type VirtualSerialPortFileBackingInfo struct {
	VirtualDeviceFileBackingInfo
}

The <code>`VirtualSerialPortFileBackingInfo`</code> data object provides information for backing a virtual serial port with a host file.

type VirtualSerialPortFileBackingOption

type VirtualSerialPortFileBackingOption struct {
	VirtualDeviceFileBackingOption
}

The <code>`VirtualSerialPortFileBackingOption`</code> data object type contains the options for backing a serial port with a host file.

type VirtualSerialPortOption

type VirtualSerialPortOption struct {
	VirtualDeviceOption

	// Indicates whether the virtual machine supports the CPU yield option during
	// virtual serial port polling.
	//
	// When this feature is supported and enabled,
	// the virtual machine will periodically relinquish the processor if its
	// sole task is polling the virtual serial port.
	//
	// If <code>yieldOnPoll.supported</code> is <code>false</code>, the virtual
	// machine ignores the virtual serial port object setting for
	// <code>`VirtualSerialPort.yieldOnPoll`</code>.
	YieldOnPoll BoolOption `xml:"yieldOnPoll" json:"yieldOnPoll"`
}

The <code>`VirtualSerialPortOption`</code> data object contains the options for configuring the virtual serial port device defined by the <code>`VirtualSerialPort`</code> data object.

These options include information about how the device is backed physically on the host: by a network socket, a host file, a host serial port device, or a pipe to another process.

type VirtualSerialPortPipeBackingInfo

type VirtualSerialPortPipeBackingInfo struct {
	VirtualDevicePipeBackingInfo

	// Indicates the role the virtual machine assumes as an endpoint
	// for the pipe.
	//
	// The valid values are "client" or "server".
	Endpoint string `xml:"endpoint" json:"endpoint"`
	// Enables optimized data transfer over the pipe.
	//
	// When you use this feature,
	// the ESX server buffers data to prevent data overrun.
	// This allows the virtual machine to read
	// all of the data transferred over the pipe with no data loss.
	// To use optimized data transfer, set <code>noRxLoss</code> to <code>true</code>.
	// To disable this feature, set the property to <code>false.
	//
	// This property is optional. If this property is not set, the ESX server
	// uses the default value specified in the pipe backing options
	// (noRxLoss.defaultValue - see
	// <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
	// in the pipe backing option object).
	//
	// To use this property, optimized data transfer must be supported on the host.
	// (See <code>`VirtualSerialPortPipeBackingOption.noRxLoss`</code>
	// in the pipe backing option object.)
	// If the ESX server does not support the option, it ignores the
	// <code>noRxLoss</code> setting in the pipe backing information object.
	//
	// `*Note*`: You can use this feature even if the other end of the pipe
	// is not an application, but this is more likely to fail.
	NoRxLoss *bool `xml:"noRxLoss" json:"noRxLoss,omitempty"`
}

The <code>`VirtualSerialPortPipeBackingInfo`</code> data object defines information for backing a <code>`VirtualSerialPort`</code> with a named pipe.

You can use a pipe to connect a virtual serial port to a host application or to another virtual machine on the host computer. This is useful for capturing debugging information sent through the virtual serial port.

type VirtualSerialPortPipeBackingOption

type VirtualSerialPortPipeBackingOption struct {
	VirtualDevicePipeBackingOption

	// Indicates the choices available and the default setting
	// for the pipe endpoint.
	//
	// As an endpoint, the virtual machine can act
	// as a client or a server.
	Endpoint ChoiceOption `xml:"endpoint" json:"endpoint"`
	// Indicates whether the server supports optimized data transfer
	// over the pipe and also specifies default behavior.
	//
	// When this feature is supported and enabled, the server buffers data
	// to prevent data overrun. This allows the virtual machine to read all
	// of the data transferred over the pipe with no data loss.
	//
	// If optimized data transfer is supported (<code>noRxLoss.supported</code>
	// is <code>true</code>):
	//     - You can enable (or disable) the feature explicitly by setting the
	//       <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
	//       property on the pipe backing information object.
	//     - If you do not set the
	//       <code>`VirtualSerialPortPipeBackingInfo.noRxLoss`</code>
	//       property on the
	//       the pipe backing information object, the server enables
	//       optimized data transfer if the <code>noRxLoss.defaultValue</code>
	//       property on the pipe backing options object is <code>true</code>.
	//
	// If <code>noRxLoss.supported</code> is <code>false</code>, the server
	// ignores the optimization settings.
	//
	// `*Note*`: You can use this feature even if the other end of the pipe
	// is not an application, but it is more likely to fail.
	NoRxLoss BoolOption `xml:"noRxLoss" json:"noRxLoss"`
}

The <code>`VirtualSerialPortPipeBackingOption`</code> data object contains the options for backing a serial port device with a pipe to another process.

type VirtualSerialPortThinPrintBackingInfo

type VirtualSerialPortThinPrintBackingInfo struct {
	VirtualDeviceBackingInfo
}

The <code>`VirtualSerialPortThinPrintBackingInfo`</code> data object defines information required for backing a <code>`VirtualSerialPort`</code> with a ThinPrint device.

type VirtualSerialPortThinPrintBackingOption

type VirtualSerialPortThinPrintBackingOption struct {
	VirtualDeviceBackingOption
}

The <code>`VirtualSerialPortThinPrintBackingOption`</code> data object type contains the options for backing a serial port with a ThinPrint device.

type VirtualSerialPortURIBackingInfo

type VirtualSerialPortURIBackingInfo struct {
	VirtualDeviceURIBackingInfo
}

The <code>`VirtualSerialPortURIBackingInfo`</code> data object specifies network backing for a <code>`VirtualSerialPort`</code>.

You can use URI backing to create a network serial port on the virtual machine, supporting connections between the virtual machine and remote systems.

When a virtual machine establishes a connection with a remote system on the network, the virtual machine can act as a server or a client. When the virtual machine acts as a server, it accepts a connection. When the virtual machine acts as a client, it initiates the connection.

You can configure the virtual serial port for communication through a virtual serial port concentrator that acts as a proxy between the virtual machine and the network. When you specify a <code>`VirtualDeviceURIBackingInfo.proxyURI`</code>, the virtual machine initiates the connection with the concentrator and forwards the <code>`VirtualDeviceURIBackingInfo.direction`</code> and <code>`VirtualDeviceURIBackingInfo.serviceURI`</code> to the concentrator. For information about using a virtual serial port concentrator, see _Using a Proxy with vSphere Virtual Serial Ports_.

ESX hosts support different protocols depending on your virtual serial port configuration.

  • If the virtual machine is handling the network connection directly (no <code>`VirtualDeviceURIBackingInfo.proxyURI`</code> specified), you can use telnet, TCP, and SSL protocols. The <code>`VirtualDeviceURIBackingInfo.serviceURI`</code> must use one of the following URI schemes:

  • <code>&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of <code>tcp://&lt;host&gt;:&lt;port&gt;</code>.

  • <code>tcp://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection (IPv4 or IPv6).

  • <code>tcp4://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection (IPv4 only).

  • <code>tcp6://&lt;host&gt;:&lt;port&gt;</code> - unencrypted TCP connection (IPv6 only).

  • <code>ssl://&lt;host&gt;:&lt;port&gt;</code> - this is the equivalent of <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code>.

  • <code>tcp+ssl://&lt;host&gt;:&lt;port&gt;</code> - encrypted SSL over TCP.

  • <code>tcp4+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv4.

  • <code>tcp6+ssl://&lt;host&gt;:&lt;port&gt;</code> - SSL over TCP over IPv6.

  • <code>telnet://&lt;host&gt;:&lt;port&gt;</code> - telnet over TCP. The virtual machine and remote system can negotiate and use SSL if the remote system supports the telnet authentication option; if not, the connection uses unencrypted text (plaintext).

  • <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP. In this case, SSL negotiation begins immediately and you cannot use the telnet authentication option.

    As of vSphere 5.1 you can specify authentication parameters to support an encrypted connection with a remote system using SSL over telnet or telnets. The connection will fail if the peer does not support the protocols. You cannot use certificate verification when you specify <code>tcp</code>, <code>tcp4</code>, or <code>tcp6</code> schemas. For information about parameter specification, see <a href="#authparam">Authentication Parameters</a> below.

  • If you are using a <code>`VirtualDeviceURIBackingInfo.proxyURI`</code> to connect to a virtual serial port concentrator, the URI scheme for the communication between the remote system on the network and the concentrator depends on the concentrator implementation. The connection between the concentrator and the virtual serial port must use telnet or secure telnet (telnets). The proxy URI must use one of the following URI schemes. You cannot specify a username and password in the proxy URI.

  • <code>telnet://&lt;host&gt;:&lt;port&gt;</code>- telnet over TCP. The virtual machine and remote system can negotiate and use SSL if the remote system supports the telnet authentication option; if not, the connection uses unencrypted text (plaintext).

  • <code>telnets://&lt;host&gt;:&lt;port&gt;</code> - telnet over SSL over TCP. In this case, SSL negotiation starts immediately and you cannot use the telnet authentication option.

    As of vSphere 5.1 you can specify authentication parameters to support an encrypted connection with a concentrator using SSL over telnet or telnets. The connection will fail if the concentrator does not support the protocols. For information about parameter specification, see <a href="#authparam">Authentication Parameters</a> below.

<a name="authparam"></a> **Authentication Parameters**

For an encrypted connection, the URI includes a set of authentication parameters. The parameters are specified as key words or key/value pairs. The following syntax description uses <code>telnet</code>; you can also specify authentication parameters for secure telnet (<code>telnets</code>).

<code>telnet://&lt;host&gt;:&lt;port&gt;&num;key\[=value\]\[&amp;key\[=value\] ...\]</code>

The first parameter must have a number sign (&num;) prefix. Additional parameters must have an ampersand (&amp;) prefix. The following list shows the valid parameters.

  • <code>certificate=value</code> - Specifies a certificate in PEM format against which the peer certificate is compared. When you specify a certificate, certificate verification is automatically enabled. See the description of the <code>verify</code> parameter below.
  • <code>thumbprint=value</code> - Specifies a certificate thumbprint against which the peer certificate thumbprint is compared. When you specify a thumbprint, certificate verification is automatically enabled. See the description of the <code>verify</code> parameter below.
  • <code>peerName=value</code> - Specifies the peer name that will be used to validate the peer certificate. When you specify a peer name, certificate verification is automatically enabled. See the description of the <code>verify</code> parameter below.
  • <code>verify</code> - Forces certificate verification. The virtual machine will verify that the peer certificate subject matches the specified <code>peerName</code> and that it was signed by a certificate authority known to the ESXi host. Verification is automatically enabled if you specify a <code>certificate</code>, <code>thumbprint</code>, or <code>peerName</code>.
  • <code>cipherList=value</code> - Specifies a list of SSL ciphers. See <a href="http://www.openssl.org/docs/apps/ciphers.html">OpenSSL ciphers</a>. The ciphers are specified as a list separated by colons, spaces, or commas.

For information about URI format, see <a href="http://www.ietf.org/rfc/rfc2396.txt">RFC 2396</a>.

type VirtualSerialPortURIBackingOption

type VirtualSerialPortURIBackingOption struct {
	VirtualDeviceURIBackingOption
}

The <code>`VirtualSerialPortURIBackingOption`</code> data object type contains the options for using a network socket as backing for a virtual serial port.

type VirtualSoundBlaster16

type VirtualSoundBlaster16 struct {
	VirtualSoundCard
}

The VirtualSoundBlaster16 data object type represents a Sound Blaster 16 sound card in a virtual machine.

type VirtualSoundBlaster16Option

type VirtualSoundBlaster16Option struct {
	VirtualSoundCardOption
}

The VirtualSoundBlaster16Option data object type contains the options for a virtual SoundBlaster 16 sound card.

type VirtualSoundCard

type VirtualSoundCard struct {
	VirtualDevice
}

This data object type represents a sound card in a virtual machine.

func (*VirtualSoundCard) GetVirtualSoundCard

func (b *VirtualSoundCard) GetVirtualSoundCard() *VirtualSoundCard

type VirtualSoundCardDeviceBackingInfo

type VirtualSoundCardDeviceBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The sound card device backing data class.

type VirtualSoundCardDeviceBackingOption

type VirtualSoundCardDeviceBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The VirtualSoundCardBackingOption class contains the options for the virtual sound card backing class.

type VirtualSoundCardOption

type VirtualSoundCardOption struct {
	VirtualDeviceOption
}

The VirtualSoundCardOption data class contains the options for the virtual sound card class.

func (*VirtualSoundCardOption) GetVirtualSoundCardOption

func (b *VirtualSoundCardOption) GetVirtualSoundCardOption() *VirtualSoundCardOption

type VirtualSriovEthernetCard

type VirtualSriovEthernetCard struct {
	VirtualEthernetCard

	// Indicates whether MTU can be changed from guest OS.
	AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange" json:"allowGuestOSMtuChange,omitempty"`
	// Information about SR-IOV passthrough backing of this VirtualSriovEthernetCard.
	//
	// During an edit operation, if this value is unset, no changes to the
	// SR-IOV backing will be made. During an add operation, if this is unset,
	// an automatic physical function assignment scheme as described above will be used.
	// This field is ignored and must be unset if this VirtualSriovEthernetCard
	// is a DVX device, in which case the dvxBackingInfo field is set. In other
	// words, sriovBacking and dvxBackingInfo cannot both be set at any time.
	SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty" json:"sriovBacking,omitempty"`
	// Information about DVX backing of this VirtualSriovEthernetCard.
	//
	// This field is set if and only if this VirtualSriovEthernetCard is a DVX
	// device.
	DvxBackingInfo *VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBackingInfo,omitempty" json:"dvxBackingInfo,omitempty" vim:"8.0.0.1"`
}

The `VirtualSriovEthernetCard` data object defines the properties of a SR-IOV enabled Ethernet card attached to a virtual machine.

type VirtualSriovEthernetCardOption

type VirtualSriovEthernetCardOption struct {
	VirtualEthernetCardOption
}

The VirtualSriovEthernetCardOption data object contains the options for the VirtualSriovEthernetCard data object type.

type VirtualSriovEthernetCardSriovBackingInfo

type VirtualSriovEthernetCardSriovBackingInfo struct {
	VirtualDeviceBackingInfo

	// Physical function backing for this device.
	//
	// A specific physical function can be assigned to the device by specifying
	// its id but the VirtualSriovNetworkCard can also be configured for automatic physical
	// function assignment by providing a special value "Automatic-0000:00:00.0"
	// as `VirtualPCIPassthroughDeviceBackingInfo.id`. This is supported if there is
	// an associated SR-IOV network device pool for the network specified in
	// `VirtualDevice.backing` - in that case a physical function from
	// the pool, if available, will be assigned to this device during power on.
	// During reconfigure, if an SR-IOV backing is provided, the physical function backing
	// may not be left unset.
	// A value of "Automatic-" followed by a valid physical function id
	// in `VirtualPCIPassthroughDeviceBackingInfo.id` indicates that assignment
	// is automatic and the physical function in question is the one that has currently
	// been assigned.
	PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty" json:"physicalFunctionBacking,omitempty"`
	// Virtual function backing for this device.
	//
	// During reconfigure, if this is unset, any currently assigned virtual function
	// will be overwritten and a new one will be selected. If
	// `VirtualPCIPassthroughDeviceBackingInfo.id` contains a valid id for
	// a virtual function of the currently assigned physical function, this acts as
	// a hint and, if possible, the specified virtual function will be the one
	// allocated for the device.
	// When a virtual function is yet to be assigned to the device (e.g. if the VM
	// has not been powered on yet), the virtual function backing will be unset.
	VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty" json:"virtualFunctionBacking,omitempty"`
	VirtualFunctionIndex   int32                                   `xml:"virtualFunctionIndex,omitempty" json:"virtualFunctionIndex,omitempty"`
}

The `VirtualSriovEthernetCardSriovBackingInfo` data object contains information about the SR-IOV physical function and virtual function backing for a passthrough NIC.

type VirtualSriovEthernetCardSriovBackingOption

type VirtualSriovEthernetCardSriovBackingOption struct {
	VirtualDeviceBackingOption
}

This data object contains the option for SriovBackingInfo data of the virtual network SR-IOV card object type.

type VirtualSwitchProfile

type VirtualSwitchProfile struct {
	ApplyProfile

	// Linkable identifier.
	Key string `xml:"key" json:"key"`
	// Name of the standard virtual switch(VSS).
	Name string `xml:"name" json:"name"`
	// Links that are connected to the virtual switch.
	Link LinkProfile `xml:"link" json:"link"`
	// Number of ports on the virtual switch.
	NumPorts NumPortsProfile `xml:"numPorts" json:"numPorts"`
	// Network policy/policies for the virtual switch.
	NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy" json:"networkPolicy"`
}

The `VirtualSwitchProfile` data object represents a subprofile for a virtual switch.

If a profile plug-in defines policies or subprofiles, use the `ApplyProfile.policy` or `ApplyProfile.property` list to access the additional configuration data.

type VirtualSwitchSelectionProfile

type VirtualSwitchSelectionProfile struct {
	ApplyProfile
}

The `VirtualSwitchSelectionProfile` data object represents the virtual switch that is connected to a port group.

The `ApplyProfile.policy` property contains the configuration data values for the virtual switch.

type VirtualTPM added in v0.18.0

type VirtualTPM struct {
	VirtualDevice

	// Endorsement Key Certificate Signing Request in DER format.
	//
	// There may be more than one - one for RSA 2048, one for ECC NIST P256,
	// and any number of other signing requests for other algorithms.
	EndorsementKeyCertificateSigningRequest [][]byte `xml:"endorsementKeyCertificateSigningRequest,omitempty" json:"endorsementKeyCertificateSigningRequest,omitempty"`
	// Endorsement Key Certificate in DER format.
	//
	// There may be more than one. Indices in this array do not match
	// indices in `VirtualTPM.endorsementKeyCertificateSigningRequest` array,
	// entries must be matched by comparing fields in DER data between
	// certificate signing requests and certificates.
	EndorsementKeyCertificate [][]byte `xml:"endorsementKeyCertificate,omitempty" json:"endorsementKeyCertificate,omitempty"`
}

This data object type represents a TPM 2.0 module in a virtual machine.

type VirtualTPMOption added in v0.18.0

type VirtualTPMOption struct {
	VirtualDeviceOption

	// List of supported firmware selections, using
	// `GuestOsDescriptorFirmwareType_enum` enumeration.
	//
	// There is at least one value in this array.
	SupportedFirmware []string `xml:"supportedFirmware,omitempty" json:"supportedFirmware,omitempty"`
}

This data object type contains the options for the virtual TPM class.

type VirtualUSB

type VirtualUSB struct {
	VirtualDevice

	// Flag indicating whether the device is currently connected.
	//
	// The virtual machine is not connected to the device if the autoconnect pattern
	// specified in the USB device backing
	// (`VirtualDeviceDeviceBackingInfo*.*VirtualDeviceDeviceBackingInfo.deviceName`)
	// can not be satisfied, either
	// because there is no such device, or the matching device is not
	// available. Valid only while the virtual machine is running.
	Connected bool `xml:"connected" json:"connected" vim:"2.5"`
	// Vendor ID of the USB device.
	Vendor int32 `xml:"vendor,omitempty" json:"vendor,omitempty" vim:"4.1"`
	// Product ID of the USB device.
	Product int32 `xml:"product,omitempty" json:"product,omitempty" vim:"4.1"`
	// Device class families.
	//
	// For possible values see
	// `VirtualMachineUsbInfoFamily_enum`.
	Family []string `xml:"family,omitempty" json:"family,omitempty" vim:"4.1"`
	// Device speeds detected by server.
	//
	// For possible values see
	// `VirtualMachineUsbInfoSpeed_enum`.
	Speed []string `xml:"speed,omitempty" json:"speed,omitempty" vim:"4.1"`
}

The `VirtualUSB` data object describes the USB device configuration for a virtual machine.

You can attach a USB device to an ESX host. The device is available to only one virtual machine at a time. When you remove the device from the virtual machine, it becomes available to other virtual machines located on the host. You can add up to 20 USB devices to a virtual machine. Virtual USB support requires virtual machine hardware version 7 or later.

The `VirtualUSB` object represents either a configuration to be applied to the virtual machine or the current device configuration on the virtual machine.

  • To configure a USB connection for the virtual machine, add a `VirtualUSB` object to the `VirtualDeviceConfigSpec`. Use USB backing (`VirtualUSBUSBBackingInfo`) to establish a connection with a virtual machine that will remain on the host to which the USB device is attached. The vSphere Server does not support vMotion for standard USB backing. To configure vMotion support for a virtual machine with a USB connection, use remote host backing for the USB connection (`VirtualUSBRemoteHostBackingInfo`).

    To configure a USB device for a virtual machine, the virtual machine must have a USB controller. To add a controller, include a `VirtualUSBController` object in the virtual device specification for your virtual machine configuration. You can add only one USB controller to a virtual machine.

  • To determine USB device configuration status for the virtual machine, check the virtual hardware device list (`VirtualHardware*.*VirtualHardware.device`). The presence of the `VirtualUSB` object in the hardware device list indicates that the virtual machine is configured to use a USB device. The `VirtualUSB.connected` property indicates whether the virtual machine is connected to the device.

To determine the USB options available on the host, use the `EnvironmentBrowser.QueryConfigOption` method to retrieve the virtual machine configuration. The presence of the `VirtualUSBOption` object in the retrieved configuration (`VirtualMachineConfigOption*.*VirtualMachineConfigOption.hardwareOptions*.*VirtualHardwareOption.virtualDeviceOption`) indicates that the host supports USB connections.

The following operations will disconnect a USB device, losing data if data transfer is in progress over the USB connection.

  • Hot add of memory, CPU, or PCI devices. A hot add operation disconnects only USB devices for virtual machines that use a local connection to the device (`VirtualUSBUSBBackingInfo`).
  • Suspend and resume on a virtual machine.
  • vMotion of a virtual machine with a USB connection, if you are not using remote host USB backing.

The following services do not support USB connections.

  • Fault Tolerance virtual machines cannot use USB devices.
  • DPM (Distributed Power Management) will put a host into standby, regardless of any connections to USB devices on the host.
  • DRS (Distributed Resource Scheduling) may power-off hosts that have USB connections to virtual machines.

type VirtualUSBController

type VirtualUSBController struct {
	VirtualController

	// Flag to indicate whether or not the ability to hot plug devices
	// is enabled on this controller.
	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
	// Flag to indicate whether or not enhanced host controller
	// interface (USB 2.0) is enabled on this controller.
	EhciEnabled *bool `xml:"ehciEnabled" json:"ehciEnabled,omitempty" vim:"2.5"`
}

The `VirtualUSBController` data object describes a virtual USB controller and contains a list of the devices connected to the controller.

A virtual machine must have a virtual USB controller before you can add a USB device to the virtual machine configuration. To add a controller, include a `VirtualUSBController` object in the `VirtualDeviceConfigSpec` for your virtual machine configuration. You can add only one controller to a virtual machine. A virtual USB controller supports up to 20 USB device connections on the virtual machine.

The ESX Server host must have the USB controller hardware and modules that support USB 2.0 and USB1.1. You can use a maximum of 15 USB controllers on a host. If your system includes an additional number of controllers with connected devices, the additional devices will not be available to virtual machines on the host.

You must remove all USB devices from a virtual machine before you can remove the USB controller.

type VirtualUSBControllerOption

type VirtualUSBControllerOption struct {
	VirtualControllerOption

	// Flag to indicate whether or not the ability to autoconnect devices
	// is enabled for this virtual USB controller.
	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
	// Flag to indicate whether or not enhanced host controller
	// interface (USB 2.0) is available on this virtual USB controller.
	EhciSupported BoolOption `xml:"ehciSupported" json:"ehciSupported" vim:"2.5"`
	// Range of USB device speeds supported by this USB controller type.
	//
	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
	SupportedSpeeds []string `xml:"supportedSpeeds,omitempty" json:"supportedSpeeds,omitempty" vim:"5.0"`
}

The VirtualUSBControllerOption data object type contains the options for a virtual USB Host Controller Interface.

type VirtualUSBControllerPciBusSlotInfo

type VirtualUSBControllerPciBusSlotInfo struct {
	VirtualDevicePciBusSlotInfo

	// The pci slot number of eHCI controller.
	//
	// This property should be used only when the ehciEnabled property
	// is set to true.
	EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty" json:"ehciPciSlotNumber,omitempty"`
}

The <code>`VirtualUSBControllerPciBusSlotInfo`</code> data object type defines information about the pci bus slots of usb controller device in a virtual machine.

type VirtualUSBOption

type VirtualUSBOption struct {
	VirtualDeviceOption
}

The `VirtualUSBOption` data object type contains options for USB device configuration on a virtual machine.

The vSphere API supports the following options:

  • Local host USB connection (`VirtualUSBUSBBackingOption`)
  • Remote host USB connection (`VirtualUSBRemoteHostBackingOption`)

For information about USB device configuration, see `VirtualUSB`.

type VirtualUSBRemoteClientBackingInfo

type VirtualUSBRemoteClientBackingInfo struct {
	VirtualDeviceRemoteDeviceBackingInfo

	// Hostname of the remote client where the physical USB device resides.
	Hostname string `xml:"hostname" json:"hostname"`
}

The virtual remote client USB device backing class.

type VirtualUSBRemoteClientBackingOption

type VirtualUSBRemoteClientBackingOption struct {
	VirtualDeviceRemoteDeviceBackingOption
}

This data object type contains the options for the virtual remote USB client backing data object type.

type VirtualUSBRemoteHostBackingInfo

type VirtualUSBRemoteHostBackingInfo struct {
	VirtualDeviceDeviceBackingInfo

	// Name of the ESX host to which the physical USB device is attached
	// (`HostSystem*.*ManagedEntity.name`).
	//
	// When you configure remote host backing, hostname must identify
	// the local host on which the virtual machine is running.
	Hostname string `xml:"hostname" json:"hostname"`
}

The `VirtualUSBRemoteHostBackingInfo` data object identifies a host and a USB device that is attached to the host.

Use this object to configure support for persistent access to the USB device when vMotion operations migrate a virtual machine to a different host. The vCenter Server will not migrate the virtual machine to a host that does not support the USB remote host backing capability.

Specify remote host backing as part of the USB device configuration when you create or reconfigure a virtual machine (`VirtualMachineConfigSpec*.*VirtualMachineConfigSpec.deviceChange*.*VirtualDeviceConfigSpec.device*.*VirtualDevice.backing`).

To identify the USB device, you specify an autoconnect pattern for the `VirtualDeviceDeviceBackingInfo.deviceName`. The virtual machine can connect to the USB device if the ESX server can find a USB device described by the autoconnect pattern. The autoconnect pattern consists of name:value pairs. You can use any combination of the following fields.

  • path - USB connection path on the host
  • pid - idProduct field in the USB device descriptor
  • vid - idVendor field in the USB device descriptor
  • hostId - unique ID for the host
  • speed - device speed (low, full, or high)

For example, the following pattern identifies a USB device:

&nbsp;&nbsp;&nbsp;&nbsp;<code>"path:1/3/0 hostId:44\\ 45\\ 4c\\ 43\\ 00\\ 10\\ 54-80\\ 35\\ ca\\ c0\\ 4f\\ 4d\\ 37\\ 31"</code>

This pattern identifies the USB device connected to port 1/3/0 on the host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.

Special characters for autoconnect pattern values:

  • The name and value are separated by a colon (:).
  • Name:value pairs are separated by spaces.
  • The escape character is a backslash (\\). Use a single backslash to embed a space in a value. Use a double blackslash to embed a single backslash in the value.

type VirtualUSBRemoteHostBackingOption

type VirtualUSBRemoteHostBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The `VirtualUSBRemoteHostBackingOption` data object contains options for remote host USB configuration.

This backing option indicates support for persistent USB connections when vMotion operations migrate virtual machines to different hosts.

type VirtualUSBUSBBackingInfo

type VirtualUSBUSBBackingInfo struct {
	VirtualDeviceDeviceBackingInfo
}

The `VirtualUSBUSBBackingInfo` data object identifies a USB device on the host where the virtual machine is located.

This type of backing supports only a local connection where the virtual machine will remain on the host to which the USB device is attached.

To identify the USB device, you specify an autoconnect pattern for the `VirtualDeviceDeviceBackingInfo.deviceName`. The virtual machine can connect to the USB device if the ESX server can find a USB device described by the autoconnect pattern. The autoconnect pattern consists of name:value pairs. You can use any combination of the following fields.

  • path - USB connection path on the host
  • pid - idProduct field in the USB device descriptor
  • vid - idVendor field in the USB device descriptor
  • hostId - unique ID for the host
  • speed - device speed (low, full, or high)

For example, the following pattern identifies a USB device:

&nbsp;&nbsp;&nbsp;&nbsp;<code>"path:1/3/0 hostId:44\\ 45\\ 4c\\ 43\\ 00\\ 10\\ 54-80\\ 35\\ ca\\ c0\\ 4f\\ 4d\\ 37\\ 31"</code>

This pattern identifies the USB device connected to port 1/3/0 on the host with the unique id <code>0x44454c4c430010548035cac04f4d3731</code>.

Special characters for autoconnect pattern values:

  • The name and value are separated by a colon (:).
  • Name:value pairs are separated by spaces.
  • The escape character is a backslash (\\). Use a single backslash to embed a space in a value. Use a double blackslash to embed a single backslash in the value.

type VirtualUSBUSBBackingOption

type VirtualUSBUSBBackingOption struct {
	VirtualDeviceDeviceBackingOption
}

The `VirtualUSBUSBBackingOption` data object contains the options for virtual backing for a USB device.

This backing option indicates support for a local connection where the virtual machine will remain on the host to which the USB device is attached.

type VirtualUSBXHCIController

type VirtualUSBXHCIController struct {
	VirtualController

	// Flag to indicate whether or not the ability to hot plug devices
	// is enabled on this controller.
	AutoConnectDevices *bool `xml:"autoConnectDevices" json:"autoConnectDevices,omitempty"`
}

The `VirtualUSBXHCIController` data object describes a virtual USB Extensible Host Controller Interface (USB 3.0).

For more informatino see `VirtualUSBController`.

type VirtualUSBXHCIControllerOption

type VirtualUSBXHCIControllerOption struct {
	VirtualControllerOption

	// Flag to indicate whether or not the ability to autoconnect devices
	// is enabled for this virtual USB controller.
	AutoConnectDevices BoolOption `xml:"autoConnectDevices" json:"autoConnectDevices"`
	// Range of USB device speeds supported by this USB controller type.
	//
	// Acceptable values are specified at `VirtualMachineUsbInfoSpeed_enum`.
	SupportedSpeeds []string `xml:"supportedSpeeds" json:"supportedSpeeds"`
}

The VirtualUSBXHCIControllerOption data object type contains the options for a virtual USB Extensible Host Controller Interface (USB 3.0).

type VirtualVMIROMOption

type VirtualVMIROMOption struct {
	VirtualDeviceOption
}

This data object type contains the options for the `VirtualVMIROM` data object type.

type VirtualVideoCardOption

type VirtualVideoCardOption struct {
	VirtualDeviceOption

	// Minimum, maximum and default size of the video frame buffer.
	VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty" json:"videoRamSizeInKB,omitempty"`
	// Minimum, maximum and default value for the number of displays.
	NumDisplays *IntOption `xml:"numDisplays,omitempty" json:"numDisplays,omitempty" vim:"2.5 U2"`
	// Flag to indicate whether the display settings of the host should
	// be used to automatically determine the display settings of the
	// virtual machine's video card.
	UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty" json:"useAutoDetect,omitempty" vim:"2.5 U2"`
	// Flag to indicate whether the virtual video card supports 3D functions.
	Support3D *BoolOption `xml:"support3D,omitempty" json:"support3D,omitempty" vim:"2.5 U2"`
	// Flag to indicate whether the virtual video card can specify how to render 3D graphics.
	Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty" json:"use3dRendererSupported,omitempty" vim:"5.1"`
	// The minimum, maximum, and default values for graphics memory size.
	GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty" json:"graphicsMemorySizeInKB,omitempty" vim:"6.0"`
	// Flag to indicate whether the virtual video card can specify the size
	// of graphics memory.
	GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty" json:"graphicsMemorySizeSupported,omitempty" vim:"6.0"`
}

This data object type contains the options for the `VirtualVideoCard` data object type.

type VirtualVmxnet

type VirtualVmxnet struct {
	VirtualEthernetCard
}

The VirtualVmxnet data object type represents an instance of the Vmxnet virtual Ethernet adapter attached to a virtual machine.

func (*VirtualVmxnet) GetVirtualVmxnet

func (b *VirtualVmxnet) GetVirtualVmxnet() *VirtualVmxnet

type VirtualVmxnet2

type VirtualVmxnet2 struct {
	VirtualVmxnet
}

The VirtualVmxnet2 data object type represents an instance of the Vmxnet2 virtual Ethernet adapter attached to a virtual machine.

type VirtualVmxnet2Option

type VirtualVmxnet2Option struct {
	VirtualVmxnetOption
}

The VirtualVmxnet2Option data object type contains the options for the `VirtualVmxnet2` data object type.

type VirtualVmxnet3

type VirtualVmxnet3 struct {
	VirtualVmxnet

	// Indicates whether UPTv2(Uniform Pass-through version 2) compatibility is
	// enabled on this network adapter.
	//
	// UPTv2 is only available on Vmxnet3
	// adapter. Clients can set this property enabled or disabled if ethernet
	// virtual device is Vmxnet3. It requires the VM hardware version is
	// compatible with ESXi version which has enabled smartnic feature.
	Uptv2Enabled *bool `xml:"uptv2Enabled" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
}

The VirtualVmxnet3 data object type represents an instance of the Vmxnet3 virtual Ethernet adapter attached to a virtual machine.

func (*VirtualVmxnet3) GetVirtualVmxnet3 added in v0.12.0

func (b *VirtualVmxnet3) GetVirtualVmxnet3() *VirtualVmxnet3

type VirtualVmxnet3Option

type VirtualVmxnet3Option struct {
	VirtualVmxnetOption

	// Flag to indicate whether UPTv2(Uniform Pass-through version 2) is
	// settable on this device.
	Uptv2Enabled *BoolOption `xml:"uptv2Enabled,omitempty" json:"uptv2Enabled,omitempty" vim:"8.0.0.1"`
}

The VirtualVmxnet3Option data object type contains the options for the `VirtualVmxnet3` data object type.

func (*VirtualVmxnet3Option) GetVirtualVmxnet3Option added in v0.12.0

func (b *VirtualVmxnet3Option) GetVirtualVmxnet3Option() *VirtualVmxnet3Option

type VirtualVmxnet3Vrdma added in v0.12.0

type VirtualVmxnet3Vrdma struct {
	VirtualVmxnet3

	// VRDMA Device protocol.
	//
	// See
	// `VirtualVmxnet3VrdmaOptionDeviceProtocols_enum` for more information.
	DeviceProtocol string `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty" vim:"6.7"`
}

The VirtualVmxnet3Vrdma data object type represents an instance of the VRDMA virtual Remote Direct Memory Access adapter attached to a virtual machine.

type VirtualVmxnet3VrdmaOption added in v0.12.0

type VirtualVmxnet3VrdmaOption struct {
	VirtualVmxnet3Option

	// The supported device protocols.
	DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty" json:"deviceProtocol,omitempty" vim:"6.7"`
}

The VirtualVmxnet3VrdmaOption data object type contains the options for the `VirtualVmxnet3Vrdma` data object type.

type VirtualVmxnet3VrdmaOptionDeviceProtocols added in v0.18.0

type VirtualVmxnet3VrdmaOptionDeviceProtocols string

type VirtualVmxnetOption

type VirtualVmxnetOption struct {
	VirtualEthernetCardOption
}

The VirtualVmxnetOption data object type contains the options for the `VirtualVmxnet` data object type.

func (*VirtualVmxnetOption) GetVirtualVmxnetOption

func (b *VirtualVmxnetOption) GetVirtualVmxnetOption() *VirtualVmxnetOption

type VirtualWDT added in v0.23.0

type VirtualWDT struct {
	VirtualDevice

	// Flag to indicate if the virtual watchdog timer device should be
	// initialized as the Enabled/Stopped or Enabled/Running sub-state.
	//
	// If not set, the device will default to being initialized as the
	// Enabled/Stopped sub-state.
	RunOnBoot bool `xml:"runOnBoot" json:"runOnBoot"`
	// Flag to indicate if the virtual watchdog timer device is currently
	// in the Enabled/Running state.
	//
	// The guest can cause state changes,
	// which will result in this flag being either set or cleared.
	Running bool `xml:"running" json:"running"`
}

This data object type represents a watchdog timer in a virtual machine.

type VirtualWDTOption added in v0.23.0

type VirtualWDTOption struct {
	VirtualDeviceOption

	// Flag to indicate whether or not the "run on boot" option
	// is settable on this device.
	RunOnBoot BoolOption `xml:"runOnBoot" json:"runOnBoot"`
}

This data object type contains the options for the virtual watchdog timer class.

type VlanProfile

type VlanProfile struct {
	ApplyProfile
}

The `VlanProfile` data object represents the VLAN identifier subprofile.

The `ApplyProfile.policy` property contains the configuration data values for the VLAN identifier.

type VmAcquiredMksTicketEvent

type VmAcquiredMksTicketEvent struct {
	VmEvent
}

This event records a user successfully acquiring an MKS ticket

type VmAcquiredTicketEvent

type VmAcquiredTicketEvent struct {
	VmEvent

	// The type of the ticket @see VirtualMachine.TicketType
	TicketType string `xml:"ticketType" json:"ticketType"`
}

This event records a user successfully acquiring a ticket

type VmAlreadyExistsInDatacenter

type VmAlreadyExistsInDatacenter struct {
	InvalidFolder

	// The target host.
	//
	// Refers instance of `HostSystem`.
	Host ManagedObjectReference `xml:"host" json:"host"`
	// Name of the target host.
	Hostname string `xml:"hostname" json:"hostname"`
	// Virtual machines in the target datacenter which have the same
	// registration information as those belonging to the target host.
	//
	// Refers instances of `VirtualMachine`.
	Vm []ManagedObjectReference `xml:"vm" json:"vm"`
}

Fault thrown when moving a standalone host between datacenters, and one or more of the virtual machines registered on the host are already registered to hosts in the target datacenter.

type VmAlreadyExistsInDatacenterFault

type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter

type VmAutoRenameEvent

type VmAutoRenameEvent struct {
	VmEvent

	// The name of the virtual machine before renaming.
	OldName string `xml:"oldName" json:"oldName"`
	// The name of the virtual machine after renaming.
	NewName string `xml:"newName" json:"newName"`
}

This event records that a virtual machine was automatically renamed because of a name conflict.

type VmBeingClonedEvent

type VmBeingClonedEvent struct {
	VmCloneEvent

	// The destination folder to which the virtual machine is being cloned.
	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
	// The name of the destination virtual machine.
	DestName string `xml:"destName" json:"destName"`
	// The destination host to which the virtual machine is being cloned.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
}

This event records a virtual machine being cloned.

type VmBeingClonedNoFolderEvent

type VmBeingClonedNoFolderEvent struct {
	VmCloneEvent

	// The name of the destination virtual machine.
	DestName string `xml:"destName" json:"destName"`
	// The destination host to which the virtual machine is being cloned.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
}

This event records a virtual machine being cloned.

type VmBeingCreatedEvent

type VmBeingCreatedEvent struct {
	VmEvent

	// The configuration specification that was used to create this virtual machine.
	ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty" json:"configSpec,omitempty"`
}

This event records a virtual machine being created.

type VmBeingDeployedEvent

type VmBeingDeployedEvent struct {
	VmEvent

	// The template object from which the virtual machine is being deployed.
	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
}

This event records a virtual machine being deployed from a template.

type VmBeingHotMigratedEvent

type VmBeingHotMigratedEvent struct {
	VmEvent

	// The destination host to which the virtual machine is to be migrated.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The destination datacenter to which the virtual machine is being migrated
	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
	// The destination primary datastore to which the virtual machine is being migrated
	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
}

This event records that a virtual machine is being hot-migrated.

type VmBeingMigratedEvent

type VmBeingMigratedEvent struct {
	VmEvent

	// The destination host.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The destination datacenter
	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
	// The destination primary datastore
	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
}

This event records that a virtual machine is being migrated.

type VmBeingRelocatedEvent

type VmBeingRelocatedEvent struct {
	VmRelocateSpecEvent

	// The destination host to which the virtual machine is being relocated.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The destination datacenter to which the virtual machine is being relocated
	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
	// The destination primary datastore to which the virtual machine is being relocated
	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
}

This event records that a virtual machine is being relocated.

type VmCloneEvent

type VmCloneEvent struct {
	VmEvent
}

The is the base event for all clone operations.

func (*VmCloneEvent) GetVmCloneEvent

func (b *VmCloneEvent) GetVmCloneEvent() *VmCloneEvent

type VmCloneFailedEvent

type VmCloneFailedEvent struct {
	VmCloneEvent

	// The destination folder to which the virtual machine is being cloned.
	DestFolder FolderEventArgument `xml:"destFolder" json:"destFolder"`
	// The name of the destination virtual machine.
	DestName string `xml:"destName" json:"destName"`
	// The destination host to which the virtual machine was being cloned.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The reason why this clone operation failed.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to clone a virtual machine.

type VmClonedEvent

type VmClonedEvent struct {
	VmCloneEvent

	// The source virtual machine for the clone operation.
	SourceVm VmEventArgument `xml:"sourceVm" json:"sourceVm"`
}

This event records the completion of a virtual machine cloning operation.

type VmConfigFault

type VmConfigFault struct {
	VimFault
}

Base for configuration / environment issues that can be thrown when powering on or changing the configuration of a virtual machine.

Subclasses of this fault is also used as recent why a migration can fail.

func (*VmConfigFault) GetVmConfigFault

func (b *VmConfigFault) GetVmConfigFault() *VmConfigFault

type VmConfigFaultFault

type VmConfigFaultFault BaseVmConfigFault

type VmConfigFileEncryptionInfo added in v0.12.0

type VmConfigFileEncryptionInfo struct {
	DynamicData

	// The key identifier for an encrypted virtual machine
	// configuration file.
	//
	// If the virtual machine configuration file is encrypted, then
	// the keyId is set and indicates the identifier that can be
	// used to lookup the key material. Unset if the virtual machine
	// configuration file is not encrypted.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
}

The encryption information of a virtual machine configuration.

type VmConfigFileInfo

type VmConfigFileInfo struct {
	FileInfo

	ConfigVersion int32 `xml:"configVersion,omitempty" json:"configVersion,omitempty"`
	// The encryption information of the virtual machine
	// configuration file.
	//
	// If encryption was selected in VmConfigFileQueryFlags then this
	// field is always set. Inspect the VmConfigEncryptionInfo to
	// determine if the virtual machine configuration file is encrypted.
	Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty" vim:"6.5"`
}

This data object type describes a virtual machine configuration file.

func (*VmConfigFileInfo) GetVmConfigFileInfo

func (b *VmConfigFileInfo) GetVmConfigFileInfo() *VmConfigFileInfo

type VmConfigFileQuery

type VmConfigFileQuery struct {
	FileQuery

	// The filter specification for the virtual machine configuration file query.
	Filter *VmConfigFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
	// The details specification for the virtual machine configuration file query.
	Details *VmConfigFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
}

This data object type describes query specification for the virtual machine configuration file.

func (*VmConfigFileQuery) GetVmConfigFileQuery

func (b *VmConfigFileQuery) GetVmConfigFileQuery() *VmConfigFileQuery

type VmConfigFileQueryFilter

type VmConfigFileQueryFilter struct {
	DynamicData

	// If this property is set, only the virtual machine configuration files that
	// match one of the specified configuration versions are selected.
	//
	// If no
	// versions are specified, this search criteria is ignored.
	MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty" json:"matchConfigVersion,omitempty"`
	// This optional property can be used to filter virtual
	// machine configuration files based on whether they are
	// encrypted or not.
	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty" vim:"6.5"`
}

The filter for the virtual machine configuration file.

type VmConfigFileQueryFlags

type VmConfigFileQueryFlags struct {
	DynamicData

	// The flag to indicate whether or not the configuration file version number is
	// returned.
	ConfigVersion bool `xml:"configVersion" json:"configVersion"`
	// The flag to indicate whether the encryption information of the
	// virtual machine configuration is returned.
	Encryption *bool `xml:"encryption" json:"encryption,omitempty" vim:"6.5"`
}

type VmConfigIncompatibleForFaultTolerance

type VmConfigIncompatibleForFaultTolerance struct {
	VmConfigFault

	// Fault indicating the specific configuration issue.
	//
	// This is typically
	// a subclass of VirtualHardwareCompatibilityIssue.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Thrown when a virtual machine's existing or requested configuration is incompatible for fault tolerance.

type VmConfigIncompatibleForFaultToleranceFault

type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance

type VmConfigIncompatibleForRecordReplay

type VmConfigIncompatibleForRecordReplay struct {
	VmConfigFault

	// Fault indicating the specific configuration issue.
	//
	// This is typically
	// a subclass of VirtualHardwareCompatibilityIssue.
	Fault *LocalizedMethodFault `xml:"fault,omitempty" json:"fault,omitempty"`
}

Deprecated as of vSphere API 6.0.

Thrown when a virtual machine's existing or requested configuration is incompatible for record and replay.

type VmConfigIncompatibleForRecordReplayFault

type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay

type VmConfigInfo

type VmConfigInfo struct {
	DynamicData

	// Information about the package content.
	Product []VAppProductInfo `xml:"product,omitempty" json:"product,omitempty"`
	// List of properties
	Property []VAppPropertyInfo `xml:"property,omitempty" json:"property,omitempty"`
	// IP assignment policy and DHCP support configuration.
	IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment" json:"ipAssignment"`
	// End User Liceses Agreements.
	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
	// List of uninterpreted OVF meta-data sections.
	OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
	// List the transports to use for properties.
	//
	// Supported values are: iso and
	// com.vmware.guestInfo.
	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
	// Specifies whether the VM needs an initial boot before the deployment is complete.
	//
	// Not relevant for vApps. This means that the value is always false when reading the
	// configuration and is ignored when setting the configuration.
	//
	// If a vApp requires an install boot (because one of its VMs does), this is visible
	// on the `VirtualAppSummary.installBootRequired` field of the vApp.
	InstallBootRequired bool `xml:"installBootRequired" json:"installBootRequired"`
	// Specifies the delay in seconds to wait for the VM to power off after the initial
	// boot (used only if installBootRequired is true).
	//
	// A value of 0 means wait forever.
	//
	// Not relevant for vApps. This means that the value is always false when reading the
	// configuration and is ignored when setting the configuration.
	InstallBootStopDelay int32 `xml:"installBootStopDelay" json:"installBootStopDelay"`
}

VM Configuration.

func (*VmConfigInfo) GetVmConfigInfo

func (b *VmConfigInfo) GetVmConfigInfo() *VmConfigInfo

type VmConfigMissingEvent

type VmConfigMissingEvent struct {
	VmEvent
}

This event records if the configuration file can not be found.

type VmConfigSpec

type VmConfigSpec struct {
	DynamicData

	// Information about the product.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Product []VAppProductSpec `xml:"product,omitempty" json:"product,omitempty"`
	// List of properties.
	//
	// Adding and editing properties requires various privileges depending on which fields
	// are affected. See `VAppPropertyInfo` for details.
	//
	// Deleting properties requires the privilege VApp.ApplicationConfig.
	Property []VAppPropertySpec `xml:"property,omitempty" json:"property,omitempty"`
	// IP assignment policy and DHCP support configuration.
	//
	// Reconfigure privilege: See `VAppIPAssignmentInfo`
	IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty" json:"ipAssignment,omitempty"`
	// End User Liceses Agreements.
	//
	// If this list is set, it replaces all exiting licenses. An empty list will not
	// make any changes to installed licenses. A list with a single element {""} will
	// remove all licenses and leave an empty list.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	Eula []string `xml:"eula,omitempty" json:"eula,omitempty"`
	// List of uninterpreted OVF meta-data sections.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty" json:"ovfSection,omitempty"`
	// List the transports to use for properties.
	//
	// Supported values are: iso and
	// com.vmware.guestInfo.
	//
	// If this list is set, it replaces all exiting entries. An empty list will not make
	// any changes. A list with a single element {""} will clear the list of transports.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty" json:"ovfEnvironmentTransport,omitempty"`
	// If this is on a VirtualMachine object, it specifies whether the VM needs an
	// initial boot before the deployment is complete.
	//
	// If this is on a vApp object,
	// it indicates than one or more VMs needs an initial reboot. This flag is
	// automatically reset once the reboot has happened.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	InstallBootRequired *bool `xml:"installBootRequired" json:"installBootRequired,omitempty"`
	// Specifies the delay in seconds to wait for the VM to power off after the initial
	// boot (used only if installBootRequired is true).
	//
	// A value of 0 means wait forever.
	//
	// Reconfigure privilege: VApp.ApplicationConfig
	InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty" json:"installBootStopDelay,omitempty"`
}

vApp related configuration of a VM.

func (*VmConfigSpec) GetVmConfigSpec

func (b *VmConfigSpec) GetVmConfigSpec() *VmConfigSpec

type VmConnectedEvent

type VmConnectedEvent struct {
	VmEvent
}

This event records that a virtual machine is connected.

type VmCreatedEvent

type VmCreatedEvent struct {
	VmEvent
}

This event records that a virtual machine was successfully created.

type VmDasBeingResetEvent

type VmDasBeingResetEvent struct {
	VmEvent

	// The reason why this vm is being reset
	Reason string `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.1"`
}

This event records when a virtual machine is reset by HA VM Health Monitoring on hosts that do not support the create screenshot api or if the createscreenshot api fails.

func (*VmDasBeingResetEvent) GetVmDasBeingResetEvent

func (b *VmDasBeingResetEvent) GetVmDasBeingResetEvent() *VmDasBeingResetEvent

type VmDasBeingResetEventReasonCode

type VmDasBeingResetEventReasonCode string

type VmDasBeingResetWithScreenshotEvent

type VmDasBeingResetWithScreenshotEvent struct {
	VmDasBeingResetEvent

	// The datastore path of the screenshot taken before resetting.
	ScreenshotFilePath string `xml:"screenshotFilePath" json:"screenshotFilePath"`
}

This event records when a virtual machine is reset by HA VM Health Monitoring on hosts that support the create screenshot api

type VmDasResetFailedEvent

type VmDasResetFailedEvent struct {
	VmEvent
}

This event records when HA VM Health Monitoring fails to reset a virtual machine after failure

type VmDasUpdateErrorEvent

type VmDasUpdateErrorEvent struct {
	VmEvent
}

The event records that an error occurred when updating the HA agents with the current state of the virtual machine.

If this occurs during a powerOn operation, the virtual machine will not be failed over in the event of a host failure. If it occurs during a powerOff, the virtual machine will be automatically powered on if the host it was last running on crashes.

type VmDasUpdateOkEvent

type VmDasUpdateOkEvent struct {
	VmEvent
}

This event records that HA agents have been updated with the current state of the virtual machine.

type VmDateRolledBackEvent

type VmDateRolledBackEvent struct {
	VmEvent
}

This event records when the VirtualCenter server date rolled back.

type VmDeployFailedEvent

type VmDeployFailedEvent struct {
	VmEvent

	// The destination datastore to which the template was being deployed.
	DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr" json:"destDatastore"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to deploy from a template.

type VmDeployedEvent

type VmDeployedEvent struct {
	VmEvent

	// The template object from which the virtual machine has been deployed.
	SrcTemplate VmEventArgument `xml:"srcTemplate" json:"srcTemplate"`
}

This event records the completion of a virtual machine deployment operation.

type VmDisconnectedEvent

type VmDisconnectedEvent struct {
	VmEvent
}

This event records that a virtual machine disconnected.

type VmDiscoveredEvent

type VmDiscoveredEvent struct {
	VmEvent
}

This event records a virtual machine discovery.

type VmDiskFailedEvent

type VmDiskFailedEvent struct {
	VmEvent

	// The name of the virtual disk.
	Disk string `xml:"disk" json:"disk"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to create a virtual disk in a virtual machine.

type VmDiskFileEncryptionInfo added in v0.12.0

type VmDiskFileEncryptionInfo struct {
	DynamicData

	// The key identifier for an encrypted virtual disk.
	//
	// If the virtual disk is encrypted, then the keyId is set and
	// indicates the identifier that can be used to lookup the key
	// material. Unset if the virtual disk is not encrypted.
	KeyId *CryptoKeyId `xml:"keyId,omitempty" json:"keyId,omitempty"`
}

The encryption information of a virtual disk.

type VmDiskFileInfo

type VmDiskFileInfo struct {
	FileInfo

	// Disk type of the virtual disk.
	//
	// The specified disk type is one of the backing information types for a virtual
	// disk.
	//
	// See also `VirtualDisk`.
	DiskType string `xml:"diskType,omitempty" json:"diskType,omitempty"`
	// The capacity of a virtual disk from the point of view of a virtual machine.
	CapacityKb int64 `xml:"capacityKb,omitempty" json:"capacityKb,omitempty"`
	// The hardware version of the virtual disk file.
	HardwareVersion int32 `xml:"hardwareVersion,omitempty" json:"hardwareVersion,omitempty"`
	// Deprecated as of vSphere API 5.0, this property is no longer
	// relevant and should not be used.
	// With the current state of emulation, we don't care about the
	// adapter type a disk is connected to, as disks may be shuffled
	// around. For example, a disk may be unplugged from a buslogic
	// controller and plugged into an lsilogic controller.
	//
	// The controller type suitable for this virtual disk.
	ControllerType string `xml:"controllerType,omitempty" json:"controllerType,omitempty" vim:"2.5"`
	// The extents of this virtual disk specified in absolute DS paths
	DiskExtents []string `xml:"diskExtents,omitempty" json:"diskExtents,omitempty" vim:"2.5"`
	// Indicates if the disk is thin-provisioned
	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
	// The encryption information of the virtual disk.
	//
	// If encryption was selected in VmDiskFileQueryFlags then this
	// field is always set. Inspect the VmDiskEncryptionInfo to
	// determine if the virtual disk is encrypted.
	Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty" json:"encryption,omitempty" vim:"6.5"`
}

This data object type describes a virtual disk primary file.

type VmDiskFileQuery

type VmDiskFileQuery struct {
	FileQuery

	// The filter specification for the virtual disk primary file query.
	Filter *VmDiskFileQueryFilter `xml:"filter,omitempty" json:"filter,omitempty"`
	// Details specification for the virtual disk primary file query.
	Details *VmDiskFileQueryFlags `xml:"details,omitempty" json:"details,omitempty"`
}

This data object type describes the query specification for the virtual disk primary file.

type VmDiskFileQueryFilter

type VmDiskFileQueryFilter struct {
	DynamicData

	// If this optional property is set, only the virtual disk primary files that
	// match one of the specified disk types are selected.
	//
	// If no disk types are
	// specified, this search criteria is ignored.
	//
	// The specified disk type is one of the backing information types for a
	// virtual disk.
	//
	// See also `VirtualDisk`.
	DiskType []string `xml:"diskType,omitempty" json:"diskType,omitempty"`
	// If this optional property is set, only virtual disk primary files that match
	// one of the specified hardware versions are selected.
	//
	// If no versions are
	// specified, this search criteria is ignored.
	MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty" json:"matchHardwareVersion,omitempty"`
	// Deprecated as of vSphere API 5.0, this property is no longer
	// relevant and should not be used.
	// With the current state of emulation, we don't care about the
	// adapter type a disk is connected to, as disks may be shuffled
	// around. For example, a disk may be unplugged from a buslogic
	// controller and plugged into an lsilogic controller.
	//
	// If this optional property is set, only virtual disk files that have a
	// controller type that matches one of the controller types specified
	// are returned.
	//
	// If no controller types are specified, this search criteria
	// is ignored.
	//
	// The specified controller type is one of the controller types for a
	// virtual disk.
	//
	// See also `VirtualIDEController`, `VirtualSCSIController`.
	ControllerType []string `xml:"controllerType,omitempty" json:"controllerType,omitempty" vim:"2.5"`
	// This optional property can be used to filter disks based on whether
	// they are thin-provsioned or not: if set to true, only thin-provisioned
	// disks are returned, and vice-versa.
	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
	// This optional property can be used to filter disks based on
	// whether they are encrypted or not.
	Encrypted *bool `xml:"encrypted" json:"encrypted,omitempty" vim:"6.5"`
}

The filter for the virtual disk primary file.

type VmDiskFileQueryFlags

type VmDiskFileQueryFlags struct {
	DynamicData

	// The flag to indicate whether the type of the physical disk backing
	// the virtual disk is returned.
	DiskType bool `xml:"diskType" json:"diskType"`
	// The flag to indicate whether the capacity of the virtual disk from
	// the point of view of a virtual machine is returned.
	CapacityKb bool `xml:"capacityKb" json:"capacityKb"`
	// The flag to indicate whether the hardware version of the virtual disk
	// file is returned.
	HardwareVersion bool `xml:"hardwareVersion" json:"hardwareVersion"`
	// Deprecated as of vSphere API 5.0, this property is no longer
	// relevant and should not be used.
	// With the current state of emulation, we don't care about the
	// adapter type a disk is connected to, as disks may be shuffled
	// around. For example, a disk may be unplugged from a buslogic
	// controller and plugged into an lsilogic controller.
	//
	// The flag to indicate whether or not the controller type of the virtual disk
	// file is returned.
	ControllerType *bool `xml:"controllerType" json:"controllerType,omitempty" vim:"2.5"`
	// The flag to indicate whether or not the disk extents of the virtual disk
	// are returned.
	DiskExtents *bool `xml:"diskExtents" json:"diskExtents,omitempty" vim:"2.5"`
	// The flag to indicate whether the thin-ness of the disk is returned.
	Thin *bool `xml:"thin" json:"thin,omitempty" vim:"4.0"`
	// The flag to indicate whether the encryption information of the
	// virtual disk is returned.
	Encryption *bool `xml:"encryption" json:"encryption,omitempty" vim:"6.5"`
}

Details for the virtual disk primary file.

type VmEmigratingEvent

type VmEmigratingEvent struct {
	VmEvent
}

This event records a virtual machine emigration.

type VmEndRecordingEvent

type VmEndRecordingEvent struct {
	VmEvent
}

Deprecated as of vSphere API 6.0.

This event indicates the end of a recording session on a virtual machine.

type VmEndReplayingEvent

type VmEndReplayingEvent struct {
	VmEvent
}

Deprecated as of vSphere API 6.0.

This event indicates the end of a replay session on a virtual machine.

type VmEvent

type VmEvent struct {
	Event

	// Indicates whether or not the virtual machine is marked as a template.
	Template bool `xml:"template" json:"template"`
}

These are virtual machine events.

func (*VmEvent) GetVmEvent

func (b *VmEvent) GetVmEvent() *VmEvent

type VmEventArgument

type VmEventArgument struct {
	EntityEventArgument

	// The VirtualMachine object.
	//
	// Refers instance of `VirtualMachine`.
	Vm ManagedObjectReference `xml:"vm" json:"vm"`
}

The event argument is a VirtualMachine object.

type VmFailedMigrateEvent

type VmFailedMigrateEvent struct {
	VmEvent

	// The destination host.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
	// The destination datacenter
	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
	// The destination primary datastore
	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
}

This event records a failure to migrate a virtual machine.

type VmFailedRelayoutEvent

type VmFailedRelayoutEvent struct {
	VmEvent

	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a specific failure to relay out a virtual machine, such as a failure to access the disk.

type VmFailedRelayoutOnVmfs2DatastoreEvent

type VmFailedRelayoutOnVmfs2DatastoreEvent struct {
	VmEvent
}

This event records a failure to relay out a virtual machine when the virtual machine still has disks on a VMFS2 volume.

type VmFailedStartingSecondaryEvent

type VmFailedStartingSecondaryEvent struct {
	VmEvent

	// The reason for the failure.
	//
	// See `VmFailedStartingSecondaryEventFailureReason_enum`
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This event records vmotion failure when starting a secondary VM.

type VmFailedStartingSecondaryEventFailureReason

type VmFailedStartingSecondaryEventFailureReason string

type VmFailedToPowerOffEvent

type VmFailedToPowerOffEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to power off a virtual machine.

type VmFailedToPowerOnEvent

type VmFailedToPowerOnEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to power on a virtual machine.

type VmFailedToRebootGuestEvent

type VmFailedToRebootGuestEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to reboot the guest on a virtual machine.

type VmFailedToResetEvent

type VmFailedToResetEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to reset a virtual machine.

type VmFailedToShutdownGuestEvent

type VmFailedToShutdownGuestEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to shut down the guest on a virtual machine.

type VmFailedToStandbyGuestEvent

type VmFailedToStandbyGuestEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to set the guest on a virtual machine to a standby state.

type VmFailedToSuspendEvent

type VmFailedToSuspendEvent struct {
	VmEvent

	// The reason for the failure.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
}

This event records a failure to suspend a virtual machine.

type VmFailedUpdatingSecondaryConfig

type VmFailedUpdatingSecondaryConfig struct {
	VmEvent
}

This event records after a failover the new new primary failed to update the config of the secondary vm.

type VmFailoverFailed

type VmFailoverFailed struct {
	VmEvent

	// The reason for the failure
	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty" vim:"4.1"`
}

This event records when a virtual machine failover was unsuccessful.

type VmFaultToleranceConfigIssue

type VmFaultToleranceConfigIssue struct {
	VmFaultToleranceIssue

	// The reason for the failure.
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
	// The entity name.
	//
	// Depending on the issue, it could
	// be virtual machine or host.
	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
	// The entity
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
}

Configuration issues that can occur during operations related to fault tolerance protection for virtual machines.

type VmFaultToleranceConfigIssueFault

type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue

type VmFaultToleranceConfigIssueReasonForIssue

type VmFaultToleranceConfigIssueReasonForIssue string

type VmFaultToleranceConfigIssueWrapper

type VmFaultToleranceConfigIssueWrapper struct {
	VmFaultToleranceIssue

	// The entity name.
	//
	// Depending on the issue, it could
	// be virtual machine or host.
	EntityName string `xml:"entityName,omitempty" json:"entityName,omitempty"`
	// The entity
	//
	// Refers instance of `ManagedEntity`.
	Entity *ManagedObjectReference `xml:"entity,omitempty" json:"entity,omitempty"`
	// The nested error when the reason field is other
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

Configuration issues that can occur during operations related to fault tolerance protection for virtual machines.

type VmFaultToleranceConfigIssueWrapperFault

type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper

type VmFaultToleranceInvalidFileBacking

type VmFaultToleranceInvalidFileBacking struct {
	VmFaultToleranceIssue

	// The device type of the file backing
	BackingType     string `xml:"backingType,omitempty" json:"backingType,omitempty"`
	BackingFilename string `xml:"backingFilename,omitempty" json:"backingFilename,omitempty"`
}

Indicates the file backing for some device prevents fault tolerance protection

type VmFaultToleranceInvalidFileBackingDeviceType

type VmFaultToleranceInvalidFileBackingDeviceType string

type VmFaultToleranceInvalidFileBackingFault

type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking

type VmFaultToleranceIssue

type VmFaultToleranceIssue struct {
	VimFault
}

Base object type for issues that can occur during operations related to fault tolerance protection for virtual machines.

func (*VmFaultToleranceIssue) GetVmFaultToleranceIssue

func (b *VmFaultToleranceIssue) GetVmFaultToleranceIssue() *VmFaultToleranceIssue

type VmFaultToleranceIssueFault

type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue

type VmFaultToleranceOpIssuesList

type VmFaultToleranceOpIssuesList struct {
	VmFaultToleranceIssue

	// A list of faults representing errors
	Errors   []LocalizedMethodFault `xml:"errors,omitempty" json:"errors,omitempty"`
	Warnings []LocalizedMethodFault `xml:"warnings,omitempty" json:"warnings,omitempty"`
}

Container for a list of configuration issues that can occur during operations related to fault tolerance protection for virtual machines.

type VmFaultToleranceOpIssuesListFault

type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList

type VmFaultToleranceStateChangedEvent

type VmFaultToleranceStateChangedEvent struct {
	VmEvent

	// The old fault toleeance state.
	OldState VirtualMachineFaultToleranceState `xml:"oldState" json:"oldState"`
	// The new fault tolerance state.
	NewState VirtualMachineFaultToleranceState `xml:"newState" json:"newState"`
}

This event records a fault tolerance state change.

A default alarm will be triggered upon this event, which would change the vm state: the vm state is red if the newState is needSecondary; the vm state is yellow if the newState is disabled; the vm state is green if the newState is notConfigured, starting, enabled or running

type VmFaultToleranceTooManyFtVcpusOnHost

type VmFaultToleranceTooManyFtVcpusOnHost struct {
	InsufficientResourcesFault

	// The name of the host
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The recommended number of FT protected vCPUs on a host.
	MaxNumFtVcpus int32 `xml:"maxNumFtVcpus" json:"maxNumFtVcpus"`
}

This fault is returned when a host has more than the recommended number of Fault Tolerance vCPUs running on it.

type VmFaultToleranceTooManyFtVcpusOnHostFault

type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost

type VmFaultToleranceTooManyVMsOnHost

type VmFaultToleranceTooManyVMsOnHost struct {
	InsufficientResourcesFault

	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The recommended number of Fault Tolerance VMs running on the host.
	MaxNumFtVms int32 `xml:"maxNumFtVms" json:"maxNumFtVms"`
}

This fault is returned when a host has more than the recommended number of Fault Tolerance VMs running on it.

type VmFaultToleranceTooManyVMsOnHostFault

type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost

type VmFaultToleranceTurnedOffEvent

type VmFaultToleranceTurnedOffEvent struct {
	VmEvent
}

This event records that all secondary virtual machines have been removed and fault tolerance protection turned off for this virtual machine.

type VmFaultToleranceVmTerminatedEvent

type VmFaultToleranceVmTerminatedEvent struct {
	VmEvent

	// The reason for the failure.
	//
	// see `VirtualMachineNeedSecondaryReason_enum`
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This event records a secondary or primary VM is terminated.

The reason could be : divergence, lost connection to secondary, partial hardware failure of secondary, or by user.

type VmGuestOSCrashedEvent

type VmGuestOSCrashedEvent struct {
	VmEvent
}

This event notifies that a guest OS has crashed

type VmGuestRebootEvent

type VmGuestRebootEvent struct {
	VmEvent
}

This is a virtual machine guest reboot request event.

type VmGuestShutdownEvent

type VmGuestShutdownEvent struct {
	VmEvent
}

This is a virtual machine guest shutdown request event.

type VmGuestStandbyEvent

type VmGuestStandbyEvent struct {
	VmEvent
}

This is a virtual machine guest standby request event.

type VmHealthMonitoringStateChangedEvent

type VmHealthMonitoringStateChangedEvent struct {
	ClusterEvent

	// The service state in
	// `ClusterDasConfigInfoVmMonitoringState_enum`
	State string `xml:"state" json:"state"`
	// The previous service state in
	// `ClusterDasConfigInfoVmMonitoringState_enum`
	PrevState string `xml:"prevState,omitempty" json:"prevState,omitempty" vim:"6.5"`
}

This event records when host monitoring state has changed.

type VmHostAffinityRuleViolation

type VmHostAffinityRuleViolation struct {
	VmConfigFault

	// The vm that can not be powered on or VMotioned without violating a rule.
	VmName string `xml:"vmName" json:"vmName"`
	// The host that the virtual machine can not be powered on without violating a rule.
	HostName string `xml:"hostName" json:"hostName"`
}

The virtual machine if powered on or VMotioned, would violate a VM-Host affinity rule.

type VmHostAffinityRuleViolationFault

type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation

type VmInstanceUuidAssignedEvent

type VmInstanceUuidAssignedEvent struct {
	VmEvent

	// The new instance UUID.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This event records the assignment of a new instance UUID to a virtual machine.

type VmInstanceUuidChangedEvent

type VmInstanceUuidChangedEvent struct {
	VmEvent

	// The old instance UUID.
	OldInstanceUuid string `xml:"oldInstanceUuid" json:"oldInstanceUuid"`
	// The new instance UUID.
	NewInstanceUuid string `xml:"newInstanceUuid" json:"newInstanceUuid"`
}

This event records a change in a virtual machine's instance UUID.

type VmInstanceUuidConflictEvent

type VmInstanceUuidConflictEvent struct {
	VmEvent

	// The virtual machine whose instance UUID conflicts with the
	// current virtual machine's instance UUID.
	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
	// The instance UUID in conflict.
	InstanceUuid string `xml:"instanceUuid" json:"instanceUuid"`
}

This event records a conflict of virtual machine instance UUIDs.

type VmLimitLicense

type VmLimitLicense struct {
	NotEnoughLicenses

	// The maximum number of running virtual machines
	// limit.
	Limit int32 `xml:"limit" json:"limit"`
}

A VmLimitLicense fault is thrown if powering on the virtual machine would exceed the maximum number of running virtual machines allowed.

type VmLimitLicenseFault

type VmLimitLicenseFault VmLimitLicense

type VmLogFileInfo

type VmLogFileInfo struct {
	FileInfo
}

This data object type describes a file that is logging output for a virtual machine.

type VmLogFileQuery

type VmLogFileQuery struct {
	FileQuery
}

This data object type describes the query specification for a virtual machine log file file.

type VmMacAssignedEvent

type VmMacAssignedEvent struct {
	VmEvent

	// The name of the virtual adapter.
	Adapter string `xml:"adapter" json:"adapter"`
	// The new MAC address.
	Mac string `xml:"mac" json:"mac"`
}

This event records the assignment of a new MAC address to a virtual network adapter.

type VmMacChangedEvent

type VmMacChangedEvent struct {
	VmEvent

	// The name of the virtual network adapter.
	Adapter string `xml:"adapter" json:"adapter"`
	// The old MAC address.
	OldMac string `xml:"oldMac" json:"oldMac"`
	// The new MAC address.
	NewMac string `xml:"newMac" json:"newMac"`
}

This event records a change in a virtual machine's MAC address.

type VmMacConflictEvent

type VmMacConflictEvent struct {
	VmEvent

	// The virtual machine whose MAC address conflicts with
	// the current virtual machine's address.
	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
	// The MAC address that is in conflict.
	Mac string `xml:"mac" json:"mac"`
}

This event records a MAC address conflict for a virtual machine.

type VmMaxFTRestartCountReached

type VmMaxFTRestartCountReached struct {
	VmEvent
}

This event is fired when FT VM reached the max restart count

type VmMaxRestartCountReached

type VmMaxRestartCountReached struct {
	VmEvent
}

This event is fired when the VM reached the max restart count

type VmMessageErrorEvent

type VmMessageErrorEvent struct {
	VmEvent

	// A raw message returned by the virtualization platform.
	Message string `xml:"message" json:"message"`
	// A set of localizable message data that comprise this event.
	//
	// Only available on servers that support localization.
	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
}

This event records when an error message (consisting of a collection of "observations") is thrown by the virtual machine.

This is a generic event for such messages.

type VmMessageEvent

type VmMessageEvent struct {
	VmEvent

	// A raw message returned by the virtualization platform.
	Message string `xml:"message" json:"message"`
	// A set of localizable message data that comprise this event.
	//
	// Only available on servers that support localization.
	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty" vim:"2.5"`
}

This event records when an informational message (consisting of a collection of "observations") is thrown by the virtual machine.

This is a generic event for such messages.

type VmMessageWarningEvent

type VmMessageWarningEvent struct {
	VmEvent

	// A raw message returned by the virtualization platform.
	Message     string                  `xml:"message" json:"message"`
	MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty" json:"messageInfo,omitempty"`
}

This event records when a warning message (consisting of a collection of "observations") is thrown by the virtual machine.

This is a generic event for such messages.

type VmMetadataManagerFault

type VmMetadataManagerFault struct {
	VimFault
}

This fault indicates that some error has occurred during the processing of of a MetadataManager operation.

This may be subclassed by a more specific fault.

type VmMetadataManagerFaultFault

type VmMetadataManagerFaultFault VmMetadataManagerFault

type VmMigratedEvent

type VmMigratedEvent struct {
	VmEvent

	// The source host.
	//
	// (Because this is after a successful migration,
	// the destination host is recorded in the inherited "host" property.)
	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
	// The source datacenter
	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty" vim:"5.0"`
	// The source primary datastore
	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty" vim:"5.0"`
}

This event records a virtual machine migration.

func (*VmMigratedEvent) GetVmMigratedEvent

func (b *VmMigratedEvent) GetVmMigratedEvent() *VmMigratedEvent

type VmMonitorIncompatibleForFaultTolerance

type VmMonitorIncompatibleForFaultTolerance struct {
	VimFault
}

Thrown when turning on Fault Tolerance protection on a running virtual machine if the virtual machine is running in a monitor mode that is incompatible.

type VmMonitorIncompatibleForFaultToleranceFault

type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance

type VmNoCompatibleHostForSecondaryEvent

type VmNoCompatibleHostForSecondaryEvent struct {
	VmEvent
}

This event records that no compatible host was found to place a secondary VM.

A default alarm will be triggered upon this event, which by default would trigger a SNMP trap.

type VmNoNetworkAccessEvent

type VmNoNetworkAccessEvent struct {
	VmEvent

	// The destination host.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
}

This event records a migration failure when the destination host is not on the same network as the source host.

type VmNvramFileInfo

type VmNvramFileInfo struct {
	FileInfo
}

This data object type describes a file that is a virtual machine non-volatile memory file.

type VmNvramFileQuery

type VmNvramFileQuery struct {
	FileQuery
}

This data object type describes the query specification for a non-volatile memory file.

type VmOrphanedEvent

type VmOrphanedEvent struct {
	VmEvent
}

This event records a virtual machine for which no host is responsible.

type VmPodConfigForPlacement

type VmPodConfigForPlacement struct {
	DynamicData

	// The pod that this initial configuration applies to.
	//
	// Since there could be multiple pods in a single placement request,
	// we may need to specify multiple initial VM configurations, one per
	// pod.
	//
	// Refers instance of `StoragePod`.
	StoragePod ManagedObjectReference `xml:"storagePod" json:"storagePod"`
	// Array of PodDiskLocator objects.
	Disk []PodDiskLocator `xml:"disk,omitempty" json:"disk,omitempty"`
	// The VM configuration for the VM that is being placed.
	VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty" json:"vmConfig,omitempty"`
	// The initial interVmRules that should during placement of this
	// virtual machine.
	//
	// It may not always be possible to specify that the
	// virtual machine being placed is part of the rule because the
	// virtual machine may not have been created yet. So for simplicity,
	// we assume the virtual machine being placed is always implicitly
	// part of any rule specified. It will be explicitly added to the
	// rule before it is saved to the pod config.
	InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr" json:"interVmRule,omitempty"`
}

Initial VM configuration for the specified pod.

This configuration will be saved to the pod config `StorageDrsConfigInfo` when the placement recommendations are applied.

type VmPortGroupProfile

type VmPortGroupProfile struct {
	PortGroupProfile
}

The `VmPortGroupProfile` data object represents the subprofile for a port group that will be used by virtual machines.

Use the `ApplyProfile.policy` list for access to configuration data for the virtual machine port group profile. Use the `ApplyProfile.property` list for access to subprofiles, if any.

vSphere Servers use `Network` managed objects to represent virtual machine port groups in the vSphere inventory.

type VmPowerOffOnIsolationEvent

type VmPowerOffOnIsolationEvent struct {
	VmPoweredOffEvent

	// The isolated host on which a virtual machine is powered off.
	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
}

This event records when a virtual machine has been powered off on an isolated host in a HA cluster.

type VmPowerOnDisabled

type VmPowerOnDisabled struct {
	InvalidState
}

This exception is thrown if the power-on of a virtual machine is attempted when the operation is disabled on the host

type VmPowerOnDisabledFault

type VmPowerOnDisabledFault VmPowerOnDisabled

type VmPoweredOffEvent

type VmPoweredOffEvent struct {
	VmEvent
}

This event records when a virtual machine finished powering off.

func (*VmPoweredOffEvent) GetVmPoweredOffEvent

func (b *VmPoweredOffEvent) GetVmPoweredOffEvent() *VmPoweredOffEvent

type VmPoweredOnEvent

type VmPoweredOnEvent struct {
	VmEvent
}

This event records when a virtual machine finished powering on.

func (*VmPoweredOnEvent) GetVmPoweredOnEvent

func (b *VmPoweredOnEvent) GetVmPoweredOnEvent() *VmPoweredOnEvent

type VmPoweringOnWithCustomizedDVPortEvent

type VmPoweringOnWithCustomizedDVPortEvent struct {
	VmEvent

	// The list of Virtual NIC that were using the DVports.
	Vnic []VnicPortArgument `xml:"vnic" json:"vnic"`
}

This event records when a virtual machine was powering on using DVPorts with port level configuration, which might be different from the DVportgroup.

type VmPrimaryFailoverEvent

type VmPrimaryFailoverEvent struct {
	VmEvent

	// The reason for the failure.
	//
	// see `VirtualMachineNeedSecondaryReason_enum`
	Reason string `xml:"reason,omitempty" json:"reason,omitempty"`
}

This event records a fault tolerance failover.

The reason could be : lost connection to primary, partial hardware failure of primary or by user.

type VmReconfiguredEvent

type VmReconfiguredEvent struct {
	VmEvent

	// The configuration specification that was used for the reconfiguration.
	ConfigSpec VirtualMachineConfigSpec `xml:"configSpec" json:"configSpec"`
	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records a reconfiguration of the virtual machine.

type VmRegisteredEvent

type VmRegisteredEvent struct {
	VmEvent
}

This event records that a virtual machine was successfully registered.

type VmRelayoutSuccessfulEvent

type VmRelayoutSuccessfulEvent struct {
	VmEvent
}

This event records that a virtual machine was successfully converted to the new virtual machine format on a VMFS3 volume.

type VmRelayoutUpToDateEvent

type VmRelayoutUpToDateEvent struct {
	VmEvent
}

This event records that a virtual machine is already in the correct format.

No relay out is necessary.

type VmReloadFromPathEvent

type VmReloadFromPathEvent struct {
	VmEvent

	ConfigPath string `xml:"configPath" json:"configPath"`
}

This event records that a virtual machine was successfully reloaded from a new configuration path.

type VmReloadFromPathFailedEvent

type VmReloadFromPathFailedEvent struct {
	VmEvent

	ConfigPath string `xml:"configPath" json:"configPath"`
}

This event records that a virtual machine reload from a new configuration path failed.

type VmRelocateFailedEvent

type VmRelocateFailedEvent struct {
	VmRelocateSpecEvent

	// The destination host to which the virtual machine is being relocated.
	DestHost HostEventArgument `xml:"destHost" json:"destHost"`
	// The reason why this relocate operation failed.
	Reason LocalizedMethodFault `xml:"reason" json:"reason"`
	// The destination datacenter to which the virtual machine was being relocated
	DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty" json:"destDatacenter,omitempty" vim:"5.0"`
	// The destination primary datastore to which the virtual machine was being relocated
	DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty" json:"destDatastore,omitempty" vim:"5.0"`
}

This event records a failure to relocate a virtual machine.

type VmRelocateSpecEvent

type VmRelocateSpecEvent struct {
	VmEvent
}

This event is the base event for relocate and clone base events.

func (*VmRelocateSpecEvent) GetVmRelocateSpecEvent

func (b *VmRelocateSpecEvent) GetVmRelocateSpecEvent() *VmRelocateSpecEvent

type VmRelocatedEvent

type VmRelocatedEvent struct {
	VmRelocateSpecEvent

	// The source host from which the virtual machine was relocated.
	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
	// The source datacenter from which the virtual machine relocated
	SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty" json:"sourceDatacenter,omitempty" vim:"5.0"`
	// The source primary datastore from which the virtual machine relocated
	SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty" json:"sourceDatastore,omitempty" vim:"5.0"`
}

This event records the completion of a virtual machine relocation.

type VmRemoteConsoleConnectedEvent

type VmRemoteConsoleConnectedEvent struct {
	VmEvent
}

This event records that a remote console was connected to the VM

type VmRemoteConsoleDisconnectedEvent

type VmRemoteConsoleDisconnectedEvent struct {
	VmEvent
}

This event records that a remote console was disconnected from the VM

type VmRemovedEvent

type VmRemovedEvent struct {
	VmEvent
}

This event records a virtual machine removed from VirtualCenter management.

type VmRenamedEvent

type VmRenamedEvent struct {
	VmEvent

	// The old name of the virtual machine.
	OldName string `xml:"oldName" json:"oldName"`
	// The new name of the virtual machine.
	NewName string `xml:"newName" json:"newName"`
}

This event records the renaming of a virtual machine.

type VmRequirementsExceedCurrentEVCModeEvent

type VmRequirementsExceedCurrentEVCModeEvent struct {
	VmEvent
}

The virtual machine is using features that exceed what the host is capable of providing.

This may occur when joining an EVC cluster while the virtual machine is powered on. The most common resolution is to power cycle the virtual machine.

type VmResettingEvent

type VmResettingEvent struct {
	VmEvent
}

This event records a virtual machine resetting.

type VmResourcePoolMovedEvent

type VmResourcePoolMovedEvent struct {
	VmEvent

	// The old parent resourcePool of the moved virtual machine.
	OldParent ResourcePoolEventArgument `xml:"oldParent" json:"oldParent"`
	// The new parent resourcePool of the moved virtual machine.
	NewParent ResourcePoolEventArgument `xml:"newParent" json:"newParent"`
}

This event records when a virtual machine is moved from one resource pool to another.

type VmResourceReallocatedEvent

type VmResourceReallocatedEvent struct {
	VmEvent

	// The configuration values changed during the reconfiguration.
	ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty" json:"configChanges,omitempty" vim:"6.5"`
}

This event records a change in resource allocation of a virtual machine.

type VmRestartedOnAlternateHostEvent

type VmRestartedOnAlternateHostEvent struct {
	VmPoweredOnEvent

	// The host that failed.
	SourceHost HostEventArgument `xml:"sourceHost" json:"sourceHost"`
}

Deprecated as of vSphere API 5.0, the Server will generate the `EventEx` event with the `EventEx.eventTypeId` property set to "com.vmware.vc.ha.VmRestartedByHAEvent".

This event records that the virtual machine was restarted on a host, since its original host had failed.

type VmResumingEvent

type VmResumingEvent struct {
	VmEvent
}

This event records a virtual machine resuming.

type VmSecondaryAddedEvent

type VmSecondaryAddedEvent struct {
	VmEvent
}

This event records a secondary VM is added.

type VmSecondaryDisabledBySystemEvent

type VmSecondaryDisabledBySystemEvent struct {
	VmEvent

	Reason *LocalizedMethodFault `xml:"reason,omitempty" json:"reason,omitempty"`
}

This event records that a fault tolerance secondary VM has been disabled by vCenter because the VM could not be powered on.

type VmSecondaryDisabledEvent

type VmSecondaryDisabledEvent struct {
	VmEvent
}

This event records a secondary VM is disabled.

type VmSecondaryEnabledEvent

type VmSecondaryEnabledEvent struct {
	VmEvent
}

This event records a secondary VM is enabled.

type VmSecondaryStartedEvent

type VmSecondaryStartedEvent struct {
	VmEvent
}

This event records a secondary VM is started successfully.

type VmShutdownOnIsolationEvent

type VmShutdownOnIsolationEvent struct {
	VmPoweredOffEvent

	// The isolated host on which a virtual machine was shutdown.
	IsolatedHost HostEventArgument `xml:"isolatedHost" json:"isolatedHost"`
	// Indicates if the shutdown was successful.
	//
	// If the shutdown failed, the virtual
	// machine was powered off. see `VmShutdownOnIsolationEventOperation_enum`
	ShutdownResult string `xml:"shutdownResult,omitempty" json:"shutdownResult,omitempty"`
}

This event records when a virtual machine has been shut down on an isolated host in a HA cluster.

type VmShutdownOnIsolationEventOperation

type VmShutdownOnIsolationEventOperation string

type VmSmpFaultToleranceTooManyVMsOnHost

type VmSmpFaultToleranceTooManyVMsOnHost struct {
	InsufficientResourcesFault

	// The name of the host
	HostName string `xml:"hostName,omitempty" json:"hostName,omitempty"`
	// The recommended number of SMP-Fault Tolerance VMs running on the host.
	MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms" json:"maxNumSmpFtVms"`
}

This fault is returned when a host has more than the recommended number of SMP Fault Tolerance VMs running on it.

type VmSmpFaultToleranceTooManyVMsOnHostFault

type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost

type VmSnapshotFileInfo

type VmSnapshotFileInfo struct {
	FileInfo
}

This data object type describes a file that is a virtual disk snapshot file.

type VmSnapshotFileQuery

type VmSnapshotFileQuery struct {
	FileQuery
}

This data object type describes the query specification for a virtual machine snapshot file.

type VmStartRecordingEvent

type VmStartRecordingEvent struct {
	VmEvent
}

Deprecated as of vSphere API 6.0.

This event indicates the start of a recording session on a virtual machine.

type VmStartReplayingEvent

type VmStartReplayingEvent struct {
	VmEvent
}

Deprecated as of vSphere API 6.0.

This event indicates the start of a replay session on a virtual machine.

type VmStartingEvent

type VmStartingEvent struct {
	VmEvent
}

This event records a virtual machine powering on.

func (*VmStartingEvent) GetVmStartingEvent

func (b *VmStartingEvent) GetVmStartingEvent() *VmStartingEvent

type VmStartingSecondaryEvent

type VmStartingSecondaryEvent struct {
	VmEvent
}

This event records a vmotion to start a secondary VM.

type VmStaticMacConflictEvent

type VmStaticMacConflictEvent struct {
	VmEvent

	// The virtual machine whose static MAC address conflicts with
	// the current virtual machine's address.
	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
	// The static MAC address that is in conflict.
	Mac string `xml:"mac" json:"mac"`
}

This event records a static MAC address conflict for a virtual machine.

type VmStoppingEvent

type VmStoppingEvent struct {
	VmEvent
}

This event records a virtual machine stopping.

type VmSuspendedEvent

type VmSuspendedEvent struct {
	VmEvent
}

This event records when a virtual machine finished suspending.

type VmSuspendingEvent

type VmSuspendingEvent struct {
	VmEvent
}

This event records a virtual machine suspending.

type VmTimedoutStartingSecondaryEvent

type VmTimedoutStartingSecondaryEvent struct {
	VmEvent

	// The duration of the timeout in milliseconds.
	Timeout int64 `xml:"timeout,omitempty" json:"timeout,omitempty"`
}

This event records timeout when starting a secondary VM.

A default alarm will be triggered upon this event, which by default would trigger a SNMP trap.

type VmToolsUpgradeFault

type VmToolsUpgradeFault struct {
	VimFault
}

A base fault to indicate that something went wrong when upgrading tools.

func (*VmToolsUpgradeFault) GetVmToolsUpgradeFault

func (b *VmToolsUpgradeFault) GetVmToolsUpgradeFault() *VmToolsUpgradeFault

type VmToolsUpgradeFaultFault

type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault

type VmUnsupportedStartingEvent

type VmUnsupportedStartingEvent struct {
	VmStartingEvent

	GuestId string `xml:"guestId" json:"guestId"`
}

This event records when an unsupported guest is powering on.

type VmUpgradeCompleteEvent

type VmUpgradeCompleteEvent struct {
	VmEvent

	// The version of the agent.
	Version string `xml:"version" json:"version"`
}

This event records the successful completion of an upgrade operation.

type VmUpgradeFailedEvent

type VmUpgradeFailedEvent struct {
	VmEvent
}

This event records a failure to upgrade virtual hardware.

type VmUpgradingEvent

type VmUpgradingEvent struct {
	VmEvent

	// The version of the agent.
	Version string `xml:"version" json:"version"`
}

This event records the process of upgrading the virtual hardware on a virtual machine.

type VmUuidAssignedEvent

type VmUuidAssignedEvent struct {
	VmEvent

	// The new BIOS UUID.
	Uuid string `xml:"uuid" json:"uuid"`
}

This event records the assignment of a new BIOS UUID to a virtual machine.

type VmUuidChangedEvent

type VmUuidChangedEvent struct {
	VmEvent

	// The old BIOS UUID.
	OldUuid string `xml:"oldUuid" json:"oldUuid"`
	// The new BIOS UUID.
	NewUuid string `xml:"newUuid" json:"newUuid"`
}

This event records a change in a virtual machine's BIOS UUID.

type VmUuidConflictEvent

type VmUuidConflictEvent struct {
	VmEvent

	// The virtual machine whose UUID conflicts with the
	// current virtual machine's UUID.
	ConflictedVm VmEventArgument `xml:"conflictedVm" json:"conflictedVm"`
	// The BIOS UUID in conflict.
	Uuid string `xml:"uuid" json:"uuid"`
}

This event records a conflict of virtual machine BIOS UUIDs.

type VmValidateMaxDevice

type VmValidateMaxDevice struct {
	VimFault

	// The device
	Device string `xml:"device" json:"device"`
	// max count for the device
	Max int32 `xml:"max" json:"max"`
	// number of devices found in vim.vm.ConfigSpec
	Count int32 `xml:"count" json:"count"`
}

type VmValidateMaxDeviceFault

type VmValidateMaxDeviceFault VmValidateMaxDevice

type VmVnicPoolReservationViolationClearEvent

type VmVnicPoolReservationViolationClearEvent struct {
	DvsEvent

	// The key of the Virtual NIC network resource pool
	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
	// The name of the Virtual NIC network resource pool
	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
}

This event is generated when the reservations used by all the virtual network adapters belonging to the virtual NIC network resource pool goes below the reservation allocated to the resource pool

type VmVnicPoolReservationViolationRaiseEvent

type VmVnicPoolReservationViolationRaiseEvent struct {
	DvsEvent

	// The key of the Virtual NIC network resource pool
	VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey" json:"vmVnicResourcePoolKey"`
	// The name of the Virtual NIC network resource pool
	VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty" json:"vmVnicResourcePoolName,omitempty"`
}

This event is generated when the reservations used by all the virtual network adapters belonging to the virtual NIC network resource pool exceeds the reservation allocated to the resource pool

type VmWwnAssignedEvent

type VmWwnAssignedEvent struct {
	VmEvent

	// The new node WWN.
	NodeWwns []int64 `xml:"nodeWwns" json:"nodeWwns"`
	// The new port WWN.
	PortWwns []int64 `xml:"portWwns" json:"portWwns"`
}

This event records the assignment of a new WWN (World Wide Name) to a virtual machine.

type VmWwnChangedEvent

type VmWwnChangedEvent struct {
	VmEvent

	// The old node WWN.
	OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty" json:"oldNodeWwns,omitempty"`
	// The old port WWN.
	OldPortWwns []int64 `xml:"oldPortWwns,omitempty" json:"oldPortWwns,omitempty"`
	// The new node WWN.
	NewNodeWwns []int64 `xml:"newNodeWwns,omitempty" json:"newNodeWwns,omitempty"`
	// The new port WWN.
	NewPortWwns []int64 `xml:"newPortWwns,omitempty" json:"newPortWwns,omitempty"`
}

This event records a change in a virtual machine's WWN (World Wide Name).

type VmWwnConflict

type VmWwnConflict struct {
	InvalidVmConfig

	// The virtual machine that is using the same WWN.
	//
	// Refers instance of `VirtualMachine`.
	Vm *ManagedObjectReference `xml:"vm,omitempty" json:"vm,omitempty"`
	// The host that is using the same WWN.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// The name of the virtual machine/host that is using the same WWN.
	Name string `xml:"name,omitempty" json:"name,omitempty"`
	// The WWN that is in conflict.
	Wwn int64 `xml:"wwn,omitempty" json:"wwn,omitempty"`
}

Thrown if a user attempts to assign a WWN that is currently being used by other virtual machine or host.

type VmWwnConflictEvent

type VmWwnConflictEvent struct {
	VmEvent

	// The virtual machine whose WWN conflicts with the
	// current virtual machine's WWN.
	ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty" json:"conflictedVms,omitempty"`
	// The host whose physical WWN conflicts with the
	// current virtual machine's WWN.
	ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty" json:"conflictedHosts,omitempty"`
	// The WWN in conflict.
	Wwn int64 `xml:"wwn" json:"wwn"`
}

This event records a conflict of virtual machine WWNs (World Wide Name).

type VmWwnConflictFault

type VmWwnConflictFault VmWwnConflict

type VmfsAlreadyMounted

type VmfsAlreadyMounted struct {
	VmfsMountFault
}

A VmfsAlreadyMounted fault indicates that VMFS volume with same UUID is already mounted on the host.

type VmfsAlreadyMountedFault

type VmfsAlreadyMountedFault VmfsAlreadyMounted

type VmfsAmbiguousMount

type VmfsAmbiguousMount struct {
	VmfsMountFault
}

An 'VmfsAmbiguousMount' fault occurs when ESX is unable to resolve the extents of a VMFS volume unambiguously.

This is thrown only when a VMFS volume has multiple extents and multiple copies of VMFS volumes are available. VMFS layer will not be able to determine how to re-construct the VMFS volume as multiple choices are available.

type VmfsAmbiguousMountFault

type VmfsAmbiguousMountFault VmfsAmbiguousMount

type VmfsConfigOption added in v0.12.0

type VmfsConfigOption struct {
	DynamicData

	// Supported values of VMFS block size in kilobytes (KB)
	// `HostVmfsVolume.blockSize`.
	BlockSizeOption int32 `xml:"blockSizeOption" json:"blockSizeOption"`
	// Supported values of VMFS unmap granularity
	// `HostVmfsVolume.unmapGranularity`.
	//
	// The unit is KB.
	UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty" json:"unmapGranularityOption,omitempty"`
	// Fixed unmap bandwidth min/max/default value
	UnmapBandwidthFixedValue *LongOption `xml:"unmapBandwidthFixedValue,omitempty" json:"unmapBandwidthFixedValue,omitempty" vim:"6.7"`
	// Dynamic unmap bandwidth lower limit min/max/default value.
	UnmapBandwidthDynamicMin *LongOption `xml:"unmapBandwidthDynamicMin,omitempty" json:"unmapBandwidthDynamicMin,omitempty" vim:"6.7"`
	// Dynamic unmap bandwitdth upper limit min/max/default value.
	UnmapBandwidthDynamicMax *LongOption `xml:"unmapBandwidthDynamicMax,omitempty" json:"unmapBandwidthDynamicMax,omitempty" vim:"6.7"`
	// Increment value of unmap bandwidth
	UnmapBandwidthIncrement int64 `xml:"unmapBandwidthIncrement,omitempty" json:"unmapBandwidthIncrement,omitempty" vim:"6.7"`
	// Fixed unmap bandwidth ultra low limit value in MB/sec.
	UnmapBandwidthUltraLow int64 `xml:"unmapBandwidthUltraLow,omitempty" json:"unmapBandwidthUltraLow,omitempty" vim:"8.0.0.1"`
}

type VmfsDatastoreAllExtentOption

type VmfsDatastoreAllExtentOption struct {
	VmfsDatastoreSingleExtentOption
}

Datastore addition policy to use the entire disk as a single extent for a VMFS datastore.

If there is any data on the disk, it will be overwritten.

type VmfsDatastoreBaseOption

type VmfsDatastoreBaseOption struct {
	DynamicData

	// The partition table layout that the disk will have if this
	// provisioning option is selected.
	//
	// In releases after vSphere API 5.0, vSphere Servers might not
	// generate property collector update notifications for this property.
	// To obtain the latest value of the property, you can use
	// PropertyCollector methods RetrievePropertiesEx or WaitForUpdatesEx.
	// If you use the PropertyCollector.WaitForUpdatesEx method, specify
	// an empty string for the version parameter.
	// Since this property is on a DataObject, an update returned by WaitForUpdatesEx may
	// contain values for this property when some other property on the DataObject changes.
	// If this update is a result of a call to WaitForUpdatesEx with a non-empty
	// version parameter, the value for this property may not be current.
	Layout HostDiskPartitionLayout `xml:"layout" json:"layout"`
	// Indicates whether selecting this option will change the partition
	// format type on the disk.
	//
	// See also `HostDiskPartitionInfoPartitionFormat_enum`.
	PartitionFormatChange *bool `xml:"partitionFormatChange" json:"partitionFormatChange,omitempty" vim:"5.0"`
}

Base class that describes a VMFS datastore provisioning option.

func (*VmfsDatastoreBaseOption) GetVmfsDatastoreBaseOption

func (b *VmfsDatastoreBaseOption) GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption

type VmfsDatastoreCreateSpec

type VmfsDatastoreCreateSpec struct {
	VmfsDatastoreSpec

	// Partitioning specification.
	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
	// The VMFS creation specification.
	Vmfs HostVmfsSpec `xml:"vmfs" json:"vmfs"`
	// Extents to append to VMFS.
	Extent []HostScsiDiskPartition `xml:"extent,omitempty" json:"extent,omitempty"`
}

This data object type is used when creating a new VMFS datastore, to create a specification for the VMFS datastore.

type VmfsDatastoreExpandSpec

type VmfsDatastoreExpandSpec struct {
	VmfsDatastoreSpec

	// Partitioning specification.
	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
	// VMFS extent to expand.
	Extent HostScsiDiskPartition `xml:"extent" json:"extent"`
}

Specification to increase the capacity of a VMFS datastore by expanding (increasing the size of) an existing extent of the datastore.

type VmfsDatastoreExtendSpec

type VmfsDatastoreExtendSpec struct {
	VmfsDatastoreSpec

	// Partitioning specification.
	Partition HostDiskPartitionSpec `xml:"partition" json:"partition"`
	// Extents to append to VMFS.
	Extent []HostScsiDiskPartition `xml:"extent" json:"extent"`
}

Specification to increase the capacity of a VMFS datastore by adding one or more new extents to the datastore.

All the extents to be added must be on the same disk. Extension is different from creation in that the VMFS creation specification need not be specified.

type VmfsDatastoreInfo

type VmfsDatastoreInfo struct {
	DatastoreInfo

	// Maximum raw device mapping size (physical compatibility)
	MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty" json:"maxPhysicalRDMFileSize,omitempty" vim:"5.1"`
	// Maximum raw device mapping size (virtual compatibility)
	MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty" json:"maxVirtualRDMFileSize,omitempty" vim:"5.1"`
	// The VMFS volume information for the datastore.
	//
	// May not be
	// available when the datastore is not accessible.
	Vmfs *HostVmfsVolume `xml:"vmfs,omitempty" json:"vmfs,omitempty"`
}

Information details about a VMFS datastore.

type VmfsDatastoreMultipleExtentOption

type VmfsDatastoreMultipleExtentOption struct {
	VmfsDatastoreBaseOption

	// The block ranges to be used as extents in a VMFS datastore.
	//
	// The first
	// block range will be the head partition.
	VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
}

Datastore addition policy to use multiple extents on the disk for a VMFS datastore.

Multiple extents implies that more than one disk partition will be created on the disk for creating or increasing the capacity of a VMFS datastore. Multiple extents are needed when unpartitioned space is fragmented in the existing partition layout of the disk.

type VmfsDatastoreOption

type VmfsDatastoreOption struct {
	DynamicData

	// Information about this VMFS datastore provisioniing option.
	//
	// This
	// structure describes the extent allocation policy represented by
	// this option.
	Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr" json:"info"`
	// Specification to create or increase the capacity of a VMFS datastore.
	//
	// This property contains a configuration specification that can be
	// applied to effect the creation or capacity increase.
	Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr" json:"spec"`
}

VMFS datastore provisioning option that can be applied on a disk.

VMFS datastores can be created or have their capacity increased using storage from a disk. There are often multiple ways in which extents can be allocated on a disk. Each instance of this structure represents one of the possible options that can be applied to provisiong VMFS datastore storage. Only options that follow ESX Server best practice guidelines will be presented.

type VmfsDatastoreSingleExtentOption

type VmfsDatastoreSingleExtentOption struct {
	VmfsDatastoreBaseOption

	// The block range to be used as an extent in a VMFS datastore.
	VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent" json:"vmfsExtent"`
}

Datastore addition policy to use a single extent on the disk for a VMFS datastore.

A single extent implies that one disk partition will be created on the disk for creating or increasing the capacity of a VMFS datastore.

func (*VmfsDatastoreSingleExtentOption) GetVmfsDatastoreSingleExtentOption

func (b *VmfsDatastoreSingleExtentOption) GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption

type VmfsDatastoreSpec

type VmfsDatastoreSpec struct {
	DynamicData

	// The UUID of the SCSI disk on which the VMFS datastore is located.
	//
	// See also `HostScsiDisk`, `ScsiLun.uuid`.
	DiskUuid string `xml:"diskUuid" json:"diskUuid"`
}

Base class for VMFS datastore addition specification.

Used as a generic way to point to one of the creation specifications that can be used to apply a specification to effect the creation or extension of a VMFS datastore.

func (*VmfsDatastoreSpec) GetVmfsDatastoreSpec

func (b *VmfsDatastoreSpec) GetVmfsDatastoreSpec() *VmfsDatastoreSpec

type VmfsMountFault

type VmfsMountFault struct {
	HostConfigFault

	// Vmfs volume uuid
	Uuid string `xml:"uuid" json:"uuid"`
}

This is a base class for all VMFS volume mount related faults.

func (*VmfsMountFault) GetVmfsMountFault

func (b *VmfsMountFault) GetVmfsMountFault() *VmfsMountFault

type VmfsMountFaultFault

type VmfsMountFaultFault BaseVmfsMountFault

type VmfsUnmapBandwidthSpec added in v0.18.0

type VmfsUnmapBandwidthSpec struct {
	DynamicData

	// This property determines the unmap bandwidth policy.
	//
	// See `HostVmfsVolumeUnmapBandwidthPolicy_enum` for supported
	// values. If not specified, the default value is
	// `fixed`, which means
	// unmap is processed at a fixed rate.
	Policy string `xml:"policy" json:"policy"`
	// This property determines the bandwidth under the fixed policy.
	FixedValue int64 `xml:"fixedValue" json:"fixedValue"`
	// This property determines the lower limits of the unmap bandwidth
	// under the dynamic policy.
	DynamicMin int64 `xml:"dynamicMin" json:"dynamicMin"`
	// This property determines the upper limits of the unmap bandwidth
	// under the dynamic policy.
	DynamicMax int64 `xml:"dynamicMax" json:"dynamicMax"`
}

VMFS unmap reclaims unused storage space.

This data object type describes the specification of VMFS unmap bandwidth.

type VmotionInterfaceNotEnabled

type VmotionInterfaceNotEnabled struct {
	HostPowerOpFailed
}

This fault is thrown when the Vmotion Interface on this host is not enabled.

The Vmotion Interface is needed for waking up the host from standby mode.

type VmotionInterfaceNotEnabledFault

type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled

type VmwareDistributedVirtualSwitchPvlanPortType

type VmwareDistributedVirtualSwitchPvlanPortType string

type VmwareDistributedVirtualSwitchPvlanSpec

type VmwareDistributedVirtualSwitchPvlanSpec struct {
	VmwareDistributedVirtualSwitchVlanSpec

	// The `VMwareDVSPvlanMapEntry.secondaryVlanId`.
	PvlanId int32 `xml:"pvlanId" json:"pvlanId"`
}

This data type defines the configuration when PVLAN id is to be used for the ports.

type VmwareDistributedVirtualSwitchTrunkVlanSpec

type VmwareDistributedVirtualSwitchTrunkVlanSpec struct {
	VmwareDistributedVirtualSwitchVlanSpec

	// The VlanId range for the trunk port.
	//
	// The valid VlanId range is
	// from 0 to 4094. Overlapping ranges are allowed.
	VlanId []NumericRange `xml:"vlanId,omitempty" json:"vlanId,omitempty"`
}

This data type specifies that the port uses trunk mode, which allows the guest operating system to manage its own VLAN tags.

type VmwareDistributedVirtualSwitchVlanIdSpec

type VmwareDistributedVirtualSwitchVlanIdSpec struct {
	VmwareDistributedVirtualSwitchVlanSpec

	// The VLAN ID for ports.
	//
	// Possible values:
	//     - A value of 0 specifies that you do not want the port associated
	//       with a VLAN.
	//     - A value from 1 to 4094 specifies a VLAN ID for the port.
	VlanId int32 `xml:"vlanId" json:"vlanId"`
}

This data type defines the configuration when single vlanId is used for the port.

type VmwareDistributedVirtualSwitchVlanSpec

type VmwareDistributedVirtualSwitchVlanSpec struct {
	InheritablePolicy
}

Base class for Vlan Specifiation for ports.

func (*VmwareDistributedVirtualSwitchVlanSpec) GetVmwareDistributedVirtualSwitchVlanSpec

func (b *VmwareDistributedVirtualSwitchVlanSpec) GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec

type VmwareUplinkPortTeamingPolicy

type VmwareUplinkPortTeamingPolicy struct {
	InheritablePolicy

	// Network adapter teaming policy.
	//
	// The policy defines the way traffic
	// from the clients of the team is routed through the different uplinks
	// in the team. The policies supported on the VDS platform is one of
	// `nicTeamingPolicy`.
	Policy *StringPolicy `xml:"policy,omitempty" json:"policy,omitempty"`
	// The flag to indicate whether or not the teaming policy is applied
	// to inbound frames as well.
	//
	// Also see `HostNicTeamingPolicy.reversePolicy`
	ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty" json:"reversePolicy,omitempty"`
	// Flag to specify whether or not to notify the physical switch
	// if a link fails.
	//
	// Also see `HostNicTeamingPolicy.notifySwitches`
	NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty" json:"notifySwitches,omitempty"`
	// The flag to indicate whether or not to use a rolling policy when
	// restoring links.
	//
	// Also see `HostNicTeamingPolicy.rollingOrder`
	RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty" json:"rollingOrder,omitempty"`
	// Failover detection policy for the uplink port team.
	FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty" json:"failureCriteria,omitempty"`
	// Failover order policy for uplink ports on the hosts.
	UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty" json:"uplinkPortOrder,omitempty"`
}

Policy for a uplink port team.

type VnicPortArgument

type VnicPortArgument struct {
	DynamicData

	// The Virtual NIC devices that were using the DVports.
	Vnic string `xml:"vnic" json:"vnic"`
	// The DVPorts that were being used.
	Port DistributedVirtualSwitchPortConnection `xml:"port" json:"port"`
}

This argument records a Virtual NIC device that connects to a DVPort.

type VolumeEditorError

type VolumeEditorError struct {
	CustomizationFault
}

An error occurred in the Open Source Components applications during volume editing.

Possibly caused by an incompatible cygwin version installed in the VirtualCenter server.

type VolumeEditorErrorFault

type VolumeEditorErrorFault VolumeEditorError

type VramLimitLicense

type VramLimitLicense struct {
	NotEnoughLicenses

	// The maximum allowed vRAM amount.
	Limit int32 `xml:"limit" json:"limit"`
}

A VramLimitLicense fault is thrown if executing an operation would result in exceeding maximum allowed vRAM amount.

For example, this could happen when powering on a VM, hot-plugging memory into a running VMm, etc.

type VramLimitLicenseFault

type VramLimitLicenseFault VramLimitLicense

type VsanClusterConfigInfo

type VsanClusterConfigInfo struct {
	DynamicData

	// Whether the VSAN service is enabled for the cluster.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// Default VSAN settings to use for hosts admitted to the cluster when the
	// VSAN service is enabled.
	//
	// If omitted, values will default as though the
	// fields in the `VsanClusterConfigInfoHostDefaultInfo` have been omitted.
	//
	// See also `VsanClusterConfigInfo.enabled`, `VsanClusterConfigInfoHostDefaultInfo`.
	DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty" json:"defaultConfig,omitempty"`
	// Whether the vSAN ESA is enabled for vSAN cluster.
	//
	// This can only be
	// enabled when vSAN is enabled on the cluster.
	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
}

The `VsanClusterConfigInfo` data object contains configuration data for the VSAN service in a cluster.

This data object is used both for specifying cluster-wide settings when updating the VSAN service, and as an output datatype when retrieving current cluster-wide VSAN service settings.

See also `ComputeResource.ReconfigureComputeResource_Task`.

type VsanClusterConfigInfoHostDefaultInfo

type VsanClusterConfigInfoHostDefaultInfo struct {
	DynamicData

	// VSAN service cluster UUID, in the string form
	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
	// digits.
	//
	// When enabling the VSAN service on the cluster, this value shall
	// not be specified by the user; a suitable UUID will be generated
	// by the platform.
	// While the VSAN service is enabled, this is a read-only value.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// Deprecated as this configuration will be deprecated, autoclaim
	// will be no longer supported.
	//
	// Whether the VSAN service is configured to automatically claim local
	// storage on VSAN-enabled hosts in the cluster.
	//
	// If omitted while enabling the VSAN service, this value will default
	// to <code>true</code>.
	// Changing this value to <code>false</code> shall not affect any
	// existing disk mappings in use by hosts currently participating in
	// the VSAN service.
	// Changing this value to <code>true</code> will result in local disks
	// being automatically claimed for use by the VSAN service, for hosts
	// currently participating in the VSAN service.
	//
	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `VsanHostConfigInfoStorageInfo.autoClaimStorage`.
	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
	// Whether the VSAN service is configured to enforce checksum protection.
	//
	// If omitted while enabling the VSAN service, this value will default
	// to <code>false<code>.
	// Change this value to <code>false</code> shall not affect any existing
	// disk status.
	// Changing this value to <code>true</code> shall do disk enforcement
	// check that all VSAN disks are checksum enabled.
	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty" vim:"6.0"`
}

Default VSAN service configuration to be used for hosts admitted to the cluster.

See also `VsanClusterConfigInfo.defaultConfig`.

type VsanClusterUuidMismatch

type VsanClusterUuidMismatch struct {
	CannotMoveVsanEnabledHost

	// The VSAN cluster UUID in use by the host at hand.
	HostClusterUuid string `xml:"hostClusterUuid" json:"hostClusterUuid"`
	// The VSAN cluster UUID in use by the destination
	// `ClusterComputeResource`.
	DestinationClusterUuid string `xml:"destinationClusterUuid" json:"destinationClusterUuid"`
}

Fault thrown for the case that an attempt is made to move a host which is enabled for VSAN into a `ClusterComputeResource` whose VSAN cluster UUID does not match.

See also `CannotMoveVsanEnabledHost`.

type VsanClusterUuidMismatchFault

type VsanClusterUuidMismatchFault VsanClusterUuidMismatch

type VsanDatastoreInfo added in v0.24.0

type VsanDatastoreInfo struct {
	DatastoreInfo

	// The cluster membership identity of the datastore.
	MembershipUuid string `xml:"membershipUuid,omitempty" json:"membershipUuid,omitempty"`
	// The generation number tracking datastore accessibility.
	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
}

Detailed information about a vSAN datastore.

type VsanDiskFault

type VsanDiskFault struct {
	VsanFault

	// The canonical name for the disk at hand, if applicable.
	//
	// See also `ScsiLun.canonicalName`.
	Device string `xml:"device,omitempty" json:"device,omitempty"`
}

Base exception class for VSAN disk-related faults.

func (*VsanDiskFault) GetVsanDiskFault

func (b *VsanDiskFault) GetVsanDiskFault() *VsanDiskFault

type VsanDiskFaultFault

type VsanDiskFaultFault BaseVsanDiskFault

type VsanDiskIssueType

type VsanDiskIssueType string

type VsanFault

type VsanFault struct {
	VimFault
}

Base exception class for VSAN-specific faults raised for host or cluster operations.

See also `HostVsanSystem`, `ComputeResource.ReconfigureComputeResource_Task`.

func (*VsanFault) GetVsanFault

func (b *VsanFault) GetVsanFault() *VsanFault

type VsanFaultFault

type VsanFaultFault BaseVsanFault

type VsanHostClusterStatus

type VsanHostClusterStatus struct {
	DynamicData

	// VSAN service cluster UUID.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// VSAN node UUID for this host.
	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
	// VSAN health state for this host.
	//
	// See also `VsanHostHealthState_enum`.
	Health string `xml:"health" json:"health"`
	// VSAN node state for this host.
	NodeState VsanHostClusterStatusState `xml:"nodeState" json:"nodeState"`
	// List of UUIDs for VSAN nodes known to this host.
	MemberUuid []string `xml:"memberUuid,omitempty" json:"memberUuid,omitempty"`
}

The `VsanHostClusterStatus` data object contains a host's cluster status information for the VSAN service.

This data object is used to represent read-only state whose values may change during operation.

See also `HostVsanSystem.QueryHostStatus`.

type VsanHostClusterStatusState

type VsanHostClusterStatusState struct {
	DynamicData

	// VSAN node state for this host.
	//
	// See also `VsanHostNodeState_enum`.
	State string `xml:"state" json:"state"`
	// An estimation of the completion of a node state transition; this
	// value may be populated for transitory node states.
	//
	// See also `VsanHostNodeState_enum`.
	Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty" json:"completion,omitempty"`
}

Data object representing the VSAN node state for a host.

type VsanHostClusterStatusStateCompletionEstimate

type VsanHostClusterStatusStateCompletionEstimate struct {
	DynamicData

	// Estimated time of completion.
	CompleteTime *time.Time `xml:"completeTime" json:"completeTime,omitempty"`
	// Estimated percent of completion as a value in the range \[0, 100\].
	PercentComplete int32 `xml:"percentComplete,omitempty" json:"percentComplete,omitempty"`
}

Estimated completion status for transitory node states.

See also `VsanHostNodeState_enum`.

type VsanHostConfigInfo

type VsanHostConfigInfo struct {
	DynamicData

	// Whether the VSAN service is currently enabled on this host.
	Enabled *bool `xml:"enabled" json:"enabled,omitempty"`
	// The `HostSystem` for this host.
	//
	// This argument is required when this configuration is specified as
	// an input to VC-level APIs. When this configuration is specified
	// to a host-level direct API, this argument may be omitted.
	//
	// See also `ComputeResource.ReconfigureComputeResource_Task`, `HostVsanSystem.UpdateVsan_Task`.
	//
	// Refers instance of `HostSystem`.
	HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty" json:"hostSystem,omitempty"`
	// The VSAN service cluster configuration for this host.
	ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty" json:"clusterInfo,omitempty"`
	// The VSAN storage configuration for this host.
	//
	// VSAN storage configuration settings are independent of the
	// current value of `VsanHostConfigInfo.enabled`.
	StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty" json:"storageInfo,omitempty"`
	// The VSAN network configuration for this host.
	//
	// VSAN network configuration settings are independent of the
	// current value of `VsanHostConfigInfo.enabled`.
	NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty" json:"networkInfo,omitempty"`
	// The VSAN fault domain configuration for this host.
	//
	// VSAN host fault domain settings are independent of the
	// current value of `VsanHostConfigInfo.enabled`.
	FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty" json:"faultDomainInfo,omitempty" vim:"6.0"`
	// Whether the vSAN ESA is enabled on this host.
	//
	// This can only be
	// enabled when vSAN is enabled on this host.
	VsanEsaEnabled *bool `xml:"vsanEsaEnabled" json:"vsanEsaEnabled,omitempty" vim:"8.0.0.1"`
}

The `VsanHostConfigInfo` data object contains host-specific settings for the VSAN service.

This data object is used both for specifying settings for updating the VSAN service, and as an output datatype when retrieving current VSAN service settings.

type VsanHostConfigInfoClusterInfo

type VsanHostConfigInfoClusterInfo struct {
	DynamicData

	// VSAN service cluster UUID, in the string form
	// "nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn", where n are hexadecimal
	// digits.
	//
	// If provided while enabling the VSAN service, this value will be
	// used for the service cluster UUID. If omitted when enabling the
	// VSAN service, a suitable UUID will be generated by the platform.
	// This is a read-only value while the VSAN service is enabled.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// VSAN node UUID for this host.
	//
	// This is a read-only value which is populated upon enabling of the
	// VSAN service.
	NodeUuid string `xml:"nodeUuid,omitempty" json:"nodeUuid,omitempty"`
}

Host-local VSAN cluster configuration.

This data object is used both for specifying and retrieving cluster configuration for a host participating in the VSAN service.

type VsanHostConfigInfoNetworkInfo

type VsanHostConfigInfoNetworkInfo struct {
	DynamicData

	// Set of PortConfig entries for use by the VSAN service, one per
	// "virtual network" as used by VSAN.
	Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty" json:"port,omitempty"`
}

Host-local VSAN network configuration.

This data object is used both for specifying and retrieving network configuration for a host participating in the VSAN service.

type VsanHostConfigInfoNetworkInfoPortConfig

type VsanHostConfigInfoNetworkInfoPortConfig struct {
	DynamicData

	// `VsanHostIpConfig` for this PortConfig.
	IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty" json:"ipConfig,omitempty"`
	// Device name which identifies the network adapter for this
	// PortConfig.
	//
	// See also `HostVirtualNic.device`.
	Device string `xml:"device" json:"device"`
}

A PortConfig represents a virtual network adapter and its configuration for use by the VSAN service.

See also `HostVirtualNic`.

type VsanHostConfigInfoStorageInfo

type VsanHostConfigInfoStorageInfo struct {
	DynamicData

	// Deprecated as this configuration will be deprecated, autoclaim
	// will be no longer supported.
	//
	// Whether the VSAN service is configured to automatically claim local
	// unused storage on this host.
	//
	// When set, the VSAN service will automatically format and use local
	// disks. Side effects from any disk consumption will be reflected in
	// `VsanHostConfigInfoStorageInfo.diskMapping`.
	// If this argument is specified as a host-level configuration input
	// at the VC-level (see `ClusterConfigInfoEx.vsanHostConfig`),
	// it will override that of any cluster-level default value.
	//
	// See also `VsanHostConfigInfoStorageInfo.diskMapping`, `ClusterConfigInfoEx.vsanHostConfig`, `VsanClusterConfigInfo.defaultConfig`.
	AutoClaimStorage *bool `xml:"autoClaimStorage" json:"autoClaimStorage,omitempty"`
	// Deprecated use `VsanHostConfigInfoStorageInfo.diskMapInfo` instead.
	//
	// List of `VsanHostDiskMapping` entries in use by the VSAN service.
	//
	// DiskMappings to be used by the VSAN service may be manually
	// specified using
	// `HostVsanSystem.InitializeDisks_Task`.
	//
	// See also `HostVsanSystem.InitializeDisks_Task`.
	DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty" json:"diskMapping,omitempty"`
	// List of `VsanHostDiskMapping` entries with runtime information from
	// the perspective of this host.
	DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty" json:"diskMapInfo,omitempty" vim:"6.0"`
	// Deprecated this attribute was originally used for indicating whether
	// hardware checksums is supported on the disks. But in vSphere 2016
	// hardware checksums are replaced with software implementation,
	// supported by all disks. This makes current field redundant,
	// and its value as an input/output is ignored.
	//
	// Whether checksum is enabled on all the disks in this host.
	//
	// If any disk is not checksum capable or 520 bps formatted,
	// we will skip it.
	ChecksumEnabled *bool `xml:"checksumEnabled" json:"checksumEnabled,omitempty" vim:"6.0"`
}

Host-local VSAN storage configuration.

This data object is used both for specifying and retrieving storage configuration for a host participating in the VSAN service.

type VsanHostDecommissionMode

type VsanHostDecommissionMode struct {
	DynamicData

	// Specifies an action to take with regard to the VSAN service upon
	// putting a host into maintenance mode.
	//
	// See also `VsanHostDecommissionModeObjectAction_enum`.
	ObjectAction string `xml:"objectAction" json:"objectAction"`
}

A `VsanHostDecommissionMode` defines an action to take upon decommissioning a host from use with the VSAN service.

If the VSAN service DecommissionMode is omitted in a call to `HostSystem.EnterMaintenanceMode_Task`, the default action chosen will be `ensureObjectAccessibility`.

See also `HostSystem.EnterMaintenanceMode_Task`, `HostMaintenanceSpec.vsanMode`.

type VsanHostDecommissionModeObjectAction

type VsanHostDecommissionModeObjectAction string

The action to take with regard to storage objects upon decommissioning

type VsanHostDiskMapInfo

type VsanHostDiskMapInfo struct {
	DynamicData

	// DiskMapping.
	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
	// Indicates whether the `VsanHostDiskMapping` is mounted.
	Mounted bool `xml:"mounted" json:"mounted"`
}

A DiskMapInfo represents a `VsanHostDiskMapping` and its corresponding runtime information.

See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.

type VsanHostDiskMapResult

type VsanHostDiskMapResult struct {
	DynamicData

	// DiskMapping for this result.
	Mapping VsanHostDiskMapping `xml:"mapping" json:"mapping"`
	// List of results for each disk in the mapping.
	DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty" json:"diskResult,omitempty"`
	// Error information for this result.
	//
	// See also `VsanDiskFault`.
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

A DiskMapResult represents the result of an operation performed on the set of disks in a `VsanHostDiskMapping`.

See also `HostVsanSystem.InitializeDisks_Task`, `HostVsanSystem.UpdateVsan_Task`.

type VsanHostDiskMapping

type VsanHostDiskMapping struct {
	DynamicData

	// SSD `HostScsiDisk`.
	Ssd HostScsiDisk `xml:"ssd" json:"ssd"`
	// Set of non-SSD backing `HostScsiDisk`.
	NonSsd []HostScsiDisk `xml:"nonSsd" json:"nonSsd"`
}

A `VsanHostDiskMapping` is a set of one SSD `HostScsiDisk` backed by a set of one or more non-SSD `HostScsiDisk`.

The maximum allowed `VsanHostDiskMapping` for a host is 5. A maximum set of 7 non-SSDs `HostScsiDisk` can be added to the one SSD `HostScsiDisk`.

See also `VsanHostConfigInfoStorageInfo`, `HostVsanSystem.InitializeDisks_Task`.

type VsanHostDiskResult

type VsanHostDiskResult struct {
	DynamicData

	// Disk for this result.
	Disk HostScsiDisk `xml:"disk" json:"disk"`
	// State of the disk for this result.
	//
	// See also `VsanHostDiskResultState_enum`.
	State string `xml:"state" json:"state"`
	// VSAN disk UUID in case this disk is a VSAN disk.
	VsanUuid string `xml:"vsanUuid,omitempty" json:"vsanUuid,omitempty"`
	// Error information for this result: may be populated with additional
	// information about the disk at hand, regardless of the disk's state.
	//
	// See also `VsanDiskFault`, `VsanHostDiskResult.state`.
	Error *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
	// Indicates whether the disk is degraded in VSAN performance.
	//
	// If set, indicates the disk performance is degraded in VSAN
	// If unset, it is unknown whether the disk performance is degraded in VSAN.
	Degraded *bool `xml:"degraded" json:"degraded,omitempty" vim:"6.0"`
}

A DiskResult represents the result of VSAN configuration operation on a `HostScsiDisk`, and its current eligibility state for use by the VSAN service.

See also `HostVsanSystem.QueryDisksForVsan`, `HostVsanSystem.UpdateVsan_Task`, `VsanHostDiskResultState_enum`.

type VsanHostDiskResultState

type VsanHostDiskResultState string

Values used for indicating a disk's status for use by the VSAN service.

type VsanHostFaultDomainInfo

type VsanHostFaultDomainInfo struct {
	DynamicData

	// The configured VSAN fault domain.
	//
	// The length of fault domain name should not exceed 256.
	// Empty string indicates that the default fault domain is used.
	Name string `xml:"name" json:"name"`
}

Host-local VSAN fault domain configuration.

This data object is used both for specifying and retrieving fault domain configuration for a host participating in the VSAN service.

type VsanHostHealthState

type VsanHostHealthState string

A `VsanHostHealthState_enum` represents the state of a participating host in the VSAN service.

type VsanHostIpConfig

type VsanHostIpConfig struct {
	DynamicData

	// Agent-to-master multicast IP address.
	UpstreamIpAddress string `xml:"upstreamIpAddress" json:"upstreamIpAddress"`
	// Master-to-agent multicast IP address.
	DownstreamIpAddress string `xml:"downstreamIpAddress" json:"downstreamIpAddress"`
}

An `VsanHostIpConfig` is a pair of multicast IP addresses for use by the VSAN service.

For VSAN there is one such IpConfig pair per "virtual network" as represented by `VsanHostConfigInfoNetworkInfoPortConfig`.

See also `VsanHostConfigInfoNetworkInfo`, `VsanHostConfigInfoNetworkInfo.port`, `VsanHostConfigInfoNetworkInfoPortConfig`, `HostVsanSystem.UpdateVsan_Task`.

type VsanHostMembershipInfo

type VsanHostMembershipInfo struct {
	DynamicData

	// VSAN node UUID for the host of this MembershipInfo.
	//
	// See also `VsanHostClusterStatus.nodeUuid`.
	NodeUuid string `xml:"nodeUuid" json:"nodeUuid"`
	// Hostname for the host of this MembershipInfo.
	//
	// May be the empty string "" if the hostname is unavailable.
	Hostname string `xml:"hostname" json:"hostname"`
}

The `VsanHostMembershipInfo` data object contains VSAN cluster membership information for a single host, as observed from a given host.

This data object is used to represent read-only state whose values may change during operation.

See also `HostRuntimeInfo.vsanRuntimeInfo`.

type VsanHostNodeState

type VsanHostNodeState string

A `VsanHostNodeState_enum` represents the state of participation of a host in the VSAN service.

type VsanHostRuntimeInfo

type VsanHostRuntimeInfo struct {
	DynamicData

	// This property reports host membership information.
	MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty" json:"membershipList,omitempty"`
	// List of disk issues detected on this host.
	//
	// To retrieve more information on the issues, use
	// `HostVsanSystem.QueryDisksForVsan`.
	DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty" json:"diskIssues,omitempty"`
	// Generation number tracking object accessibility.
	AccessGenNo int32 `xml:"accessGenNo,omitempty" json:"accessGenNo,omitempty"`
}

This data object contains VSAN cluster runtime information from the perspective of the host in question.

This data object is used to represent read-only state whose values may change during operation.

type VsanHostRuntimeInfoDiskIssue

type VsanHostRuntimeInfoDiskIssue struct {
	DynamicData

	// Disk uuid, @see vim.host.ScsiLun#uuid
	DiskId string `xml:"diskId" json:"diskId"`
	// Type of issue
	//
	// See also `VsanDiskIssueType_enum`.
	Issue string `xml:"issue" json:"issue"`
}

Data structure of reporting a disk issue.

type VsanHostVsanDiskInfo

type VsanHostVsanDiskInfo struct {
	DynamicData

	// Disk UUID in VSAN
	VsanUuid string `xml:"vsanUuid" json:"vsanUuid"`
	// VSAN file system version number
	FormatVersion int32 `xml:"formatVersion" json:"formatVersion"`
}

A VsanDiskInfo represents the additional detailed information of a ScsiDisk used by VSAN, to map physical disk to VSAN disk.

See also `HostScsiDisk`.

type VsanIncompatibleDiskMapping

type VsanIncompatibleDiskMapping struct {
	VsanDiskFault
}

Fault used for the add operation which will result in incompatible disk mappings.

See also `HostVsanSystem.InitializeDisks_Task`.

type VsanIncompatibleDiskMappingFault

type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping

type VsanNewPolicyBatch

type VsanNewPolicyBatch struct {
	DynamicData

	// Size (in bytes) of the objects.
	Size []int64 `xml:"size,omitempty" json:"size,omitempty"`
	// New policy in SPBM or VSAN expression format.
	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
}

NewPolicyBatch -- Structure to specify a list of object sizes and a policy for what-if analysis.

type VsanPolicyChangeBatch

type VsanPolicyChangeBatch struct {
	DynamicData

	// UUIDs of the objects.
	Uuid []string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// New policy in SPBM or VSAN expression format.
	Policy string `xml:"policy,omitempty" json:"policy,omitempty"`
}

PolicyChangeBatch -- Structure to specify a list of object uuids and a policy for what-if analysis.

type VsanPolicyCost

type VsanPolicyCost struct {
	DynamicData

	// Change (in bytes) of size of data stored on the datastore.
	//
	// This is
	// the max of reserved and used capacity.
	ChangeDataSize int64 `xml:"changeDataSize,omitempty" json:"changeDataSize,omitempty"`
	// Size (in bytes) of data currently stored on the datastore.
	//
	// This is
	// the max of reserved and used capacity.
	CurrentDataSize int64 `xml:"currentDataSize,omitempty" json:"currentDataSize,omitempty"`
	// Size (in bytes) for temporary data that will be needed on disk if
	// new policy is applied.
	TempDataSize int64 `xml:"tempDataSize,omitempty" json:"tempDataSize,omitempty"`
	// Size (in bytes) of data we need to write to VSAN Datastore if new
	// policy is applied.
	CopyDataSize int64 `xml:"copyDataSize,omitempty" json:"copyDataSize,omitempty"`
	// Change (in bytes) of flash space reserved for read cache if new
	// policy is applied.
	ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty" json:"changeFlashReadCacheSize,omitempty"`
	// Size (in bytes) of flash space currently reserved for read cache.
	CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty" json:"currentFlashReadCacheSize,omitempty"`
	// Current ratio of physical disk space of an object to the logical VSAN
	// address space.
	//
	// For eg. an object of size 1GB with two copies of the
	// data has two 1GB replicas and so this ratio is 2.
	CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty" json:"currentDiskSpaceToAddressSpaceRatio,omitempty" vim:"6.0"`
	// Ratio of physical disk space of an object to the logical VSAN
	// address space after new policy is applied.
	//
	// For eg. an object of size
	// 1GB with two copies of the data has two 1GB replicas and so this
	// ratio is 2.
	DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty" json:"diskSpaceToAddressSpaceRatio,omitempty"`
}

PolicyCost -- Structure to describe the cost of satisfying a policy.

type VsanPolicySatisfiability

type VsanPolicySatisfiability struct {
	DynamicData

	// UUID of the object.
	Uuid string `xml:"uuid,omitempty" json:"uuid,omitempty"`
	// Can the policy be satisfied given the assumptions of the API that
	// queried satisfiability.
	//
	// See also `HostVsanInternalSystem.ReconfigurationSatisfiable`.
	IsSatisfiable bool `xml:"isSatisfiable" json:"isSatisfiable"`
	// Reason for not being able to satisfy the policy; This is unset if
	// policy can be satisfied.
	Reason *LocalizableMessage `xml:"reason,omitempty" json:"reason,omitempty"`
	// Cost of satisfying the new policy; This is unset if policy cannot be
	// satisfied.
	Cost *VsanPolicyCost `xml:"cost,omitempty" json:"cost,omitempty"`
}

PolicySatisfiablity -- Structure to describe whether a policy can be satisfied.

type VsanUpgradeSystemAPIBrokenIssue

type VsanUpgradeSystemAPIBrokenIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Hosts this issue applies to.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Pre-flight check encountered a VC plumbing issue.

type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue

type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Hosts this issue applies to.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Pre-flight check encountered at least one host with auto-claim enabled.

type VsanUpgradeSystemHostsDisconnectedIssue

type VsanUpgradeSystemHostsDisconnectedIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Hosts this issue applies to.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Pre-flight check encountered at least one host that is disconnected or not responding.

type VsanUpgradeSystemMissingHostsInClusterIssue

type VsanUpgradeSystemMissingHostsInClusterIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Hosts this issue applies to.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Pre-flight check encountered at least one host that is part of the VC cluster but not the VSAN cluster.

type VsanUpgradeSystemNetworkPartitionInfo

type VsanUpgradeSystemNetworkPartitionInfo struct {
	DynamicData

	// Hosts that make up the network partition
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Information about a particular group of hosts making up a network partition.

type VsanUpgradeSystemNetworkPartitionIssue

type VsanUpgradeSystemNetworkPartitionIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// List of network partitions
	Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions" json:"partitions"`
}

Pre-flight check encountered a network partition.

Contains details about the discovered network partition.

type VsanUpgradeSystemNotEnoughFreeCapacityIssue

type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Indicates that whether upgrade could be processed if option
	// allowReducedRedundancy is taken.
	ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible" json:"reducedRedundancyUpgradePossible"`
}

Pre-flight check encountered not enough free disk capacity to maintain policy compliance.

type VsanUpgradeSystemPreflightCheckIssue

type VsanUpgradeSystemPreflightCheckIssue struct {
	DynamicData

	// Message describing the issue.
	Msg string `xml:"msg" json:"msg"`
}

Base class for a pre-flight check issue.

Can be used directly but usually a derived class with a specific issue type is used.

func (*VsanUpgradeSystemPreflightCheckIssue) GetVsanUpgradeSystemPreflightCheckIssue

func (b *VsanUpgradeSystemPreflightCheckIssue) GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue

type VsanUpgradeSystemPreflightCheckResult

type VsanUpgradeSystemPreflightCheckResult struct {
	DynamicData

	// Detected issues.
	//
	// In some cases, not all possible issues are captured,
	// i.e. only the first (few) issues may be captured, and only once those
	// are resolved would additional issues be reported.
	// Absence of issues means the pre-flight check passed.
	Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr" json:"issues,omitempty"`
	// If the upgrade process was previously interrupted, it may have
	// removed VSAN from a disk group, but not added the disk group back
	// into VSAN.
	//
	// If such a situation is detected, this field will be set
	// and contains information about this disk group.
	DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty" json:"diskMappingToRestore,omitempty"`
}

Captures the result of a VSAN upgrade pre-flight check.

type VsanUpgradeSystemRogueHostsInClusterIssue

type VsanUpgradeSystemRogueHostsInClusterIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Host UUIDs of rogue hosts.
	Uuids []string `xml:"uuids" json:"uuids"`
}

Pre-flight check encountered at least one host that is part of the VSAN cluster but not the VC cluster.

type VsanUpgradeSystemUpgradeHistoryDiskGroupOp

type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct {
	VsanUpgradeSystemUpgradeHistoryItem

	// Type of the operation, e.g.
	//
	// add or remove.
	//
	// See also `VsanUpgradeSystemUpgradeHistoryDiskGroupOpType_enum`.
	Operation string `xml:"operation" json:"operation"`
	// Disk group that is being added/removed
	DiskMapping VsanHostDiskMapping `xml:"diskMapping" json:"diskMapping"`
}

The upgrade process removed or added VSAN from/to a disk group.

Class provides details about the operation and the disk group.

type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType

type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string

type VsanUpgradeSystemUpgradeHistoryItem

type VsanUpgradeSystemUpgradeHistoryItem struct {
	DynamicData

	// Time stamp when the history is record.
	Timestamp time.Time `xml:"timestamp" json:"timestamp"`
	// The host a history item pertains to.
	//
	// May be unset when item related
	// to no particular host.
	//
	// Refers instance of `HostSystem`.
	Host *ManagedObjectReference `xml:"host,omitempty" json:"host,omitempty"`
	// Description of the history item.
	Message string `xml:"message" json:"message"`
	// A task associated with the history item.
	//
	// May be unset if no task is
	// associated.
	//
	// Refers instance of `Task`.
	Task *ManagedObjectReference `xml:"task,omitempty" json:"task,omitempty"`
}

Captures one "log entry" of an upgrade process.

func (*VsanUpgradeSystemUpgradeHistoryItem) GetVsanUpgradeSystemUpgradeHistoryItem

func (b *VsanUpgradeSystemUpgradeHistoryItem) GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem

type VsanUpgradeSystemUpgradeHistoryPreflightFail

type VsanUpgradeSystemUpgradeHistoryPreflightFail struct {
	VsanUpgradeSystemUpgradeHistoryItem

	// Details about the failed preflight check.
	PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult" json:"preflightResult"`
}

Upgrade process encountered a pre-flight check failure.

This leads to the upgrade process aborting the upgrade.

type VsanUpgradeSystemUpgradeStatus

type VsanUpgradeSystemUpgradeStatus struct {
	DynamicData

	// True if there is an active upgrade process.
	//
	// If true, other fields
	// are guaranteed to be populated. If false, other fields may reflect
	// a previous upgrade process run, or they may be unset.
	InProgress bool `xml:"inProgress" json:"inProgress"`
	// Log of a single upgrade task.
	//
	// Lists all operations performed by the
	// upgrade process in chronological order.
	History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr" json:"history,omitempty"`
	// Set if the upgrade process was aborted.
	Aborted *bool `xml:"aborted" json:"aborted,omitempty"`
	// Set if the upgrade process has completed successfully.
	Completed *bool `xml:"completed" json:"completed,omitempty"`
	// Progress in percent.
	Progress int32 `xml:"progress,omitempty" json:"progress,omitempty"`
}

Captures the status of a VSAN cluster on-disk format upgrade.

Contains information about progress, result, and a detailed log of operations.

type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue

type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Object UUIDs of v2 objects.
	Uuids []string `xml:"uuids" json:"uuids"`
}

Pre-flight check encountered v2 objects preventing a downgrade.

type VsanUpgradeSystemWrongEsxVersionIssue

type VsanUpgradeSystemWrongEsxVersionIssue struct {
	VsanUpgradeSystemPreflightCheckIssue

	// Hosts this issue applies to.
	//
	// Refers instances of `HostSystem`.
	Hosts []ManagedObjectReference `xml:"hosts" json:"hosts"`
}

Pre-flight check encountered at least one host with wrong ESX version.

Only 6.0 is allowed.

type VslmCloneSpec added in v0.12.0

type VslmCloneSpec struct {
	VslmMigrateSpec

	// Descriptive name of the cloned virtual storage object.
	Name string `xml:"name" json:"name"`
	// Choice of the deletion behavior of this virtual storage object.
	//
	// If not set, the default value is false.
	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
	// The metadata KV pairs that are supposed to be updated on the destination
	// virtual storage object.
	//
	// The clone task is atomic by design. That being
	// said, failing to update the specified metadata pairs leads to the failure
	// of the clone task. If unset, no metadata will be updated. An empty string
	// value is indicative of a vcenter tag.
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"6.7.2"`
}

Specification of cloning a virtual storage object.

type VslmCreateSpec added in v0.12.0

type VslmCreateSpec struct {
	DynamicData

	// Descriptive name of this virtual storage object.
	Name string `xml:"name" json:"name"`
	// Choice of the deletion behavior of this virtual storage object.
	//
	// If not set, the default value is true.
	KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm" json:"keepAfterDeleteVm,omitempty" vim:"6.7"`
	// Specification of the backings of the virtual storage object.
	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
	// Size in MB of the virtual storage object.
	CapacityInMB int64 `xml:"capacityInMB" json:"capacityInMB"`
	// Virtual storage object Profile requirement.
	//
	// If unset,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"6.7"`
	// Crypto operation of the disk.
	//
	// If unset and if `VslmCreateSpec.profile` contains an encryption iofilter,
	// then crypto will be of type CryptoSpecEncrypt, and filled with
	// keyId that is automatically generated and keyProviderId that is the
	// default kms cluster.
	Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr" json:"crypto,omitempty" vim:"7.0"`
	// The metadata KV pairs that are supposed to be created on the newly created
	// virtual storage object.
	//
	// The create task is atomic by design. That being
	// said, failing to add the specified metadata pairs leads to the failure
	// of the create task. If unset, no metadata will be added. An empty string
	// value is indicative of a vcenter tag.
	Metadata []KeyValue `xml:"metadata,omitempty" json:"metadata,omitempty" vim:"6.7.2"`
}

Specification to create a virtual storage object.

type VslmCreateSpecBackingSpec added in v0.12.0

type VslmCreateSpecBackingSpec struct {
	DynamicData

	// The datastore managed object where this backing is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// Relative location in the specified datastore where disk needs to be
	// created.
	//
	// If not specified disk gets created at the defualt
	// VStorageObject location on the specified datastore.
	Path string `xml:"path,omitempty" json:"path,omitempty" vim:"6.7"`
}

Specification of the backing of a virtual storage object.

func (*VslmCreateSpecBackingSpec) GetVslmCreateSpecBackingSpec added in v0.12.0

func (b *VslmCreateSpecBackingSpec) GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec

type VslmCreateSpecDiskFileBackingSpec added in v0.12.0

type VslmCreateSpecDiskFileBackingSpec struct {
	VslmCreateSpecBackingSpec

	// Provisioning type.
	//
	// See also `BaseConfigInfoDiskFileBackingInfoProvisioningType_enum`
	//
	// If unset, system will first look up the provisioning type specified
	// in the policy. If still not found, the default
	// `thin`
	// will be used..
	ProvisioningType string `xml:"provisioningType,omitempty" json:"provisioningType,omitempty"`
}

Specification of the disk file backing of a virtual storage object.

type VslmCreateSpecRawDiskMappingBackingSpec added in v0.12.0

type VslmCreateSpecRawDiskMappingBackingSpec struct {
	VslmCreateSpecBackingSpec

	// Unique identifier of the LUN accessed by the raw disk mapping.
	LunUuid string `xml:"lunUuid" json:"lunUuid"`
	// The compatibility mode of the raw disk mapping (RDM).
	//
	// This must be specified
	// when a new virtual disk with an RDM backing is created.
	//
	// See also `VirtualDiskCompatibilityMode_enum`.
	CompatibilityMode string `xml:"compatibilityMode" json:"compatibilityMode"`
}

Specification of the rdm backing of a virtual storage object.

type VslmDiskInfoFlag added in v0.29.0

type VslmDiskInfoFlag string

type VslmInfrastructureObjectPolicy added in v0.18.0

type VslmInfrastructureObjectPolicy struct {
	DynamicData

	Name            string                `xml:"name" json:"name"`
	BackingObjectId string                `xml:"backingObjectId" json:"backingObjectId"`
	ProfileId       string                `xml:"profileId" json:"profileId"`
	Error           *LocalizedMethodFault `xml:"error,omitempty" json:"error,omitempty"`
}

type VslmInfrastructureObjectPolicySpec added in v0.18.0

type VslmInfrastructureObjectPolicySpec struct {
	DynamicData

	Datastore ManagedObjectReference          `xml:"datastore" json:"datastore"`
	Profile   []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty"`
}

type VslmMigrateSpec added in v0.12.0

type VslmMigrateSpec struct {
	DynamicData

	// Specification of the backings of the target virtual storage object.
	BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr" json:"backingSpec"`
	// Virtual storage object Profile requirement.
	//
	// If unset,
	// the default behavior will apply.
	Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr" json:"profile,omitempty" vim:"6.7"`
	// Flag indicates any delta disk backings will be consolidated
	// during migration.
	//
	// If unset, delta disk backings will not be
	// consolidated.
	Consolidate *bool `xml:"consolidate" json:"consolidate,omitempty"`
	// Disk chain crypto information.
	//
	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
	// source VStorageObject is unencrypted, then disksCyrpto will be of type
	// CryptoSpecEncrypt, and filled with keyId that is automatically generated
	// and keyProviderId that is the default kms cluster. During the migration,
	// the object will be encrypted.
	// If unset and if `VslmMigrateSpec.profile` is a default policy and if source
	// VStorageObject is unenrypted, then disksCrypto is treated as
	// CryptoSpecNoOp. During migration, no cryptographic change.
	// If unset and if `VslmMigrateSpec.profile` contains an encryption iofilter and if
	// source VStorageObject is encrypted, then disksCyrpto is treated as
	// CryptoSpecNoOp. During migration, no cryptographic change.
	// If unset and if `VslmMigrateSpec.profile` is a default policy and if
	// source VStorageObject is encrypted, then disksCyrpto is treated as
	// CryptoSpecDecrypt, during migration, the object will be decrypted.
	// To recrypt the disk during migration, disksCrypto has to be present.
	DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty" json:"disksCrypto,omitempty" vim:"7.0"`
}

Base specification of moving or copying a virtual storage object.

func (*VslmMigrateSpec) GetVslmMigrateSpec added in v0.12.0

func (b *VslmMigrateSpec) GetVslmMigrateSpec() *VslmMigrateSpec

type VslmRelocateSpec added in v0.12.0

type VslmRelocateSpec struct {
	VslmMigrateSpec
}

Specification for relocating a virtual storage object.

type VslmTagEntry added in v0.12.0

type VslmTagEntry struct {
	DynamicData

	// Associated tag name of the Tag-Association tuple
	TagName string `xml:"tagName" json:"tagName"`
	// Associated parent category name of the Tag-Association tuple
	ParentCategoryName string `xml:"parentCategoryName" json:"parentCategoryName"`
}

Specification of the Tag-Association tuple of Dataservice Tagging package.

This class is a subset of the class dataservice.taggging.TaggingEntry.

type VslmVClockInfo added in v0.26.0

type VslmVClockInfo struct {
	DynamicData

	VClockTime int64 `xml:"vClockTime" json:"vClockTime"`
}

type VslmVStorageObjectControlFlag added in v0.18.0

type VslmVStorageObjectControlFlag string

type VspanDestPortConflict

type VspanDestPortConflict struct {
	DvsFault

	// The key of the Distributed Port Mirroring session whose destination ports include a port
	// that is also used as destination ports of other Distributed Port Mirroring sessions
	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
	// The key of the Distributed Port Mirroring session whose destination ports include a port
	// that is also used as destination ports of other Distributed Port Mirroring sessions
	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
	// The key of the the port that is used as destination in multiple Distributed Port Mirroring sessions
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown if a dvPort is used as destination in multiple Distributed Port Mirroring sessions.

type VspanDestPortConflictFault

type VspanDestPortConflictFault VspanDestPortConflict

type VspanPortConflict

type VspanPortConflict struct {
	DvsFault

	// The key of the Distributed Port Mirroring session that is in conflict
	VspanSessionKey1 string `xml:"vspanSessionKey1" json:"vspanSessionKey1"`
	// The key of the Distributed Port Mirroring session that is in conflict
	VspanSessionKey2 string `xml:"vspanSessionKey2" json:"vspanSessionKey2"`
	// The key of the port that is both the transmitted source and destination.
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown if a DistributedVirtualPort appears in both the transmitted source and destination ports of any Distributed Port Mirroring session.

type VspanPortConflictFault

type VspanPortConflictFault VspanPortConflict

type VspanPortMoveFault

type VspanPortMoveFault struct {
	DvsFault

	// The key of the source portgroup.
	SrcPortgroupName string `xml:"srcPortgroupName" json:"srcPortgroupName"`
	// The key of the dest portgroup.
	DestPortgroupName string `xml:"destPortgroupName" json:"destPortgroupName"`
	// The key of the port.
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown when moving a port used as tranmistted source or destination ports in vspan session to a promiscuous portgroup if this operation may change the non-promiscuous port to promiscuous mode.

type VspanPortMoveFaultFault

type VspanPortMoveFaultFault VspanPortMoveFault

type VspanPortPromiscChangeFault

type VspanPortPromiscChangeFault struct {
	DvsFault

	// The key of the port.
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown when changing a non-promiscuous port used as tranmistted source or dest ports in Distributed Port Mirroring session to promiscuous mode.

type VspanPortPromiscChangeFaultFault

type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault

type VspanPortgroupPromiscChangeFault

type VspanPortgroupPromiscChangeFault struct {
	DvsFault

	// The key of the port.
	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
}

Thrown when changing a non-promiscous portgroup to promiscuous mode if any port in this portgroup is used as tranmistted source or dest ports in vspan session.

type VspanPortgroupPromiscChangeFaultFault

type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault

type VspanPortgroupTypeChangeFault

type VspanPortgroupTypeChangeFault struct {
	DvsFault

	// The name of the portgroup.
	PortgroupName string `xml:"portgroupName" json:"portgroupName"`
}

Thrown when changing a portgroup from static/dynamic binding to ephemeral(no binding) if any ports in this portgroup participate in Distributed Port Mirroring session.

type VspanPortgroupTypeChangeFaultFault

type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault

type VspanPromiscuousPortNotSupported

type VspanPromiscuousPortNotSupported struct {
	DvsFault

	// The key of the Distributed Port Mirroring session in which a promiscuous port is used as
	// transmitted source or destination ports.
	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
	// The key of the promiscuous port that appears in transmitted
	// source or destination ports.
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown if a promiscuous port appears in transmitted source or destination ports of any Distributed Port Mirroring session.

type VspanPromiscuousPortNotSupportedFault

type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported

type VspanSameSessionPortConflict

type VspanSameSessionPortConflict struct {
	DvsFault

	// The key of the Distributed Port Mirroring session in which a dvPort appears in both the source and destination ports
	VspanSessionKey string `xml:"vspanSessionKey" json:"vspanSessionKey"`
	// The key of the port that appears in both the source and
	// destination ports of the same Distributed Port Mirroring session.
	PortKey string `xml:"portKey" json:"portKey"`
}

Thrown if a dvPort appears in both the source and destination ports of the same Distributed Port Mirroring session.

type VspanSameSessionPortConflictFault

type VspanSameSessionPortConflictFault VspanSameSessionPortConflict

type VstorageObjectVCenterQueryChangedDiskAreas added in v0.23.0

type VstorageObjectVCenterQueryChangedDiskAreas VstorageObjectVCenterQueryChangedDiskAreasRequestType

type VstorageObjectVCenterQueryChangedDiskAreasRequestType added in v0.23.0

type VstorageObjectVCenterQueryChangedDiskAreasRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The ID of the virtual storage object.
	Id ID `xml:"id" json:"id"`
	// The datastore where the source virtual storage object
	// is located.
	//
	// Refers instance of `Datastore`.
	Datastore ManagedObjectReference `xml:"datastore" json:"datastore"`
	// The ID of the snapshot of a virtual storage object for
	// which changes that have been made since "changeId"
	// should be computed.
	SnapshotId ID `xml:"snapshotId" json:"snapshotId"`
	// Start Offset in bytes at which to start computing
	// changes. Typically, callers will make multiple calls
	// to this function, starting with startOffset 0 and then
	// examine the "length" property in the returned
	// DiskChangeInfo structure, repeatedly calling
	// queryChangedDiskAreas until a map for the entire
	// virtual disk has been obtained.
	StartOffset int64 `xml:"startOffset" json:"startOffset"`
	// Identifier referring to a point in the past that should
	// be used as the point in time at which to begin including
	// changes to the disk in the result. A typical use case
	// would be a backup application obtaining a changeId from
	// a virtual disk's backing info when performing a backup.
	// When a subsequent incremental backup is to be performed,
	// this change Id can be used to obtain a list of changed
	// areas on disk.
	ChangeId string `xml:"changeId" json:"changeId"`
}

The parameters of `VcenterVStorageObjectManager.VstorageObjectVCenterQueryChangedDiskAreas`.

type VstorageObjectVCenterQueryChangedDiskAreasResponse added in v0.23.0

type VstorageObjectVCenterQueryChangedDiskAreasResponse struct {
	Returnval DiskChangeInfo `xml:"returnval" json:"returnval"`
}

type VvolDatastoreInfo

type VvolDatastoreInfo struct {
	DatastoreInfo

	VvolDS *HostVvolVolume `xml:"vvolDS,omitempty" json:"vvolDS,omitempty"`
}

Detailed information about a VirtualVolume datastore.

type WaitForUpdates

type WaitForUpdates WaitForUpdatesRequestType

type WaitForUpdatesEx

type WaitForUpdatesEx WaitForUpdatesExRequestType

type WaitForUpdatesExRequestType

type WaitForUpdatesExRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The data version currently known to the client. The value must be
	// either
	//     - the special initial data version (an empty string),
	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates`
	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx`
	//     - a truncated data version returned from the last call to `PropertyCollector.WaitForUpdatesEx` with no intervening calls to `PropertyCollector.WaitForUpdates` or `PropertyCollector.CheckForUpdates`.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
	// Additional options controlling the change calculation. If omitted,
	// equivalent to an options argument with no fields set.
	Options *WaitOptions `xml:"options,omitempty" json:"options,omitempty"`
}

The parameters of `PropertyCollector.WaitForUpdatesEx`.

type WaitForUpdatesExResponse

type WaitForUpdatesExResponse struct {
	Returnval *UpdateSet `xml:"returnval,omitempty" json:"returnval,omitempty"`
}

type WaitForUpdatesRequestType

type WaitForUpdatesRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The data version currently known to the client. The value
	// must be either
	//     - the special initial version (an empty string)
	//     - a data version returned from `PropertyCollector.CheckForUpdates` or `PropertyCollector.WaitForUpdates` by the same `PropertyCollector` on the same session
	//     - a non-truncated data version returned from `PropertyCollector.WaitForUpdatesEx` by the same `PropertyCollector` on the same
	//       session.
	Version string `xml:"version,omitempty" json:"version,omitempty"`
}

The parameters of `PropertyCollector.WaitForUpdates`.

type WaitForUpdatesResponse

type WaitForUpdatesResponse struct {
	Returnval UpdateSet `xml:"returnval" json:"returnval"`
}

type WaitOptions

type WaitOptions struct {
	DynamicData

	// The number of seconds the `PropertyCollector` should wait
	// before returning null.
	//
	// Returning updates may take longer if the
	// actual calculation time exceeds `WaitOptions.maxWaitSeconds`. Additionally `PropertyCollector` policy may
	// cause it to return null sooner than `WaitOptions.maxWaitSeconds`.
	//
	// An unset value causes `PropertyCollector.WaitForUpdatesEx` to wait as
	// long as possible for updates. Policy may still cause the
	// `PropertyCollector` to return null at some point.
	//
	// A value of 0 causes `PropertyCollector.WaitForUpdatesEx` to do one update
	// calculation and return any results. This behavior is similar to `PropertyCollector.CheckForUpdates`.
	//
	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to return
	// null if no updates are available within the specified number of
	// seconds. The choice of a positive value often depends on the
	// client communication stack. For example it may be helpful to
	// choose a duration shorter than a local HTTP request timeout.
	// Typically it should be no shorter than a few minutes.
	//
	// A negative value is illegal.
	MaxWaitSeconds *int32 `xml:"maxWaitSeconds" json:"maxWaitSeconds,omitempty"`
	// The maximum number of `ObjectUpdate`
	// entries that should be returned in a single result from `PropertyCollector.WaitForUpdatesEx`.
	//
	// See `UpdateSet.truncated`
	//
	// An unset value indicates that there is no maximum. In this case
	// `PropertyCollector` policy may still limit the number of objects
	// that appear in an `UpdateSet`.
	//
	// A positive value causes `PropertyCollector.WaitForUpdatesEx` to suspend
	// the update calculation when the total count of `ObjectUpdate` entries ready to return reaches
	// the specified maximum. `PropertyCollector` policy may still
	// limit the total count to something less than `WaitOptions.maxObjectUpdates`.
	//
	// A value less than or equal to 0 is illegal.
	MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty" json:"maxObjectUpdates,omitempty"`
}

Options for `PropertyCollector.WaitForUpdatesEx`.

type WakeOnLanNotSupported

type WakeOnLanNotSupported struct {
	VirtualHardwareCompatibilityIssue
}

The virtual machine and at least one of its virtual NICs are configured to use Wake-on-LAN, but the host does not support Wake-on-LAN for the virtual machine's selected guest OS.

type WakeOnLanNotSupportedByVmotionNIC

type WakeOnLanNotSupportedByVmotionNIC struct {
	HostPowerOpFailed
}

This fault is thrown when Wake-on-LAN isn't supported by the Vmotion NIC on the host.

type WakeOnLanNotSupportedByVmotionNICFault

type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC

type WakeOnLanNotSupportedFault

type WakeOnLanNotSupportedFault WakeOnLanNotSupported

type WarningUpgradeEvent

type WarningUpgradeEvent struct {
	UpgradeEvent
}

This event is a general warning event from upgrade.

type WeekOfMonth

type WeekOfMonth string

type WeeklyTaskScheduler

type WeeklyTaskScheduler struct {
	DailyTaskScheduler

	// The day or days of the week when the scheduled task will run.
	//
	// At least one of the days must be true.
	Sunday    bool `xml:"sunday" json:"sunday"`
	Monday    bool `xml:"monday" json:"monday"`
	Tuesday   bool `xml:"tuesday" json:"tuesday"`
	Wednesday bool `xml:"wednesday" json:"wednesday"`
	Thursday  bool `xml:"thursday" json:"thursday"`
	Friday    bool `xml:"friday" json:"friday"`
	Saturday  bool `xml:"saturday" json:"saturday"`
}

The `WeeklyTaskScheduler` data object sets the time for weekly task execution.

You can set the schedule for task execution on one or more days during the week, and you complete the schedule by setting the inherited properties for the hour and minute.

By default the scheduler executes the task according to the specified day(s) every week. If you set the interval to a value greater than 1, the task will execute at the specified weekly interval. (For example, an interval of 2 will cause the task to execute on the specified days every 2 weeks.)

type WillLoseHAProtection

type WillLoseHAProtection struct {
	MigrationFault

	// The steps the user can take to restore protection if the
	// the operation is performed.
	//
	// Values come from
	// `WillLoseHAProtectionResolution_enum`.
	Resolution string `xml:"resolution" json:"resolution"`
}

This fault is reported when the execution of a storage vmotion or relocate operation would impact vSphere HA's ability to restart a VM.

For storage vmotion, this fault is reported when HA protection will be lost after the vmotion completes. Consequently, HA would not restart the VM if it subsequently failed. For relocate, relocate is not supported on VMs that failed before the operation is attempted and are in the process of being restarted at the time the operation is performed.

type WillLoseHAProtectionFault

type WillLoseHAProtectionFault WillLoseHAProtection

type WillLoseHAProtectionResolution

type WillLoseHAProtectionResolution string

type WillModifyConfigCpuRequirements

type WillModifyConfigCpuRequirements struct {
	MigrationFault
}

A virtual machine's total CPU feature requirements are determined by overlaying the requirements specified in its configuration (if any) on top of the requirements specified in the descriptor for its guest OS.

It is therefore possible for a host change to implicitly change a virtual machine's CPU feature requirements. The guest OS descriptor may have different requirements on the new host. Or, if the virtual machine currently specifies requirements in its configuration, those requirements will be lost if the new host does not support this.

This fault indicates that the virtual machine's CPU feature requirements would change because of a migration, and also that the destination host does support storing CPU feature requirements in the virtual machine's configuration. (If the destination host does not support such an action, `CannotModifyConfigCpuRequirements` is used instead of this fault.)

This is a warning to notify the user that the migration process will adjust the virtual machine's configuration so that it will be operating under an unchanged set of CPU feature requirements on its new host. If the user wishes to expose the different guest OS requirements of the new host, the user will need to edit the virtual machine's configuration after the migration.

type WillModifyConfigCpuRequirementsFault

type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements

type WillResetSnapshotDirectory

type WillResetSnapshotDirectory struct {
	MigrationFault
}

This fault is reported when the execution of a storage vmotion or relocate operation would reset the snapshotDirectory settings to its default value (VM's home/config directory).

type WillResetSnapshotDirectoryFault

type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory

type WinNetBIOSConfigInfo

type WinNetBIOSConfigInfo struct {
	NetBIOSConfigInfo

	// The IP address of the primary WINS server.
	PrimaryWINS string `xml:"primaryWINS" json:"primaryWINS"`
	// The IP address of the secondary WINS server.
	SecondaryWINS string `xml:"secondaryWINS,omitempty" json:"secondaryWINS,omitempty"`
}

This data object type describes the Windows-specific NetBIOS configuration.

type WipeDiskFault

type WipeDiskFault struct {
	VimFault
}

This exception is thrown when VirtualMachine.wipeDisk encounters an error

type WipeDiskFaultFault

type WipeDiskFaultFault WipeDiskFault

type WitnessNodeInfo added in v0.12.0

type WitnessNodeInfo struct {
	DynamicData

	// VCHA Cluster network configuration of the Witness node.
	IpSettings CustomizationIPSettings `xml:"ipSettings" json:"ipSettings"`
	// BIOS UUID for the node.
	//
	// It is set only if the VCHA Cluster was
	// formed using automatic provisioning by the deploy API.
	BiosUuid string `xml:"biosUuid,omitempty" json:"biosUuid,omitempty"`
}

The WitnessNodeInfo class defines configuration information for the Witness node in the cluster

type XmlToCustomizationSpecItemRequestType

type XmlToCustomizationSpecItemRequestType struct {
	This        ManagedObjectReference `xml:"_this" json:"-"`
	SpecItemXml string                 `xml:"specItemXml" json:"specItemXml"`
}

The parameters of `CustomizationSpecManager.XmlToCustomizationSpecItem`.

type XmlToCustomizationSpecItemResponse

type XmlToCustomizationSpecItemResponse struct {
	Returnval CustomizationSpecItem `xml:"returnval" json:"returnval"`
}

type ZeroFillVirtualDiskRequestType

type ZeroFillVirtualDiskRequestType struct {
	This ManagedObjectReference `xml:"_this" json:"-"`
	// The name of the disk, either a datastore path or a URL
	// referring to the virtual disk whose blocks should be overwritten
	// with zeroes.
	Name string `xml:"name" json:"name"`
	// If <code>name</code> is a datastore path, the datacenter for
	// that datastore path. Not needed when invoked directly on ESX.
	// If not specified on a call to VirtualCenter,
	// <code>name</code> must be a URL.
	//
	// Refers instance of `Datacenter`.
	Datacenter *ManagedObjectReference `xml:"datacenter,omitempty" json:"datacenter,omitempty"`
}

The parameters of `VirtualDiskManager.ZeroFillVirtualDisk_Task`.

type ZeroFillVirtualDisk_Task

type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType

type ZeroFillVirtualDisk_TaskResponse

type ZeroFillVirtualDisk_TaskResponse struct {
	Returnval ManagedObjectReference `xml:"returnval" json:"returnval"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL