github.com/vmware/govmomi@v0.37.2/vim25/types/enum.go (about)

     1  /*
     2  Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved.
     3  
     4  Licensed under the Apache License, Version 2.0 (the "License");
     5  you may not use this file except in compliance with the License.
     6  You may obtain a copy of the License at
     7  
     8      http://www.apache.org/licenses/LICENSE-2.0
     9  
    10  Unless required by applicable law or agreed to in writing, software
    11  distributed under the License is distributed on an "AS IS" BASIS,
    12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13  See the License for the specific language governing permissions and
    14  limitations under the License.
    15  */
    16  
    17  package types
    18  
    19  import "reflect"
    20  
    21  // These constant strings can be used as parameters in user-specified
    22  // email subject and body templates as well as in scripts.
    23  //
    24  // The action processor
    25  // in VirtualCenter substitutes the run-time values for the parameters.
    26  // For example, an email subject provided by the client could be the string:
    27  // `Alarm - {alarmName} Description:\n{eventDescription}`.
    28  // Or a script action provided could be: `myScript {alarmName}`.
    29  type ActionParameter string
    30  
    31  const (
    32  	// The name of the entity where the alarm is triggered.
    33  	ActionParameterTargetName = ActionParameter("targetName")
    34  	// The name of the triggering alarm.
    35  	ActionParameterAlarmName = ActionParameter("alarmName")
    36  	// The status prior to the alarm being triggered.
    37  	ActionParameterOldStatus = ActionParameter("oldStatus")
    38  	// The status after the alarm is triggered.
    39  	ActionParameterNewStatus = ActionParameter("newStatus")
    40  	// A summary of information involved in triggering the alarm.
    41  	ActionParameterTriggeringSummary = ActionParameter("triggeringSummary")
    42  	// A summary of declarations made during the triggering of the alarm.
    43  	ActionParameterDeclaringSummary = ActionParameter("declaringSummary")
    44  	// The event description.
    45  	ActionParameterEventDescription = ActionParameter("eventDescription")
    46  	// The object of the entity where the alarm is associated.
    47  	ActionParameterTarget = ActionParameter("target")
    48  	// The object of the triggering alarm.
    49  	ActionParameterAlarm = ActionParameter("alarm")
    50  )
    51  
    52  func init() {
    53  	t["ActionParameter"] = reflect.TypeOf((*ActionParameter)(nil)).Elem()
    54  }
    55  
    56  // Pre-defined constants for possible action types.
    57  //
    58  // Virtual Center
    59  type ActionType string
    60  
    61  const (
    62  	// Migration action type
    63  	ActionTypeMigrationV1 = ActionType("MigrationV1")
    64  	// Virtual machine power action type
    65  	ActionTypeVmPowerV1 = ActionType("VmPowerV1")
    66  	// Host power action type
    67  	ActionTypeHostPowerV1 = ActionType("HostPowerV1")
    68  	// Host entering maintenance mode action type
    69  	ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1")
    70  	// Storage migration action type
    71  	ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1")
    72  	// Initial placement action for a virtual machine or a virtual disk
    73  	ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1")
    74  	// Initial placement action for a virtual machine and its virtual disks
    75  	ActionTypePlacementV1 = ActionType("PlacementV1")
    76  	// Host changing infrastructure update ha mode action type.
    77  	ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1")
    78  )
    79  
    80  func init() {
    81  	t["ActionType"] = reflect.TypeOf((*ActionType)(nil)).Elem()
    82  	minAPIVersionForType["ActionType"] = "2.5"
    83  	minAPIVersionForEnumValue["ActionType"] = map[string]string{
    84  		"HostMaintenanceV1":   "5.0",
    85  		"StorageMigrationV1":  "5.0",
    86  		"StoragePlacementV1":  "5.0",
    87  		"PlacementV1":         "6.0",
    88  		"HostInfraUpdateHaV1": "6.5",
    89  	}
    90  }
    91  
    92  // Types of affinities.
    93  type AffinityType string
    94  
    95  const (
    96  	AffinityTypeMemory = AffinityType("memory")
    97  	AffinityTypeCpu    = AffinityType("cpu")
    98  )
    99  
   100  func init() {
   101  	t["AffinityType"] = reflect.TypeOf((*AffinityType)(nil)).Elem()
   102  }
   103  
   104  type AgentInstallFailedReason string
   105  
   106  const (
   107  	// There is not enough storage space on the host to install the agent.
   108  	AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice")
   109  	// Failed to initialize the upgrade directory on the host.
   110  	AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed")
   111  	// The agent was installed but is not running.
   112  	AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning")
   113  	// The agent was installed but did not respond to requests.
   114  	AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable")
   115  	// The agent install took too long.
   116  	AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout")
   117  	// The signature verification for the installer failed.
   118  	AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed")
   119  	// Failed to upload the agent installer.
   120  	AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed")
   121  	// The agent upload took too long.
   122  	AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout")
   123  	// The agent installer failed for an unknown reason.
   124  	AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError")
   125  )
   126  
   127  func init() {
   128  	t["AgentInstallFailedReason"] = reflect.TypeOf((*AgentInstallFailedReason)(nil)).Elem()
   129  	minAPIVersionForType["AgentInstallFailedReason"] = "4.0"
   130  }
   131  
   132  type AlarmFilterSpecAlarmTypeByEntity string
   133  
   134  const (
   135  	// Alarms on all entity types.
   136  	AlarmFilterSpecAlarmTypeByEntityEntityTypeAll = AlarmFilterSpecAlarmTypeByEntity("entityTypeAll")
   137  	// Host alarms
   138  	AlarmFilterSpecAlarmTypeByEntityEntityTypeHost = AlarmFilterSpecAlarmTypeByEntity("entityTypeHost")
   139  	// VM alarms
   140  	AlarmFilterSpecAlarmTypeByEntityEntityTypeVm = AlarmFilterSpecAlarmTypeByEntity("entityTypeVm")
   141  )
   142  
   143  func init() {
   144  	t["AlarmFilterSpecAlarmTypeByEntity"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByEntity)(nil)).Elem()
   145  	minAPIVersionForType["AlarmFilterSpecAlarmTypeByEntity"] = "6.7"
   146  }
   147  
   148  // Alarm triggering type.
   149  //
   150  // The main divisions are event triggered and
   151  type AlarmFilterSpecAlarmTypeByTrigger string
   152  
   153  const (
   154  	// All alarm types.
   155  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeAll")
   156  	// Event based alarms
   157  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeEvent")
   158  	// Metric or state alarms
   159  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeMetric")
   160  )
   161  
   162  func init() {
   163  	t["AlarmFilterSpecAlarmTypeByTrigger"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByTrigger)(nil)).Elem()
   164  	minAPIVersionForType["AlarmFilterSpecAlarmTypeByTrigger"] = "6.7"
   165  }
   166  
   167  type AnswerFileValidationInfoStatus string
   168  
   169  const (
   170  	// Answer File validation was successful.
   171  	AnswerFileValidationInfoStatusSuccess = AnswerFileValidationInfoStatus("success")
   172  	// Answer File validation failed.
   173  	AnswerFileValidationInfoStatusFailed = AnswerFileValidationInfoStatus("failed")
   174  	// Answer File validation failed to generate default.
   175  	AnswerFileValidationInfoStatusFailed_defaults = AnswerFileValidationInfoStatus("failed_defaults")
   176  )
   177  
   178  func init() {
   179  	t["AnswerFileValidationInfoStatus"] = reflect.TypeOf((*AnswerFileValidationInfoStatus)(nil)).Elem()
   180  	minAPIVersionForType["AnswerFileValidationInfoStatus"] = "6.7"
   181  }
   182  
   183  type ApplyHostProfileConfigurationResultStatus string
   184  
   185  const (
   186  	// Remediation succeeded.
   187  	ApplyHostProfileConfigurationResultStatusSuccess = ApplyHostProfileConfigurationResultStatus("success")
   188  	// Remediation failed.
   189  	ApplyHostProfileConfigurationResultStatusFailed = ApplyHostProfileConfigurationResultStatus("failed")
   190  	// Remediation succeeded but reboot after remediation failed.
   191  	//
   192  	// May treat this as a warning.
   193  	ApplyHostProfileConfigurationResultStatusReboot_failed = ApplyHostProfileConfigurationResultStatus("reboot_failed")
   194  	// Stateless reboot for remediation failed.
   195  	ApplyHostProfileConfigurationResultStatusStateless_reboot_failed = ApplyHostProfileConfigurationResultStatus("stateless_reboot_failed")
   196  	// Remediation and reboot succeeded but check compliance after reboot
   197  	// failed.
   198  	//
   199  	// May treat this as a warning.
   200  	ApplyHostProfileConfigurationResultStatusCheck_compliance_failed = ApplyHostProfileConfigurationResultStatus("check_compliance_failed")
   201  	// The required state is not satisfied so host profiel apply cannot
   202  	// be done.
   203  	ApplyHostProfileConfigurationResultStatusState_not_satisfied = ApplyHostProfileConfigurationResultStatus("state_not_satisfied")
   204  	// Exit maintenance mode failed.
   205  	ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed = ApplyHostProfileConfigurationResultStatus("exit_maintenancemode_failed")
   206  	// The remediation was canceled.
   207  	ApplyHostProfileConfigurationResultStatusCanceled = ApplyHostProfileConfigurationResultStatus("canceled")
   208  )
   209  
   210  func init() {
   211  	t["ApplyHostProfileConfigurationResultStatus"] = reflect.TypeOf((*ApplyHostProfileConfigurationResultStatus)(nil)).Elem()
   212  	minAPIVersionForType["ApplyHostProfileConfigurationResultStatus"] = "6.5"
   213  }
   214  
   215  // This list specifies the type of operation being performed on the array.
   216  type ArrayUpdateOperation string
   217  
   218  const (
   219  	// indicates an addition to the array.
   220  	ArrayUpdateOperationAdd = ArrayUpdateOperation("add")
   221  	// indicates the removal of an element in the
   222  	// array.
   223  	//
   224  	// In this case the key field must contain the key of the element
   225  	// to be removed.
   226  	ArrayUpdateOperationRemove = ArrayUpdateOperation("remove")
   227  	// indicates changes to an element in the array.
   228  	ArrayUpdateOperationEdit = ArrayUpdateOperation("edit")
   229  )
   230  
   231  func init() {
   232  	t["ArrayUpdateOperation"] = reflect.TypeOf((*ArrayUpdateOperation)(nil)).Elem()
   233  }
   234  
   235  type AutoStartAction string
   236  
   237  const (
   238  	// No action is taken for this virtual machine.
   239  	//
   240  	// This virtual machine is
   241  	// not a part of the auto-start sequence. This can be used for both auto-start
   242  	// and auto-start settings.
   243  	AutoStartActionNone = AutoStartAction("none")
   244  	// The default system action is taken for this virtual machine when it is next in
   245  	// the auto-start order.
   246  	//
   247  	// This can be used for both auto-start and auto-start
   248  	// settings.
   249  	AutoStartActionSystemDefault = AutoStartAction("systemDefault")
   250  	// This virtual machine is powered on when it is next in the auto-start order.
   251  	AutoStartActionPowerOn = AutoStartAction("powerOn")
   252  	// This virtual machine is powered off when it is next in the auto-stop order.
   253  	//
   254  	// This is the default stopAction.
   255  	AutoStartActionPowerOff = AutoStartAction("powerOff")
   256  	// The guest operating system for a virtual machine is shut down when that
   257  	// virtual machine in next in the auto-stop order.
   258  	AutoStartActionGuestShutdown = AutoStartAction("guestShutdown")
   259  	// This virtual machine is suspended when it is next in the auto-stop order.
   260  	AutoStartActionSuspend = AutoStartAction("suspend")
   261  )
   262  
   263  func init() {
   264  	t["AutoStartAction"] = reflect.TypeOf((*AutoStartAction)(nil)).Elem()
   265  }
   266  
   267  // Determines if the virtual machine should start after receiving a heartbeat,
   268  // ignore heartbeats and start after the startDelay has elapsed, or follow the
   269  // system default before powering on.
   270  //
   271  // When a virtual machine is next in the start
   272  // order, the system either waits a specified period of time for a virtual
   273  // machine to power on or it waits until it receives a successful heartbeat from a
   274  // powered on virtual machine. By default, this is set to no.
   275  type AutoStartWaitHeartbeatSetting string
   276  
   277  const (
   278  	// The system waits until receiving a heartbeat before powering on the next
   279  	// machine in the order.
   280  	AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes")
   281  	// The system does not wait to receive a heartbeat before powering on the next
   282  	// machine in the order.
   283  	//
   284  	// This is the default setting.
   285  	AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no")
   286  	// The system uses the default value to determine whether or not to wait to
   287  	// receive a heartbeat before powering on the next machine in the order.
   288  	AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault")
   289  )
   290  
   291  func init() {
   292  	t["AutoStartWaitHeartbeatSetting"] = reflect.TypeOf((*AutoStartWaitHeartbeatSetting)(nil)).Elem()
   293  }
   294  
   295  type BaseConfigInfoDiskFileBackingInfoProvisioningType string
   296  
   297  const (
   298  	// Space required for thin-provisioned virtual disk is allocated
   299  	// and zeroed on demand as the space is used.
   300  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin")
   301  	// An eager zeroed thick virtual disk has all space allocated and
   302  	// wiped clean of any previous contents on the physical media at
   303  	// creation time.
   304  	//
   305  	// Such virtual disk may take longer time
   306  	// during creation compared to other provisioning formats.
   307  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick")
   308  	// A thick virtual disk has all space allocated at creation time.
   309  	//
   310  	// This space may contain stale data on the physical media.
   311  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick")
   312  )
   313  
   314  func init() {
   315  	t["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfoProvisioningType)(nil)).Elem()
   316  	minAPIVersionForType["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = "6.5"
   317  }
   318  
   319  type BatchResultResult string
   320  
   321  const (
   322  	BatchResultResultSuccess = BatchResultResult("success")
   323  	BatchResultResultFail    = BatchResultResult("fail")
   324  )
   325  
   326  func init() {
   327  	t["BatchResultResult"] = reflect.TypeOf((*BatchResultResult)(nil)).Elem()
   328  	minAPIVersionForType["BatchResultResult"] = "6.0"
   329  }
   330  
   331  type CannotEnableVmcpForClusterReason string
   332  
   333  const (
   334  	// APD timeout has been disabled on one of the host
   335  	CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled")
   336  )
   337  
   338  func init() {
   339  	t["CannotEnableVmcpForClusterReason"] = reflect.TypeOf((*CannotEnableVmcpForClusterReason)(nil)).Elem()
   340  	minAPIVersionForType["CannotEnableVmcpForClusterReason"] = "6.0"
   341  }
   342  
   343  type CannotMoveFaultToleranceVmMoveType string
   344  
   345  const (
   346  	// Move out of the resouce pool
   347  	CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool")
   348  	// Move out of the cluster
   349  	CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster")
   350  )
   351  
   352  func init() {
   353  	t["CannotMoveFaultToleranceVmMoveType"] = reflect.TypeOf((*CannotMoveFaultToleranceVmMoveType)(nil)).Elem()
   354  	minAPIVersionForType["CannotMoveFaultToleranceVmMoveType"] = "4.0"
   355  }
   356  
   357  type CannotPowerOffVmInClusterOperation string
   358  
   359  const (
   360  	// suspend
   361  	CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend")
   362  	// power off
   363  	CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff")
   364  	// guest shutdown
   365  	CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown")
   366  	// guest suspend
   367  	CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend")
   368  )
   369  
   370  func init() {
   371  	t["CannotPowerOffVmInClusterOperation"] = reflect.TypeOf((*CannotPowerOffVmInClusterOperation)(nil)).Elem()
   372  	minAPIVersionForType["CannotPowerOffVmInClusterOperation"] = "5.0"
   373  }
   374  
   375  type CannotUseNetworkReason string
   376  
   377  const (
   378  	// Network does not support reservation
   379  	CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported")
   380  	// Source and destination networks do not have same security policies
   381  	CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies")
   382  	// Source and destination DVS do not have same version or vendor
   383  	CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor")
   384  	// VMotion to unsupported destination network type
   385  	CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType")
   386  	// The network is under maintenance
   387  	CannotUseNetworkReasonNetworkUnderMaintenance = CannotUseNetworkReason("NetworkUnderMaintenance")
   388  	// Source and destination networks do not have same ENS(Enhanced Network Stack) mode
   389  	CannotUseNetworkReasonMismatchedEnsMode = CannotUseNetworkReason("MismatchedEnsMode")
   390  )
   391  
   392  func init() {
   393  	t["CannotUseNetworkReason"] = reflect.TypeOf((*CannotUseNetworkReason)(nil)).Elem()
   394  	minAPIVersionForType["CannotUseNetworkReason"] = "5.5"
   395  	minAPIVersionForEnumValue["CannotUseNetworkReason"] = map[string]string{
   396  		"NetworkUnderMaintenance": "7.0",
   397  		"MismatchedEnsMode":       "7.0",
   398  	}
   399  }
   400  
   401  // The types of tests which can requested by any of the methods in either
   402  type CheckTestType string
   403  
   404  const (
   405  	// Tests that examine only the configuration
   406  	// of the virtual machine and its current host; the destination
   407  	// resource pool and host or cluster are irrelevant.
   408  	CheckTestTypeSourceTests = CheckTestType("sourceTests")
   409  	// Tests that examine both the virtual
   410  	// machine and the destination host or cluster; the destination
   411  	// resource pool is irrelevant.
   412  	//
   413  	// This set excludes tests that fall
   414  	// into the datastoreTests group.
   415  	CheckTestTypeHostTests = CheckTestType("hostTests")
   416  	// Tests that check that the destination resource
   417  	// pool can support the virtual machine if it is powered on.
   418  	//
   419  	// The
   420  	// destination host or cluster is relevant because it will affect the
   421  	// amount of overhead memory required to run the virtual machine.
   422  	CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests")
   423  	// Tests that check that the
   424  	// destination host or cluster can see the datastores where the virtual
   425  	// machine's virtual disks are going to be located.
   426  	//
   427  	// The destination
   428  	// resource pool is irrelevant.
   429  	CheckTestTypeDatastoreTests = CheckTestType("datastoreTests")
   430  	// Tests that check that the
   431  	// destination host or cluster can see the networks that the virtual
   432  	// machine's virtual nic devices are going to be connected.
   433  	CheckTestTypeNetworkTests = CheckTestType("networkTests")
   434  )
   435  
   436  func init() {
   437  	t["CheckTestType"] = reflect.TypeOf((*CheckTestType)(nil)).Elem()
   438  	minAPIVersionForType["CheckTestType"] = "4.0"
   439  	minAPIVersionForEnumValue["CheckTestType"] = map[string]string{
   440  		"networkTests": "5.5",
   441  	}
   442  }
   443  
   444  // HCIWorkflowState identifies the state of the cluser from the perspective of HCI
   445  // workflow.
   446  //
   447  // The workflow begins with in\_progress mode and can transition
   448  type ClusterComputeResourceHCIWorkflowState string
   449  
   450  const (
   451  	// Indicates cluster is getting configured or will be configured.
   452  	ClusterComputeResourceHCIWorkflowStateIn_progress = ClusterComputeResourceHCIWorkflowState("in_progress")
   453  	// Indicates cluster configuration is complete.
   454  	ClusterComputeResourceHCIWorkflowStateDone = ClusterComputeResourceHCIWorkflowState("done")
   455  	// Indicates the workflow was abandoned on the cluster before the
   456  	// configuration could complete.
   457  	ClusterComputeResourceHCIWorkflowStateInvalid = ClusterComputeResourceHCIWorkflowState("invalid")
   458  )
   459  
   460  func init() {
   461  	t["ClusterComputeResourceHCIWorkflowState"] = reflect.TypeOf((*ClusterComputeResourceHCIWorkflowState)(nil)).Elem()
   462  	minAPIVersionForType["ClusterComputeResourceHCIWorkflowState"] = "6.7.1"
   463  }
   464  
   465  type ClusterComputeResourceVcsHealthStatus string
   466  
   467  const (
   468  	// Indicates vCS health status is normal.
   469  	ClusterComputeResourceVcsHealthStatusHealthy = ClusterComputeResourceVcsHealthStatus("healthy")
   470  	// Indicates only vCS is unhealthy.
   471  	ClusterComputeResourceVcsHealthStatusDegraded = ClusterComputeResourceVcsHealthStatus("degraded")
   472  	// Indicates vCS is unhealthy and other cluster services are impacted.
   473  	ClusterComputeResourceVcsHealthStatusNonhealthy = ClusterComputeResourceVcsHealthStatus("nonhealthy")
   474  )
   475  
   476  func init() {
   477  	t["ClusterComputeResourceVcsHealthStatus"] = reflect.TypeOf((*ClusterComputeResourceVcsHealthStatus)(nil)).Elem()
   478  	minAPIVersionForType["ClusterComputeResourceVcsHealthStatus"] = "7.0.1.1"
   479  }
   480  
   481  type ClusterCryptoConfigInfoCryptoMode string
   482  
   483  const (
   484  	// Put each host into the crypto safe state automatically when needed.
   485  	ClusterCryptoConfigInfoCryptoModeOnDemand = ClusterCryptoConfigInfoCryptoMode("onDemand")
   486  	// Put each host into the crypto safe state immediately.
   487  	ClusterCryptoConfigInfoCryptoModeForceEnable = ClusterCryptoConfigInfoCryptoMode("forceEnable")
   488  )
   489  
   490  func init() {
   491  	t["ClusterCryptoConfigInfoCryptoMode"] = reflect.TypeOf((*ClusterCryptoConfigInfoCryptoMode)(nil)).Elem()
   492  	minAPIVersionForType["ClusterCryptoConfigInfoCryptoMode"] = "7.0"
   493  }
   494  
   495  // The `ClusterDasAamNodeStateDasState_enum` enumerated type defines
   496  // values for host HA configuration and runtime state properties
   497  // (`ClusterDasAamNodeState.configState` and
   498  type ClusterDasAamNodeStateDasState string
   499  
   500  const (
   501  	// HA has never been enabled on the the host.
   502  	ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized")
   503  	// HA agents have been installed but are not running on the the host.
   504  	ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized")
   505  	// HA configuration is in progress.
   506  	ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring")
   507  	// HA configuration is being removed.
   508  	ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring")
   509  	// HA agent is running on this host.
   510  	ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running")
   511  	// There is an error condition.
   512  	//
   513  	// This can represent a configuration
   514  	// error or a host agent runtime error.
   515  	ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error")
   516  	// The HA agent has been shut down.
   517  	ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown")
   518  	// The host is not reachable.
   519  	//
   520  	// This can represent a host failure
   521  	// or an isolated host.
   522  	ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed")
   523  )
   524  
   525  func init() {
   526  	t["ClusterDasAamNodeStateDasState"] = reflect.TypeOf((*ClusterDasAamNodeStateDasState)(nil)).Elem()
   527  	minAPIVersionForType["ClusterDasAamNodeStateDasState"] = "4.0"
   528  }
   529  
   530  // The policy to determine the candidates from which vCenter Server can
   531  type ClusterDasConfigInfoHBDatastoreCandidate string
   532  
   533  const (
   534  	// vCenter Server chooses heartbeat datastores from the set specified
   535  	// by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   536  	//
   537  	// More specifically,
   538  	// datastores not included in the set will not be chosen. Note that if
   539  	// `ClusterDasConfigInfo.heartbeatDatastore` is empty, datastore heartbeating will
   540  	// be disabled for HA.
   541  	ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs")
   542  	// vCenter Server chooses heartbeat datastores from all the feasible ones,
   543  	// i.e., the datastores that are accessible to more than one host in
   544  	// the cluster.
   545  	//
   546  	// The choice will be made without giving preference to those
   547  	// specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   548  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs")
   549  	// vCenter Server chooses heartbeat datastores from all the feasible ones
   550  	// while giving preference to those specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   551  	//
   552  	// More specifically, the datastores not included in `ClusterDasConfigInfo.heartbeatDatastore` will be
   553  	// chosen if and only if the specified ones are not sufficient.
   554  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference")
   555  )
   556  
   557  func init() {
   558  	t["ClusterDasConfigInfoHBDatastoreCandidate"] = reflect.TypeOf((*ClusterDasConfigInfoHBDatastoreCandidate)(nil)).Elem()
   559  	minAPIVersionForType["ClusterDasConfigInfoHBDatastoreCandidate"] = "5.0"
   560  }
   561  
   562  // Possible states of an HA service.
   563  //
   564  // All services support the
   565  type ClusterDasConfigInfoServiceState string
   566  
   567  const (
   568  	// HA service is disabled.
   569  	ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled")
   570  	// HA service is enabled.
   571  	ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled")
   572  )
   573  
   574  func init() {
   575  	t["ClusterDasConfigInfoServiceState"] = reflect.TypeOf((*ClusterDasConfigInfoServiceState)(nil)).Elem()
   576  	minAPIVersionForType["ClusterDasConfigInfoServiceState"] = "4.0"
   577  }
   578  
   579  // The `ClusterDasConfigInfoVmMonitoringState_enum` enum defines values that indicate
   580  // the state of Virtual Machine Health Monitoring.
   581  //
   582  // Health Monitoring
   583  // uses the vmTools (guest) and application agent heartbeat modules.
   584  // You can configure HA to respond to heartbeat failures of either one
   585  // or both modules. You can also disable the HA response to heartbeat failures.
   586  //   - To set the cluster default for health monitoring, use the
   587  //     ClusterConfigSpecEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring` property.
   588  //   - To set health monitoring for a virtual machine, use the
   589  //     ClusterConfigSpecEx.dasVmConfigSpec.info.dasSettings.`ClusterDasVmSettings.vmToolsMonitoringSettings` property.
   590  //   - To retrieve the current state of health monitoring (cluster setting), use the
   591  //     ClusterConfigInfoEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring`
   592  //     property.
   593  //   - To retrieve the current state of health monitoring for a virtual machine, use the
   594  //     ClusterConfigInfoEx.dasVmConfig\[\].dasSettings.vmToolsMonitoringSettings.`ClusterVmToolsMonitoringSettings.vmMonitoring`
   595  type ClusterDasConfigInfoVmMonitoringState string
   596  
   597  const (
   598  	// Virtual machine health monitoring is disabled.
   599  	//
   600  	// In this state,
   601  	// HA response to guest and application heartbeat failures are disabled.
   602  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled")
   603  	// HA response to guest heartbeat failure is enabled.
   604  	//
   605  	// To retrieve the guest heartbeat status, use the
   606  	// `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   607  	// property.
   608  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly")
   609  	// HA response to both guest and application heartbeat failure is enabled.
   610  	//     - To retrieve the guest heartbeat status, use the
   611  	//       `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   612  	//       property.
   613  	//     - To retrieve the application heartbeat status, use the
   614  	//       `GuestInfo*.*GuestInfo.appHeartbeatStatus`
   615  	//       property.
   616  	ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring")
   617  )
   618  
   619  func init() {
   620  	t["ClusterDasConfigInfoVmMonitoringState"] = reflect.TypeOf((*ClusterDasConfigInfoVmMonitoringState)(nil)).Elem()
   621  	minAPIVersionForType["ClusterDasConfigInfoVmMonitoringState"] = "4.1"
   622  }
   623  
   624  // The `ClusterDasFdmAvailabilityState_enum` enumeration describes the
   625  // availability states of hosts in a vSphere HA cluster.
   626  //
   627  // In the HA
   628  // architecture, a agent called the Fault Domain Manager runs on
   629  // each active host. These agents elect a master and the others become
   630  // its slaves. The availability state assigned to a given host is
   631  // determined from information reported by the Fault Domain Manager
   632  // running on the host, by a Fault Domain Manager that has been elected
   633  // master, and by vCenter Server. See `ClusterDasFdmHostState`
   634  type ClusterDasFdmAvailabilityState string
   635  
   636  const (
   637  	// The Fault Domain Manager for the host has not yet been
   638  	// initialized.
   639  	//
   640  	// Hence the host is not part of a vSphere HA
   641  	// fault domain. This state is reported by vCenter Server or
   642  	// by the host itself.
   643  	ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized")
   644  	// The Fault Domain Manager on the host has been initialized and
   645  	// the host is either waiting to join the existing master or
   646  	// is participating in an election for a new master.
   647  	//
   648  	// This state
   649  	// is reported by vCenter Server or by the host itself.
   650  	ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election")
   651  	// The Fault Domain Manager on the host has been elected a
   652  	// master.
   653  	//
   654  	// This state is reported by the the host itself.
   655  	ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master")
   656  	// The normal operating state for a slave host.
   657  	//
   658  	// In this state,
   659  	// the host is exchanging heartbeats with a master over
   660  	// the management network, and is thus connected to it. If
   661  	// there is a management network partition, the slave will be
   662  	// in this state only if it is in the same partition as the master.
   663  	// This state is reported by the master of a slave host.
   664  	ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster")
   665  	// A slave host is alive and has management network connectivity, but
   666  	// the management network has been partitioned.
   667  	//
   668  	// This state is reported
   669  	// by masters that are in a partition other than the one containing the
   670  	// slave host; the master in the slave's partition will report the slave state
   671  	// as `connectedToMaster`.
   672  	ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster")
   673  	// A host is alive but is isolated from the management network.
   674  	//
   675  	// See `ClusterDasVmSettingsIsolationResponse_enum` for the criteria
   676  	// used to determine whether a host is isolated.
   677  	ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated")
   678  	// The slave host appears to be down.
   679  	//
   680  	// This state is reported by the
   681  	// master of a slave host.
   682  	ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown")
   683  	// An error occurred when initilizating the Fault Domain Manager
   684  	// on a host due to a problem with installing the
   685  	// agent or configuring it.
   686  	//
   687  	// This condition can often be cleared by
   688  	// reconfiguring HA for the host. This state is reported by vCenter
   689  	// Server.
   690  	ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError")
   691  	// An error occurred when unconfiguring the Fault Domain Manager
   692  	// running on a host.
   693  	//
   694  	// In order to clear this condition the host might
   695  	// need to be reconnected to the cluster and reconfigured first.
   696  	// This state is reported by vCenter
   697  	// Server.
   698  	ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError")
   699  	// The Fault Domain Manager (FDM) on the host cannot be reached.
   700  	//
   701  	// This
   702  	// state is reported in two unlikely situations.
   703  	//     - First, it is reported by
   704  	//       a master if the host responds to ICMP pings sent by the master over the
   705  	//       management network but the FDM on the host cannot be reached by the master.
   706  	//       This situation will occur if the FDM is unable to run or exit the
   707  	//       uninitialized state.
   708  	//     - Second, it is reported by vCenter Server if it cannot connect to a
   709  	//       master nor the FDM for the host. This situation would occur if all hosts
   710  	//       in the cluster failed but vCenter Server is still running. It may also
   711  	//       occur if all FDMs are unable to run or exit the uninitialized state.
   712  	ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable")
   713  	// Config/Reconfig/upgrade operation has failed in first attempt and
   714  	// a retry of these operations is scheduled.
   715  	//
   716  	// If any of the retry attempts succeed, the state is set to initialized.
   717  	// If all retry attempts fail, the state is set to initializationError.
   718  	// This state is reported by vCenter.
   719  	ClusterDasFdmAvailabilityStateRetry = ClusterDasFdmAvailabilityState("retry")
   720  )
   721  
   722  func init() {
   723  	t["ClusterDasFdmAvailabilityState"] = reflect.TypeOf((*ClusterDasFdmAvailabilityState)(nil)).Elem()
   724  	minAPIVersionForType["ClusterDasFdmAvailabilityState"] = "5.0"
   725  	minAPIVersionForEnumValue["ClusterDasFdmAvailabilityState"] = map[string]string{
   726  		"retry": "8.0.0.0",
   727  	}
   728  }
   729  
   730  // The `ClusterDasVmSettingsIsolationResponse_enum` enum defines
   731  // values that indicate whether or not the virtual machine should be
   732  // powered off if a host determines that it is isolated from the rest of
   733  // the cluster.
   734  //
   735  // Host network isolation occurs when a host is still running but it can no
   736  // longer communicate with other hosts in the cluster and it cannot ping
   737  // the configured isolation address(es). When the HA agent on a host loses
   738  // contact with the other hosts, it will ping the isolation addresses. If
   739  // the pings fail, the host will declare itself isolated.
   740  //
   741  // Once the HA agent declares the host isolated, it will initiate the
   742  // isolation response workflow after a 30 second delay. You can use the FDM
   743  // advanced option fdm.isolationPolicyDelaySec to increase the delay. For
   744  // each virtual machine, the HA agent attempts to determine if a master is
   745  // responsible for restarting the virtual machine. If it cannot make the
   746  // determination, or there is a master that is responsible, the agent will
   747  // apply the configured isolation response. This workflow will continue
   748  // until the configuration policy, has been applied to all virtual
   749  // machines, the agent reconnects to another HA agent in the cluster, or
   750  // the isolation address pings start succeeding. If there is a master agent
   751  // in the cluster, it will attempt to restart the virtual machines that
   752  // were powered off during isolation.
   753  //
   754  // By default, the isolated host leaves its virtual machines powered on.
   755  // You can override the isolation response default with a cluster-wide
   756  // setting (`ClusterDasConfigInfo.defaultVmSettings`)
   757  // or a virtual machine setting
   758  // (`ClusterDasVmSettings.isolationResponse`).
   759  //   - All isolation response values are valid for the
   760  //     `ClusterDasVmSettings.isolationResponse`
   761  //     property specified in a single virtual machine HA configuration.
   762  //   - All values except for <code>clusterIsolationResponse</code> are valid
   763  //     for the cluster-wide default HA configuration for virtual machines
   764  //     (`ClusterDasConfigInfo.defaultVmSettings`).
   765  //
   766  // If you ensure that your network infrastructure is sufficiently redundant
   767  // and that at least one network path is available at all times, host network
   768  type ClusterDasVmSettingsIsolationResponse string
   769  
   770  const (
   771  	// Do not power off the virtual machine in the event of a host network
   772  	// isolation.
   773  	ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none")
   774  	// Power off the virtual machine in the event of a host network
   775  	// isolation.
   776  	ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff")
   777  	// Shut down the virtual machine guest operating system in the event of
   778  	// a host network isolation.
   779  	//
   780  	// If the guest operating system fails to
   781  	// shutdown within five minutes, HA will initiate a forced power off.
   782  	//
   783  	// When you use the shutdown isolation response, failover can take
   784  	// longer (compared to the
   785  	// `powerOff`
   786  	// response) because the virtual machine cannot fail over until it is
   787  	// shutdown.
   788  	ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown")
   789  	// Use the default isolation response defined for the cluster
   790  	// that contains this virtual machine.
   791  	ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse")
   792  )
   793  
   794  func init() {
   795  	t["ClusterDasVmSettingsIsolationResponse"] = reflect.TypeOf((*ClusterDasVmSettingsIsolationResponse)(nil)).Elem()
   796  	minAPIVersionForType["ClusterDasVmSettingsIsolationResponse"] = "2.5"
   797  	minAPIVersionForEnumValue["ClusterDasVmSettingsIsolationResponse"] = map[string]string{
   798  		"shutdown": "2.5u2",
   799  	}
   800  }
   801  
   802  // The `ClusterDasVmSettingsRestartPriority_enum` enum defines
   803  // virtual machine restart priority values to resolve resource contention.
   804  //
   805  // The priority determines the preference that HA gives to a virtual
   806  // machine if sufficient capacity is not available to power on all failed
   807  // virtual machines. For example, high priority virtual machines on a host
   808  // get preference over low priority virtual machines.
   809  //
   810  // All priority values are valid for the restart priority specified in a
   811  // single virtual machine HA configuration (`ClusterDasVmConfigInfo.dasSettings`).
   812  // All values except for <code>clusterRestartPriority</code> are valid for
   813  // the cluster-wide default HA configuration for virtual machines
   814  type ClusterDasVmSettingsRestartPriority string
   815  
   816  const (
   817  	// vSphere HA is disabled for this virtual machine.
   818  	ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled")
   819  	// Virtual machines with this priority have the lowest chance of
   820  	// powering on after a failure if there is insufficient capacity on
   821  	// hosts to meet all virtual machine needs.
   822  	ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest")
   823  	// Virtual machines with this priority have a lower chance of powering
   824  	// on after a failure if there is insufficient capacity on hosts to meet
   825  	// all virtual machine needs.
   826  	ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low")
   827  	// Virtual machines with this priority have an intermediate chance of
   828  	// powering on after a failure if there is insufficient capacity on
   829  	// hosts to meet all virtual machine needs.
   830  	ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium")
   831  	// Virtual machines with this priority have a higher chance of powering
   832  	// on after a failure if there is insufficient capacity on hosts to meet
   833  	// all virtual machine needs.
   834  	ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high")
   835  	// Virtual machines with this priority have the highest chance of
   836  	// powering on after a failure if there is insufficient capacity on
   837  	// hosts to meet all virtual machine needs.
   838  	ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest")
   839  	// Virtual machines with this priority use the default restart
   840  	// priority defined for the cluster that contains this virtual machine.
   841  	ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority")
   842  )
   843  
   844  func init() {
   845  	t["ClusterDasVmSettingsRestartPriority"] = reflect.TypeOf((*ClusterDasVmSettingsRestartPriority)(nil)).Elem()
   846  	minAPIVersionForType["ClusterDasVmSettingsRestartPriority"] = "2.5"
   847  	minAPIVersionForEnumValue["ClusterDasVmSettingsRestartPriority"] = map[string]string{
   848  		"lowest":  "6.5",
   849  		"highest": "6.5",
   850  	}
   851  }
   852  
   853  // Describes the operation type of the action.
   854  //
   855  // enterexitQuarantine suggests
   856  // that the host is only exiting the quarantine state (i.e. not the
   857  type ClusterHostInfraUpdateHaModeActionOperationType string
   858  
   859  const (
   860  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine  = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine")
   861  	ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine   = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine")
   862  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance")
   863  )
   864  
   865  func init() {
   866  	t["ClusterHostInfraUpdateHaModeActionOperationType"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeActionOperationType)(nil)).Elem()
   867  	minAPIVersionForType["ClusterHostInfraUpdateHaModeActionOperationType"] = "6.5"
   868  }
   869  
   870  type ClusterInfraUpdateHaConfigInfoBehaviorType string
   871  
   872  const (
   873  	// With this behavior configured, the proposed DRS recommendations
   874  	// require manual approval before they are executed.
   875  	ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual")
   876  	// With this behavior configured, the proposed DRS recommendations are
   877  	// executed immediately.
   878  	ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated")
   879  )
   880  
   881  func init() {
   882  	t["ClusterInfraUpdateHaConfigInfoBehaviorType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoBehaviorType)(nil)).Elem()
   883  	minAPIVersionForType["ClusterInfraUpdateHaConfigInfoBehaviorType"] = "6.5"
   884  }
   885  
   886  type ClusterInfraUpdateHaConfigInfoRemediationType string
   887  
   888  const (
   889  	// With this behavior configured, a degraded host will be recommended
   890  	// to be placed in Quarantine Mode.
   891  	ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode")
   892  	// With this behavior configured, a degraded host will be recommended
   893  	// to be placed in Maintenance Mode.
   894  	ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode")
   895  )
   896  
   897  func init() {
   898  	t["ClusterInfraUpdateHaConfigInfoRemediationType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoRemediationType)(nil)).Elem()
   899  	minAPIVersionForType["ClusterInfraUpdateHaConfigInfoRemediationType"] = "6.5"
   900  }
   901  
   902  type ClusterPowerOnVmOption string
   903  
   904  const (
   905  	// Override the DRS automation level.
   906  	//
   907  	// Value type: `DrsBehavior_enum`
   908  	// Default value: current behavior
   909  	ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel")
   910  	// Reserve resources for the powering-on VMs throughout the
   911  	// power-on session.
   912  	//
   913  	// When this option is set to true, the server
   914  	// will return at most one recommended host per manual VM, and
   915  	// the VM's reservations are held on the recommended host until
   916  	// the VM is actually powered on (either by applying the
   917  	// recommendation or by a power-on request on the VM), or until
   918  	// the recommendation is cancelled, or until the recommendation
   919  	// expires. The expiration time is currently set to 10
   920  	// minutes. This option does not have an effect on automatic VMs
   921  	// since their recommendations are executed immediately. This
   922  	// option is effective on DRS clusters only.
   923  	// Value type: boolean
   924  	// Default value: false
   925  	ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources")
   926  )
   927  
   928  func init() {
   929  	t["ClusterPowerOnVmOption"] = reflect.TypeOf((*ClusterPowerOnVmOption)(nil)).Elem()
   930  	minAPIVersionForType["ClusterPowerOnVmOption"] = "4.1"
   931  }
   932  
   933  type ClusterProfileServiceType string
   934  
   935  const (
   936  	// Distributed Resource Scheduling
   937  	ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS")
   938  	// High Availability
   939  	ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA")
   940  	// Distributed Power Management
   941  	ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM")
   942  	// Fault tolerance
   943  	ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT")
   944  )
   945  
   946  func init() {
   947  	t["ClusterProfileServiceType"] = reflect.TypeOf((*ClusterProfileServiceType)(nil)).Elem()
   948  	minAPIVersionForType["ClusterProfileServiceType"] = "4.0"
   949  }
   950  
   951  type ClusterSystemVMsConfigInfoDeploymentMode string
   952  
   953  const (
   954  	// System VMs are fully managed by the system.
   955  	ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED = ClusterSystemVMsConfigInfoDeploymentMode("SYSTEM_MANAGED")
   956  	// System VMs are absent on the managed entity.
   957  	ClusterSystemVMsConfigInfoDeploymentModeABSENT = ClusterSystemVMsConfigInfoDeploymentMode("ABSENT")
   958  )
   959  
   960  func init() {
   961  	t["ClusterSystemVMsConfigInfoDeploymentMode"] = reflect.TypeOf((*ClusterSystemVMsConfigInfoDeploymentMode)(nil)).Elem()
   962  	minAPIVersionForType["ClusterSystemVMsConfigInfoDeploymentMode"] = "8.0.2.0"
   963  }
   964  
   965  // The VM policy settings that determine the response to
   966  type ClusterVmComponentProtectionSettingsStorageVmReaction string
   967  
   968  const (
   969  	// VM Component Protection service will not monitor or react to
   970  	// the component failure.
   971  	//
   972  	// This setting does not affect other vSphere
   973  	// HA services such as Host Monitoring or VM Health Monitoring.
   974  	ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled")
   975  	// VM Component Protection service will monitor component failures but
   976  	// will not restart an affected VM.
   977  	//
   978  	// Rather it will notify users about
   979  	// the component failures. This setting does not affect other vSphere HA
   980  	// services such as Host Monitoring or VM Health Monitoring.
   981  	ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning")
   982  	// VM Component Protection service protects VMs conservatively.
   983  	//
   984  	// With this
   985  	// setting, when the service can't determine that capacity is available to
   986  	// restart a VM, it will favor keeping the VM running.
   987  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative")
   988  	// VM Component Protection service protects VMs aggressively.
   989  	//
   990  	// With this setting,
   991  	// the service will terminate an affected VM even if it can't determine that
   992  	// capacity exists to restart the VM.
   993  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive")
   994  	// VM will use the cluster default setting.
   995  	//
   996  	// This option is only meaningful for
   997  	// per-VM settings.
   998  	ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault")
   999  )
  1000  
  1001  func init() {
  1002  	t["ClusterVmComponentProtectionSettingsStorageVmReaction"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsStorageVmReaction)(nil)).Elem()
  1003  	minAPIVersionForType["ClusterVmComponentProtectionSettingsStorageVmReaction"] = "6.0"
  1004  }
  1005  
  1006  // If an APD condition clears after an APD timeout condition has been declared and before
  1007  // VM Component Protection service terminated the VM, the guestOS and application may
  1008  // no longer be operational.
  1009  //
  1010  // VM Component Protection may be configured to reset the
  1011  type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string
  1012  
  1013  const (
  1014  	// VM Component Protection service will not react after APD condition is cleared.
  1015  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none")
  1016  	// VM Component Protection service will reset the VM after APD condition is cleared.
  1017  	//
  1018  	// Note this only applies if the subject VM is still powered on.
  1019  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset")
  1020  	// VM will use the cluster default setting.
  1021  	//
  1022  	// This option is only meaningful for
  1023  	// per-VM settings.
  1024  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault")
  1025  )
  1026  
  1027  func init() {
  1028  	t["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared)(nil)).Elem()
  1029  	minAPIVersionForType["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = "6.0"
  1030  }
  1031  
  1032  type ClusterVmReadinessReadyCondition string
  1033  
  1034  const (
  1035  	// No ready condition specified.
  1036  	//
  1037  	// In case of vSphere HA, higher restart priority VMs are still
  1038  	// placed before lower priority VMs.
  1039  	ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none")
  1040  	// VM is powered on.
  1041  	ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn")
  1042  	// VM guest operating system is up and responding normally (VM tools
  1043  	// heartbeat status is green).
  1044  	ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen")
  1045  	// An application running inside the VM is responding normally.
  1046  	//
  1047  	// To enable Application Monitoring, you must first obtain the
  1048  	// appropriate SDK (or be using an application that supports VMware
  1049  	// Application Monitoring) and use it to set up customized heartbeats
  1050  	// for the applications you want to monitor.
  1051  	// See `ClusterDasConfigInfo.vmMonitoring`.
  1052  	ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen")
  1053  	// VM will use the cluster default setting.
  1054  	//
  1055  	// This option is only
  1056  	// meaningful for per-VM settings.
  1057  	ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault")
  1058  )
  1059  
  1060  func init() {
  1061  	t["ClusterVmReadinessReadyCondition"] = reflect.TypeOf((*ClusterVmReadinessReadyCondition)(nil)).Elem()
  1062  	minAPIVersionForType["ClusterVmReadinessReadyCondition"] = "6.5"
  1063  }
  1064  
  1065  type ComplianceResultStatus string
  1066  
  1067  const (
  1068  	// Entity is in Compliance
  1069  	ComplianceResultStatusCompliant = ComplianceResultStatus("compliant")
  1070  	// Entity is out of Compliance
  1071  	ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant")
  1072  	// Compliance status of the entity is not known
  1073  	ComplianceResultStatusUnknown = ComplianceResultStatus("unknown")
  1074  	// Compliance check on this host is running.
  1075  	ComplianceResultStatusRunning = ComplianceResultStatus("running")
  1076  )
  1077  
  1078  func init() {
  1079  	t["ComplianceResultStatus"] = reflect.TypeOf((*ComplianceResultStatus)(nil)).Elem()
  1080  	minAPIVersionForType["ComplianceResultStatus"] = "4.0"
  1081  	minAPIVersionForEnumValue["ComplianceResultStatus"] = map[string]string{
  1082  		"running": "6.7",
  1083  	}
  1084  }
  1085  
  1086  type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string
  1087  
  1088  const (
  1089  	// The host is licensed
  1090  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed")
  1091  	// The host is not licensed
  1092  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed")
  1093  	// The host license information is unknown, this could happen if the
  1094  	// host is not in a available state
  1095  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown")
  1096  )
  1097  
  1098  func init() {
  1099  	t["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState)(nil)).Elem()
  1100  	minAPIVersionForType["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = "5.0"
  1101  }
  1102  
  1103  type ConfigSpecOperation string
  1104  
  1105  const (
  1106  	// Indicates the addition of an element to the configuration.
  1107  	ConfigSpecOperationAdd = ConfigSpecOperation("add")
  1108  	// Indicates the change of an element in the configuration.
  1109  	ConfigSpecOperationEdit = ConfigSpecOperation("edit")
  1110  	// Indicates the removal of an element in the configuration.
  1111  	ConfigSpecOperationRemove = ConfigSpecOperation("remove")
  1112  )
  1113  
  1114  func init() {
  1115  	t["ConfigSpecOperation"] = reflect.TypeOf((*ConfigSpecOperation)(nil)).Elem()
  1116  	minAPIVersionForType["ConfigSpecOperation"] = "4.0"
  1117  }
  1118  
  1119  type CryptoManagerHostKeyManagementType string
  1120  
  1121  const (
  1122  	CryptoManagerHostKeyManagementTypeUnknown  = CryptoManagerHostKeyManagementType("unknown")
  1123  	CryptoManagerHostKeyManagementTypeInternal = CryptoManagerHostKeyManagementType("internal")
  1124  	CryptoManagerHostKeyManagementTypeExternal = CryptoManagerHostKeyManagementType("external")
  1125  )
  1126  
  1127  func init() {
  1128  	t["CryptoManagerHostKeyManagementType"] = reflect.TypeOf((*CryptoManagerHostKeyManagementType)(nil)).Elem()
  1129  	minAPIVersionForType["CryptoManagerHostKeyManagementType"] = "8.0.1.0"
  1130  }
  1131  
  1132  type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason string
  1133  
  1134  const (
  1135  	// Key not found in VC cache and does not specify a provider
  1136  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInCache")
  1137  	// Key provider is invalid
  1138  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterInvalid")
  1139  	// Can not reach the key provider
  1140  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterUnreachable")
  1141  	// Key not found in KMS
  1142  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInKMS")
  1143  	// Key not active or enabled
  1144  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateNotActiveOrEnabled")
  1145  	// Key is managed by Trust Authority
  1146  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByTrustAuthority")
  1147  )
  1148  
  1149  func init() {
  1150  	t["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason)(nil)).Elem()
  1151  	minAPIVersionForType["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = "6.7.2"
  1152  	minAPIVersionForEnumValue["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = map[string]string{
  1153  		"KeyStateManagedByTrustAuthority": "7.0",
  1154  	}
  1155  }
  1156  
  1157  type CustomizationFailedReasonCode string
  1158  
  1159  const (
  1160  	// The user defined script is disabled during customization
  1161  	CustomizationFailedReasonCodeUserDefinedScriptDisabled = CustomizationFailedReasonCode("userDefinedScriptDisabled")
  1162  	// The guest customization is disabled by VMware Tools
  1163  	CustomizationFailedReasonCodeCustomizationDisabled = CustomizationFailedReasonCode("customizationDisabled")
  1164  	// The cloud-init version is too old to support cloud-init raw data
  1165  	CustomizationFailedReasonCodeRawDataIsNotSupported = CustomizationFailedReasonCode("rawDataIsNotSupported")
  1166  	// The cloud-init meta data is not valid format
  1167  	CustomizationFailedReasonCodeWrongMetadataFormat = CustomizationFailedReasonCode("wrongMetadataFormat")
  1168  )
  1169  
  1170  func init() {
  1171  	t["CustomizationFailedReasonCode"] = reflect.TypeOf((*CustomizationFailedReasonCode)(nil)).Elem()
  1172  	minAPIVersionForType["CustomizationFailedReasonCode"] = "7.0"
  1173  	minAPIVersionForEnumValue["CustomizationFailedReasonCode"] = map[string]string{
  1174  		"customizationDisabled": "7.0.1.0",
  1175  		"rawDataIsNotSupported": "7.0.3.0",
  1176  		"wrongMetadataFormat":   "7.0.3.0",
  1177  	}
  1178  }
  1179  
  1180  // Enumeration of AutoMode values.
  1181  type CustomizationLicenseDataMode string
  1182  
  1183  const (
  1184  	// Indicates that client access licenses have been purchased for the server,
  1185  	// allowing a certain number of concurrent connections to the VirtualCenter
  1186  	// server.
  1187  	CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer")
  1188  	// Indicates that a client access license has been purchased for each computer
  1189  	// that accesses the VirtualCenter server.
  1190  	CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat")
  1191  )
  1192  
  1193  func init() {
  1194  	t["CustomizationLicenseDataMode"] = reflect.TypeOf((*CustomizationLicenseDataMode)(nil)).Elem()
  1195  }
  1196  
  1197  // NetBIOS setting for Windows.
  1198  type CustomizationNetBIOSMode string
  1199  
  1200  const (
  1201  	// DHCP server decides whether or not to use NetBIOS.
  1202  	CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp")
  1203  	// Always use NetBIOS.
  1204  	CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS")
  1205  	// Never use NetBIOS.
  1206  	CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS")
  1207  )
  1208  
  1209  func init() {
  1210  	t["CustomizationNetBIOSMode"] = reflect.TypeOf((*CustomizationNetBIOSMode)(nil)).Elem()
  1211  }
  1212  
  1213  // A enum constant specifying what should be done to the guest vm after running
  1214  type CustomizationSysprepRebootOption string
  1215  
  1216  const (
  1217  	// Reboot the machine after running sysprep.
  1218  	//
  1219  	// This will cause values
  1220  	// specified in the sysprep.xml to be applied immediately.
  1221  	CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot")
  1222  	// Take no action.
  1223  	//
  1224  	// Leave the guest os running after running sysprep. This
  1225  	// option can be used to look at values for debugging purposes after
  1226  	// running sysprep.
  1227  	CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot")
  1228  	// Shutdown the machine after running sysprep.
  1229  	//
  1230  	// This puts the vm in a
  1231  	// sealed state.
  1232  	CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown")
  1233  )
  1234  
  1235  func init() {
  1236  	t["CustomizationSysprepRebootOption"] = reflect.TypeOf((*CustomizationSysprepRebootOption)(nil)).Elem()
  1237  	minAPIVersionForType["CustomizationSysprepRebootOption"] = "2.5"
  1238  }
  1239  
  1240  // Set of possible values for
  1241  type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string
  1242  
  1243  const (
  1244  	// The switch for which this port is defined does not support VMDirectPath Gen 2.
  1245  	//
  1246  	// See
  1247  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`.
  1248  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs")
  1249  	// None of the physical NICs used as uplinks for this port support
  1250  	// VMDirectPath Gen 2.
  1251  	//
  1252  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
  1253  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics")
  1254  	// At least some of the physical NICs used as uplinks for this port
  1255  	// support VMDirectPath Gen 2, but all available network-passthrough
  1256  	// resources are in use by other ports.
  1257  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable")
  1258  	// VMDirectPath Gen 2 has been explicitly disabled for this port.
  1259  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort")
  1260  )
  1261  
  1262  func init() {
  1263  	t["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonNetwork)(nil)).Elem()
  1264  	minAPIVersionForType["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = "4.1"
  1265  }
  1266  
  1267  // Set of possible values for
  1268  type DVPortStatusVmDirectPathGen2InactiveReasonOther string
  1269  
  1270  const (
  1271  	// The host for which this port is defined does not support VMDirectPath Gen 2.
  1272  	//
  1273  	// See `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
  1274  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost")
  1275  	// Configuration or state of the port's connectee prevents
  1276  	// VMDirectPath Gen 2.
  1277  	//
  1278  	// See
  1279  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
  1280  	// and/or
  1281  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`
  1282  	// in the appropriate element of the RuntimeInfo.device array of the
  1283  	// virtual machine connected to this port.
  1284  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee")
  1285  )
  1286  
  1287  func init() {
  1288  	t["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
  1289  	minAPIVersionForType["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = "4.1"
  1290  }
  1291  
  1292  type DVSMacLimitPolicyType string
  1293  
  1294  const (
  1295  	DVSMacLimitPolicyTypeAllow = DVSMacLimitPolicyType("allow")
  1296  	DVSMacLimitPolicyTypeDrop  = DVSMacLimitPolicyType("drop")
  1297  )
  1298  
  1299  func init() {
  1300  	t["DVSMacLimitPolicyType"] = reflect.TypeOf((*DVSMacLimitPolicyType)(nil)).Elem()
  1301  	minAPIVersionForType["DVSMacLimitPolicyType"] = "6.7"
  1302  }
  1303  
  1304  type DasConfigFaultDasConfigFaultReason string
  1305  
  1306  const (
  1307  	// There is a problem with the host network configuration.
  1308  	DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration")
  1309  	// There is a problem with the host configuration.
  1310  	DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration")
  1311  	// The privileges were insuffient for the operation.
  1312  	DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges")
  1313  	// There was no running primary agent available to contact.
  1314  	//
  1315  	// Check that your other hosts don't have HA errors
  1316  	DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable")
  1317  	// The HA configuration failed for other reasons.
  1318  	DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other")
  1319  	// No datastores defined for this host
  1320  	DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured")
  1321  	// Failure to create config vvol
  1322  	DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed")
  1323  	// Host in vSAN cluster does not support vSAN.
  1324  	DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost")
  1325  	// There is a problem with the cluster network configuration.
  1326  	DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration")
  1327  	// Setting desired imageSpec in Personality Manager failed
  1328  	DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed = DasConfigFaultDasConfigFaultReason("SetDesiredImageSpecFailed")
  1329  	// The ApplyHA call to Personality Manager failed
  1330  	DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed = DasConfigFaultDasConfigFaultReason("ApplyHAVibsOnClusterFailed")
  1331  )
  1332  
  1333  func init() {
  1334  	t["DasConfigFaultDasConfigFaultReason"] = reflect.TypeOf((*DasConfigFaultDasConfigFaultReason)(nil)).Elem()
  1335  	minAPIVersionForType["DasConfigFaultDasConfigFaultReason"] = "4.0"
  1336  	minAPIVersionForEnumValue["DasConfigFaultDasConfigFaultReason"] = map[string]string{
  1337  		"NoDatastoresConfigured":     "5.1",
  1338  		"CreateConfigVvolFailed":     "6.0",
  1339  		"VSanNotSupportedOnHost":     "5.5",
  1340  		"DasNetworkMisconfiguration": "6.0",
  1341  		"SetDesiredImageSpecFailed":  "7.0",
  1342  		"ApplyHAVibsOnClusterFailed": "7.0",
  1343  	}
  1344  }
  1345  
  1346  // Deprecated as of VI API 2.5, use `ClusterDasVmSettingsRestartPriority_enum`.
  1347  //
  1348  // The priority of the virtual machine determines the preference
  1349  // given to it if sufficient capacity is not available to power
  1350  // on all failed virtual machines.
  1351  //
  1352  // For example, high priority
  1353  // virtual machines on a host get preference over low priority
  1354  // virtual machines.
  1355  type DasVmPriority string
  1356  
  1357  const (
  1358  	// vSphere HA is disabled for this virtual machine.
  1359  	DasVmPriorityDisabled = DasVmPriority("disabled")
  1360  	// Virtual machines with this priority have a lower chance of powering on after a
  1361  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  1362  	// needs.
  1363  	DasVmPriorityLow = DasVmPriority("low")
  1364  	// Virtual machines with this priority have an intermediate chance of powering
  1365  	// on after a failure if there is insufficient capacity on hosts to meet all
  1366  	// virtual machine needs.
  1367  	DasVmPriorityMedium = DasVmPriority("medium")
  1368  	// Virtual machines with this priority have a higher chance of powering on after a
  1369  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  1370  	// needs.
  1371  	DasVmPriorityHigh = DasVmPriority("high")
  1372  )
  1373  
  1374  func init() {
  1375  	t["DasVmPriority"] = reflect.TypeOf((*DasVmPriority)(nil)).Elem()
  1376  }
  1377  
  1378  type DatastoreAccessible string
  1379  
  1380  const (
  1381  	// Is accessible
  1382  	DatastoreAccessibleTrue = DatastoreAccessible("True")
  1383  	// Is not accessible
  1384  	DatastoreAccessibleFalse = DatastoreAccessible("False")
  1385  )
  1386  
  1387  func init() {
  1388  	t["DatastoreAccessible"] = reflect.TypeOf((*DatastoreAccessible)(nil)).Elem()
  1389  	minAPIVersionForType["DatastoreAccessible"] = "4.0"
  1390  }
  1391  
  1392  type DatastoreSummaryMaintenanceModeState string
  1393  
  1394  const (
  1395  	// Default state.
  1396  	DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal")
  1397  	// Started entering maintenance mode, but not finished.
  1398  	//
  1399  	// This could happen when waiting for user input or for
  1400  	// long-running vmotions to complete.
  1401  	DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance")
  1402  	// Successfully entered maintenance mode.
  1403  	DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance")
  1404  )
  1405  
  1406  func init() {
  1407  	t["DatastoreSummaryMaintenanceModeState"] = reflect.TypeOf((*DatastoreSummaryMaintenanceModeState)(nil)).Elem()
  1408  	minAPIVersionForType["DatastoreSummaryMaintenanceModeState"] = "5.0"
  1409  }
  1410  
  1411  type DayOfWeek string
  1412  
  1413  const (
  1414  	DayOfWeekSunday    = DayOfWeek("sunday")
  1415  	DayOfWeekMonday    = DayOfWeek("monday")
  1416  	DayOfWeekTuesday   = DayOfWeek("tuesday")
  1417  	DayOfWeekWednesday = DayOfWeek("wednesday")
  1418  	DayOfWeekThursday  = DayOfWeek("thursday")
  1419  	DayOfWeekFriday    = DayOfWeek("friday")
  1420  	DayOfWeekSaturday  = DayOfWeek("saturday")
  1421  )
  1422  
  1423  func init() {
  1424  	t["DayOfWeek"] = reflect.TypeOf((*DayOfWeek)(nil)).Elem()
  1425  }
  1426  
  1427  type DeviceNotSupportedReason string
  1428  
  1429  const (
  1430  	// The host does not support this virtual device at all.
  1431  	DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host")
  1432  	// The device is supported by the host in general, but not for
  1433  	// the specific guest OS the virtual machine is using.
  1434  	DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest")
  1435  )
  1436  
  1437  func init() {
  1438  	t["DeviceNotSupportedReason"] = reflect.TypeOf((*DeviceNotSupportedReason)(nil)).Elem()
  1439  	minAPIVersionForType["DeviceNotSupportedReason"] = "2.5"
  1440  }
  1441  
  1442  // The list of Device Protocols.
  1443  type DeviceProtocol string
  1444  
  1445  const (
  1446  	DeviceProtocolNVMe = DeviceProtocol("NVMe")
  1447  	DeviceProtocolSCSI = DeviceProtocol("SCSI")
  1448  )
  1449  
  1450  func init() {
  1451  	t["DeviceProtocol"] = reflect.TypeOf((*DeviceProtocol)(nil)).Elem()
  1452  	minAPIVersionForType["DeviceProtocol"] = "8.0.1.0"
  1453  }
  1454  
  1455  // Pre-defined constants for possible creators of log files.
  1456  type DiagnosticManagerLogCreator string
  1457  
  1458  const (
  1459  	// VirtualCenter service
  1460  	DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd")
  1461  	// VirtualCenter agent
  1462  	DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa")
  1463  	// Host agent
  1464  	DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd")
  1465  	// Host server agent
  1466  	DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd")
  1467  	// Installation
  1468  	DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install")
  1469  	// Virtual infrastructure client
  1470  	DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient")
  1471  	// System Record Log
  1472  	DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog")
  1473  )
  1474  
  1475  func init() {
  1476  	t["DiagnosticManagerLogCreator"] = reflect.TypeOf((*DiagnosticManagerLogCreator)(nil)).Elem()
  1477  	minAPIVersionForEnumValue["DiagnosticManagerLogCreator"] = map[string]string{
  1478  		"recordLog": "2.5",
  1479  	}
  1480  }
  1481  
  1482  // Constants for defined formats.
  1483  //
  1484  // For more information, see the comment for the format property.
  1485  type DiagnosticManagerLogFormat string
  1486  
  1487  const (
  1488  	// A standard ASCII-based line-based log file.
  1489  	DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain")
  1490  )
  1491  
  1492  func init() {
  1493  	t["DiagnosticManagerLogFormat"] = reflect.TypeOf((*DiagnosticManagerLogFormat)(nil)).Elem()
  1494  }
  1495  
  1496  // Type of partition indicating the type of storage on which the partition
  1497  // resides.
  1498  //
  1499  // If the diagnostic partition is local only, it will only need
  1500  // one slot. If the diagnostic partition is on shared storage, it could
  1501  // be used by multiple hosts. As a result, it will need multiple slots.
  1502  type DiagnosticPartitionStorageType string
  1503  
  1504  const (
  1505  	DiagnosticPartitionStorageTypeDirectAttached  = DiagnosticPartitionStorageType("directAttached")
  1506  	DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached")
  1507  )
  1508  
  1509  func init() {
  1510  	t["DiagnosticPartitionStorageType"] = reflect.TypeOf((*DiagnosticPartitionStorageType)(nil)).Elem()
  1511  }
  1512  
  1513  // The type of diagnostic partition.
  1514  //
  1515  // Private diagnostic partition has one
  1516  // slot, so can only be used by one host. Shared diagnostic parititon
  1517  // needs multiple slots so to be usable by multiple hosts.
  1518  type DiagnosticPartitionType string
  1519  
  1520  const (
  1521  	DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost")
  1522  	DiagnosticPartitionTypeMultiHost  = DiagnosticPartitionType("multiHost")
  1523  )
  1524  
  1525  func init() {
  1526  	t["DiagnosticPartitionType"] = reflect.TypeOf((*DiagnosticPartitionType)(nil)).Elem()
  1527  }
  1528  
  1529  type DisallowedChangeByServiceDisallowedChange string
  1530  
  1531  const (
  1532  	// Online extend disk operation.
  1533  	DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk")
  1534  )
  1535  
  1536  func init() {
  1537  	t["DisallowedChangeByServiceDisallowedChange"] = reflect.TypeOf((*DisallowedChangeByServiceDisallowedChange)(nil)).Elem()
  1538  	minAPIVersionForType["DisallowedChangeByServiceDisallowedChange"] = "5.0"
  1539  }
  1540  
  1541  // The `DistributedVirtualPortgroupBackingType_enum` enum defines
  1542  type DistributedVirtualPortgroupBackingType string
  1543  
  1544  const (
  1545  	// The portgroup is created by vCenter.
  1546  	DistributedVirtualPortgroupBackingTypeStandard = DistributedVirtualPortgroupBackingType("standard")
  1547  	// The portgroup is created by NSX manager.
  1548  	//
  1549  	// For NSX backing type, We only support ephemeral portgroup type.
  1550  	// If `DistributedVirtualPortgroupPortgroupType_enum` is
  1551  	// ephemeral, A `DistributedVirtualPort` will be
  1552  	// dynamicly created by NSX when the virtual machine is reconfigured
  1553  	// to connect to the portgroup.
  1554  	DistributedVirtualPortgroupBackingTypeNsx = DistributedVirtualPortgroupBackingType("nsx")
  1555  )
  1556  
  1557  func init() {
  1558  	t["DistributedVirtualPortgroupBackingType"] = reflect.TypeOf((*DistributedVirtualPortgroupBackingType)(nil)).Elem()
  1559  	minAPIVersionForType["DistributedVirtualPortgroupBackingType"] = "7.0"
  1560  }
  1561  
  1562  // The meta tag names recognizable in the
  1563  type DistributedVirtualPortgroupMetaTagName string
  1564  
  1565  const (
  1566  	// This tag will be expanded to the name of the switch.
  1567  	DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName")
  1568  	// This tag will be expanded to the name of the portgroup.
  1569  	DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName")
  1570  	// This tag will be expanded to the current index of the port.
  1571  	DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex")
  1572  )
  1573  
  1574  func init() {
  1575  	t["DistributedVirtualPortgroupMetaTagName"] = reflect.TypeOf((*DistributedVirtualPortgroupMetaTagName)(nil)).Elem()
  1576  	minAPIVersionForType["DistributedVirtualPortgroupMetaTagName"] = "4.0"
  1577  }
  1578  
  1579  // The `DistributedVirtualPortgroupPortgroupType_enum` enum defines
  1580  // the distributed virtual portgroup types
  1581  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
  1582  //
  1583  // Early binding specifies a static set of ports that are created
  1584  // when you create the distributed virtual portgroup. An ephemeral portgroup uses dynamic
  1585  type DistributedVirtualPortgroupPortgroupType string
  1586  
  1587  const (
  1588  	// A free `DistributedVirtualPort` will be selected and assigned to
  1589  	// a `VirtualMachine` when the virtual machine is reconfigured to
  1590  	// connect to the portgroup.
  1591  	DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding")
  1592  	//
  1593  	//
  1594  	// Deprecated as of vSphere API 5.0.
  1595  	//
  1596  	// A free `DistributedVirtualPort` will be selected and
  1597  	// assigned to a `VirtualMachine` when the virtual machine is
  1598  	// powered on.
  1599  	DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding")
  1600  	// A `DistributedVirtualPort` will be created and assigned to a
  1601  	// `VirtualMachine` when the virtual machine is powered on, and will
  1602  	// be deleted when the virtual machine is powered off.
  1603  	//
  1604  	// An ephemeral portgroup has
  1605  	// no limit on the number of ports that can be a part of this portgroup.
  1606  	// In cases where the vCenter Server is unavailable the host can
  1607  	// create conflict ports in this portgroup to be used by a virtual machine
  1608  	// at power on.
  1609  	DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral")
  1610  )
  1611  
  1612  func init() {
  1613  	t["DistributedVirtualPortgroupPortgroupType"] = reflect.TypeOf((*DistributedVirtualPortgroupPortgroupType)(nil)).Elem()
  1614  	minAPIVersionForType["DistributedVirtualPortgroupPortgroupType"] = "4.0"
  1615  }
  1616  
  1617  type DistributedVirtualSwitchHostInfrastructureTrafficClass string
  1618  
  1619  const (
  1620  	// Management Traffic
  1621  	DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management")
  1622  	// Fault Tolerance (FT) Traffic
  1623  	DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance")
  1624  	// vMotion Traffic
  1625  	DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion")
  1626  	// Virtual Machine Traffic
  1627  	DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine")
  1628  	// iSCSI Traffic
  1629  	DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI")
  1630  	// NFS Traffic
  1631  	DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs")
  1632  	// vSphere Replication (VR) Traffic
  1633  	DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr")
  1634  	// vSphere Storage Area Network Traffic
  1635  	DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan")
  1636  	// vSphere Data Protection - Backup Traffic
  1637  	DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp")
  1638  	// vSphere Backup NFC Traffic
  1639  	DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc = DistributedVirtualSwitchHostInfrastructureTrafficClass("backupNfc")
  1640  	// vSphere NVMETCP Traffic
  1641  	DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp = DistributedVirtualSwitchHostInfrastructureTrafficClass("nvmetcp")
  1642  )
  1643  
  1644  func init() {
  1645  	t["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = reflect.TypeOf((*DistributedVirtualSwitchHostInfrastructureTrafficClass)(nil)).Elem()
  1646  	minAPIVersionForType["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = "5.5"
  1647  	minAPIVersionForEnumValue["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = map[string]string{
  1648  		"vdp":       "6.0",
  1649  		"backupNfc": "7.0.1.0",
  1650  		"nvmetcp":   "7.0.3.0",
  1651  	}
  1652  }
  1653  
  1654  type DistributedVirtualSwitchHostMemberHostComponentState string
  1655  
  1656  const (
  1657  	// The host proxy switch is up and running.
  1658  	DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up")
  1659  	// The host proxy switch is waiting to be initialized.
  1660  	DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending")
  1661  	// The proxy switch configuration is not the same as the
  1662  	// distributed virtual switch configuration in the vCenter Server.
  1663  	DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync")
  1664  	// The host requires attention.
  1665  	DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning")
  1666  	// The host is disconnected or it is not responding.
  1667  	DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected")
  1668  	// The host proxy is down.
  1669  	DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down")
  1670  )
  1671  
  1672  func init() {
  1673  	t["DistributedVirtualSwitchHostMemberHostComponentState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostComponentState)(nil)).Elem()
  1674  	minAPIVersionForType["DistributedVirtualSwitchHostMemberHostComponentState"] = "4.0"
  1675  }
  1676  
  1677  // Describe the runtime state of the uplink.
  1678  type DistributedVirtualSwitchHostMemberHostUplinkStateState string
  1679  
  1680  const (
  1681  	DistributedVirtualSwitchHostMemberHostUplinkStateStateActive  = DistributedVirtualSwitchHostMemberHostUplinkStateState("active")
  1682  	DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby = DistributedVirtualSwitchHostMemberHostUplinkStateState("standby")
  1683  )
  1684  
  1685  func init() {
  1686  	t["DistributedVirtualSwitchHostMemberHostUplinkStateState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostUplinkStateState)(nil)).Elem()
  1687  }
  1688  
  1689  type DistributedVirtualSwitchHostMemberTransportZoneType string
  1690  
  1691  const (
  1692  	// VLAN based networking
  1693  	DistributedVirtualSwitchHostMemberTransportZoneTypeVlan = DistributedVirtualSwitchHostMemberTransportZoneType("vlan")
  1694  	// VXLAN based networking
  1695  	DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay = DistributedVirtualSwitchHostMemberTransportZoneType("overlay")
  1696  )
  1697  
  1698  func init() {
  1699  	t["DistributedVirtualSwitchHostMemberTransportZoneType"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneType)(nil)).Elem()
  1700  	minAPIVersionForType["DistributedVirtualSwitchHostMemberTransportZoneType"] = "7.0"
  1701  }
  1702  
  1703  type DistributedVirtualSwitchNetworkResourceControlVersion string
  1704  
  1705  const (
  1706  	// Network Resource Control API version 2
  1707  	DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2")
  1708  	// Network Resource Control API version 3
  1709  	DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3")
  1710  )
  1711  
  1712  func init() {
  1713  	t["DistributedVirtualSwitchNetworkResourceControlVersion"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkResourceControlVersion)(nil)).Elem()
  1714  	minAPIVersionForType["DistributedVirtualSwitchNetworkResourceControlVersion"] = "6.0"
  1715  }
  1716  
  1717  // List of possible teaming modes supported by the vNetwork Distributed
  1718  // Switch.
  1719  //
  1720  // The different policy modes define the way traffic is routed
  1721  type DistributedVirtualSwitchNicTeamingPolicyMode string
  1722  
  1723  const (
  1724  	// Routing based on IP hash
  1725  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip")
  1726  	// Route based on source MAC hash
  1727  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac")
  1728  	// Route based on the source of the port ID
  1729  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid")
  1730  	// Use explicit failover order
  1731  	DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit")
  1732  	// Routing based by dynamically balancing traffic through the NICs
  1733  	// in a team.
  1734  	//
  1735  	// This is the recommended teaming policy when the
  1736  	// network I/O control feature is enabled for the vNetwork
  1737  	// Distributed Switch.
  1738  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased")
  1739  )
  1740  
  1741  func init() {
  1742  	t["DistributedVirtualSwitchNicTeamingPolicyMode"] = reflect.TypeOf((*DistributedVirtualSwitchNicTeamingPolicyMode)(nil)).Elem()
  1743  	minAPIVersionForType["DistributedVirtualSwitchNicTeamingPolicyMode"] = "4.1"
  1744  }
  1745  
  1746  type DistributedVirtualSwitchPortConnecteeConnecteeType string
  1747  
  1748  const (
  1749  	// The port connects to a Physical NIC.
  1750  	DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic")
  1751  	// The port connects to a Virtual NIC in a Virtual Machine.
  1752  	DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic")
  1753  	// The port connects to a console Virtual NIC on a host.
  1754  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic")
  1755  	// The port connects to a VMkernel Virtual NIC on a host.
  1756  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic")
  1757  	// The port connects to a Virtual NIC in a System CRX VM.
  1758  	DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("systemCrxVnic")
  1759  )
  1760  
  1761  func init() {
  1762  	t["DistributedVirtualSwitchPortConnecteeConnecteeType"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnecteeConnecteeType)(nil)).Elem()
  1763  	minAPIVersionForType["DistributedVirtualSwitchPortConnecteeConnecteeType"] = "4.0"
  1764  	minAPIVersionForEnumValue["DistributedVirtualSwitchPortConnecteeConnecteeType"] = map[string]string{
  1765  		"systemCrxVnic": "8.0.1.0",
  1766  	}
  1767  }
  1768  
  1769  type DistributedVirtualSwitchProductSpecOperationType string
  1770  
  1771  const (
  1772  	// Push the switch's host component of the specified product info to the
  1773  	// host members of the switch at a fixed location known by the host.
  1774  	DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall")
  1775  	// Change the switch implementation to use the specified one.
  1776  	//
  1777  	// If the
  1778  	// property values in the specified product info are different from
  1779  	// those of the corresponding properties in the switch's product info,
  1780  	// a host component preinstall and switch upgrade will be performed.
  1781  	DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade")
  1782  	// Set the product information for an available switch upgrade that
  1783  	// would be done by the switch implementation.
  1784  	//
  1785  	// This operation will post
  1786  	// a config issue on the switch to signal the availability of an upgrade.
  1787  	// This operation is applicable only in the case when switch policy
  1788  	// `DVSPolicy.autoUpgradeAllowed`
  1789  	// is set to false.
  1790  	DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade")
  1791  	// If productSpec is set to be same as that in the
  1792  	// `DvsUpgradeAvailableEvent` configIssue, the switch
  1793  	// implementation will proceed with the upgrade.
  1794  	//
  1795  	// To reject or stop the
  1796  	// upgrade, leave the productSpec unset. If productSpec is set but does not
  1797  	// match that in `DvsUpgradeAvailableEvent` configIssue,
  1798  	// a fault will be raised.
  1799  	// This operation is applicable only in the case when switch policy
  1800  	// `DVSPolicy.autoUpgradeAllowed`
  1801  	// is set to false.
  1802  	DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade")
  1803  	// Update the bundle URL and ID information.
  1804  	//
  1805  	// If other properties in
  1806  	// the specified product info differ from the
  1807  	// corresponding properties of the switch's product info, a fault will
  1808  	// be thrown. Updating the bundle ID will result in installing the new host
  1809  	// component identified by the bundle ID.
  1810  	DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo")
  1811  )
  1812  
  1813  func init() {
  1814  	t["DistributedVirtualSwitchProductSpecOperationType"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpecOperationType)(nil)).Elem()
  1815  	minAPIVersionForType["DistributedVirtualSwitchProductSpecOperationType"] = "4.0"
  1816  }
  1817  
  1818  type DpmBehavior string
  1819  
  1820  const (
  1821  	// Specifies that VirtualCenter should generate recommendations
  1822  	// for host power operations, but should not execute the
  1823  	// recommendations automatically.
  1824  	DpmBehaviorManual = DpmBehavior("manual")
  1825  	// Specifies that VirtualCenter should generate recommendations
  1826  	// for host power operations, and should execute the
  1827  	// recommendations automatically.
  1828  	DpmBehaviorAutomated = DpmBehavior("automated")
  1829  )
  1830  
  1831  func init() {
  1832  	t["DpmBehavior"] = reflect.TypeOf((*DpmBehavior)(nil)).Elem()
  1833  	minAPIVersionForType["DpmBehavior"] = "2.5"
  1834  }
  1835  
  1836  type DrsBehavior string
  1837  
  1838  const (
  1839  	// Specifies that VirtualCenter should generate recommendations for
  1840  	// virtual machine migration and for placement with a host,
  1841  	// but should not implement the recommendations automatically.
  1842  	DrsBehaviorManual = DrsBehavior("manual")
  1843  	// Specifies that VirtualCenter should generate recommendations for
  1844  	// virtual machine migration and for placement with a host,
  1845  	// but should automatically implement only the placement at power on.
  1846  	DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated")
  1847  	// Specifies that VirtualCenter should automate both the migration
  1848  	// of virtual machines and their placement with a host at power on.
  1849  	DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated")
  1850  )
  1851  
  1852  func init() {
  1853  	t["DrsBehavior"] = reflect.TypeOf((*DrsBehavior)(nil)).Elem()
  1854  }
  1855  
  1856  // Correlation state as computed by storageRM
  1857  type DrsInjectorWorkloadCorrelationState string
  1858  
  1859  const (
  1860  	DrsInjectorWorkloadCorrelationStateCorrelated   = DrsInjectorWorkloadCorrelationState("Correlated")
  1861  	DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated")
  1862  )
  1863  
  1864  func init() {
  1865  	t["DrsInjectorWorkloadCorrelationState"] = reflect.TypeOf((*DrsInjectorWorkloadCorrelationState)(nil)).Elem()
  1866  	minAPIVersionForType["DrsInjectorWorkloadCorrelationState"] = "5.1"
  1867  }
  1868  
  1869  // Deprecated as of VI API 2.5 use `RecommendationReasonCode_enum`.
  1870  //
  1871  // List of defined migration reason codes:
  1872  type DrsRecommendationReasonCode string
  1873  
  1874  const (
  1875  	// Balance average CPU utilization.
  1876  	DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg")
  1877  	// Balance average memory utilization.
  1878  	DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg")
  1879  	// Fulfill affinity rule.
  1880  	DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin")
  1881  	// Fulfill anti-affinity rule.
  1882  	DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin")
  1883  	// Host entering maintenance mode.
  1884  	DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint")
  1885  )
  1886  
  1887  func init() {
  1888  	t["DrsRecommendationReasonCode"] = reflect.TypeOf((*DrsRecommendationReasonCode)(nil)).Elem()
  1889  }
  1890  
  1891  type DvsEventPortBlockState string
  1892  
  1893  const (
  1894  	// The dvs port is in unset state
  1895  	DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset")
  1896  	// The dvs port is in blocked state
  1897  	DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked")
  1898  	// The dvs port is in unblocked state
  1899  	DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked")
  1900  	// The dvs port is in unknown state
  1901  	DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown")
  1902  )
  1903  
  1904  func init() {
  1905  	t["DvsEventPortBlockState"] = reflect.TypeOf((*DvsEventPortBlockState)(nil)).Elem()
  1906  	minAPIVersionForType["DvsEventPortBlockState"] = "6.5"
  1907  }
  1908  
  1909  // Network Filter on Failure Type.
  1910  //
  1911  // It specifies whether all the
  1912  // packets will be allowed or all the packets will be denied when
  1913  type DvsFilterOnFailure string
  1914  
  1915  const (
  1916  	// Allows all the packets when the Filter fails to configure.
  1917  	DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen")
  1918  	// Denies all the packets when the Filter fails to configure.
  1919  	DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed")
  1920  )
  1921  
  1922  func init() {
  1923  	t["DvsFilterOnFailure"] = reflect.TypeOf((*DvsFilterOnFailure)(nil)).Elem()
  1924  	minAPIVersionForType["DvsFilterOnFailure"] = "5.5"
  1925  }
  1926  
  1927  // Network Traffic Rule direction types.
  1928  //
  1929  // It specifies whether rule
  1930  type DvsNetworkRuleDirectionType string
  1931  
  1932  const (
  1933  	// This specifies that the network rule has to be applied only for
  1934  	// incoming packets.
  1935  	DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets")
  1936  	// This specifies that the network rule has to be applied only for
  1937  	// outgoing packets.
  1938  	DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets")
  1939  	// This specifies that the network rule has to be applied only for
  1940  	// both incoming and outgoing packets.
  1941  	DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both")
  1942  )
  1943  
  1944  func init() {
  1945  	t["DvsNetworkRuleDirectionType"] = reflect.TypeOf((*DvsNetworkRuleDirectionType)(nil)).Elem()
  1946  	minAPIVersionForType["DvsNetworkRuleDirectionType"] = "5.5"
  1947  }
  1948  
  1949  // The `EntityImportType_enum` enum defines the import type for a
  1950  // `DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
  1951  type EntityImportType string
  1952  
  1953  const (
  1954  	// Create the entity with new identifiers.
  1955  	//
  1956  	// Specify the
  1957  	// `EntityBackupConfig*.*EntityBackupConfig.name` and
  1958  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  1959  	// properties.
  1960  	//
  1961  	// The Server ignores any value for the
  1962  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  1963  	// property.
  1964  	EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier")
  1965  	// Recreate the entities with the original identifiers of the entity from which backup was created.
  1966  	//
  1967  	// The Server throws an exception if an entity with the same identifier already exists.
  1968  	// This option will also add the host members to the `DistributedVirtualSwitch` and will
  1969  	// try to get the virtual machine networking back with the same `DistributedVirtualPortgroup`.
  1970  	// Specify a `Folder` as the
  1971  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  1972  	// for `EntityBackupConfig*.*EntityBackupConfig.entityType`
  1973  	// "distributedVirtualSwitch".
  1974  	//
  1975  	// The Server ignores any values for the
  1976  	// `EntityBackupConfig*.*EntityBackupConfig.key` and
  1977  	// `EntityBackupConfig*.*EntityBackupConfig.name`
  1978  	// properties.
  1979  	EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier")
  1980  	// Apply the configuration specified in the
  1981  	// `EntityBackupConfig*.*EntityBackupConfig.configBlob`
  1982  	// property to the entity specified in the
  1983  	// `EntityBackupConfig*.*EntityBackupConfig.entityType` and
  1984  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  1985  	// properties.
  1986  	//
  1987  	// If you specify
  1988  	// `EntityBackupConfig*.*EntityBackupConfig.name`,
  1989  	// the Server uses the specified name to rename the entity.
  1990  	//
  1991  	// The Server ignores any value for the
  1992  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  1993  	// property.
  1994  	EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified")
  1995  )
  1996  
  1997  func init() {
  1998  	t["EntityImportType"] = reflect.TypeOf((*EntityImportType)(nil)).Elem()
  1999  	minAPIVersionForType["EntityImportType"] = "5.1"
  2000  }
  2001  
  2002  // The `EntityType_enum` enum identifies
  2003  // the type of entity that was exported
  2004  type EntityType string
  2005  
  2006  const (
  2007  	// Indicates the exported entity is a `DistributedVirtualSwitch`.
  2008  	EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch")
  2009  	// Indicates the exported entity is a `DistributedVirtualPortgroup`.
  2010  	EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup")
  2011  )
  2012  
  2013  func init() {
  2014  	t["EntityType"] = reflect.TypeOf((*EntityType)(nil)).Elem()
  2015  	minAPIVersionForType["EntityType"] = "5.1"
  2016  }
  2017  
  2018  type EventAlarmExpressionComparisonOperator string
  2019  
  2020  const (
  2021  	// attribute equals specified value
  2022  	EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals")
  2023  	// attribute does not equal specified value
  2024  	EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo")
  2025  	// attribute starts with specified value
  2026  	EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith")
  2027  	// attribute does not start with specified value
  2028  	EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith")
  2029  	// attribute ends with specified value
  2030  	EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith")
  2031  	// attribute does not end with specified value
  2032  	EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith")
  2033  )
  2034  
  2035  func init() {
  2036  	t["EventAlarmExpressionComparisonOperator"] = reflect.TypeOf((*EventAlarmExpressionComparisonOperator)(nil)).Elem()
  2037  	minAPIVersionForType["EventAlarmExpressionComparisonOperator"] = "4.0"
  2038  }
  2039  
  2040  type EventCategory string
  2041  
  2042  const (
  2043  	// Returns informational events.
  2044  	EventCategoryInfo = EventCategory("info")
  2045  	// Returns warning events.
  2046  	EventCategoryWarning = EventCategory("warning")
  2047  	// Returns error events.
  2048  	EventCategoryError = EventCategory("error")
  2049  	// Returns events pertaining to users.
  2050  	EventCategoryUser = EventCategory("user")
  2051  )
  2052  
  2053  func init() {
  2054  	t["EventCategory"] = reflect.TypeOf((*EventCategory)(nil)).Elem()
  2055  }
  2056  
  2057  type EventEventSeverity string
  2058  
  2059  const (
  2060  	// Something that must be corrected
  2061  	EventEventSeverityError = EventEventSeverity("error")
  2062  	// Should be corrected, but the system can continue operating normally
  2063  	EventEventSeverityWarning = EventEventSeverity("warning")
  2064  	// An informational message
  2065  	EventEventSeverityInfo = EventEventSeverity("info")
  2066  	// A user-related message
  2067  	EventEventSeverityUser = EventEventSeverity("user")
  2068  )
  2069  
  2070  func init() {
  2071  	t["EventEventSeverity"] = reflect.TypeOf((*EventEventSeverity)(nil)).Elem()
  2072  	minAPIVersionForType["EventEventSeverity"] = "4.0"
  2073  }
  2074  
  2075  // This option specifies how to select events based on child relationships
  2076  // in the inventory hierarchy.
  2077  //
  2078  // If a managed entity has children, their events
  2079  // can be retrieved with this filter option.
  2080  type EventFilterSpecRecursionOption string
  2081  
  2082  const (
  2083  	// Returns events that pertain only to the specified managed entity,
  2084  	// and not its children.
  2085  	EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self")
  2086  	// Returns events pertaining to child entities only.
  2087  	//
  2088  	// Excludes
  2089  	// events pertaining to the specified managed entity itself.
  2090  	EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children")
  2091  	// Returns events pertaining either to the specified managed entity
  2092  	// or to its child entities.
  2093  	EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all")
  2094  )
  2095  
  2096  func init() {
  2097  	t["EventFilterSpecRecursionOption"] = reflect.TypeOf((*EventFilterSpecRecursionOption)(nil)).Elem()
  2098  }
  2099  
  2100  // The operating mode of the adapter.
  2101  type FibreChannelPortType string
  2102  
  2103  const (
  2104  	FibreChannelPortTypeFabric       = FibreChannelPortType("fabric")
  2105  	FibreChannelPortTypeLoop         = FibreChannelPortType("loop")
  2106  	FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint")
  2107  	FibreChannelPortTypeUnknown      = FibreChannelPortType("unknown")
  2108  )
  2109  
  2110  func init() {
  2111  	t["FibreChannelPortType"] = reflect.TypeOf((*FibreChannelPortType)(nil)).Elem()
  2112  }
  2113  
  2114  // Status of volume's support for vStorage hardware acceleration.
  2115  //
  2116  // The ESX Server determines the status based on the capabilities
  2117  // of the devices that support the file system volume.
  2118  // When a host boots, the support status is unknown.
  2119  // As the ESX host attempts hardware-accelerated operations,
  2120  // it determines whether the storage device supports hardware
  2121  // acceleration and sets the `HostFileSystemMountInfo.vStorageSupport`
  2122  type FileSystemMountInfoVStorageSupportStatus string
  2123  
  2124  const (
  2125  	// Storage device supports hardware acceleration.
  2126  	//
  2127  	// The ESX host will use the feature to offload certain
  2128  	// storage-related operations to the device.
  2129  	FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported")
  2130  	// Storage device does not support hardware acceleration.
  2131  	//
  2132  	// The ESX host will handle all storage-related operations.
  2133  	FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported")
  2134  	// Initial support status value.
  2135  	FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown")
  2136  )
  2137  
  2138  func init() {
  2139  	t["FileSystemMountInfoVStorageSupportStatus"] = reflect.TypeOf((*FileSystemMountInfoVStorageSupportStatus)(nil)).Elem()
  2140  	minAPIVersionForType["FileSystemMountInfoVStorageSupportStatus"] = "4.1"
  2141  }
  2142  
  2143  type FolderDesiredHostState string
  2144  
  2145  const (
  2146  	// Add host in maintenance mode.
  2147  	FolderDesiredHostStateMaintenance = FolderDesiredHostState("maintenance")
  2148  	// Add host in non-maintenance mode.
  2149  	FolderDesiredHostStateNon_maintenance = FolderDesiredHostState("non_maintenance")
  2150  )
  2151  
  2152  func init() {
  2153  	t["FolderDesiredHostState"] = reflect.TypeOf((*FolderDesiredHostState)(nil)).Elem()
  2154  	minAPIVersionForType["FolderDesiredHostState"] = "6.7.1"
  2155  }
  2156  
  2157  type FtIssuesOnHostHostSelectionType string
  2158  
  2159  const (
  2160  	// The host was specified by the user
  2161  	FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user")
  2162  	// The host was selected by Virtual Center
  2163  	FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc")
  2164  	// The host was selected by DRS
  2165  	FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs")
  2166  )
  2167  
  2168  func init() {
  2169  	t["FtIssuesOnHostHostSelectionType"] = reflect.TypeOf((*FtIssuesOnHostHostSelectionType)(nil)).Elem()
  2170  	minAPIVersionForType["FtIssuesOnHostHostSelectionType"] = "4.0"
  2171  }
  2172  
  2173  type GuestFileType string
  2174  
  2175  const (
  2176  	// Regular files, and on Posix filesystems, unix domain sockets
  2177  	// and devices.
  2178  	GuestFileTypeFile = GuestFileType("file")
  2179  	// directory
  2180  	GuestFileTypeDirectory = GuestFileType("directory")
  2181  	// symbolic link
  2182  	GuestFileTypeSymlink = GuestFileType("symlink")
  2183  )
  2184  
  2185  func init() {
  2186  	t["GuestFileType"] = reflect.TypeOf((*GuestFileType)(nil)).Elem()
  2187  	minAPIVersionForType["GuestFileType"] = "5.0"
  2188  }
  2189  
  2190  type GuestInfoAppStateType string
  2191  
  2192  const (
  2193  	// The application state wasn't set from the guest by the application agent.
  2194  	//
  2195  	// This is the default.
  2196  	GuestInfoAppStateTypeNone = GuestInfoAppStateType("none")
  2197  	// The guest's application agent declared its state as normal and doesn't
  2198  	// require any action
  2199  	GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk")
  2200  	// Guest's application agent asks for immediate reset
  2201  	GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset")
  2202  )
  2203  
  2204  func init() {
  2205  	t["GuestInfoAppStateType"] = reflect.TypeOf((*GuestInfoAppStateType)(nil)).Elem()
  2206  	minAPIVersionForType["GuestInfoAppStateType"] = "5.5"
  2207  }
  2208  
  2209  type GuestInfoCustomizationStatus string
  2210  
  2211  const (
  2212  	// No guest customizationSpec has been applied for the VM
  2213  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_IDLE")
  2214  	// The guest customizationSpec has been applied for the VM,
  2215  	// but the customization process has not yet started inside the guest OS
  2216  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_PENDING")
  2217  	// The customization process is currently running inside the guest OS
  2218  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_RUNNING")
  2219  	// The customization process has completed successfully inside the
  2220  	// guest OS
  2221  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_SUCCEEDED")
  2222  	// The customizatio process has failed inside the guest OS
  2223  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_FAILED")
  2224  )
  2225  
  2226  func init() {
  2227  	t["GuestInfoCustomizationStatus"] = reflect.TypeOf((*GuestInfoCustomizationStatus)(nil)).Elem()
  2228  	minAPIVersionForType["GuestInfoCustomizationStatus"] = "7.0.2.0"
  2229  }
  2230  
  2231  type GuestOsDescriptorFirmwareType string
  2232  
  2233  const (
  2234  	// BIOS firmware
  2235  	GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios")
  2236  	// Extensible Firmware Interface
  2237  	GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi")
  2238  )
  2239  
  2240  func init() {
  2241  	t["GuestOsDescriptorFirmwareType"] = reflect.TypeOf((*GuestOsDescriptorFirmwareType)(nil)).Elem()
  2242  	minAPIVersionForType["GuestOsDescriptorFirmwareType"] = "5.0"
  2243  }
  2244  
  2245  type GuestOsDescriptorSupportLevel string
  2246  
  2247  const (
  2248  	// This operating system is not supported,
  2249  	// but may be supported in the future.
  2250  	GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental")
  2251  	// This operating system is not fully supported,
  2252  	// but may have been supported in the past.
  2253  	GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy")
  2254  	// No longer supported.
  2255  	GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated")
  2256  	// Fully supported.
  2257  	GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported")
  2258  	// This operating system is not supported.
  2259  	GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported")
  2260  	// Support for this operating system will be terminated in the future.
  2261  	//
  2262  	// Please migrate to using a different operating system.
  2263  	GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated")
  2264  	// This operating system may not be supported yet,
  2265  	// please check VMware compatibility guide.
  2266  	GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview")
  2267  )
  2268  
  2269  func init() {
  2270  	t["GuestOsDescriptorSupportLevel"] = reflect.TypeOf((*GuestOsDescriptorSupportLevel)(nil)).Elem()
  2271  	minAPIVersionForType["GuestOsDescriptorSupportLevel"] = "5.0"
  2272  	minAPIVersionForEnumValue["GuestOsDescriptorSupportLevel"] = map[string]string{
  2273  		"unsupported": "5.1",
  2274  		"deprecated":  "5.1",
  2275  		"techPreview": "5.1",
  2276  	}
  2277  }
  2278  
  2279  // End guest quiesce phase error types.
  2280  type GuestQuiesceEndGuestQuiesceError string
  2281  
  2282  const (
  2283  	// Fail the end phase of guest quiesce creation.
  2284  	GuestQuiesceEndGuestQuiesceErrorFailure = GuestQuiesceEndGuestQuiesceError("failure")
  2285  )
  2286  
  2287  func init() {
  2288  	t["GuestQuiesceEndGuestQuiesceError"] = reflect.TypeOf((*GuestQuiesceEndGuestQuiesceError)(nil)).Elem()
  2289  }
  2290  
  2291  // This describes the bitness (32-bit or 64-bit) of a registry view in a
  2292  // Windows OS that supports WOW64.
  2293  //
  2294  // WOW64 (short for Windows 32-bit on Windows 64-bit) is the x86 emulator
  2295  // that allows 32-bit Windows-based applications to run seamlessly on
  2296  // 64-bit Windows. Please refer to these MSDN sites for more details:
  2297  // http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx and
  2298  type GuestRegKeyWowSpec string
  2299  
  2300  const (
  2301  	// Access the key from the native view of the
  2302  	// Registry (32-bit on 32-bit versions of Windows,
  2303  	// 64-bit on 64-bit versions of Windows).
  2304  	GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative")
  2305  	// Access the key from the 32-bit view of the Registry.
  2306  	GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32")
  2307  	// Access the key from the 64-bit view of the Registry.
  2308  	GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64")
  2309  )
  2310  
  2311  func init() {
  2312  	t["GuestRegKeyWowSpec"] = reflect.TypeOf((*GuestRegKeyWowSpec)(nil)).Elem()
  2313  	minAPIVersionForType["GuestRegKeyWowSpec"] = "6.0"
  2314  }
  2315  
  2316  type HealthUpdateInfoComponentType string
  2317  
  2318  const (
  2319  	HealthUpdateInfoComponentTypeMemory  = HealthUpdateInfoComponentType("Memory")
  2320  	HealthUpdateInfoComponentTypePower   = HealthUpdateInfoComponentType("Power")
  2321  	HealthUpdateInfoComponentTypeFan     = HealthUpdateInfoComponentType("Fan")
  2322  	HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network")
  2323  	HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage")
  2324  )
  2325  
  2326  func init() {
  2327  	t["HealthUpdateInfoComponentType"] = reflect.TypeOf((*HealthUpdateInfoComponentType)(nil)).Elem()
  2328  	minAPIVersionForType["HealthUpdateInfoComponentType"] = "6.5"
  2329  }
  2330  
  2331  // Defines different access modes that a user may have on the host for
  2332  // direct host connections.
  2333  //
  2334  // The assumption here is that when the host is managed by vCenter,
  2335  // we don't need fine-grained control on local user permissions like the
  2336  type HostAccessMode string
  2337  
  2338  const (
  2339  	// Indicates that the user has no explicitly defined permissions or roles.
  2340  	//
  2341  	// This is used when we want to remove all permissions for some user.
  2342  	//
  2343  	// Note that this is not the same as `accessNoAccess`.
  2344  	HostAccessModeAccessNone = HostAccessMode("accessNone")
  2345  	// Describes a propagating Admin role on the root inventory object
  2346  	// (root folder) on the host, and no other non-Admin role on any other
  2347  	// object.
  2348  	//
  2349  	// The same permissions are needed to login to local or remote
  2350  	// shell (ESXiShell or SSH).
  2351  	HostAccessModeAccessAdmin = HostAccessMode("accessAdmin")
  2352  	// Describes a propagating NoAccess role on the root inventory object
  2353  	// (root folder) on the host, and no other roles.
  2354  	//
  2355  	// Even if the user has another (redundant) NoAccess role on some other
  2356  	// inventory object, then the access mode for this user will be
  2357  	// classified as `accessOther`.
  2358  	//
  2359  	// This mode may be used to restrict a specific user account without
  2360  	// restricting the access mode for the group to which the user belongs.
  2361  	HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess")
  2362  	// Describes a propagating ReadOnly role on the root inventory object
  2363  	// (root folder) on the host, and no other roles.
  2364  	//
  2365  	// Even if the user has another (redundant) ReadOnly role on some other
  2366  	// inventory object, then the access mode for this user will be
  2367  	// `accessOther`.
  2368  	HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly")
  2369  	// Describes a combination of one or more roles/permissions which are
  2370  	// none of the above.
  2371  	HostAccessModeAccessOther = HostAccessMode("accessOther")
  2372  )
  2373  
  2374  func init() {
  2375  	t["HostAccessMode"] = reflect.TypeOf((*HostAccessMode)(nil)).Elem()
  2376  	minAPIVersionForType["HostAccessMode"] = "6.0"
  2377  }
  2378  
  2379  type HostActiveDirectoryAuthenticationCertificateDigest string
  2380  
  2381  const (
  2382  	HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1")
  2383  )
  2384  
  2385  func init() {
  2386  	t["HostActiveDirectoryAuthenticationCertificateDigest"] = reflect.TypeOf((*HostActiveDirectoryAuthenticationCertificateDigest)(nil)).Elem()
  2387  	minAPIVersionForType["HostActiveDirectoryAuthenticationCertificateDigest"] = "6.0"
  2388  }
  2389  
  2390  type HostActiveDirectoryInfoDomainMembershipStatus string
  2391  
  2392  const (
  2393  	// The Active Directory integration provider does not support
  2394  	// domain trust checks.
  2395  	HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown")
  2396  	// No problems with the domain membership.
  2397  	HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok")
  2398  	// The host thinks it's part of a domain,
  2399  	// but no domain controllers could be reached to confirm.
  2400  	HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers")
  2401  	// The client side of the trust relationship is broken.
  2402  	HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken")
  2403  	// The server side of the trust relationship is broken
  2404  	// (or bad machine password).
  2405  	HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken")
  2406  	// Unexpected domain controller responded.
  2407  	HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust")
  2408  	// There's some problem with the domain membership.
  2409  	HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem")
  2410  )
  2411  
  2412  func init() {
  2413  	t["HostActiveDirectoryInfoDomainMembershipStatus"] = reflect.TypeOf((*HostActiveDirectoryInfoDomainMembershipStatus)(nil)).Elem()
  2414  	minAPIVersionForType["HostActiveDirectoryInfoDomainMembershipStatus"] = "4.1"
  2415  }
  2416  
  2417  type HostBIOSInfoFirmwareType string
  2418  
  2419  const (
  2420  	HostBIOSInfoFirmwareTypeBIOS = HostBIOSInfoFirmwareType("BIOS")
  2421  	HostBIOSInfoFirmwareTypeUEFI = HostBIOSInfoFirmwareType("UEFI")
  2422  )
  2423  
  2424  func init() {
  2425  	t["HostBIOSInfoFirmwareType"] = reflect.TypeOf((*HostBIOSInfoFirmwareType)(nil)).Elem()
  2426  	minAPIVersionForType["HostBIOSInfoFirmwareType"] = "8.0.2.0"
  2427  }
  2428  
  2429  // Deprecated as of vSphere API 7.0, use
  2430  // `VmFaultToleranceConfigIssueReasonForIssue_enum`.
  2431  //
  2432  // Set of possible values for
  2433  type HostCapabilityFtUnsupportedReason string
  2434  
  2435  const (
  2436  	// No VMotion license
  2437  	HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed")
  2438  	// VMotion nic is not configured on the host
  2439  	HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic")
  2440  	// FT logging nic is not configured on the host
  2441  	HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic")
  2442  	// Host does not have proper FT license
  2443  	HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed")
  2444  	// Host does not have HA agent running properly
  2445  	HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue")
  2446  	// VMware product installed on the host does not support
  2447  	// fault tolerance
  2448  	HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct")
  2449  	// Host CPU does not support hardware virtualization
  2450  	HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported")
  2451  	// Host CPU does not support hardware MMU virtualization
  2452  	HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported")
  2453  	// Host CPU is compatible for replay-based FT, but hardware
  2454  	// virtualization has been disabled in the BIOS.
  2455  	HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled")
  2456  )
  2457  
  2458  func init() {
  2459  	t["HostCapabilityFtUnsupportedReason"] = reflect.TypeOf((*HostCapabilityFtUnsupportedReason)(nil)).Elem()
  2460  	minAPIVersionForType["HostCapabilityFtUnsupportedReason"] = "4.1"
  2461  	minAPIVersionForEnumValue["HostCapabilityFtUnsupportedReason"] = map[string]string{
  2462  		"unsupportedProduct":  "6.0",
  2463  		"cpuHvUnsupported":    "6.0",
  2464  		"cpuHwmmuUnsupported": "6.0",
  2465  		"cpuHvDisabled":       "6.0",
  2466  	}
  2467  }
  2468  
  2469  type HostCapabilityUnmapMethodSupported string
  2470  
  2471  const (
  2472  	// only the unmap priority is supported
  2473  	HostCapabilityUnmapMethodSupportedPriority = HostCapabilityUnmapMethodSupported("priority")
  2474  	// the unmap bandwidth can be set as a fixed value
  2475  	HostCapabilityUnmapMethodSupportedFixed = HostCapabilityUnmapMethodSupported("fixed")
  2476  	// the unmap bandwidth can be set as a range, where the actual
  2477  	// bandwidth will be dynamically throttled by the backened
  2478  	HostCapabilityUnmapMethodSupportedDynamic = HostCapabilityUnmapMethodSupported("dynamic")
  2479  )
  2480  
  2481  func init() {
  2482  	t["HostCapabilityUnmapMethodSupported"] = reflect.TypeOf((*HostCapabilityUnmapMethodSupported)(nil)).Elem()
  2483  	minAPIVersionForType["HostCapabilityUnmapMethodSupported"] = "6.7"
  2484  }
  2485  
  2486  type HostCapabilityVmDirectPathGen2UnsupportedReason string
  2487  
  2488  const (
  2489  	// The host software does not support VMDirectPath Gen 2.
  2490  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct")
  2491  	// The host hardware does not support VMDirectPath Gen 2.
  2492  	//
  2493  	// Note that
  2494  	// this is a general capability for the host and is independent of
  2495  	// support by a given physical NIC.
  2496  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware")
  2497  	// The host is configured to disable VMDirectPath Gen 2.
  2498  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled")
  2499  )
  2500  
  2501  func init() {
  2502  	t["HostCapabilityVmDirectPathGen2UnsupportedReason"] = reflect.TypeOf((*HostCapabilityVmDirectPathGen2UnsupportedReason)(nil)).Elem()
  2503  	minAPIVersionForType["HostCapabilityVmDirectPathGen2UnsupportedReason"] = "4.1"
  2504  }
  2505  
  2506  // The status of a given certificate as computed per the soft and the hard
  2507  // thresholds in vCenter Server.
  2508  //
  2509  // There are two different thresholds for the host certificate
  2510  // expirations; a soft threshold (which constitutes of two phases) and a
  2511  // hard threshold.
  2512  //
  2513  // Soft Threshold:
  2514  //
  2515  // Phase One: vCenter Server will publish an event at
  2516  // this time to let the user know about the status, but, no alarms or
  2517  // warnings are raised.
  2518  //
  2519  // Phase Two: During this phase, vCenter Server will publish an event and
  2520  // indicate the certificate status as expiring in the UI.
  2521  //
  2522  // Hard Threshold:
  2523  //
  2524  // vCenter Server will publish an alarm and indicate via the UI that the
  2525  type HostCertificateManagerCertificateInfoCertificateStatus string
  2526  
  2527  const (
  2528  	// The certificate status is unknown.
  2529  	HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown")
  2530  	// The certificate has expired.
  2531  	HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired")
  2532  	// The certificate is expiring shortly.
  2533  	//
  2534  	// (soft threshold - 1)
  2535  	HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring")
  2536  	// The certificate is expiring shortly.
  2537  	//
  2538  	// (soft threshold - 2)
  2539  	HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly")
  2540  	// The certificate expiration is imminent.
  2541  	//
  2542  	// (hard threshold)
  2543  	HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent")
  2544  	// The certificate is good.
  2545  	HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good")
  2546  )
  2547  
  2548  func init() {
  2549  	t["HostCertificateManagerCertificateInfoCertificateStatus"] = reflect.TypeOf((*HostCertificateManagerCertificateInfoCertificateStatus)(nil)).Elem()
  2550  	minAPIVersionForType["HostCertificateManagerCertificateInfoCertificateStatus"] = "6.0"
  2551  }
  2552  
  2553  type HostCertificateManagerCertificateKind string
  2554  
  2555  const (
  2556  	// Machine certificate of the Host
  2557  	HostCertificateManagerCertificateKindMachine = HostCertificateManagerCertificateKind("Machine")
  2558  	// VASA Client certificate used for communication with VASA Provider
  2559  	HostCertificateManagerCertificateKindVASAClient = HostCertificateManagerCertificateKind("VASAClient")
  2560  )
  2561  
  2562  func init() {
  2563  	t["HostCertificateManagerCertificateKind"] = reflect.TypeOf((*HostCertificateManagerCertificateKind)(nil)).Elem()
  2564  	minAPIVersionForType["HostCertificateManagerCertificateKind"] = "8.0.1.0"
  2565  }
  2566  
  2567  // This is a global mode on a configuration specification indicating
  2568  // whether the structure represents the desired state or the set of
  2569  // operations to apply on the managed object.
  2570  type HostConfigChangeMode string
  2571  
  2572  const (
  2573  	// Indicates that the structure represents the
  2574  	// set of operations to apply on the managed object.
  2575  	HostConfigChangeModeModify = HostConfigChangeMode("modify")
  2576  	// Indicates that the structure represents the
  2577  	// desired state of the managed object.
  2578  	HostConfigChangeModeReplace = HostConfigChangeMode("replace")
  2579  )
  2580  
  2581  func init() {
  2582  	t["HostConfigChangeMode"] = reflect.TypeOf((*HostConfigChangeMode)(nil)).Elem()
  2583  }
  2584  
  2585  // This list indicates the operation that should be performed for an
  2586  // entity.
  2587  type HostConfigChangeOperation string
  2588  
  2589  const (
  2590  	// Indicates the addition of an entity to the configuration.
  2591  	HostConfigChangeOperationAdd = HostConfigChangeOperation("add")
  2592  	// Indicates the removal of an entity from the configuration.
  2593  	HostConfigChangeOperationRemove = HostConfigChangeOperation("remove")
  2594  	// Indicates changes on the entity.
  2595  	//
  2596  	// The entity must exist or a
  2597  	// `NotFound` error will be thrown.
  2598  	HostConfigChangeOperationEdit = HostConfigChangeOperation("edit")
  2599  	// Indicates that an entity will be ignored: it won't be added when it
  2600  	// doesn't exist, or removed/changed when it exists.
  2601  	HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore")
  2602  )
  2603  
  2604  func init() {
  2605  	t["HostConfigChangeOperation"] = reflect.TypeOf((*HostConfigChangeOperation)(nil)).Elem()
  2606  	minAPIVersionForEnumValue["HostConfigChangeOperation"] = map[string]string{
  2607  		"ignore": "5.5",
  2608  	}
  2609  }
  2610  
  2611  type HostCpuPackageVendor string
  2612  
  2613  const (
  2614  	HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown")
  2615  	HostCpuPackageVendorIntel   = HostCpuPackageVendor("intel")
  2616  	HostCpuPackageVendorAmd     = HostCpuPackageVendor("amd")
  2617  	// `**Since:**` vSphere API Release 6.7.1
  2618  	HostCpuPackageVendorHygon = HostCpuPackageVendor("hygon")
  2619  )
  2620  
  2621  func init() {
  2622  	t["HostCpuPackageVendor"] = reflect.TypeOf((*HostCpuPackageVendor)(nil)).Elem()
  2623  	minAPIVersionForEnumValue["HostCpuPackageVendor"] = map[string]string{
  2624  		"hygon": "6.7.1",
  2625  	}
  2626  }
  2627  
  2628  type HostCpuPowerManagementInfoPolicyType string
  2629  
  2630  const (
  2631  	HostCpuPowerManagementInfoPolicyTypeOff           = HostCpuPowerManagementInfoPolicyType("off")
  2632  	HostCpuPowerManagementInfoPolicyTypeStaticPolicy  = HostCpuPowerManagementInfoPolicyType("staticPolicy")
  2633  	HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy")
  2634  )
  2635  
  2636  func init() {
  2637  	t["HostCpuPowerManagementInfoPolicyType"] = reflect.TypeOf((*HostCpuPowerManagementInfoPolicyType)(nil)).Elem()
  2638  	minAPIVersionForType["HostCpuPowerManagementInfoPolicyType"] = "4.0"
  2639  }
  2640  
  2641  type HostCryptoState string
  2642  
  2643  const (
  2644  	// The host is not safe for receiving sensitive material.
  2645  	HostCryptoStateIncapable = HostCryptoState("incapable")
  2646  	// The host is prepared for receiving sensitive material
  2647  	// but does not have a host key set yet.
  2648  	HostCryptoStatePrepared = HostCryptoState("prepared")
  2649  	// The host is crypto safe and has a host key set.
  2650  	HostCryptoStateSafe = HostCryptoState("safe")
  2651  	// The host is explicitly crypto disabled and pending reboot to be
  2652  	// applied.
  2653  	//
  2654  	// When host is in this state, creating encrypted virtual
  2655  	// machines is not allowed, but still need a reboot to totally clean
  2656  	// up and enter incapable state.
  2657  	HostCryptoStatePendingIncapable = HostCryptoState("pendingIncapable")
  2658  )
  2659  
  2660  func init() {
  2661  	t["HostCryptoState"] = reflect.TypeOf((*HostCryptoState)(nil)).Elem()
  2662  	minAPIVersionForType["HostCryptoState"] = "6.5"
  2663  	minAPIVersionForEnumValue["HostCryptoState"] = map[string]string{
  2664  		"pendingIncapable": "7.0",
  2665  	}
  2666  }
  2667  
  2668  type HostDVSConfigSpecSwitchMode string
  2669  
  2670  const (
  2671  	// traditional package processing mode.
  2672  	HostDVSConfigSpecSwitchModeNormal = HostDVSConfigSpecSwitchMode("normal")
  2673  	// ENS mode which skips packet parsing and flow table lookup.
  2674  	HostDVSConfigSpecSwitchModeMux = HostDVSConfigSpecSwitchMode("mux")
  2675  )
  2676  
  2677  func init() {
  2678  	t["HostDVSConfigSpecSwitchMode"] = reflect.TypeOf((*HostDVSConfigSpecSwitchMode)(nil)).Elem()
  2679  	minAPIVersionForType["HostDVSConfigSpecSwitchMode"] = "8.0.0.1"
  2680  }
  2681  
  2682  type HostDasErrorEventHostDasErrorReason string
  2683  
  2684  const (
  2685  	// Error while configuring/unconfiguring HA
  2686  	HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed")
  2687  	// Timeout while communicating with HA agent
  2688  	HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout")
  2689  	// HA communication initialization failed
  2690  	HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed")
  2691  	// Health check script failed
  2692  	HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed")
  2693  	// HA agent has an error
  2694  	HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed")
  2695  	// HA agent was shutdown
  2696  	HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown")
  2697  	// HA isolation address unpingable
  2698  	HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable")
  2699  	// Other reason
  2700  	HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other")
  2701  )
  2702  
  2703  func init() {
  2704  	t["HostDasErrorEventHostDasErrorReason"] = reflect.TypeOf((*HostDasErrorEventHostDasErrorReason)(nil)).Elem()
  2705  	minAPIVersionForType["HostDasErrorEventHostDasErrorReason"] = "4.0"
  2706  	minAPIVersionForEnumValue["HostDasErrorEventHostDasErrorReason"] = map[string]string{
  2707  		"isolationAddressUnpingable": "4.1",
  2708  	}
  2709  }
  2710  
  2711  type HostDateTimeInfoProtocol string
  2712  
  2713  const (
  2714  	// Network Time Protocol (NTP).
  2715  	HostDateTimeInfoProtocolNtp = HostDateTimeInfoProtocol("ntp")
  2716  	// Precision Time Protocol (PTP).
  2717  	HostDateTimeInfoProtocolPtp = HostDateTimeInfoProtocol("ptp")
  2718  )
  2719  
  2720  func init() {
  2721  	t["HostDateTimeInfoProtocol"] = reflect.TypeOf((*HostDateTimeInfoProtocol)(nil)).Elem()
  2722  	minAPIVersionForType["HostDateTimeInfoProtocol"] = "7.0"
  2723  }
  2724  
  2725  // The set of digest methods that can be used by TPM to calculate the PCR
  2726  type HostDigestInfoDigestMethodType string
  2727  
  2728  const (
  2729  	HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1")
  2730  	//
  2731  	//
  2732  	// Deprecated as of vSphere API 6.7.
  2733  	//
  2734  	// MD5.
  2735  	HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5")
  2736  	// `**Since:**` vSphere API Release 6.7
  2737  	HostDigestInfoDigestMethodTypeSHA256 = HostDigestInfoDigestMethodType("SHA256")
  2738  	// `**Since:**` vSphere API Release 6.7
  2739  	HostDigestInfoDigestMethodTypeSHA384 = HostDigestInfoDigestMethodType("SHA384")
  2740  	// `**Since:**` vSphere API Release 6.7
  2741  	HostDigestInfoDigestMethodTypeSHA512 = HostDigestInfoDigestMethodType("SHA512")
  2742  	// `**Since:**` vSphere API Release 6.7
  2743  	HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256")
  2744  )
  2745  
  2746  func init() {
  2747  	t["HostDigestInfoDigestMethodType"] = reflect.TypeOf((*HostDigestInfoDigestMethodType)(nil)).Elem()
  2748  	minAPIVersionForType["HostDigestInfoDigestMethodType"] = "4.0"
  2749  	minAPIVersionForEnumValue["HostDigestInfoDigestMethodType"] = map[string]string{
  2750  		"SHA256":  "6.7",
  2751  		"SHA384":  "6.7",
  2752  		"SHA512":  "6.7",
  2753  		"SM3_256": "6.7",
  2754  	}
  2755  }
  2756  
  2757  // This enum specifies the supported digest verification settings.
  2758  //
  2759  // For NVMe over TCP connections, both header and data digests may be
  2760  // requested during the process of establishing the connection.
  2761  // For details, see:
  2762  //   - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
  2763  type HostDigestVerificationSetting string
  2764  
  2765  const (
  2766  	// Both header and data digest verification are disabled.
  2767  	HostDigestVerificationSettingDigestDisabled = HostDigestVerificationSetting("digestDisabled")
  2768  	// Only header digest verification is enabled.
  2769  	HostDigestVerificationSettingHeaderOnly = HostDigestVerificationSetting("headerOnly")
  2770  	// Only data digest verification is enabled.
  2771  	HostDigestVerificationSettingDataOnly = HostDigestVerificationSetting("dataOnly")
  2772  	// Both header and data digest verification are enabled.
  2773  	HostDigestVerificationSettingHeaderAndData = HostDigestVerificationSetting("headerAndData")
  2774  )
  2775  
  2776  func init() {
  2777  	t["HostDigestVerificationSetting"] = reflect.TypeOf((*HostDigestVerificationSetting)(nil)).Elem()
  2778  	minAPIVersionForType["HostDigestVerificationSetting"] = "7.0.3.0"
  2779  }
  2780  
  2781  type HostDisconnectedEventReasonCode string
  2782  
  2783  const (
  2784  	// Failed to verify SSL thumbprint
  2785  	HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed")
  2786  	// License expired for the host
  2787  	HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired")
  2788  	// Agent is being upgraded
  2789  	HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade")
  2790  	// User requested disconnect
  2791  	HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest")
  2792  	// License not available after host upgrade
  2793  	HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses")
  2794  	// Agent is out of date
  2795  	HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate")
  2796  	// Failed to decrypt password
  2797  	HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure")
  2798  	// Unknown reason
  2799  	HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown")
  2800  	// The vRAM capacity of vCenter will be exceeded
  2801  	HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded")
  2802  )
  2803  
  2804  func init() {
  2805  	t["HostDisconnectedEventReasonCode"] = reflect.TypeOf((*HostDisconnectedEventReasonCode)(nil)).Elem()
  2806  	minAPIVersionForType["HostDisconnectedEventReasonCode"] = "4.0"
  2807  	minAPIVersionForEnumValue["HostDisconnectedEventReasonCode"] = map[string]string{
  2808  		"agentOutOfDate":         "4.1",
  2809  		"passwordDecryptFailure": "4.1",
  2810  		"unknown":                "4.1",
  2811  		"vcVRAMCapacityExceeded": "5.1",
  2812  	}
  2813  }
  2814  
  2815  // List of partition format types.
  2816  type HostDiskPartitionInfoPartitionFormat string
  2817  
  2818  const (
  2819  	HostDiskPartitionInfoPartitionFormatGpt     = HostDiskPartitionInfoPartitionFormat("gpt")
  2820  	HostDiskPartitionInfoPartitionFormatMbr     = HostDiskPartitionInfoPartitionFormat("mbr")
  2821  	HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown")
  2822  )
  2823  
  2824  func init() {
  2825  	t["HostDiskPartitionInfoPartitionFormat"] = reflect.TypeOf((*HostDiskPartitionInfoPartitionFormat)(nil)).Elem()
  2826  	minAPIVersionForType["HostDiskPartitionInfoPartitionFormat"] = "5.0"
  2827  }
  2828  
  2829  // List of symbol partition types
  2830  type HostDiskPartitionInfoType string
  2831  
  2832  const (
  2833  	HostDiskPartitionInfoTypeNone          = HostDiskPartitionInfoType("none")
  2834  	HostDiskPartitionInfoTypeVmfs          = HostDiskPartitionInfoType("vmfs")
  2835  	HostDiskPartitionInfoTypeLinuxNative   = HostDiskPartitionInfoType("linuxNative")
  2836  	HostDiskPartitionInfoTypeLinuxSwap     = HostDiskPartitionInfoType("linuxSwap")
  2837  	HostDiskPartitionInfoTypeExtended      = HostDiskPartitionInfoType("extended")
  2838  	HostDiskPartitionInfoTypeNtfs          = HostDiskPartitionInfoType("ntfs")
  2839  	HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic")
  2840  	// `**Since:**` vSphere API Release 5.5
  2841  	HostDiskPartitionInfoTypeVffs = HostDiskPartitionInfoType("vffs")
  2842  )
  2843  
  2844  func init() {
  2845  	t["HostDiskPartitionInfoType"] = reflect.TypeOf((*HostDiskPartitionInfoType)(nil)).Elem()
  2846  	minAPIVersionForEnumValue["HostDiskPartitionInfoType"] = map[string]string{
  2847  		"vffs": "5.5",
  2848  	}
  2849  }
  2850  
  2851  // Set of possible values for
  2852  // `HostFeatureVersionInfo.key`, which
  2853  type HostFeatureVersionKey string
  2854  
  2855  const (
  2856  	// VMware Fault Tolerance feature.
  2857  	//
  2858  	// For pre-4.1 hosts, the
  2859  	// version value reported will be empty in which case
  2860  	// `AboutInfo.build` should be used. For all
  2861  	// other hosts, the version number reported will be a component-specific
  2862  	// version identifier of the form X.Y.Z, where:
  2863  	// X refers to host agent Fault Tolerance version number,
  2864  	// Y refers to VMX Fault Tolerance version number,
  2865  	// Z refers to VMkernal Fault Tolerance version
  2866  	HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance")
  2867  )
  2868  
  2869  func init() {
  2870  	t["HostFeatureVersionKey"] = reflect.TypeOf((*HostFeatureVersionKey)(nil)).Elem()
  2871  	minAPIVersionForType["HostFeatureVersionKey"] = "4.1"
  2872  }
  2873  
  2874  type HostFileSystemVolumeFileSystemType string
  2875  
  2876  const (
  2877  	// VMware File System (ESX Server only).
  2878  	//
  2879  	// If this is set,
  2880  	// the type of the file system volume is VMFS.
  2881  	HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS")
  2882  	// Network file system v3 linux &amp; esx servers only.
  2883  	//
  2884  	// If this is
  2885  	// set, the type of the file system volume is NFS v3.
  2886  	HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS")
  2887  	// Network file system v4.1 linux &amp; esx servers only.
  2888  	//
  2889  	// If this is
  2890  	// set, the type of the file system volume is NFS v4.1 or later.
  2891  	HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41")
  2892  	// Common Internet File System.
  2893  	//
  2894  	// If this is set, the type of the
  2895  	// file system volume is Common Internet File System.
  2896  	HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS")
  2897  	// VSAN File System (ESX Server only).
  2898  	HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan")
  2899  	// vFlash File System (ESX Server only).
  2900  	//
  2901  	// If this is set, the type of the file system volume is VFFS.
  2902  	HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS")
  2903  	// vvol File System (ESX Server only).
  2904  	HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL")
  2905  	// Persistent Memory File System (ESX Server only).
  2906  	HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM")
  2907  	// VSAN direct file system.
  2908  	HostFileSystemVolumeFileSystemTypeVsanD = HostFileSystemVolumeFileSystemType("vsanD")
  2909  	// Used if the file system is not one of the specified file systems.
  2910  	//
  2911  	// Used mostly for reporting purposes. The other types are described
  2912  	// by the otherType property.
  2913  	HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER")
  2914  )
  2915  
  2916  func init() {
  2917  	t["HostFileSystemVolumeFileSystemType"] = reflect.TypeOf((*HostFileSystemVolumeFileSystemType)(nil)).Elem()
  2918  	minAPIVersionForType["HostFileSystemVolumeFileSystemType"] = "6.0"
  2919  	minAPIVersionForEnumValue["HostFileSystemVolumeFileSystemType"] = map[string]string{
  2920  		"NFS41": "6.0",
  2921  		"vsan":  "6.0",
  2922  		"VFFS":  "6.0",
  2923  		"VVOL":  "6.0",
  2924  		"PMEM":  "6.7",
  2925  		"vsanD": "7.0.1.0",
  2926  	}
  2927  }
  2928  
  2929  // Enumeration of port directions.
  2930  type HostFirewallRuleDirection string
  2931  
  2932  const (
  2933  	HostFirewallRuleDirectionInbound  = HostFirewallRuleDirection("inbound")
  2934  	HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound")
  2935  )
  2936  
  2937  func init() {
  2938  	t["HostFirewallRuleDirection"] = reflect.TypeOf((*HostFirewallRuleDirection)(nil)).Elem()
  2939  }
  2940  
  2941  type HostFirewallRulePortType string
  2942  
  2943  const (
  2944  	HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src")
  2945  	HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst")
  2946  )
  2947  
  2948  func init() {
  2949  	t["HostFirewallRulePortType"] = reflect.TypeOf((*HostFirewallRulePortType)(nil)).Elem()
  2950  	minAPIVersionForType["HostFirewallRulePortType"] = "5.0"
  2951  }
  2952  
  2953  // Set of valid port protocols.
  2954  type HostFirewallRuleProtocol string
  2955  
  2956  const (
  2957  	HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp")
  2958  	HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp")
  2959  )
  2960  
  2961  func init() {
  2962  	t["HostFirewallRuleProtocol"] = reflect.TypeOf((*HostFirewallRuleProtocol)(nil)).Elem()
  2963  }
  2964  
  2965  type HostFirewallSystemRuleSetId string
  2966  
  2967  const (
  2968  	HostFirewallSystemRuleSetIdFaultTolerance = HostFirewallSystemRuleSetId("faultTolerance")
  2969  	HostFirewallSystemRuleSetIdFdm            = HostFirewallSystemRuleSetId("fdm")
  2970  	HostFirewallSystemRuleSetIdUpdateManager  = HostFirewallSystemRuleSetId("updateManager")
  2971  	HostFirewallSystemRuleSetIdVpxHeartbeats  = HostFirewallSystemRuleSetId("vpxHeartbeats")
  2972  )
  2973  
  2974  func init() {
  2975  	t["HostFirewallSystemRuleSetId"] = reflect.TypeOf((*HostFirewallSystemRuleSetId)(nil)).Elem()
  2976  	minAPIVersionForType["HostFirewallSystemRuleSetId"] = "8.0.2.0"
  2977  }
  2978  
  2979  type HostFirewallSystemServiceName string
  2980  
  2981  const (
  2982  	HostFirewallSystemServiceNameVpxa = HostFirewallSystemServiceName("vpxa")
  2983  )
  2984  
  2985  func init() {
  2986  	t["HostFirewallSystemServiceName"] = reflect.TypeOf((*HostFirewallSystemServiceName)(nil)).Elem()
  2987  	minAPIVersionForType["HostFirewallSystemServiceName"] = "8.0.2.0"
  2988  }
  2989  
  2990  // The vendor definition for type of Field Replaceable Unit (FRU).
  2991  type HostFruFruType string
  2992  
  2993  const (
  2994  	HostFruFruTypeUndefined = HostFruFruType("undefined")
  2995  	HostFruFruTypeBoard     = HostFruFruType("board")
  2996  	HostFruFruTypeProduct   = HostFruFruType("product")
  2997  )
  2998  
  2999  func init() {
  3000  	t["HostFruFruType"] = reflect.TypeOf((*HostFruFruType)(nil)).Elem()
  3001  }
  3002  
  3003  type HostGraphicsConfigGraphicsType string
  3004  
  3005  const (
  3006  	// Shared graphics (ex.
  3007  	//
  3008  	// virtual shared graphics acceleration).
  3009  	HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared")
  3010  	// Shared direct graphics (ex.
  3011  	//
  3012  	// vendor vGPU shared passthrough).
  3013  	HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect")
  3014  )
  3015  
  3016  func init() {
  3017  	t["HostGraphicsConfigGraphicsType"] = reflect.TypeOf((*HostGraphicsConfigGraphicsType)(nil)).Elem()
  3018  	minAPIVersionForType["HostGraphicsConfigGraphicsType"] = "6.5"
  3019  }
  3020  
  3021  type HostGraphicsConfigSharedPassthruAssignmentPolicy string
  3022  
  3023  const (
  3024  	// Performance policy: assign VM to GPU with fewest VMs.
  3025  	HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance")
  3026  	// Consolidation policy: group like VMs on GPU until fully loaded.
  3027  	HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation")
  3028  )
  3029  
  3030  func init() {
  3031  	t["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = reflect.TypeOf((*HostGraphicsConfigSharedPassthruAssignmentPolicy)(nil)).Elem()
  3032  	minAPIVersionForType["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = "6.5"
  3033  }
  3034  
  3035  type HostGraphicsInfoGraphicsType string
  3036  
  3037  const (
  3038  	// Basic graphics when no host driver is available.
  3039  	HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic")
  3040  	// Shared graphics (ex.
  3041  	//
  3042  	// virtual shared graphics acceleration).
  3043  	HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared")
  3044  	// Direct graphics (ex.
  3045  	//
  3046  	// passthrough).
  3047  	HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct")
  3048  	// Shared direct graphics (ex.
  3049  	//
  3050  	// vGPU shared passthrough).
  3051  	HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect")
  3052  )
  3053  
  3054  func init() {
  3055  	t["HostGraphicsInfoGraphicsType"] = reflect.TypeOf((*HostGraphicsInfoGraphicsType)(nil)).Elem()
  3056  	minAPIVersionForType["HostGraphicsInfoGraphicsType"] = "5.5"
  3057  	minAPIVersionForEnumValue["HostGraphicsInfoGraphicsType"] = map[string]string{
  3058  		"sharedDirect": "6.5",
  3059  	}
  3060  }
  3061  
  3062  type HostHardwareElementStatus string
  3063  
  3064  const (
  3065  	// The implementation cannot report on the current status of the
  3066  	// physical element
  3067  	HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown")
  3068  	// The physical element is functioning as expected
  3069  	HostHardwareElementStatusGreen = HostHardwareElementStatus("Green")
  3070  	// All functionality is available but some might be degraded.
  3071  	HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow")
  3072  	// The physical element is failing.
  3073  	//
  3074  	// It is possible that some or all
  3075  	// functionalities of this physical element is degraded or not working.
  3076  	HostHardwareElementStatusRed = HostHardwareElementStatus("Red")
  3077  )
  3078  
  3079  func init() {
  3080  	t["HostHardwareElementStatus"] = reflect.TypeOf((*HostHardwareElementStatus)(nil)).Elem()
  3081  	minAPIVersionForType["HostHardwareElementStatus"] = "2.5"
  3082  }
  3083  
  3084  type HostHasComponentFailureHostComponentType string
  3085  
  3086  const (
  3087  	HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore")
  3088  )
  3089  
  3090  func init() {
  3091  	t["HostHasComponentFailureHostComponentType"] = reflect.TypeOf((*HostHasComponentFailureHostComponentType)(nil)).Elem()
  3092  	minAPIVersionForType["HostHasComponentFailureHostComponentType"] = "6.0"
  3093  }
  3094  
  3095  type HostImageAcceptanceLevel string
  3096  
  3097  const (
  3098  	// "VMware-certified"
  3099  	HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified")
  3100  	// "VMware-accepted"
  3101  	HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted")
  3102  	// "Partner-supported"
  3103  	HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner")
  3104  	// "Community-supported"
  3105  	HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community")
  3106  )
  3107  
  3108  func init() {
  3109  	t["HostImageAcceptanceLevel"] = reflect.TypeOf((*HostImageAcceptanceLevel)(nil)).Elem()
  3110  	minAPIVersionForType["HostImageAcceptanceLevel"] = "5.0"
  3111  }
  3112  
  3113  type HostIncompatibleForFaultToleranceReason string
  3114  
  3115  const (
  3116  	// The product does not support fault tolerance.
  3117  	HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product")
  3118  	// The product supports fault tolerance but the host CPU does not.
  3119  	HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor")
  3120  )
  3121  
  3122  func init() {
  3123  	t["HostIncompatibleForFaultToleranceReason"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceReason)(nil)).Elem()
  3124  	minAPIVersionForType["HostIncompatibleForFaultToleranceReason"] = "4.0"
  3125  }
  3126  
  3127  type HostIncompatibleForRecordReplayReason string
  3128  
  3129  const (
  3130  	// The product does not support record/replay.
  3131  	HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product")
  3132  	// The product supports record/replay but the host CPU does not.
  3133  	HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor")
  3134  )
  3135  
  3136  func init() {
  3137  	t["HostIncompatibleForRecordReplayReason"] = reflect.TypeOf((*HostIncompatibleForRecordReplayReason)(nil)).Elem()
  3138  	minAPIVersionForType["HostIncompatibleForRecordReplayReason"] = "4.0"
  3139  }
  3140  
  3141  // The type of CHAP authentication setting to use.
  3142  //
  3143  // prohibited : do not use CHAP.
  3144  // preferred : use CHAP if successfully negotiated,
  3145  // but allow non-CHAP connections as fallback
  3146  // discouraged : use non-CHAP, but allow CHAP connectsion as fallback
  3147  // required : use CHAP for connection strictly, and fail if CHAP
  3148  // negotiation fails.
  3149  type HostInternetScsiHbaChapAuthenticationType string
  3150  
  3151  const (
  3152  	HostInternetScsiHbaChapAuthenticationTypeChapProhibited  = HostInternetScsiHbaChapAuthenticationType("chapProhibited")
  3153  	HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged")
  3154  	HostInternetScsiHbaChapAuthenticationTypeChapPreferred   = HostInternetScsiHbaChapAuthenticationType("chapPreferred")
  3155  	HostInternetScsiHbaChapAuthenticationTypeChapRequired    = HostInternetScsiHbaChapAuthenticationType("chapRequired")
  3156  )
  3157  
  3158  func init() {
  3159  	t["HostInternetScsiHbaChapAuthenticationType"] = reflect.TypeOf((*HostInternetScsiHbaChapAuthenticationType)(nil)).Elem()
  3160  	minAPIVersionForType["HostInternetScsiHbaChapAuthenticationType"] = "4.0"
  3161  }
  3162  
  3163  // The type of integrity checks to use.
  3164  //
  3165  // The digest setting for header
  3166  // and data traffic can be separately configured.
  3167  // prohibited : do not use digest.
  3168  // preferred : use digest if successfully negotiated, but skip the use
  3169  // of digest otherwise.
  3170  // discouraged : do not use digest if target allows, otherwise use digest.
  3171  // required : use digest strictly, and fail if target does not support
  3172  // digest.
  3173  type HostInternetScsiHbaDigestType string
  3174  
  3175  const (
  3176  	HostInternetScsiHbaDigestTypeDigestProhibited  = HostInternetScsiHbaDigestType("digestProhibited")
  3177  	HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged")
  3178  	HostInternetScsiHbaDigestTypeDigestPreferred   = HostInternetScsiHbaDigestType("digestPreferred")
  3179  	HostInternetScsiHbaDigestTypeDigestRequired    = HostInternetScsiHbaDigestType("digestRequired")
  3180  )
  3181  
  3182  func init() {
  3183  	t["HostInternetScsiHbaDigestType"] = reflect.TypeOf((*HostInternetScsiHbaDigestType)(nil)).Elem()
  3184  	minAPIVersionForType["HostInternetScsiHbaDigestType"] = "4.0"
  3185  }
  3186  
  3187  type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string
  3188  
  3189  const (
  3190  	// DHCP
  3191  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP")
  3192  	// Auto configured.
  3193  	//
  3194  	// Auto configured Link local address and Router Advertisement addresses
  3195  	// would be of this type.
  3196  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured")
  3197  	// Static address.
  3198  	//
  3199  	// Typically user specified addresses will be static addresses.
  3200  	// User can specify link local address. Only Static addresses can be added or removed.
  3201  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static")
  3202  	// Other or unknown type.
  3203  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other")
  3204  )
  3205  
  3206  func init() {
  3207  	t["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType)(nil)).Elem()
  3208  	minAPIVersionForType["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = "6.0"
  3209  }
  3210  
  3211  type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string
  3212  
  3213  const (
  3214  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd    = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add")
  3215  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove")
  3216  )
  3217  
  3218  func init() {
  3219  	t["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation)(nil)).Elem()
  3220  	minAPIVersionForType["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = "6.0"
  3221  }
  3222  
  3223  type HostInternetScsiHbaNetworkBindingSupportType string
  3224  
  3225  const (
  3226  	HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported")
  3227  	HostInternetScsiHbaNetworkBindingSupportTypeOptional     = HostInternetScsiHbaNetworkBindingSupportType("optional")
  3228  	HostInternetScsiHbaNetworkBindingSupportTypeRequired     = HostInternetScsiHbaNetworkBindingSupportType("required")
  3229  )
  3230  
  3231  func init() {
  3232  	t["HostInternetScsiHbaNetworkBindingSupportType"] = reflect.TypeOf((*HostInternetScsiHbaNetworkBindingSupportType)(nil)).Elem()
  3233  	minAPIVersionForType["HostInternetScsiHbaNetworkBindingSupportType"] = "5.0"
  3234  }
  3235  
  3236  // The method of discovery of an iScsi target.
  3237  //
  3238  // staticMethod: static discovery
  3239  // sendTargetsMethod: sendtarget discovery
  3240  // slpMethod: Service Location Protocol discovery
  3241  // isnsMethod: Internet Storage Name Service discovery
  3242  type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string
  3243  
  3244  const (
  3245  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod     = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod")
  3246  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod")
  3247  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod        = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod")
  3248  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod       = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod")
  3249  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod    = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod")
  3250  )
  3251  
  3252  func init() {
  3253  	t["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = reflect.TypeOf((*HostInternetScsiHbaStaticTargetTargetDiscoveryMethod)(nil)).Elem()
  3254  	minAPIVersionForType["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = "5.1"
  3255  }
  3256  
  3257  // This specifies how the ipv6 address is configured for the interface.
  3258  type HostIpConfigIpV6AddressConfigType string
  3259  
  3260  const (
  3261  	// Any other type of address configuration other than the below
  3262  	// mentioned ones will fall under this category.
  3263  	//
  3264  	// For e.g., automatic
  3265  	// address configuration for the link local address falls under
  3266  	// this type.
  3267  	HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other")
  3268  	// The address is configured manually.
  3269  	HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual")
  3270  	// The address is configured through dhcp.
  3271  	HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp")
  3272  	// The address is obtained through stateless autoconfiguration.
  3273  	HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer")
  3274  	// The address is chosen by the system at random
  3275  	// e.g., an IPv4 address within 169.254/16, or an RFC
  3276  	// 3041 privacy address.
  3277  	HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random")
  3278  )
  3279  
  3280  func init() {
  3281  	t["HostIpConfigIpV6AddressConfigType"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfigType)(nil)).Elem()
  3282  	minAPIVersionForType["HostIpConfigIpV6AddressConfigType"] = "4.0"
  3283  }
  3284  
  3285  type HostIpConfigIpV6AddressStatus string
  3286  
  3287  const (
  3288  	// Indicates that this is a valid address.
  3289  	HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred")
  3290  	// Indicates that this is a valid but deprecated address
  3291  	// that should no longer be used as a source address.
  3292  	HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated")
  3293  	// Indicates that this isn't a valid.
  3294  	HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid")
  3295  	// Indicates that the address is not accessible because
  3296  	// interface is not operational.
  3297  	HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible")
  3298  	// Indicates that the status cannot be determined.
  3299  	HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown")
  3300  	// Indicates that the uniqueness of the
  3301  	// address on the link is presently being verified.
  3302  	HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative")
  3303  	// Indicates the address has been determined to be non-unique
  3304  	// on the link, this address will not be reachable.
  3305  	HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate")
  3306  )
  3307  
  3308  func init() {
  3309  	t["HostIpConfigIpV6AddressStatus"] = reflect.TypeOf((*HostIpConfigIpV6AddressStatus)(nil)).Elem()
  3310  	minAPIVersionForType["HostIpConfigIpV6AddressStatus"] = "4.0"
  3311  }
  3312  
  3313  type HostLicensableResourceKey string
  3314  
  3315  const (
  3316  	// Number of CPU packages on this host.
  3317  	HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages")
  3318  	// Number of licensable CPU cores/compute-units on this host.
  3319  	HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores")
  3320  	// Total size of memory installed on this host, measured in kilobytes.
  3321  	HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize")
  3322  	// Total size of memory configured for VMs on this host, measured in kilobytes.
  3323  	HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms")
  3324  	// Number of VMs already running on this host.
  3325  	HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted")
  3326  	// Number of VMs that are currently powering-on, immigrating, etc.
  3327  	HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting")
  3328  )
  3329  
  3330  func init() {
  3331  	t["HostLicensableResourceKey"] = reflect.TypeOf((*HostLicensableResourceKey)(nil)).Elem()
  3332  	minAPIVersionForType["HostLicensableResourceKey"] = "5.0"
  3333  }
  3334  
  3335  type HostLockdownMode string
  3336  
  3337  const (
  3338  	// Indicates that lockdown mode is disabled.
  3339  	HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled")
  3340  	// Indicates that lockdown mode is enabled with service DCUI
  3341  	// (Direct Console User Interface) running.
  3342  	HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal")
  3343  	// Indicates that lockdown mode is enabled with service DCUI stopped.
  3344  	//
  3345  	// If the host is in "strict" lockdown mode then no one will be able
  3346  	// to exit lockdown mode through DCUI in emergency situations,
  3347  	// i.e. when the connection to vCenter server is permanently lost.
  3348  	HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict")
  3349  )
  3350  
  3351  func init() {
  3352  	t["HostLockdownMode"] = reflect.TypeOf((*HostLockdownMode)(nil)).Elem()
  3353  	minAPIVersionForType["HostLockdownMode"] = "6.0"
  3354  }
  3355  
  3356  // This enum defines the possible types of file types that can be reserved
  3357  type HostLowLevelProvisioningManagerFileType string
  3358  
  3359  const (
  3360  	HostLowLevelProvisioningManagerFileTypeFile        = HostLowLevelProvisioningManagerFileType("File")
  3361  	HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk")
  3362  	HostLowLevelProvisioningManagerFileTypeDirectory   = HostLowLevelProvisioningManagerFileType("Directory")
  3363  )
  3364  
  3365  func init() {
  3366  	t["HostLowLevelProvisioningManagerFileType"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileType)(nil)).Elem()
  3367  	minAPIVersionForType["HostLowLevelProvisioningManagerFileType"] = "6.0"
  3368  }
  3369  
  3370  type HostLowLevelProvisioningManagerReloadTarget string
  3371  
  3372  const (
  3373  	// Specifies the reload of the current config of the virtual machine.
  3374  	HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig")
  3375  	// Specifies the reload of the snapshot config of the virtual machine.
  3376  	//
  3377  	// If the virtual machine has multiple snapshots, all of the snapshot's
  3378  	// config will be reloaded.
  3379  	HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig")
  3380  )
  3381  
  3382  func init() {
  3383  	t["HostLowLevelProvisioningManagerReloadTarget"] = reflect.TypeOf((*HostLowLevelProvisioningManagerReloadTarget)(nil)).Elem()
  3384  	minAPIVersionForType["HostLowLevelProvisioningManagerReloadTarget"] = "4.0"
  3385  }
  3386  
  3387  type HostMaintenanceSpecPurpose string
  3388  
  3389  const (
  3390  	HostMaintenanceSpecPurposeHostUpgrade = HostMaintenanceSpecPurpose("hostUpgrade")
  3391  )
  3392  
  3393  func init() {
  3394  	t["HostMaintenanceSpecPurpose"] = reflect.TypeOf((*HostMaintenanceSpecPurpose)(nil)).Elem()
  3395  	minAPIVersionForType["HostMaintenanceSpecPurpose"] = "7.0"
  3396  }
  3397  
  3398  // Enumeration of flags pertaining to a memory tier.
  3399  //
  3400  // Here are some examples of what the flags will look like for various memory
  3401  // configurations:
  3402  //   - Traditional memory (`noTiering`): The host has a DRAM tier
  3403  //     for the main memory and nothing else. The DRAM tier will have the
  3404  //     `memoryTier` flag.
  3405  //   - App Direct mode (`noTiering`): The host has a DRAM tier
  3406  //     and a PMem tier, but the two are independent and unrelated. The PMem tier is
  3407  //     non-volatile and is exposed as an NVDIMM device. Applications can decide whether to
  3408  //     direct the reads and writes to DRAM or PMem by using the appropriate system call. The
  3409  //     DRAM tier will have the `memoryTier` flag and the PMem tier will
  3410  //     have the `persistentTier` flag.
  3411  //   - Memory mode (`hardwareTiering`): The host has a DRAM tier
  3412  //     and a PMem tier, but the DRAM is hidden from applications and is just a cache
  3413  //     for the PMem main memory. The PMem tier is volatile, and is abstracted by the hardware
  3414  //     layer to look like traditional memory. Applications can read from/write to memory
  3415  //     using the traditional memory system calls. The memory controller in the hardware will
  3416  //     internally direct those to the DRAM cache first, and on a cache miss redirect them to
  3417  //     the PMem main memory. The DRAM tier will have the `cachingTier`
  3418  type HostMemoryTierFlags string
  3419  
  3420  const (
  3421  	// Flag indicating that the tier is the primary memory tier visible from the
  3422  	// host.
  3423  	HostMemoryTierFlagsMemoryTier = HostMemoryTierFlags("memoryTier")
  3424  	// Flag indicating that the tier is used as non-volatile storage, e.g.
  3425  	//
  3426  	// PMem in
  3427  	// App Direct mode.
  3428  	HostMemoryTierFlagsPersistentTier = HostMemoryTierFlags("persistentTier")
  3429  	// Flag indicating that the tier is a cache for main memory.
  3430  	HostMemoryTierFlagsCachingTier = HostMemoryTierFlags("cachingTier")
  3431  )
  3432  
  3433  func init() {
  3434  	t["HostMemoryTierFlags"] = reflect.TypeOf((*HostMemoryTierFlags)(nil)).Elem()
  3435  	minAPIVersionForType["HostMemoryTierFlags"] = "7.0.3.0"
  3436  }
  3437  
  3438  type HostMemoryTierType string
  3439  
  3440  const (
  3441  	// Dynamic random-access memory.
  3442  	HostMemoryTierTypeDRAM = HostMemoryTierType("DRAM")
  3443  	// Persistent memory.
  3444  	HostMemoryTierTypePMem = HostMemoryTierType("PMem")
  3445  )
  3446  
  3447  func init() {
  3448  	t["HostMemoryTierType"] = reflect.TypeOf((*HostMemoryTierType)(nil)).Elem()
  3449  	minAPIVersionForType["HostMemoryTierType"] = "7.0.3.0"
  3450  }
  3451  
  3452  type HostMemoryTieringType string
  3453  
  3454  const (
  3455  	// The traditional memory configuration without any tiers.
  3456  	HostMemoryTieringTypeNoTiering = HostMemoryTieringType("noTiering")
  3457  	// The memory configuration where a tier is hardware-controlled and invisible to
  3458  	// applications, e.g.
  3459  	//
  3460  	// Intel's Memory Mode.
  3461  	HostMemoryTieringTypeHardwareTiering = HostMemoryTieringType("hardwareTiering")
  3462  )
  3463  
  3464  func init() {
  3465  	t["HostMemoryTieringType"] = reflect.TypeOf((*HostMemoryTieringType)(nil)).Elem()
  3466  	minAPIVersionForType["HostMemoryTieringType"] = "7.0.3.0"
  3467  }
  3468  
  3469  // A datastore can become inaccessible due to a number of reasons as
  3470  // defined in this enum `HostMountInfoInaccessibleReason_enum`.
  3471  //
  3472  // The reason for a datastore being inaccessible is reported in
  3473  // `HostMountInfo.inaccessibleReason`.
  3474  // APD ("All Paths Down") is a condition where a SAN or NFS storage has
  3475  // become inaccessible for unknown reasons. It only indicates loss of
  3476  // connectivity and does not indicate storage device failure or
  3477  // LUN removal (Permanent Device Loss or PDL)
  3478  // A difference between APD and PDL is that APD may recover
  3479  // in which case all use cases will start to work as before. In case of PDL
  3480  // the failed datastore/device is unlikely to recover and hence the device
  3481  // path information and data cache will be emptied. If the PDL condition
  3482  // recovers, the failed datastores have to be added back to the host. Once
  3483  // in PDL a datastore cannot be added back until there are no longer any
  3484  // open files on the datastore.
  3485  // PDL is not linked to the APD and can happen at any time with or without APD
  3486  // preceding. If APD and PDL occur at the same time, APD will be reported first.
  3487  // Once (and if) the APD condition clears, PermanentDataLoss will be reported if
  3488  type HostMountInfoInaccessibleReason string
  3489  
  3490  const (
  3491  	// AllPathsDown\_Start value is reported when all paths down state is detected
  3492  	HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start")
  3493  	// After a wait for a system default time (which is user modifiable)
  3494  	// to ascertain the state is indeed an APD, AllPathsDown\_Timeout property
  3495  	// is reported.
  3496  	//
  3497  	// The host advanced option used to set timeout period
  3498  	// is "/Misc/APDTimeout"
  3499  	// After the datastore property is set to AllPathsDown\_Timeout, all data i/o
  3500  	// to the datastore will be fast-failed (failed immediately).
  3501  	HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout")
  3502  	// A PDL condition is reported as PermanentDeviceLoss.
  3503  	HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss")
  3504  )
  3505  
  3506  func init() {
  3507  	t["HostMountInfoInaccessibleReason"] = reflect.TypeOf((*HostMountInfoInaccessibleReason)(nil)).Elem()
  3508  	minAPIVersionForType["HostMountInfoInaccessibleReason"] = "5.1"
  3509  }
  3510  
  3511  // NFS mount request can be failed due to a number of reasons as
  3512  // defined in this enum `HostMountInfoMountFailedReason_enum`.
  3513  //
  3514  // The reason for the mount failure is reported in
  3515  // `HostMountInfo.mountFailedReason`. This is applicable only for those
  3516  type HostMountInfoMountFailedReason string
  3517  
  3518  const (
  3519  	// Failed to get port or connect.
  3520  	//
  3521  	// Or MOUNT/FSINFO RPC failed.
  3522  	HostMountInfoMountFailedReasonCONNECT_FAILURE = HostMountInfoMountFailedReason("CONNECT_FAILURE")
  3523  	// Server doesn't support MOUNT\_PROGRAM/MOUNT\_PROGRAM\_VERSION.
  3524  	HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED = HostMountInfoMountFailedReason("MOUNT_NOT_SUPPORTED")
  3525  	// Server doesn't support NFS\_PROGRAM/NFS\_PROGRAM\_VERSION.
  3526  	HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED = HostMountInfoMountFailedReason("NFS_NOT_SUPPORTED")
  3527  	// No permission to mount the remote volume or it doesn't exist.
  3528  	HostMountInfoMountFailedReasonMOUNT_DENIED = HostMountInfoMountFailedReason("MOUNT_DENIED")
  3529  	// Remote path not a directory.
  3530  	HostMountInfoMountFailedReasonMOUNT_NOT_DIR = HostMountInfoMountFailedReason("MOUNT_NOT_DIR")
  3531  	// Maximum NFS volumes have been mounted.
  3532  	HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("VOLUME_LIMIT_EXCEEDED")
  3533  	// Maximum connections for NFS has been reached.
  3534  	HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("CONN_LIMIT_EXCEEDED")
  3535  	// Volume already mounted or a different mount exists with same label.
  3536  	HostMountInfoMountFailedReasonMOUNT_EXISTS = HostMountInfoMountFailedReason("MOUNT_EXISTS")
  3537  	// Any other reason which is not present in above list.
  3538  	HostMountInfoMountFailedReasonOTHERS = HostMountInfoMountFailedReason("OTHERS")
  3539  )
  3540  
  3541  func init() {
  3542  	t["HostMountInfoMountFailedReason"] = reflect.TypeOf((*HostMountInfoMountFailedReason)(nil)).Elem()
  3543  	minAPIVersionForType["HostMountInfoMountFailedReason"] = "8.0.0.1"
  3544  }
  3545  
  3546  // Defines the access mode of the datastore.
  3547  type HostMountMode string
  3548  
  3549  const (
  3550  	// The host system has read/write access to the file system.
  3551  	HostMountModeReadWrite = HostMountMode("readWrite")
  3552  	// The host system has read-only access to the file system.
  3553  	HostMountModeReadOnly = HostMountMode("readOnly")
  3554  )
  3555  
  3556  func init() {
  3557  	t["HostMountMode"] = reflect.TypeOf((*HostMountMode)(nil)).Elem()
  3558  }
  3559  
  3560  type HostNasVolumeSecurityType string
  3561  
  3562  const (
  3563  	// Authentication based on traditional UNIX identifiers (UID and GID).
  3564  	//
  3565  	// Server trusts the IDs sent by the client for each request and uses them
  3566  	// to perform access control. Current implementation only supports
  3567  	// AUTH\_SYS with root user.
  3568  	HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS")
  3569  	// Ensures RPC header authentication using Kerberos session keys.
  3570  	//
  3571  	// When
  3572  	// this option is enabled, the client uses the information specified in
  3573  	// `HostNasVolumeUserInfo` to establish shared keys with the server using
  3574  	// Kerberos. These shared keys are used to generate and verify message
  3575  	// authentication codes for RPC header of NFS requests and responses,
  3576  	// respectively. This method does not secure NFS file data.
  3577  	HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5")
  3578  	// Extends SEC\_KRB5 to generate and verify message authentication codes
  3579  	// for the payload of NFS requests and responses respectively.
  3580  	//
  3581  	// This
  3582  	// ensures the integrity of the NFS file data.
  3583  	HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I")
  3584  )
  3585  
  3586  func init() {
  3587  	t["HostNasVolumeSecurityType"] = reflect.TypeOf((*HostNasVolumeSecurityType)(nil)).Elem()
  3588  	minAPIVersionForType["HostNasVolumeSecurityType"] = "6.0"
  3589  	minAPIVersionForEnumValue["HostNasVolumeSecurityType"] = map[string]string{
  3590  		"SEC_KRB5I": "6.5",
  3591  	}
  3592  }
  3593  
  3594  type HostNetStackInstanceCongestionControlAlgorithmType string
  3595  
  3596  const (
  3597  	// New Reno Algorithm.
  3598  	//
  3599  	// See http://tools.ietf.org/html/rfc3782 for detail.
  3600  	HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno")
  3601  	// Cubic Algorithm.
  3602  	//
  3603  	// See http://tools.ietf.org/id/draft-rhee-tcp-cubic-00.txt for detail.
  3604  	HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic")
  3605  )
  3606  
  3607  func init() {
  3608  	t["HostNetStackInstanceCongestionControlAlgorithmType"] = reflect.TypeOf((*HostNetStackInstanceCongestionControlAlgorithmType)(nil)).Elem()
  3609  	minAPIVersionForType["HostNetStackInstanceCongestionControlAlgorithmType"] = "5.5"
  3610  }
  3611  
  3612  type HostNetStackInstanceSystemStackKey string
  3613  
  3614  const (
  3615  	// The default stack used by applications
  3616  	HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack")
  3617  	// Stack key used for vMotion applications
  3618  	HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion")
  3619  	// Stack key used for vSphere provisioning NFC traffic
  3620  	HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning")
  3621  	// Stack key used for port mirroring
  3622  	HostNetStackInstanceSystemStackKeyMirror = HostNetStackInstanceSystemStackKey("mirror")
  3623  	// Stack key used for ops applications
  3624  	HostNetStackInstanceSystemStackKeyOps = HostNetStackInstanceSystemStackKey("ops")
  3625  )
  3626  
  3627  func init() {
  3628  	t["HostNetStackInstanceSystemStackKey"] = reflect.TypeOf((*HostNetStackInstanceSystemStackKey)(nil)).Elem()
  3629  	minAPIVersionForType["HostNetStackInstanceSystemStackKey"] = "5.5"
  3630  	minAPIVersionForEnumValue["HostNetStackInstanceSystemStackKey"] = map[string]string{
  3631  		"vmotion":             "6.0",
  3632  		"vSphereProvisioning": "6.0",
  3633  		"mirror":              "8.0.0.1",
  3634  		"ops":                 "8.0.0.1",
  3635  	}
  3636  }
  3637  
  3638  // Health state of the numeric sensor as reported by the sensor probes.
  3639  type HostNumericSensorHealthState string
  3640  
  3641  const (
  3642  	// The implementation cannot report on the current health state of the
  3643  	// physical element
  3644  	HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown")
  3645  	// The sensor is operating under normal conditions
  3646  	HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green")
  3647  	// The sensor is operating under conditions that are non-critical.
  3648  	HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow")
  3649  	// The sensor is operating under critical or fatal conditions.
  3650  	//
  3651  	// This may
  3652  	// directly affect the functioning of both the sensor and related
  3653  	// components.
  3654  	HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red")
  3655  )
  3656  
  3657  func init() {
  3658  	t["HostNumericSensorHealthState"] = reflect.TypeOf((*HostNumericSensorHealthState)(nil)).Elem()
  3659  	minAPIVersionForType["HostNumericSensorHealthState"] = "2.5"
  3660  }
  3661  
  3662  // Sensor Types for specific hardware component are either based on
  3663  type HostNumericSensorType string
  3664  
  3665  const (
  3666  	// Fan sensor
  3667  	HostNumericSensorTypeFan = HostNumericSensorType("fan")
  3668  	// Power sensor
  3669  	HostNumericSensorTypePower = HostNumericSensorType("power")
  3670  	// Temperature sensor
  3671  	HostNumericSensorTypeTemperature = HostNumericSensorType("temperature")
  3672  	// Voltage Sensor
  3673  	HostNumericSensorTypeVoltage = HostNumericSensorType("voltage")
  3674  	// Other sensor.
  3675  	HostNumericSensorTypeOther = HostNumericSensorType("other")
  3676  	// Processor sensor.
  3677  	HostNumericSensorTypeProcessor = HostNumericSensorType("processor")
  3678  	// Memory sensor.
  3679  	HostNumericSensorTypeMemory = HostNumericSensorType("memory")
  3680  	// disk/storage sensor.
  3681  	HostNumericSensorTypeStorage = HostNumericSensorType("storage")
  3682  	// system board sensor.
  3683  	HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard")
  3684  	// Battery sensor.
  3685  	HostNumericSensorTypeBattery = HostNumericSensorType("battery")
  3686  	// BIOS/firmware related sensor.
  3687  	HostNumericSensorTypeBios = HostNumericSensorType("bios")
  3688  	// cable related sensor.
  3689  	HostNumericSensorTypeCable = HostNumericSensorType("cable")
  3690  	// Watchdog related sensor.
  3691  	HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog")
  3692  )
  3693  
  3694  func init() {
  3695  	t["HostNumericSensorType"] = reflect.TypeOf((*HostNumericSensorType)(nil)).Elem()
  3696  	minAPIVersionForType["HostNumericSensorType"] = "2.5"
  3697  	minAPIVersionForEnumValue["HostNumericSensorType"] = map[string]string{
  3698  		"processor":   "6.5",
  3699  		"memory":      "6.5",
  3700  		"storage":     "6.5",
  3701  		"systemBoard": "6.5",
  3702  		"battery":     "6.5",
  3703  		"bios":        "6.5",
  3704  		"cable":       "6.5",
  3705  		"watchdog":    "6.5",
  3706  	}
  3707  }
  3708  
  3709  // This enum represents the supported NVM subsystem types.
  3710  type HostNvmeDiscoveryLogSubsystemType string
  3711  
  3712  const (
  3713  	// A Discovery service, composed of Discovery controllers.
  3714  	HostNvmeDiscoveryLogSubsystemTypeDiscovery = HostNvmeDiscoveryLogSubsystemType("discovery")
  3715  	// An NVM subsystem whose controllers may have attached namespaces.
  3716  	HostNvmeDiscoveryLogSubsystemTypeNvm = HostNvmeDiscoveryLogSubsystemType("nvm")
  3717  )
  3718  
  3719  func init() {
  3720  	t["HostNvmeDiscoveryLogSubsystemType"] = reflect.TypeOf((*HostNvmeDiscoveryLogSubsystemType)(nil)).Elem()
  3721  }
  3722  
  3723  // This enum represents the supported types of transport requirements.
  3724  type HostNvmeDiscoveryLogTransportRequirements string
  3725  
  3726  const (
  3727  	// A fabric secure channel is required.
  3728  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelRequired")
  3729  	// A fabric secure channel is not required.
  3730  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelNotRequired")
  3731  	// Requirements are not specified
  3732  	HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified = HostNvmeDiscoveryLogTransportRequirements("requirementsNotSpecified")
  3733  )
  3734  
  3735  func init() {
  3736  	t["HostNvmeDiscoveryLogTransportRequirements"] = reflect.TypeOf((*HostNvmeDiscoveryLogTransportRequirements)(nil)).Elem()
  3737  }
  3738  
  3739  // This enum specifies the supported address families for
  3740  // NVME over Fabrics.
  3741  //
  3742  // For details, see:
  3743  //   - "NVM Express over Fabrics 1.0", Section 5.3, Figure 34,
  3744  type HostNvmeTransportParametersNvmeAddressFamily string
  3745  
  3746  const (
  3747  	// IPv4 address, format specified in IETF RFC 791.
  3748  	HostNvmeTransportParametersNvmeAddressFamilyIpv4 = HostNvmeTransportParametersNvmeAddressFamily("ipv4")
  3749  	// IPv6 address, format specified in IETF RFC 2373.
  3750  	HostNvmeTransportParametersNvmeAddressFamilyIpv6 = HostNvmeTransportParametersNvmeAddressFamily("ipv6")
  3751  	// InfiniBand address family.
  3752  	HostNvmeTransportParametersNvmeAddressFamilyInfiniBand = HostNvmeTransportParametersNvmeAddressFamily("infiniBand")
  3753  	// Fibre Channel address family.
  3754  	HostNvmeTransportParametersNvmeAddressFamilyFc = HostNvmeTransportParametersNvmeAddressFamily("fc")
  3755  	// Intra-host transport.
  3756  	HostNvmeTransportParametersNvmeAddressFamilyLoopback = HostNvmeTransportParametersNvmeAddressFamily("loopback")
  3757  	// Unrecognized address family.
  3758  	HostNvmeTransportParametersNvmeAddressFamilyUnknown = HostNvmeTransportParametersNvmeAddressFamily("unknown")
  3759  )
  3760  
  3761  func init() {
  3762  	t["HostNvmeTransportParametersNvmeAddressFamily"] = reflect.TypeOf((*HostNvmeTransportParametersNvmeAddressFamily)(nil)).Elem()
  3763  	minAPIVersionForType["HostNvmeTransportParametersNvmeAddressFamily"] = "7.0"
  3764  }
  3765  
  3766  // The set of NVM Express over Fabrics transport types.
  3767  //
  3768  // For details, see:
  3769  //   - "NVM Express over Fabrics 1.0", Section 1.5.1,
  3770  type HostNvmeTransportType string
  3771  
  3772  const (
  3773  	// PCI Express transport type
  3774  	HostNvmeTransportTypePcie = HostNvmeTransportType("pcie")
  3775  	// Fibre Channel transport type
  3776  	HostNvmeTransportTypeFibreChannel = HostNvmeTransportType("fibreChannel")
  3777  	// Remote Direct Memory Access transport type
  3778  	HostNvmeTransportTypeRdma = HostNvmeTransportType("rdma")
  3779  	// Transmission Control Protocol transport type
  3780  	HostNvmeTransportTypeTcp = HostNvmeTransportType("tcp")
  3781  	// Intra-host transport.
  3782  	HostNvmeTransportTypeLoopback = HostNvmeTransportType("loopback")
  3783  	// The transport type is not among the currently supported ones.
  3784  	HostNvmeTransportTypeUnsupported = HostNvmeTransportType("unsupported")
  3785  )
  3786  
  3787  func init() {
  3788  	t["HostNvmeTransportType"] = reflect.TypeOf((*HostNvmeTransportType)(nil)).Elem()
  3789  	minAPIVersionForType["HostNvmeTransportType"] = "7.0"
  3790  	minAPIVersionForEnumValue["HostNvmeTransportType"] = map[string]string{
  3791  		"tcp": "7.0.3.0",
  3792  	}
  3793  }
  3794  
  3795  type HostOpaqueSwitchOpaqueSwitchState string
  3796  
  3797  const (
  3798  	// The opaque switch is up and running.
  3799  	HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up")
  3800  	// The opaque switch requires attention.
  3801  	HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning")
  3802  	// The opaque switch is down.
  3803  	HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down")
  3804  	// The opaque switch is under upgrade.
  3805  	HostOpaqueSwitchOpaqueSwitchStateMaintenance = HostOpaqueSwitchOpaqueSwitchState("maintenance")
  3806  )
  3807  
  3808  func init() {
  3809  	t["HostOpaqueSwitchOpaqueSwitchState"] = reflect.TypeOf((*HostOpaqueSwitchOpaqueSwitchState)(nil)).Elem()
  3810  	minAPIVersionForType["HostOpaqueSwitchOpaqueSwitchState"] = "6.0"
  3811  	minAPIVersionForEnumValue["HostOpaqueSwitchOpaqueSwitchState"] = map[string]string{
  3812  		"maintenance": "7.0",
  3813  	}
  3814  }
  3815  
  3816  // The installation state if the update is installed on the server.
  3817  type HostPatchManagerInstallState string
  3818  
  3819  const (
  3820  	// The server has been restarted since the update installation.
  3821  	HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted")
  3822  	// Indicates if the newly installed image is active on the server
  3823  	HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive")
  3824  )
  3825  
  3826  func init() {
  3827  	t["HostPatchManagerInstallState"] = reflect.TypeOf((*HostPatchManagerInstallState)(nil)).Elem()
  3828  }
  3829  
  3830  // The integrity validation status.
  3831  type HostPatchManagerIntegrityStatus string
  3832  
  3833  const (
  3834  	// The update is successfully validated.
  3835  	HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated")
  3836  	// The integrity can not be verified since a public key to
  3837  	// verify the update cannot be found.
  3838  	HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound")
  3839  	// A public key to verify the update has been revoked.
  3840  	HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked")
  3841  	// A public key to verify the update is expired.
  3842  	HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired")
  3843  	// A digital signature of the update does not match.
  3844  	HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch")
  3845  	// Not enough signed signatures on the update.
  3846  	HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures")
  3847  	// The integrity validation failed.
  3848  	HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError")
  3849  )
  3850  
  3851  func init() {
  3852  	t["HostPatchManagerIntegrityStatus"] = reflect.TypeOf((*HostPatchManagerIntegrityStatus)(nil)).Elem()
  3853  }
  3854  
  3855  // Reasons why an update is not applicable to the ESX host.
  3856  type HostPatchManagerReason string
  3857  
  3858  const (
  3859  	// The update is made obsolete by other patches installed on the host.
  3860  	HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted")
  3861  	// The update depends on another update that is neither installed
  3862  	// nor in the scanned list of updates.
  3863  	HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch")
  3864  	// The update depends on certain libraries or RPMs that are not
  3865  	// available.
  3866  	HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib")
  3867  	// The update depends on an update that is not installed but is
  3868  	// in the scanned list of updates.
  3869  	HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch")
  3870  	// The update conflicts with certain updates that are already
  3871  	// installed on the host.
  3872  	HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch")
  3873  	// The update conflicts with RPMs or libraries installed on the
  3874  	// host.
  3875  	HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib")
  3876  )
  3877  
  3878  func init() {
  3879  	t["HostPatchManagerReason"] = reflect.TypeOf((*HostPatchManagerReason)(nil)).Elem()
  3880  }
  3881  
  3882  type HostPowerOperationType string
  3883  
  3884  const (
  3885  	// Power On Operation
  3886  	HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn")
  3887  	// Power Off Operation.
  3888  	//
  3889  	// Power off operation puts the host in
  3890  	// a state that can be woken up remotely.
  3891  	HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff")
  3892  )
  3893  
  3894  func init() {
  3895  	t["HostPowerOperationType"] = reflect.TypeOf((*HostPowerOperationType)(nil)).Elem()
  3896  	minAPIVersionForType["HostPowerOperationType"] = "2.5"
  3897  }
  3898  
  3899  // The `HostProfileManagerAnswerFileStatus_enum` enum
  3900  type HostProfileManagerAnswerFileStatus string
  3901  
  3902  const (
  3903  	// Answer file is valid.
  3904  	HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid")
  3905  	// Answer file is not valid.
  3906  	//
  3907  	// The file is either missing or incomplete.
  3908  	//     - To produce an answer file, pass host-specific data (user input) to the
  3909  	//       `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  3910  	//       method.
  3911  	//     - To produce a complete answer file, call the
  3912  	//       `HostProfile*.*HostProfile.ExecuteHostProfile`
  3913  	//       method and fill in any missing parameters in the returned
  3914  	//       `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`
  3915  	//       list. After you execute the profile successfully, you can pass the complete required
  3916  	//       input list to the apply method.
  3917  	HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid")
  3918  	// Answer file status is not known.
  3919  	HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown")
  3920  )
  3921  
  3922  func init() {
  3923  	t["HostProfileManagerAnswerFileStatus"] = reflect.TypeOf((*HostProfileManagerAnswerFileStatus)(nil)).Elem()
  3924  	minAPIVersionForType["HostProfileManagerAnswerFileStatus"] = "5.0"
  3925  }
  3926  
  3927  type HostProfileManagerCompositionResultResultElementStatus string
  3928  
  3929  const (
  3930  	HostProfileManagerCompositionResultResultElementStatusSuccess = HostProfileManagerCompositionResultResultElementStatus("success")
  3931  	HostProfileManagerCompositionResultResultElementStatusError   = HostProfileManagerCompositionResultResultElementStatus("error")
  3932  )
  3933  
  3934  func init() {
  3935  	t["HostProfileManagerCompositionResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElementStatus)(nil)).Elem()
  3936  	minAPIVersionForType["HostProfileManagerCompositionResultResultElementStatus"] = "6.5"
  3937  }
  3938  
  3939  type HostProfileManagerCompositionValidationResultResultElementStatus string
  3940  
  3941  const (
  3942  	HostProfileManagerCompositionValidationResultResultElementStatusSuccess = HostProfileManagerCompositionValidationResultResultElementStatus("success")
  3943  	HostProfileManagerCompositionValidationResultResultElementStatusError   = HostProfileManagerCompositionValidationResultResultElementStatus("error")
  3944  )
  3945  
  3946  func init() {
  3947  	t["HostProfileManagerCompositionValidationResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElementStatus)(nil)).Elem()
  3948  	minAPIVersionForType["HostProfileManagerCompositionValidationResultResultElementStatus"] = "6.5"
  3949  }
  3950  
  3951  // The `HostProfileManagerTaskListRequirement_enum` enum
  3952  // defines possible values for requirements when applying a `HostConfigSpec`
  3953  // object returned as part of a <code>generateConfigTaskList</code>
  3954  type HostProfileManagerTaskListRequirement string
  3955  
  3956  const (
  3957  	// The ESXi host must be in maintenance mode before the task list can be
  3958  	// applied.
  3959  	HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired")
  3960  	// The ESXi host must be rebooted after the task list is applied in order
  3961  	// for the new settings in the `HostConfigSpec` to take
  3962  	// effect on the host.
  3963  	HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired")
  3964  )
  3965  
  3966  func init() {
  3967  	t["HostProfileManagerTaskListRequirement"] = reflect.TypeOf((*HostProfileManagerTaskListRequirement)(nil)).Elem()
  3968  	minAPIVersionForType["HostProfileManagerTaskListRequirement"] = "6.0"
  3969  }
  3970  
  3971  type HostProfileValidationFailureInfoUpdateType string
  3972  
  3973  const (
  3974  	// Update host profile from host.
  3975  	HostProfileValidationFailureInfoUpdateTypeHostBased = HostProfileValidationFailureInfoUpdateType("HostBased")
  3976  	// Import host profile.
  3977  	HostProfileValidationFailureInfoUpdateTypeImport = HostProfileValidationFailureInfoUpdateType("Import")
  3978  	// Edit host profile.
  3979  	HostProfileValidationFailureInfoUpdateTypeEdit = HostProfileValidationFailureInfoUpdateType("Edit")
  3980  	// Compose setting from host profile.
  3981  	HostProfileValidationFailureInfoUpdateTypeCompose = HostProfileValidationFailureInfoUpdateType("Compose")
  3982  )
  3983  
  3984  func init() {
  3985  	t["HostProfileValidationFailureInfoUpdateType"] = reflect.TypeOf((*HostProfileValidationFailureInfoUpdateType)(nil)).Elem()
  3986  	minAPIVersionForType["HostProfileValidationFailureInfoUpdateType"] = "6.7"
  3987  }
  3988  
  3989  type HostProfileValidationState string
  3990  
  3991  const (
  3992  	HostProfileValidationStateReady   = HostProfileValidationState("Ready")
  3993  	HostProfileValidationStateRunning = HostProfileValidationState("Running")
  3994  	HostProfileValidationStateFailed  = HostProfileValidationState("Failed")
  3995  )
  3996  
  3997  func init() {
  3998  	t["HostProfileValidationState"] = reflect.TypeOf((*HostProfileValidationState)(nil)).Elem()
  3999  	minAPIVersionForType["HostProfileValidationState"] = "6.7"
  4000  }
  4001  
  4002  // Deprecated from all vmodl version above @released("6.0").
  4003  type HostProtocolEndpointPEType string
  4004  
  4005  const (
  4006  	HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block")
  4007  	HostProtocolEndpointPETypeNas   = HostProtocolEndpointPEType("nas")
  4008  )
  4009  
  4010  func init() {
  4011  	t["HostProtocolEndpointPEType"] = reflect.TypeOf((*HostProtocolEndpointPEType)(nil)).Elem()
  4012  	minAPIVersionForType["HostProtocolEndpointPEType"] = "6.0"
  4013  }
  4014  
  4015  type HostProtocolEndpointProtocolEndpointType string
  4016  
  4017  const (
  4018  	HostProtocolEndpointProtocolEndpointTypeScsi  = HostProtocolEndpointProtocolEndpointType("scsi")
  4019  	HostProtocolEndpointProtocolEndpointTypeNfs   = HostProtocolEndpointProtocolEndpointType("nfs")
  4020  	HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x")
  4021  )
  4022  
  4023  func init() {
  4024  	t["HostProtocolEndpointProtocolEndpointType"] = reflect.TypeOf((*HostProtocolEndpointProtocolEndpointType)(nil)).Elem()
  4025  	minAPIVersionForType["HostProtocolEndpointProtocolEndpointType"] = "6.5"
  4026  }
  4027  
  4028  type HostPtpConfigDeviceType string
  4029  
  4030  const (
  4031  	// No device.
  4032  	HostPtpConfigDeviceTypeNone = HostPtpConfigDeviceType("none")
  4033  	// Virtual network adapter.
  4034  	HostPtpConfigDeviceTypeVirtualNic = HostPtpConfigDeviceType("virtualNic")
  4035  	// A network PCI device capable of PTP hardware timestamping,
  4036  	// enabled for passthru.
  4037  	//
  4038  	// See `HostPciPassthruSystem`
  4039  	// for information on PCI devices enabled for passthru available
  4040  	// on the host.
  4041  	HostPtpConfigDeviceTypePciPassthruNic = HostPtpConfigDeviceType("pciPassthruNic")
  4042  )
  4043  
  4044  func init() {
  4045  	t["HostPtpConfigDeviceType"] = reflect.TypeOf((*HostPtpConfigDeviceType)(nil)).Elem()
  4046  	minAPIVersionForType["HostPtpConfigDeviceType"] = "7.0.3.0"
  4047  }
  4048  
  4049  type HostQualifiedNameType string
  4050  
  4051  const (
  4052  	// The NVMe Qualified Name (NQN) of this host.
  4053  	HostQualifiedNameTypeNvmeQualifiedName = HostQualifiedNameType("nvmeQualifiedName")
  4054  	// The NVMe Qualified Name (NQN) of this host used by Vvol.
  4055  	HostQualifiedNameTypeVvolNvmeQualifiedName = HostQualifiedNameType("vvolNvmeQualifiedName")
  4056  )
  4057  
  4058  func init() {
  4059  	t["HostQualifiedNameType"] = reflect.TypeOf((*HostQualifiedNameType)(nil)).Elem()
  4060  	minAPIVersionForType["HostQualifiedNameType"] = "7.0.3.0"
  4061  	minAPIVersionForEnumValue["HostQualifiedNameType"] = map[string]string{
  4062  		"vvolNvmeQualifiedName": "8.0.0.0",
  4063  	}
  4064  }
  4065  
  4066  // Possible RDMA device connection states.
  4067  //
  4068  // These correspond
  4069  // to possible link states as defined by the
  4070  // Infiniband (TM) specification.
  4071  //
  4072  // Further details can be found in:
  4073  //   - "Infiniband (TM) Architecture Specification, Volume 1"
  4074  type HostRdmaDeviceConnectionState string
  4075  
  4076  const (
  4077  	// Connection state unknown.
  4078  	//
  4079  	// Indicates that the driver returned
  4080  	// unexpected or no connection state information.
  4081  	HostRdmaDeviceConnectionStateUnknown = HostRdmaDeviceConnectionState("unknown")
  4082  	// Device down.
  4083  	//
  4084  	// Indicates that both the logical link and
  4085  	// underlying physical link are down. Packets
  4086  	// are discarded.
  4087  	HostRdmaDeviceConnectionStateDown = HostRdmaDeviceConnectionState("down")
  4088  	// Device initializing.
  4089  	//
  4090  	// Indicates that the physical link is up, but
  4091  	// the logical link is still initializing.
  4092  	// Only subnet management and flow control link
  4093  	// packets can be received and transmitted.
  4094  	HostRdmaDeviceConnectionStateInit = HostRdmaDeviceConnectionState("init")
  4095  	// Device armed.
  4096  	//
  4097  	// Indicates that the physical link is up, but
  4098  	// the logical link is not yet fully configured.
  4099  	// Packets can be received, but non-SMPs
  4100  	// (subnet management packets) to be sent are discarded.
  4101  	HostRdmaDeviceConnectionStateArmed = HostRdmaDeviceConnectionState("armed")
  4102  	// Device active.
  4103  	//
  4104  	// Indicates that both the physical and logical
  4105  	// link are up. Packets can be transmitted and received.
  4106  	HostRdmaDeviceConnectionStateActive = HostRdmaDeviceConnectionState("active")
  4107  	// Device in active defer state.
  4108  	//
  4109  	// Indicates that the logical link was active, but the
  4110  	// physical link has suffered a failure. If it recovers
  4111  	// within a timeout, the connection state will return to active,
  4112  	// otherwise it will move to down.
  4113  	HostRdmaDeviceConnectionStateActiveDefer = HostRdmaDeviceConnectionState("activeDefer")
  4114  )
  4115  
  4116  func init() {
  4117  	t["HostRdmaDeviceConnectionState"] = reflect.TypeOf((*HostRdmaDeviceConnectionState)(nil)).Elem()
  4118  	minAPIVersionForType["HostRdmaDeviceConnectionState"] = "7.0"
  4119  }
  4120  
  4121  // Deprecated as of vSphere API 6.0.
  4122  //
  4123  // Set of possible values for
  4124  // `HostCapability.replayUnsupportedReason` and
  4125  type HostReplayUnsupportedReason string
  4126  
  4127  const (
  4128  	HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct")
  4129  	HostReplayUnsupportedReasonIncompatibleCpu     = HostReplayUnsupportedReason("incompatibleCpu")
  4130  	HostReplayUnsupportedReasonHvDisabled          = HostReplayUnsupportedReason("hvDisabled")
  4131  	HostReplayUnsupportedReasonCpuidLimitSet       = HostReplayUnsupportedReason("cpuidLimitSet")
  4132  	HostReplayUnsupportedReasonOldBIOS             = HostReplayUnsupportedReason("oldBIOS")
  4133  	HostReplayUnsupportedReasonUnknown             = HostReplayUnsupportedReason("unknown")
  4134  )
  4135  
  4136  func init() {
  4137  	t["HostReplayUnsupportedReason"] = reflect.TypeOf((*HostReplayUnsupportedReason)(nil)).Elem()
  4138  	minAPIVersionForType["HostReplayUnsupportedReason"] = "4.0"
  4139  }
  4140  
  4141  type HostRuntimeInfoNetStackInstanceRuntimeInfoState string
  4142  
  4143  const (
  4144  	// The instance is deleted or not running
  4145  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive")
  4146  	// The instance is running
  4147  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active")
  4148  	// The instance is in the progress of asynchronous deletion
  4149  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating")
  4150  	// Reserved state for future proofing asynchronous creation
  4151  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating")
  4152  )
  4153  
  4154  func init() {
  4155  	t["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfoState)(nil)).Elem()
  4156  	minAPIVersionForType["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = "5.5"
  4157  }
  4158  
  4159  type HostRuntimeInfoStateEncryptionInfoProtectionMode string
  4160  
  4161  const (
  4162  	// Encryption is not protected.
  4163  	HostRuntimeInfoStateEncryptionInfoProtectionModeNone = HostRuntimeInfoStateEncryptionInfoProtectionMode("none")
  4164  	// Encryption is TPM protected.
  4165  	HostRuntimeInfoStateEncryptionInfoProtectionModeTpm = HostRuntimeInfoStateEncryptionInfoProtectionMode("tpm")
  4166  )
  4167  
  4168  func init() {
  4169  	t["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfoProtectionMode)(nil)).Elem()
  4170  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = "7.0.3.0"
  4171  }
  4172  
  4173  type HostRuntimeInfoStatelessNvdsMigrationState string
  4174  
  4175  const (
  4176  	// The host is ready for NVDS to VDS migration.
  4177  	HostRuntimeInfoStatelessNvdsMigrationStateReady = HostRuntimeInfoStatelessNvdsMigrationState("ready")
  4178  	// The host does not need NVDS to VDS migration
  4179  	HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded = HostRuntimeInfoStatelessNvdsMigrationState("notNeeded")
  4180  	// The host is disconnected from VC.
  4181  	HostRuntimeInfoStatelessNvdsMigrationStateUnknown = HostRuntimeInfoStatelessNvdsMigrationState("unknown")
  4182  )
  4183  
  4184  func init() {
  4185  	t["HostRuntimeInfoStatelessNvdsMigrationState"] = reflect.TypeOf((*HostRuntimeInfoStatelessNvdsMigrationState)(nil)).Elem()
  4186  	minAPIVersionForType["HostRuntimeInfoStatelessNvdsMigrationState"] = "7.0.2.0"
  4187  }
  4188  
  4189  // Set of valid service policy strings.
  4190  type HostServicePolicy string
  4191  
  4192  const (
  4193  	// Service should be started when the host starts up.
  4194  	HostServicePolicyOn = HostServicePolicy("on")
  4195  	// Service should run if and only if it has open firewall ports.
  4196  	HostServicePolicyAutomatic = HostServicePolicy("automatic")
  4197  	// Service should not be started when the host starts up.
  4198  	HostServicePolicyOff = HostServicePolicy("off")
  4199  )
  4200  
  4201  func init() {
  4202  	t["HostServicePolicy"] = reflect.TypeOf((*HostServicePolicy)(nil)).Elem()
  4203  }
  4204  
  4205  type HostSevInfoSevState string
  4206  
  4207  const (
  4208  	HostSevInfoSevStateUninitialized = HostSevInfoSevState("uninitialized")
  4209  	HostSevInfoSevStateInitialized   = HostSevInfoSevState("initialized")
  4210  	HostSevInfoSevStateWorking       = HostSevInfoSevState("working")
  4211  )
  4212  
  4213  func init() {
  4214  	t["HostSevInfoSevState"] = reflect.TypeOf((*HostSevInfoSevState)(nil)).Elem()
  4215  	minAPIVersionForType["HostSevInfoSevState"] = "7.0.1.0"
  4216  }
  4217  
  4218  type HostSgxInfoFlcModes string
  4219  
  4220  const (
  4221  	// Flexible Launch Enclave (FLC) is not available on the host.
  4222  	//
  4223  	// The
  4224  	// "launch enclave MSRs" are initialized with Intel's public key hash.
  4225  	HostSgxInfoFlcModesOff = HostSgxInfoFlcModes("off")
  4226  	// FLC is available and the "launch Enclave MSRs" are locked and
  4227  	// initialized with the provided public key hash.
  4228  	HostSgxInfoFlcModesLocked = HostSgxInfoFlcModes("locked")
  4229  	// FLC is available and the "launch enclave MSRs" are writeable and
  4230  	// initialized with Intel's public key hash.
  4231  	HostSgxInfoFlcModesUnlocked = HostSgxInfoFlcModes("unlocked")
  4232  )
  4233  
  4234  func init() {
  4235  	t["HostSgxInfoFlcModes"] = reflect.TypeOf((*HostSgxInfoFlcModes)(nil)).Elem()
  4236  	minAPIVersionForType["HostSgxInfoFlcModes"] = "7.0"
  4237  }
  4238  
  4239  type HostSgxInfoSgxStates string
  4240  
  4241  const (
  4242  	// SGX is not present in the CPU.
  4243  	HostSgxInfoSgxStatesNotPresent = HostSgxInfoSgxStates("notPresent")
  4244  	// SGX is disabled in the BIOS.
  4245  	HostSgxInfoSgxStatesDisabledBIOS = HostSgxInfoSgxStates("disabledBIOS")
  4246  	// SGX is disabled because CPU erratum CFW101 is present.
  4247  	HostSgxInfoSgxStatesDisabledCFW101 = HostSgxInfoSgxStates("disabledCFW101")
  4248  	// SGX is disabled due to a mismatch in the SGX capabilities
  4249  	// exposed by different CPUs.
  4250  	HostSgxInfoSgxStatesDisabledCPUMismatch = HostSgxInfoSgxStates("disabledCPUMismatch")
  4251  	// SGX is disabled because the CPU does not support FLC.
  4252  	HostSgxInfoSgxStatesDisabledNoFLC = HostSgxInfoSgxStates("disabledNoFLC")
  4253  	// SGX is disabled because the host uses NUMA, which is not
  4254  	// supported with SGX.
  4255  	HostSgxInfoSgxStatesDisabledNUMAUnsup = HostSgxInfoSgxStates("disabledNUMAUnsup")
  4256  	// SGX is disabled because the host exceeds the maximum supported
  4257  	// number of EPC regions.
  4258  	HostSgxInfoSgxStatesDisabledMaxEPCRegs = HostSgxInfoSgxStates("disabledMaxEPCRegs")
  4259  	// SGX is enabled.
  4260  	HostSgxInfoSgxStatesEnabled = HostSgxInfoSgxStates("enabled")
  4261  )
  4262  
  4263  func init() {
  4264  	t["HostSgxInfoSgxStates"] = reflect.TypeOf((*HostSgxInfoSgxStates)(nil)).Elem()
  4265  	minAPIVersionForType["HostSgxInfoSgxStates"] = "7.0"
  4266  }
  4267  
  4268  type HostSgxRegistrationInfoRegistrationStatus string
  4269  
  4270  const (
  4271  	// SGX is not available or the host is unisocket.
  4272  	HostSgxRegistrationInfoRegistrationStatusNotApplicable = HostSgxRegistrationInfoRegistrationStatus("notApplicable")
  4273  	// SGX registration is incomplete.
  4274  	HostSgxRegistrationInfoRegistrationStatusIncomplete = HostSgxRegistrationInfoRegistrationStatus("incomplete")
  4275  	// SGX registration is complete.
  4276  	HostSgxRegistrationInfoRegistrationStatusComplete = HostSgxRegistrationInfoRegistrationStatus("complete")
  4277  )
  4278  
  4279  func init() {
  4280  	t["HostSgxRegistrationInfoRegistrationStatus"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationStatus)(nil)).Elem()
  4281  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationStatus"] = "8.0.0.1"
  4282  }
  4283  
  4284  type HostSgxRegistrationInfoRegistrationType string
  4285  
  4286  const (
  4287  	// Indicates that an Initial Platform Establishment
  4288  	// or TCB recovery registration is pending.
  4289  	HostSgxRegistrationInfoRegistrationTypeManifest = HostSgxRegistrationInfoRegistrationType("manifest")
  4290  	// Indicates that new CPU package was added.
  4291  	HostSgxRegistrationInfoRegistrationTypeAddPackage = HostSgxRegistrationInfoRegistrationType("addPackage")
  4292  )
  4293  
  4294  func init() {
  4295  	t["HostSgxRegistrationInfoRegistrationType"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationType)(nil)).Elem()
  4296  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationType"] = "8.0.0.1"
  4297  }
  4298  
  4299  type HostSnmpAgentCapability string
  4300  
  4301  const (
  4302  	// Implements test notifications and allows agent configuration
  4303  	HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE")
  4304  	// Implements only test notification capability only
  4305  	HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS")
  4306  	// Allows for agent configuration only
  4307  	HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION")
  4308  )
  4309  
  4310  func init() {
  4311  	t["HostSnmpAgentCapability"] = reflect.TypeOf((*HostSnmpAgentCapability)(nil)).Elem()
  4312  	minAPIVersionForType["HostSnmpAgentCapability"] = "4.0"
  4313  }
  4314  
  4315  type HostStandbyMode string
  4316  
  4317  const (
  4318  	// The host is entering standby mode.
  4319  	HostStandbyModeEntering = HostStandbyMode("entering")
  4320  	// The host is exiting standby mode.
  4321  	HostStandbyModeExiting = HostStandbyMode("exiting")
  4322  	// The host is in standby mode.
  4323  	HostStandbyModeIn = HostStandbyMode("in")
  4324  	// The host is not in standy mode, and it is not
  4325  	// in the process of entering/exiting standby mode.
  4326  	HostStandbyModeNone = HostStandbyMode("none")
  4327  )
  4328  
  4329  func init() {
  4330  	t["HostStandbyMode"] = reflect.TypeOf((*HostStandbyMode)(nil)).Elem()
  4331  	minAPIVersionForType["HostStandbyMode"] = "4.1"
  4332  }
  4333  
  4334  type HostStorageProtocol string
  4335  
  4336  const (
  4337  	// The Small Computer System Interface (SCSI) protocol.
  4338  	HostStorageProtocolScsi = HostStorageProtocol("scsi")
  4339  	// The Non-Volatile Memory Express (NVME) protocol.
  4340  	HostStorageProtocolNvme = HostStorageProtocol("nvme")
  4341  )
  4342  
  4343  func init() {
  4344  	t["HostStorageProtocol"] = reflect.TypeOf((*HostStorageProtocol)(nil)).Elem()
  4345  	minAPIVersionForType["HostStorageProtocol"] = "7.0"
  4346  }
  4347  
  4348  // Defines a host's connection state.
  4349  type HostSystemConnectionState string
  4350  
  4351  const (
  4352  	// Connected to the server.
  4353  	//
  4354  	// For ESX Server, this is always the setting.
  4355  	HostSystemConnectionStateConnected = HostSystemConnectionState("connected")
  4356  	// VirtualCenter is not receiving heartbeats from the server.
  4357  	//
  4358  	// The state
  4359  	// automatically changes to connected once heartbeats are received
  4360  	// again. This state is typically used to trigger an alarm on the host.
  4361  	HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding")
  4362  	// The user has explicitly taken the host down.
  4363  	//
  4364  	// VirtualCenter does not expect to
  4365  	// receive heartbeats from the host. The next time a heartbeat is received, the
  4366  	// host is moved to the connected state again and an event is logged.
  4367  	HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected")
  4368  )
  4369  
  4370  func init() {
  4371  	t["HostSystemConnectionState"] = reflect.TypeOf((*HostSystemConnectionState)(nil)).Elem()
  4372  }
  4373  
  4374  type HostSystemIdentificationInfoIdentifier string
  4375  
  4376  const (
  4377  	// The Asset tag of the system
  4378  	HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag")
  4379  	// The Service tag of the system
  4380  	HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag")
  4381  	// OEM specific string
  4382  	HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString")
  4383  	// The Enclosure Serial Number tag of the system
  4384  	HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag = HostSystemIdentificationInfoIdentifier("EnclosureSerialNumberTag")
  4385  	// The Serial Number tag of the system
  4386  	HostSystemIdentificationInfoIdentifierSerialNumberTag = HostSystemIdentificationInfoIdentifier("SerialNumberTag")
  4387  )
  4388  
  4389  func init() {
  4390  	t["HostSystemIdentificationInfoIdentifier"] = reflect.TypeOf((*HostSystemIdentificationInfoIdentifier)(nil)).Elem()
  4391  	minAPIVersionForType["HostSystemIdentificationInfoIdentifier"] = "2.5"
  4392  	minAPIVersionForEnumValue["HostSystemIdentificationInfoIdentifier"] = map[string]string{
  4393  		"OemSpecificString":        "5.0",
  4394  		"EnclosureSerialNumberTag": "6.0",
  4395  		"SerialNumberTag":          "6.0",
  4396  	}
  4397  }
  4398  
  4399  type HostSystemPowerState string
  4400  
  4401  const (
  4402  	// The host is powered on.
  4403  	//
  4404  	// A host that is entering standby mode
  4405  	// `entering` is also in this state.
  4406  	HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn")
  4407  	// The host was specifically powered off by the user through
  4408  	// VirtualCenter.
  4409  	//
  4410  	// This state is not a cetain state, because
  4411  	// after VirtualCenter issues the command to power off the host,
  4412  	// the host might crash, or kill all the processes but fail to
  4413  	// power off.
  4414  	HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff")
  4415  	// The host was specifically put in standby mode, either
  4416  	// explicitly by the user, or automatically by DPM.
  4417  	//
  4418  	// This state
  4419  	// is not a cetain state, because after VirtualCenter issues the
  4420  	// command to put the host in standby state, the host might
  4421  	// crash, or kill all the processes but fail to power off. A host
  4422  	// that is exiting standby mode `exiting`
  4423  	// is also in this state.
  4424  	HostSystemPowerStateStandBy = HostSystemPowerState("standBy")
  4425  	// If the host is disconnected, or notResponding, we cannot
  4426  	// possibly have knowledge of its power state.
  4427  	//
  4428  	// Hence, the host
  4429  	// is marked as unknown.
  4430  	HostSystemPowerStateUnknown = HostSystemPowerState("unknown")
  4431  )
  4432  
  4433  func init() {
  4434  	t["HostSystemPowerState"] = reflect.TypeOf((*HostSystemPowerState)(nil)).Elem()
  4435  	minAPIVersionForType["HostSystemPowerState"] = "2.5"
  4436  }
  4437  
  4438  type HostSystemRemediationStateState string
  4439  
  4440  const (
  4441  	// Before precheck remediation and remediation.
  4442  	HostSystemRemediationStateStateRemediationReady = HostSystemRemediationStateState("remediationReady")
  4443  	// Preecheck remediation is running.
  4444  	HostSystemRemediationStateStatePrecheckRemediationRunning = HostSystemRemediationStateState("precheckRemediationRunning")
  4445  	// Preecheck remediation succeeded.
  4446  	HostSystemRemediationStateStatePrecheckRemediationComplete = HostSystemRemediationStateState("precheckRemediationComplete")
  4447  	// Preecheck remediation failed.
  4448  	HostSystemRemediationStateStatePrecheckRemediationFailed = HostSystemRemediationStateState("precheckRemediationFailed")
  4449  	// Remediation is running.
  4450  	HostSystemRemediationStateStateRemediationRunning = HostSystemRemediationStateState("remediationRunning")
  4451  	// Remediation failed.
  4452  	HostSystemRemediationStateStateRemediationFailed = HostSystemRemediationStateState("remediationFailed")
  4453  )
  4454  
  4455  func init() {
  4456  	t["HostSystemRemediationStateState"] = reflect.TypeOf((*HostSystemRemediationStateState)(nil)).Elem()
  4457  	minAPIVersionForType["HostSystemRemediationStateState"] = "6.7"
  4458  }
  4459  
  4460  type HostTpmAttestationInfoAcceptanceStatus string
  4461  
  4462  const (
  4463  	// TPM attestation failed.
  4464  	HostTpmAttestationInfoAcceptanceStatusNotAccepted = HostTpmAttestationInfoAcceptanceStatus("notAccepted")
  4465  	// TPM attestation succeeded.
  4466  	HostTpmAttestationInfoAcceptanceStatusAccepted = HostTpmAttestationInfoAcceptanceStatus("accepted")
  4467  )
  4468  
  4469  func init() {
  4470  	t["HostTpmAttestationInfoAcceptanceStatus"] = reflect.TypeOf((*HostTpmAttestationInfoAcceptanceStatus)(nil)).Elem()
  4471  	minAPIVersionForType["HostTpmAttestationInfoAcceptanceStatus"] = "6.7"
  4472  }
  4473  
  4474  type HostTrustAuthorityAttestationInfoAttestationStatus string
  4475  
  4476  const (
  4477  	// Attestation succeeded.
  4478  	HostTrustAuthorityAttestationInfoAttestationStatusAttested = HostTrustAuthorityAttestationInfoAttestationStatus("attested")
  4479  	// Attestation failed.
  4480  	HostTrustAuthorityAttestationInfoAttestationStatusNotAttested = HostTrustAuthorityAttestationInfoAttestationStatus("notAttested")
  4481  	// Attestation status is unknown.
  4482  	HostTrustAuthorityAttestationInfoAttestationStatusUnknown = HostTrustAuthorityAttestationInfoAttestationStatus("unknown")
  4483  )
  4484  
  4485  func init() {
  4486  	t["HostTrustAuthorityAttestationInfoAttestationStatus"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfoAttestationStatus)(nil)).Elem()
  4487  	minAPIVersionForType["HostTrustAuthorityAttestationInfoAttestationStatus"] = "7.0.1.0"
  4488  }
  4489  
  4490  // Reasons for identifying the disk extent
  4491  type HostUnresolvedVmfsExtentUnresolvedReason string
  4492  
  4493  const (
  4494  	// The VMFS detected 'diskid' does not match with
  4495  	// LVM detected 'diskId'
  4496  	HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch")
  4497  	// VMFS 'uuid' does not match
  4498  	HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict")
  4499  )
  4500  
  4501  func init() {
  4502  	t["HostUnresolvedVmfsExtentUnresolvedReason"] = reflect.TypeOf((*HostUnresolvedVmfsExtentUnresolvedReason)(nil)).Elem()
  4503  	minAPIVersionForType["HostUnresolvedVmfsExtentUnresolvedReason"] = "4.0"
  4504  }
  4505  
  4506  type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string
  4507  
  4508  const (
  4509  	// Resignature the Unresolved VMFS volume.
  4510  	//
  4511  	// In the event the volume to be resignatured contains multiple
  4512  	// extents but only a single copy of each extent exists, only the
  4513  	// head extent needs to be specified.
  4514  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature")
  4515  	// Keep the original Uuid of the VMFS volume and mount it
  4516  	//
  4517  	// In the event the volume to be force mounted contains multiple
  4518  	// extents but only a single copy of each extent exists, only the
  4519  	// head extent needs to be specified.
  4520  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount")
  4521  )
  4522  
  4523  func init() {
  4524  	t["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpecVmfsUuidResolution)(nil)).Elem()
  4525  	minAPIVersionForType["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = "4.0"
  4526  }
  4527  
  4528  type HostVirtualNicManagerNicType string
  4529  
  4530  const (
  4531  	// The VirtualNic is used for VMotion.
  4532  	HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion")
  4533  	// The VirtualNic is used for Fault Tolerance logging.
  4534  	HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging")
  4535  	// The VirtualNic is used for vSphere Replication LWD traffic
  4536  	// (i.e From the primary host to the VR server).
  4537  	HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication")
  4538  	// The VirtualNic is used for vSphere Replication NFC traffic (i.e.
  4539  	//
  4540  	// From
  4541  	// the VR server to the secondary host).
  4542  	HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC")
  4543  	// The VirtualNic is used for management network traffic .
  4544  	//
  4545  	// This nicType is available only when the system does not
  4546  	// support service console adapters.
  4547  	//
  4548  	// See also `HostNetCapabilities.usesServiceConsoleNic`.
  4549  	HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management")
  4550  	// The VirtualNic is used for Virtual SAN data traffic.
  4551  	//
  4552  	// To enable or disable a VirtualNic for VSAN networking,
  4553  	// use `HostVsanSystem.UpdateVsan_Task`.
  4554  	//
  4555  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  4556  	HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan")
  4557  	// The VirtualNic is used for vSphere provisioning NFC traffic
  4558  	// (i.e.
  4559  	//
  4560  	// the NFC traffic between ESX hosts as a part of a VC initiated
  4561  	// provisioning operations like cold-migrations, clones, snapshot and
  4562  	// cold data in hot migration).
  4563  	HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning")
  4564  	// The VirtualNic is used for Virtual SAN witness traffic.
  4565  	//
  4566  	// Witness traffic vmknic is required for Virtual SAN stretched cluster,
  4567  	// to help on communication between Virtual SAN data node and witness
  4568  	// node.
  4569  	// To enable or disable a VirtualNic for Virtual SAN networking,
  4570  	// use `HostVsanSystem.UpdateVsan_Task`.
  4571  	//
  4572  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`.
  4573  	HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness")
  4574  	// The VirtualNic is used for vSphere backup NFC traffic
  4575  	// (i.e.
  4576  	//
  4577  	// the NFC traffic between backup appliance and ESX hosts).
  4578  	HostVirtualNicManagerNicTypeVSphereBackupNFC = HostVirtualNicManagerNicType("vSphereBackupNFC")
  4579  	// The VirtualNic is used for Precision Time Protocol (PTP).
  4580  	HostVirtualNicManagerNicTypePtp = HostVirtualNicManagerNicType("ptp")
  4581  	// The VirtualNic is used for NVMe over TCP traffic.
  4582  	HostVirtualNicManagerNicTypeNvmeTcp = HostVirtualNicManagerNicType("nvmeTcp")
  4583  	// The VirtualNic is used for NVMe over RDMA traffic.
  4584  	HostVirtualNicManagerNicTypeNvmeRdma = HostVirtualNicManagerNicType("nvmeRdma")
  4585  )
  4586  
  4587  func init() {
  4588  	t["HostVirtualNicManagerNicType"] = reflect.TypeOf((*HostVirtualNicManagerNicType)(nil)).Elem()
  4589  	minAPIVersionForType["HostVirtualNicManagerNicType"] = "4.0"
  4590  	minAPIVersionForEnumValue["HostVirtualNicManagerNicType"] = map[string]string{
  4591  		"vSphereReplication":    "5.1",
  4592  		"vSphereReplicationNFC": "6.0",
  4593  		"vsan":                  "5.5",
  4594  		"vSphereProvisioning":   "6.0",
  4595  		"vsanWitness":           "6.5",
  4596  		"vSphereBackupNFC":      "7.0",
  4597  		"ptp":                   "7.0",
  4598  		"nvmeTcp":               "7.0.3.0",
  4599  		"nvmeRdma":              "7.0.3.0",
  4600  	}
  4601  }
  4602  
  4603  type HostVmciAccessManagerMode string
  4604  
  4605  const (
  4606  	// Grant access to specified services in addition to existing services.
  4607  	HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant")
  4608  	// Replace existing services with specified services.
  4609  	HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace")
  4610  	// Revoke the specified services.
  4611  	HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke")
  4612  )
  4613  
  4614  func init() {
  4615  	t["HostVmciAccessManagerMode"] = reflect.TypeOf((*HostVmciAccessManagerMode)(nil)).Elem()
  4616  	minAPIVersionForType["HostVmciAccessManagerMode"] = "5.0"
  4617  }
  4618  
  4619  // VMFS unmap bandwidth policy.
  4620  //
  4621  // VMFS unmap reclaims unused storage space.
  4622  type HostVmfsVolumeUnmapBandwidthPolicy string
  4623  
  4624  const (
  4625  	// Unmap bandwidth is a fixed value.
  4626  	HostVmfsVolumeUnmapBandwidthPolicyFixed = HostVmfsVolumeUnmapBandwidthPolicy("fixed")
  4627  	// Unmaps bandwidth is a dynamic value with lower and upper limits
  4628  	HostVmfsVolumeUnmapBandwidthPolicyDynamic = HostVmfsVolumeUnmapBandwidthPolicy("dynamic")
  4629  )
  4630  
  4631  func init() {
  4632  	t["HostVmfsVolumeUnmapBandwidthPolicy"] = reflect.TypeOf((*HostVmfsVolumeUnmapBandwidthPolicy)(nil)).Elem()
  4633  	minAPIVersionForType["HostVmfsVolumeUnmapBandwidthPolicy"] = "6.7"
  4634  }
  4635  
  4636  // VMFS unmap priority.
  4637  //
  4638  // VMFS unmap reclaims unused storage space.
  4639  type HostVmfsVolumeUnmapPriority string
  4640  
  4641  const (
  4642  	// Unmap is disabled.
  4643  	HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none")
  4644  	// Unmaps are processed at low rate.
  4645  	HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low")
  4646  )
  4647  
  4648  func init() {
  4649  	t["HostVmfsVolumeUnmapPriority"] = reflect.TypeOf((*HostVmfsVolumeUnmapPriority)(nil)).Elem()
  4650  	minAPIVersionForType["HostVmfsVolumeUnmapPriority"] = "6.5"
  4651  }
  4652  
  4653  type HttpNfcLeaseManifestEntryChecksumType string
  4654  
  4655  const (
  4656  	HttpNfcLeaseManifestEntryChecksumTypeSha1   = HttpNfcLeaseManifestEntryChecksumType("sha1")
  4657  	HttpNfcLeaseManifestEntryChecksumTypeSha256 = HttpNfcLeaseManifestEntryChecksumType("sha256")
  4658  )
  4659  
  4660  func init() {
  4661  	t["HttpNfcLeaseManifestEntryChecksumType"] = reflect.TypeOf((*HttpNfcLeaseManifestEntryChecksumType)(nil)).Elem()
  4662  	minAPIVersionForType["HttpNfcLeaseManifestEntryChecksumType"] = "6.7"
  4663  }
  4664  
  4665  type HttpNfcLeaseMode string
  4666  
  4667  const (
  4668  	// Client pushes or downloads individual files from/to
  4669  	// each host/url provided by this lease in `HttpNfcLease.info`
  4670  	HttpNfcLeaseModePushOrGet = HttpNfcLeaseMode("pushOrGet")
  4671  	// Mode where hosts itself pull files from source URLs.
  4672  	//
  4673  	// See `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`
  4674  	HttpNfcLeaseModePull = HttpNfcLeaseMode("pull")
  4675  )
  4676  
  4677  func init() {
  4678  	t["HttpNfcLeaseMode"] = reflect.TypeOf((*HttpNfcLeaseMode)(nil)).Elem()
  4679  	minAPIVersionForType["HttpNfcLeaseMode"] = "6.7"
  4680  }
  4681  
  4682  type HttpNfcLeaseState string
  4683  
  4684  const (
  4685  	// When the lease is being initialized.
  4686  	HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing")
  4687  	// When the lease is ready and disks may be transferred.
  4688  	HttpNfcLeaseStateReady = HttpNfcLeaseState("ready")
  4689  	// When the import/export session is completed, and the lease
  4690  	// is no longer held.
  4691  	HttpNfcLeaseStateDone = HttpNfcLeaseState("done")
  4692  	// When an error has occurred.
  4693  	HttpNfcLeaseStateError = HttpNfcLeaseState("error")
  4694  )
  4695  
  4696  func init() {
  4697  	t["HttpNfcLeaseState"] = reflect.TypeOf((*HttpNfcLeaseState)(nil)).Elem()
  4698  	minAPIVersionForType["HttpNfcLeaseState"] = "4.0"
  4699  }
  4700  
  4701  type IncompatibleHostForVmReplicationIncompatibleReason string
  4702  
  4703  const (
  4704  	// Host does not support the RPO configured for VM replication.
  4705  	IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo")
  4706  	// Host does not support network compression configured for VM
  4707  	// replication.
  4708  	IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression")
  4709  )
  4710  
  4711  func init() {
  4712  	t["IncompatibleHostForVmReplicationIncompatibleReason"] = reflect.TypeOf((*IncompatibleHostForVmReplicationIncompatibleReason)(nil)).Elem()
  4713  	minAPIVersionForType["IncompatibleHostForVmReplicationIncompatibleReason"] = "6.0"
  4714  }
  4715  
  4716  // The available iSNS discovery methods.
  4717  type InternetScsiSnsDiscoveryMethod string
  4718  
  4719  const (
  4720  	InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic")
  4721  	InternetScsiSnsDiscoveryMethodIsnsDhcp   = InternetScsiSnsDiscoveryMethod("isnsDhcp")
  4722  	InternetScsiSnsDiscoveryMethodIsnsSlp    = InternetScsiSnsDiscoveryMethod("isnsSlp")
  4723  )
  4724  
  4725  func init() {
  4726  	t["InternetScsiSnsDiscoveryMethod"] = reflect.TypeOf((*InternetScsiSnsDiscoveryMethod)(nil)).Elem()
  4727  }
  4728  
  4729  type InvalidDasConfigArgumentEntryForInvalidArgument string
  4730  
  4731  const (
  4732  	// Policies for admission control
  4733  	InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl")
  4734  	// User-specified heartbeat datastores
  4735  	InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs")
  4736  	// VM override
  4737  	InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig")
  4738  )
  4739  
  4740  func init() {
  4741  	t["InvalidDasConfigArgumentEntryForInvalidArgument"] = reflect.TypeOf((*InvalidDasConfigArgumentEntryForInvalidArgument)(nil)).Elem()
  4742  	minAPIVersionForType["InvalidDasConfigArgumentEntryForInvalidArgument"] = "5.1"
  4743  }
  4744  
  4745  type InvalidProfileReferenceHostReason string
  4746  
  4747  const (
  4748  	// The associated host and profile version are incompatible.
  4749  	InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion")
  4750  	// There is no reference host associated with the profile.
  4751  	InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost")
  4752  )
  4753  
  4754  func init() {
  4755  	t["InvalidProfileReferenceHostReason"] = reflect.TypeOf((*InvalidProfileReferenceHostReason)(nil)).Elem()
  4756  	minAPIVersionForType["InvalidProfileReferenceHostReason"] = "5.0"
  4757  }
  4758  
  4759  type IoFilterOperation string
  4760  
  4761  const (
  4762  	// Install an IO Filter.
  4763  	IoFilterOperationInstall = IoFilterOperation("install")
  4764  	// Uninstall an IO Filter.
  4765  	IoFilterOperationUninstall = IoFilterOperation("uninstall")
  4766  	// Upgrade an IO Filter.
  4767  	IoFilterOperationUpgrade = IoFilterOperation("upgrade")
  4768  )
  4769  
  4770  func init() {
  4771  	t["IoFilterOperation"] = reflect.TypeOf((*IoFilterOperation)(nil)).Elem()
  4772  	minAPIVersionForType["IoFilterOperation"] = "6.0"
  4773  }
  4774  
  4775  type IoFilterType string
  4776  
  4777  const (
  4778  	// Cache.
  4779  	IoFilterTypeCache = IoFilterType("cache")
  4780  	// Replication.
  4781  	IoFilterTypeReplication = IoFilterType("replication")
  4782  	// Encryption.
  4783  	IoFilterTypeEncryption = IoFilterType("encryption")
  4784  	// Compression.
  4785  	IoFilterTypeCompression = IoFilterType("compression")
  4786  	// Inspection.
  4787  	IoFilterTypeInspection = IoFilterType("inspection")
  4788  	// Datastore I/O Control.
  4789  	IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl")
  4790  	// Data Provider.
  4791  	IoFilterTypeDataProvider = IoFilterType("dataProvider")
  4792  	// Lightweight Data Capture.
  4793  	IoFilterTypeDataCapture = IoFilterType("dataCapture")
  4794  )
  4795  
  4796  func init() {
  4797  	t["IoFilterType"] = reflect.TypeOf((*IoFilterType)(nil)).Elem()
  4798  	minAPIVersionForType["IoFilterType"] = "6.5"
  4799  	minAPIVersionForEnumValue["IoFilterType"] = map[string]string{
  4800  		"dataCapture": "7.0.2.1",
  4801  	}
  4802  }
  4803  
  4804  type IscsiPortInfoPathStatus string
  4805  
  4806  const (
  4807  	// There are no paths on this Virtual NIC
  4808  	IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed")
  4809  	// All paths on this Virtual NIC are standby paths from SCSI stack
  4810  	// perspective.
  4811  	IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active")
  4812  	// One or more paths on the Virtual NIC are active paths to
  4813  	// storage.
  4814  	//
  4815  	// Unbinding this Virtual NIC will cause storage path
  4816  	// transitions.
  4817  	IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy")
  4818  	// One or more paths on the Virtual NIC is the last active
  4819  	// path to a particular storage device.
  4820  	IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive")
  4821  )
  4822  
  4823  func init() {
  4824  	t["IscsiPortInfoPathStatus"] = reflect.TypeOf((*IscsiPortInfoPathStatus)(nil)).Elem()
  4825  	minAPIVersionForType["IscsiPortInfoPathStatus"] = "5.0"
  4826  }
  4827  
  4828  type KmipClusterInfoKmsManagementType string
  4829  
  4830  const (
  4831  	KmipClusterInfoKmsManagementTypeUnknown        = KmipClusterInfoKmsManagementType("unknown")
  4832  	KmipClusterInfoKmsManagementTypeVCenter        = KmipClusterInfoKmsManagementType("vCenter")
  4833  	KmipClusterInfoKmsManagementTypeTrustAuthority = KmipClusterInfoKmsManagementType("trustAuthority")
  4834  	// `**Since:**` vSphere API Release 7.0.2.0
  4835  	KmipClusterInfoKmsManagementTypeNativeProvider = KmipClusterInfoKmsManagementType("nativeProvider")
  4836  )
  4837  
  4838  func init() {
  4839  	t["KmipClusterInfoKmsManagementType"] = reflect.TypeOf((*KmipClusterInfoKmsManagementType)(nil)).Elem()
  4840  	minAPIVersionForType["KmipClusterInfoKmsManagementType"] = "7.0"
  4841  	minAPIVersionForEnumValue["KmipClusterInfoKmsManagementType"] = map[string]string{
  4842  		"nativeProvider": "7.0.2.0",
  4843  	}
  4844  }
  4845  
  4846  // Enumeration of the nominal latency-sensitive values which can be
  4847  // used to specify the latency-sensitivity level of the application.
  4848  //
  4849  // In terms of latency-sensitivity the values relate:
  4850  type LatencySensitivitySensitivityLevel string
  4851  
  4852  const (
  4853  	// The relative latency-sensitivity low value.
  4854  	LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low")
  4855  	// The relative latency-sensitivity normal value.
  4856  	//
  4857  	// This is the default latency-sensitivity value.
  4858  	LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal")
  4859  	// The relative latency-sensitivity medium value.
  4860  	LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium")
  4861  	// The relative latency-sensitivity high value.
  4862  	LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high")
  4863  	//
  4864  	//
  4865  	// Deprecated as of vSphere API Ver 6.0. Value will be ignored and
  4866  	// treated as "normal" latency sensitivity.
  4867  	//
  4868  	// The custom absolute latency-sensitivity specified in
  4869  	// `LatencySensitivity.sensitivity` property is used to
  4870  	// define the latency-sensitivity.
  4871  	//
  4872  	// When this value is set to `LatencySensitivity.level` the
  4873  	// `LatencySensitivity.sensitivity` property should be
  4874  	// set also.
  4875  	LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom")
  4876  )
  4877  
  4878  func init() {
  4879  	t["LatencySensitivitySensitivityLevel"] = reflect.TypeOf((*LatencySensitivitySensitivityLevel)(nil)).Elem()
  4880  	minAPIVersionForType["LatencySensitivitySensitivityLevel"] = "5.1"
  4881  }
  4882  
  4883  type LicenseAssignmentFailedReason string
  4884  
  4885  const (
  4886  	// The license and the entity to which it is to be assigned are not compatible.
  4887  	LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch")
  4888  	// The license downgrade is disallowed because some features are in use.
  4889  	LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed")
  4890  	// The inventory has hosts which are not manageable by vCenter unless in evaluation.
  4891  	LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter")
  4892  	// The inventory has hosts that need the license server to be configured unless vCenter is in evaluation
  4893  	LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer")
  4894  )
  4895  
  4896  func init() {
  4897  	t["LicenseAssignmentFailedReason"] = reflect.TypeOf((*LicenseAssignmentFailedReason)(nil)).Elem()
  4898  	minAPIVersionForType["LicenseAssignmentFailedReason"] = "4.0"
  4899  }
  4900  
  4901  // Some licenses may only be allowed to load from a specified source.
  4902  type LicenseFeatureInfoSourceRestriction string
  4903  
  4904  const (
  4905  	// The feature does not have a source restriction.
  4906  	LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted")
  4907  	// The feature's license can only be served.
  4908  	LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served")
  4909  	// The feature's license can only come from a file.
  4910  	LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file")
  4911  )
  4912  
  4913  func init() {
  4914  	t["LicenseFeatureInfoSourceRestriction"] = reflect.TypeOf((*LicenseFeatureInfoSourceRestriction)(nil)).Elem()
  4915  	minAPIVersionForType["LicenseFeatureInfoSourceRestriction"] = "2.5"
  4916  }
  4917  
  4918  // Describes the state of the feature.
  4919  type LicenseFeatureInfoState string
  4920  
  4921  const (
  4922  	// The current edition license has implicitly enabled this additional feature.
  4923  	LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled")
  4924  	// The current edition license does not allow this additional feature.
  4925  	LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled")
  4926  	// The current edition license allows this additional feature.
  4927  	//
  4928  	// The
  4929  	// `LicenseManager.EnableFeature` and `LicenseManager.DisableFeature` methods can be used to enable or disable
  4930  	// this feature.
  4931  	LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional")
  4932  )
  4933  
  4934  func init() {
  4935  	t["LicenseFeatureInfoState"] = reflect.TypeOf((*LicenseFeatureInfoState)(nil)).Elem()
  4936  }
  4937  
  4938  // Cost units apply to licenses for the purpose of determining
  4939  // how many licenses are needed.
  4940  type LicenseFeatureInfoUnit string
  4941  
  4942  const (
  4943  	// One license is acquired per host.
  4944  	LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host")
  4945  	// One license is acquired per CPU core.
  4946  	LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore")
  4947  	// One license is acquired per CPU package.
  4948  	LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage")
  4949  	// One license is acquired per server.
  4950  	LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server")
  4951  	// One license is acquired per virtual machine.
  4952  	LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm")
  4953  )
  4954  
  4955  func init() {
  4956  	t["LicenseFeatureInfoUnit"] = reflect.TypeOf((*LicenseFeatureInfoUnit)(nil)).Elem()
  4957  }
  4958  
  4959  // Deprecated as of VI API 2.5, use `LicenseManager.QueryLicenseSourceAvailability`
  4960  // to obtain an array of `LicenseAvailabilityInfo` data
  4961  // objects.
  4962  //
  4963  // Licensed features have unique keys to identify them.
  4964  type LicenseManagerLicenseKey string
  4965  
  4966  const (
  4967  	// The edition license for the ESX Server, Standard edition.
  4968  	//
  4969  	// This is a per
  4970  	// CPU package license.
  4971  	LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull")
  4972  	// The edition license for the ESX server, VMTN edition.
  4973  	//
  4974  	// This is a per CPU package
  4975  	// license.
  4976  	LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn")
  4977  	// The edition license for the ESX server, Starter edition.
  4978  	//
  4979  	// This is a per CPU
  4980  	// package license.
  4981  	LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress")
  4982  	// Enable use of SAN.
  4983  	//
  4984  	// This is a per CPU package license.
  4985  	LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san")
  4986  	// Enable use of iSCSI.
  4987  	//
  4988  	// This is a per CPU package license.
  4989  	LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi")
  4990  	// Enable use of NAS.
  4991  	//
  4992  	// This is a per CPU package license.
  4993  	LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas")
  4994  	// Enable up to 4-way VSMP feature.
  4995  	//
  4996  	// This is a per CPU package license.
  4997  	LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp")
  4998  	// Enable ESX Server consolidated backup feature.
  4999  	//
  5000  	// This is a per CPU package
  5001  	// license.
  5002  	LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup")
  5003  	// The edition license for a VirtualCenter server, full edition.
  5004  	//
  5005  	// This license
  5006  	// is independent of the number of CPU packages for the VirtualCenter host.
  5007  	LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc")
  5008  	// The edition license for a VirtualCenter server, starter edition.
  5009  	//
  5010  	// This license
  5011  	// limits the number of hosts (esxHost or serverHost) that can be managed by the
  5012  	// VirtualCenter product.
  5013  	LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress")
  5014  	// Enable VirtualCenter ESX Server host management functionality.
  5015  	//
  5016  	// This is a per
  5017  	// ESX server CPU package license.
  5018  	LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost")
  5019  	// Enable VirtualCenter GSX Server host management functionality.
  5020  	//
  5021  	// This is a per
  5022  	// GSX server CPU package license.
  5023  	LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost")
  5024  	// Enable VirtualCenter VMware server host management functionality.
  5025  	//
  5026  	// This is a per
  5027  	// VMware server CPU package license.
  5028  	LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost")
  5029  	// Enable VirtualCenter DRS Power Management Functionality.
  5030  	//
  5031  	// This is a per CPU package
  5032  	LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower")
  5033  	// Enable VMotion.
  5034  	//
  5035  	// This is a per ESX server CPU package license.
  5036  	LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion")
  5037  	// Enable VirtualCenter Distributed Resource Scheduler.
  5038  	//
  5039  	// This is a per ESX server
  5040  	// CPU package license.
  5041  	LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs")
  5042  	// Enable VirtualCenter HA.
  5043  	//
  5044  	// This is a per ESX server CPU package license.
  5045  	LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das")
  5046  )
  5047  
  5048  func init() {
  5049  	t["LicenseManagerLicenseKey"] = reflect.TypeOf((*LicenseManagerLicenseKey)(nil)).Elem()
  5050  	minAPIVersionForEnumValue["LicenseManagerLicenseKey"] = map[string]string{
  5051  		"vcExpress":  "2.5",
  5052  		"serverHost": "2.5",
  5053  		"drsPower":   "2.5",
  5054  	}
  5055  }
  5056  
  5057  // Deprecated as of vSphere API 4.0, this is not used by the system.
  5058  type LicenseManagerState string
  5059  
  5060  const (
  5061  	// Setting or resetting configuration in progress.
  5062  	LicenseManagerStateInitializing = LicenseManagerState("initializing")
  5063  	// Running within operating parameters.
  5064  	LicenseManagerStateNormal = LicenseManagerState("normal")
  5065  	// License source unavailable, using license cache.
  5066  	LicenseManagerStateMarginal = LicenseManagerState("marginal")
  5067  	// Initialization has failed or grace period expired.
  5068  	LicenseManagerStateFault = LicenseManagerState("fault")
  5069  )
  5070  
  5071  func init() {
  5072  	t["LicenseManagerState"] = reflect.TypeOf((*LicenseManagerState)(nil)).Elem()
  5073  	minAPIVersionForType["LicenseManagerState"] = "2.5"
  5074  }
  5075  
  5076  // Describes the reservation state of a license.
  5077  type LicenseReservationInfoState string
  5078  
  5079  const (
  5080  	// This license is currently unused by the system, or the feature does not
  5081  	// apply.
  5082  	//
  5083  	// For example, a DRS license appears as NotUsed if the host is not
  5084  	// part of a DRS-enabled cluster.
  5085  	LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed")
  5086  	// This indicates that the license has expired or the system attempted to acquire
  5087  	// the license but was not successful in reserving it.
  5088  	LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense")
  5089  	// The LicenseManager failed to acquire a license but the implementation
  5090  	// policy allows us to use the licensed feature anyway.
  5091  	//
  5092  	// This is possible, for
  5093  	// example, when a license server becomes unavailable after a license had been
  5094  	// successfully reserved from it.
  5095  	LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse")
  5096  	// The required number of licenses have been acquired from the license source.
  5097  	LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed")
  5098  )
  5099  
  5100  func init() {
  5101  	t["LicenseReservationInfoState"] = reflect.TypeOf((*LicenseReservationInfoState)(nil)).Elem()
  5102  }
  5103  
  5104  type LinkDiscoveryProtocolConfigOperationType string
  5105  
  5106  const (
  5107  	// Don't listen for incoming discovery packets and don't sent discover
  5108  	// packets for the switch either.
  5109  	LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none")
  5110  	// Listen for incoming discovery packets but don't sent discovery packet
  5111  	// for the switch.
  5112  	LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen")
  5113  	// Sent discovery packets for the switch, but don't listen for incoming
  5114  	// discovery packets.
  5115  	LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise")
  5116  	// Sent discovery packets for the switch and listen for incoming
  5117  	// discovery packets.
  5118  	LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both")
  5119  )
  5120  
  5121  func init() {
  5122  	t["LinkDiscoveryProtocolConfigOperationType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigOperationType)(nil)).Elem()
  5123  	minAPIVersionForType["LinkDiscoveryProtocolConfigOperationType"] = "4.0"
  5124  }
  5125  
  5126  type LinkDiscoveryProtocolConfigProtocolType string
  5127  
  5128  const (
  5129  	// Cisco Discovery Protocol
  5130  	LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp")
  5131  	// Link Layer Discovery Protocol
  5132  	LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp")
  5133  )
  5134  
  5135  func init() {
  5136  	t["LinkDiscoveryProtocolConfigProtocolType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigProtocolType)(nil)).Elem()
  5137  	minAPIVersionForType["LinkDiscoveryProtocolConfigProtocolType"] = "4.0"
  5138  }
  5139  
  5140  // The Status enumeration defines a general "health" value for a managed entity.
  5141  type ManagedEntityStatus string
  5142  
  5143  const (
  5144  	// The status is unknown.
  5145  	ManagedEntityStatusGray = ManagedEntityStatus("gray")
  5146  	// The entity is OK.
  5147  	ManagedEntityStatusGreen = ManagedEntityStatus("green")
  5148  	// The entity might have a problem.
  5149  	ManagedEntityStatusYellow = ManagedEntityStatus("yellow")
  5150  	// The entity definitely has a problem.
  5151  	ManagedEntityStatusRed = ManagedEntityStatus("red")
  5152  )
  5153  
  5154  func init() {
  5155  	t["ManagedEntityStatus"] = reflect.TypeOf((*ManagedEntityStatus)(nil)).Elem()
  5156  }
  5157  
  5158  // The operation on the target metric item.
  5159  type MetricAlarmOperator string
  5160  
  5161  const (
  5162  	// Test if the target metric item is above the given red or yellow values.
  5163  	MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove")
  5164  	// Test if the target metric item is below the given red or yellow values.
  5165  	MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow")
  5166  )
  5167  
  5168  func init() {
  5169  	t["MetricAlarmOperator"] = reflect.TypeOf((*MetricAlarmOperator)(nil)).Elem()
  5170  }
  5171  
  5172  // Set of constants defining the possible states of a multipath path.
  5173  type MultipathState string
  5174  
  5175  const (
  5176  	MultipathStateStandby  = MultipathState("standby")
  5177  	MultipathStateActive   = MultipathState("active")
  5178  	MultipathStateDisabled = MultipathState("disabled")
  5179  	MultipathStateDead     = MultipathState("dead")
  5180  	MultipathStateUnknown  = MultipathState("unknown")
  5181  )
  5182  
  5183  func init() {
  5184  	t["MultipathState"] = reflect.TypeOf((*MultipathState)(nil)).Elem()
  5185  }
  5186  
  5187  type NetBIOSConfigInfoMode string
  5188  
  5189  const (
  5190  	// Mode of NetBIOS is unknown.
  5191  	NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown")
  5192  	// NetBIOS is enabled.
  5193  	NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled")
  5194  	// NetBIOS is disabled.
  5195  	NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled")
  5196  	// DHCP server decides whether or not to use NetBIOS.
  5197  	NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP")
  5198  )
  5199  
  5200  func init() {
  5201  	t["NetBIOSConfigInfoMode"] = reflect.TypeOf((*NetBIOSConfigInfoMode)(nil)).Elem()
  5202  	minAPIVersionForType["NetBIOSConfigInfoMode"] = "4.1"
  5203  }
  5204  
  5205  // This specifies how an IP address was obtained for a given interface.
  5206  type NetIpConfigInfoIpAddressOrigin string
  5207  
  5208  const (
  5209  	// Any other type of address configuration other than the below
  5210  	// mentioned ones will fall under this category.
  5211  	//
  5212  	// For e.g., automatic
  5213  	// address configuration for the link local address falls under
  5214  	// this type.
  5215  	NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other")
  5216  	// The address is configured manually.
  5217  	//
  5218  	// The term 'static' is a synonym.
  5219  	NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual")
  5220  	// The address is configured through dhcp.
  5221  	NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp")
  5222  	// The address is obtained through stateless autoconfiguration (autoconf).
  5223  	//
  5224  	// See RFC 4862, IPv6 Stateless Address Autoconfiguration.
  5225  	NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer")
  5226  	// The address is chosen by the system at random
  5227  	// e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.
  5228  	NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random")
  5229  )
  5230  
  5231  func init() {
  5232  	t["NetIpConfigInfoIpAddressOrigin"] = reflect.TypeOf((*NetIpConfigInfoIpAddressOrigin)(nil)).Elem()
  5233  	minAPIVersionForType["NetIpConfigInfoIpAddressOrigin"] = "4.1"
  5234  }
  5235  
  5236  type NetIpConfigInfoIpAddressStatus string
  5237  
  5238  const (
  5239  	// Indicates that this is a valid address.
  5240  	NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred")
  5241  	// Indicates that this is a valid but deprecated address
  5242  	// that should no longer be used as a source address.
  5243  	NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated")
  5244  	// Indicates that this isn't a valid.
  5245  	NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid")
  5246  	// Indicates that the address is not accessible because
  5247  	// interface is not operational.
  5248  	NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible")
  5249  	// Indicates that the status cannot be determined.
  5250  	NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown")
  5251  	// Indicates that the uniqueness of the
  5252  	// address on the link is presently being verified.
  5253  	NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative")
  5254  	// Indicates the address has been determined to be non-unique
  5255  	// on the link, this address will not be reachable.
  5256  	NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate")
  5257  )
  5258  
  5259  func init() {
  5260  	t["NetIpConfigInfoIpAddressStatus"] = reflect.TypeOf((*NetIpConfigInfoIpAddressStatus)(nil)).Elem()
  5261  	minAPIVersionForType["NetIpConfigInfoIpAddressStatus"] = "4.1"
  5262  }
  5263  
  5264  // IP Stack keeps state on entries in IpNetToMedia table to perform
  5265  // physical address lookups for IP addresses.
  5266  //
  5267  // Here are the standard
  5268  type NetIpStackInfoEntryType string
  5269  
  5270  const (
  5271  	// This implementation is reporting something other than
  5272  	// what states are listed below.
  5273  	NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other")
  5274  	// The IP Stack has marked this entry as not useable.
  5275  	NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid")
  5276  	// This entry has been learned using ARP or NDP.
  5277  	NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic")
  5278  	// This entry was set manually.
  5279  	NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual")
  5280  )
  5281  
  5282  func init() {
  5283  	t["NetIpStackInfoEntryType"] = reflect.TypeOf((*NetIpStackInfoEntryType)(nil)).Elem()
  5284  	minAPIVersionForType["NetIpStackInfoEntryType"] = "4.1"
  5285  }
  5286  
  5287  // The set of values used to determine ordering of default routers.
  5288  type NetIpStackInfoPreference string
  5289  
  5290  const (
  5291  	NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved")
  5292  	NetIpStackInfoPreferenceLow      = NetIpStackInfoPreference("low")
  5293  	NetIpStackInfoPreferenceMedium   = NetIpStackInfoPreference("medium")
  5294  	NetIpStackInfoPreferenceHigh     = NetIpStackInfoPreference("high")
  5295  )
  5296  
  5297  func init() {
  5298  	t["NetIpStackInfoPreference"] = reflect.TypeOf((*NetIpStackInfoPreference)(nil)).Elem()
  5299  	minAPIVersionForType["NetIpStackInfoPreference"] = "4.1"
  5300  }
  5301  
  5302  type NotSupportedDeviceForFTDeviceType string
  5303  
  5304  const (
  5305  	// vmxnet3 virtual Ethernet adapter
  5306  	NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3")
  5307  	// paravirtualized SCSI controller
  5308  	NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController")
  5309  )
  5310  
  5311  func init() {
  5312  	t["NotSupportedDeviceForFTDeviceType"] = reflect.TypeOf((*NotSupportedDeviceForFTDeviceType)(nil)).Elem()
  5313  	minAPIVersionForType["NotSupportedDeviceForFTDeviceType"] = "4.1"
  5314  }
  5315  
  5316  type NumVirtualCpusIncompatibleReason string
  5317  
  5318  const (
  5319  	//
  5320  	//
  5321  	// Deprecated as of vSphere API 6.0.
  5322  	//
  5323  	// The virtual machine needs to support record/replay functionality.
  5324  	NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay")
  5325  	// The virtual machine is enabled for fault tolerance.
  5326  	NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance")
  5327  )
  5328  
  5329  func init() {
  5330  	t["NumVirtualCpusIncompatibleReason"] = reflect.TypeOf((*NumVirtualCpusIncompatibleReason)(nil)).Elem()
  5331  	minAPIVersionForType["NumVirtualCpusIncompatibleReason"] = "4.0"
  5332  }
  5333  
  5334  type NvdimmInterleaveSetState string
  5335  
  5336  const (
  5337  	// Interleave set is invalid
  5338  	NvdimmInterleaveSetStateInvalid = NvdimmInterleaveSetState("invalid")
  5339  	// Interleave set is valid and active
  5340  	NvdimmInterleaveSetStateActive = NvdimmInterleaveSetState("active")
  5341  )
  5342  
  5343  func init() {
  5344  	t["NvdimmInterleaveSetState"] = reflect.TypeOf((*NvdimmInterleaveSetState)(nil)).Elem()
  5345  	minAPIVersionForType["NvdimmInterleaveSetState"] = "6.7"
  5346  }
  5347  
  5348  type NvdimmNamespaceDetailsHealthStatus string
  5349  
  5350  const (
  5351  	// Namespace health is normal
  5352  	NvdimmNamespaceDetailsHealthStatusNormal = NvdimmNamespaceDetailsHealthStatus("normal")
  5353  	// Namespace health is missing
  5354  	NvdimmNamespaceDetailsHealthStatusMissing = NvdimmNamespaceDetailsHealthStatus("missing")
  5355  	// Namespace health label is missing
  5356  	NvdimmNamespaceDetailsHealthStatusLabelMissing = NvdimmNamespaceDetailsHealthStatus("labelMissing")
  5357  	// Namespace health interleave broken
  5358  	NvdimmNamespaceDetailsHealthStatusInterleaveBroken = NvdimmNamespaceDetailsHealthStatus("interleaveBroken")
  5359  	// Namespace health label is inconsistent
  5360  	NvdimmNamespaceDetailsHealthStatusLabelInconsistent = NvdimmNamespaceDetailsHealthStatus("labelInconsistent")
  5361  )
  5362  
  5363  func init() {
  5364  	t["NvdimmNamespaceDetailsHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceDetailsHealthStatus)(nil)).Elem()
  5365  	minAPIVersionForType["NvdimmNamespaceDetailsHealthStatus"] = "6.7.1"
  5366  }
  5367  
  5368  type NvdimmNamespaceDetailsState string
  5369  
  5370  const (
  5371  	// Namespace is invalid
  5372  	NvdimmNamespaceDetailsStateInvalid = NvdimmNamespaceDetailsState("invalid")
  5373  	// Namespace is valid but not in use
  5374  	NvdimmNamespaceDetailsStateNotInUse = NvdimmNamespaceDetailsState("notInUse")
  5375  	// Namespace is valid and is in use
  5376  	NvdimmNamespaceDetailsStateInUse = NvdimmNamespaceDetailsState("inUse")
  5377  )
  5378  
  5379  func init() {
  5380  	t["NvdimmNamespaceDetailsState"] = reflect.TypeOf((*NvdimmNamespaceDetailsState)(nil)).Elem()
  5381  	minAPIVersionForType["NvdimmNamespaceDetailsState"] = "6.7.1"
  5382  }
  5383  
  5384  type NvdimmNamespaceHealthStatus string
  5385  
  5386  const (
  5387  	// Namespace health is normal
  5388  	NvdimmNamespaceHealthStatusNormal = NvdimmNamespaceHealthStatus("normal")
  5389  	// Namespace health is missing
  5390  	NvdimmNamespaceHealthStatusMissing = NvdimmNamespaceHealthStatus("missing")
  5391  	// Namespace health label is missing
  5392  	NvdimmNamespaceHealthStatusLabelMissing = NvdimmNamespaceHealthStatus("labelMissing")
  5393  	// Namespace health interleave broken
  5394  	NvdimmNamespaceHealthStatusInterleaveBroken = NvdimmNamespaceHealthStatus("interleaveBroken")
  5395  	// Namespace health label is inconsistent
  5396  	NvdimmNamespaceHealthStatusLabelInconsistent = NvdimmNamespaceHealthStatus("labelInconsistent")
  5397  	// Namespace health BTT is corrupt
  5398  	NvdimmNamespaceHealthStatusBttCorrupt = NvdimmNamespaceHealthStatus("bttCorrupt")
  5399  	// Namespace health encountered bad block
  5400  	NvdimmNamespaceHealthStatusBadBlockSize = NvdimmNamespaceHealthStatus("badBlockSize")
  5401  )
  5402  
  5403  func init() {
  5404  	t["NvdimmNamespaceHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceHealthStatus)(nil)).Elem()
  5405  	minAPIVersionForType["NvdimmNamespaceHealthStatus"] = "6.7"
  5406  }
  5407  
  5408  type NvdimmNamespaceState string
  5409  
  5410  const (
  5411  	// Namespace is invalid
  5412  	NvdimmNamespaceStateInvalid = NvdimmNamespaceState("invalid")
  5413  	// Namespace is valid but not in use
  5414  	NvdimmNamespaceStateNotInUse = NvdimmNamespaceState("notInUse")
  5415  	// Namespace is valid and is in use
  5416  	NvdimmNamespaceStateInUse = NvdimmNamespaceState("inUse")
  5417  )
  5418  
  5419  func init() {
  5420  	t["NvdimmNamespaceState"] = reflect.TypeOf((*NvdimmNamespaceState)(nil)).Elem()
  5421  	minAPIVersionForType["NvdimmNamespaceState"] = "6.7"
  5422  }
  5423  
  5424  type NvdimmNamespaceType string
  5425  
  5426  const (
  5427  	// Block mode namespace
  5428  	NvdimmNamespaceTypeBlockNamespace = NvdimmNamespaceType("blockNamespace")
  5429  	// Persistent mode namespace
  5430  	NvdimmNamespaceTypePersistentNamespace = NvdimmNamespaceType("persistentNamespace")
  5431  )
  5432  
  5433  func init() {
  5434  	t["NvdimmNamespaceType"] = reflect.TypeOf((*NvdimmNamespaceType)(nil)).Elem()
  5435  	minAPIVersionForType["NvdimmNamespaceType"] = "6.7"
  5436  }
  5437  
  5438  type NvdimmNvdimmHealthInfoState string
  5439  
  5440  const (
  5441  	// NVDIMM state is normal
  5442  	NvdimmNvdimmHealthInfoStateNormal = NvdimmNvdimmHealthInfoState("normal")
  5443  	// Error in NVDIMM state.
  5444  	//
  5445  	// Potential data loss.
  5446  	NvdimmNvdimmHealthInfoStateError = NvdimmNvdimmHealthInfoState("error")
  5447  )
  5448  
  5449  func init() {
  5450  	t["NvdimmNvdimmHealthInfoState"] = reflect.TypeOf((*NvdimmNvdimmHealthInfoState)(nil)).Elem()
  5451  	minAPIVersionForType["NvdimmNvdimmHealthInfoState"] = "6.7"
  5452  }
  5453  
  5454  type NvdimmRangeType string
  5455  
  5456  const (
  5457  	// Identifies the region to be volatile
  5458  	NvdimmRangeTypeVolatileRange = NvdimmRangeType("volatileRange")
  5459  	// Identifies the region to be persistent
  5460  	NvdimmRangeTypePersistentRange = NvdimmRangeType("persistentRange")
  5461  	// NVDIMM control region
  5462  	NvdimmRangeTypeControlRange = NvdimmRangeType("controlRange")
  5463  	// NVDIMM block data window region
  5464  	NvdimmRangeTypeBlockRange = NvdimmRangeType("blockRange")
  5465  	// NVDIMM volatile virtual disk region
  5466  	NvdimmRangeTypeVolatileVirtualDiskRange = NvdimmRangeType("volatileVirtualDiskRange")
  5467  	// NVDIMM volatile virtual CD region
  5468  	NvdimmRangeTypeVolatileVirtualCDRange = NvdimmRangeType("volatileVirtualCDRange")
  5469  	// NVDIMM persistent virtual disk region
  5470  	NvdimmRangeTypePersistentVirtualDiskRange = NvdimmRangeType("persistentVirtualDiskRange")
  5471  	// NVDIMM persistent virtual CD region
  5472  	NvdimmRangeTypePersistentVirtualCDRange = NvdimmRangeType("persistentVirtualCDRange")
  5473  )
  5474  
  5475  func init() {
  5476  	t["NvdimmRangeType"] = reflect.TypeOf((*NvdimmRangeType)(nil)).Elem()
  5477  	minAPIVersionForType["NvdimmRangeType"] = "6.7"
  5478  }
  5479  
  5480  // Enumeration of different kinds of updates.
  5481  type ObjectUpdateKind string
  5482  
  5483  const (
  5484  	// A property of the managed object changed its value.
  5485  	ObjectUpdateKindModify = ObjectUpdateKind("modify")
  5486  	// A managed object became visible to a filter for the first time.
  5487  	//
  5488  	// For instance, this can happen if a virtual machine is added to a
  5489  	// folder.
  5490  	ObjectUpdateKindEnter = ObjectUpdateKind("enter")
  5491  	// A managed object left the set of objects visible to a filter.
  5492  	//
  5493  	// For
  5494  	// instance, this can happen when a virtual machine is destroyed.
  5495  	ObjectUpdateKindLeave = ObjectUpdateKind("leave")
  5496  )
  5497  
  5498  func init() {
  5499  	t["ObjectUpdateKind"] = reflect.TypeOf((*ObjectUpdateKind)(nil)).Elem()
  5500  }
  5501  
  5502  // The type of an OST node.
  5503  //
  5504  // Each OST node corresponds to an element in the OVF descriptor. See `OvfConsumerOstNode`
  5505  type OvfConsumerOstNodeType string
  5506  
  5507  const (
  5508  	OvfConsumerOstNodeTypeEnvelope                = OvfConsumerOstNodeType("envelope")
  5509  	OvfConsumerOstNodeTypeVirtualSystem           = OvfConsumerOstNodeType("virtualSystem")
  5510  	OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection")
  5511  )
  5512  
  5513  func init() {
  5514  	t["OvfConsumerOstNodeType"] = reflect.TypeOf((*OvfConsumerOstNodeType)(nil)).Elem()
  5515  	minAPIVersionForType["OvfConsumerOstNodeType"] = "5.0"
  5516  }
  5517  
  5518  // Types of disk provisioning that can be set for the disk in the deployed OVF
  5519  type OvfCreateImportSpecParamsDiskProvisioningType string
  5520  
  5521  const (
  5522  	// A sparse (allocate on demand) monolithic disk.
  5523  	//
  5524  	// Disks in this format can
  5525  	// be used with other VMware products.
  5526  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse")
  5527  	// A preallocated monolithic disk.
  5528  	//
  5529  	// Disks in this format can be used with
  5530  	// other VMware products.
  5531  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat")
  5532  	// A sparse (allocate on demand) disk with 2GB maximum extent size.
  5533  	//
  5534  	// Disks in this format can be used with other VMware products. The 2GB
  5535  	// extent size makes these disks easier to burn to dvd or use on
  5536  	// filesystems that don't support large files.
  5537  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse")
  5538  	// A preallocated disk with 2GB maximum extent size.
  5539  	//
  5540  	// Disks in this format
  5541  	// can be used with other VMware products. The 2GB extent size
  5542  	// makes these disks easier to burn to dvd or use on filesystems that
  5543  	// don't support large files.
  5544  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat")
  5545  	// Space required for thin-provisioned virtual disk is allocated and
  5546  	// zeroed on demand as the space is used.
  5547  	OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin")
  5548  	// A thick disk has all space allocated at creation time
  5549  	// and the space is zeroed on demand as the space is used.
  5550  	OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick")
  5551  	// A sparse (allocate on demand) format with additional space
  5552  	// optimizations.
  5553  	OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse")
  5554  	// An eager zeroed thick disk has all space allocated and wiped clean
  5555  	// of any previous contents on the physical media at creation time.
  5556  	//
  5557  	// Such disks may take longer time during creation compared to other
  5558  	// disk formats.
  5559  	OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick")
  5560  	// Depending on the host type, Sparse is mapped to either
  5561  	// MonolithicSparse or Thin.
  5562  	OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse")
  5563  	// Depending on the host type, Flat is mapped to either
  5564  	// MonolithicFlat or Thick.
  5565  	OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat")
  5566  )
  5567  
  5568  func init() {
  5569  	t["OvfCreateImportSpecParamsDiskProvisioningType"] = reflect.TypeOf((*OvfCreateImportSpecParamsDiskProvisioningType)(nil)).Elem()
  5570  	minAPIVersionForType["OvfCreateImportSpecParamsDiskProvisioningType"] = "4.1"
  5571  	minAPIVersionForEnumValue["OvfCreateImportSpecParamsDiskProvisioningType"] = map[string]string{
  5572  		"seSparse":         "5.1",
  5573  		"eagerZeroedThick": "5.0",
  5574  	}
  5575  }
  5576  
  5577  // The format in which performance counter data is returned.
  5578  type PerfFormat string
  5579  
  5580  const (
  5581  	// Counters returned in an array of data objects.
  5582  	PerfFormatNormal = PerfFormat("normal")
  5583  	// Counters returned in comma-separate value (CSV) format.
  5584  	PerfFormatCsv = PerfFormat("csv")
  5585  )
  5586  
  5587  func init() {
  5588  	t["PerfFormat"] = reflect.TypeOf((*PerfFormat)(nil)).Elem()
  5589  }
  5590  
  5591  // Indicates the type of statistical measurement that a counter&#146;s
  5592  // value represents.
  5593  //
  5594  // Valid types are &#147;absolute&#148;,
  5595  // &#147;delta&#148;, or &#147;rate&#148;.
  5596  type PerfStatsType string
  5597  
  5598  const (
  5599  	// Represents an actual value, level, or state of the counter.
  5600  	//
  5601  	// For
  5602  	// example, the &#147;uptime&#148; counter (`*system*` group)
  5603  	// represents the actual number of seconds since startup. The
  5604  	// &#147;capacity&#148; counter represents the actual configured size
  5605  	// of the specified datastore. In other words, number of samples,
  5606  	// samplingPeriod, and intervals have no bearing on an
  5607  	// &#147;absolute&#148; counter&#147;s value.
  5608  	PerfStatsTypeAbsolute = PerfStatsType("absolute")
  5609  	// Represents an amount of change for the counter during the `PerfInterval.samplingPeriod` as compared to the previous
  5610  	// `interval`.
  5611  	//
  5612  	// The first sampling interval
  5613  	PerfStatsTypeDelta = PerfStatsType("delta")
  5614  	// Represents a value that has been normalized over the `PerfInterval.samplingPeriod`, enabling values for the same
  5615  	// counter type to be compared, regardless of interval.
  5616  	//
  5617  	// For example,
  5618  	// the number of reads per second.
  5619  	PerfStatsTypeRate = PerfStatsType("rate")
  5620  )
  5621  
  5622  func init() {
  5623  	t["PerfStatsType"] = reflect.TypeOf((*PerfStatsType)(nil)).Elem()
  5624  }
  5625  
  5626  // Indicates how multiple samples of a specific counter type are
  5627  // transformed into a single statistical value.
  5628  type PerfSummaryType string
  5629  
  5630  const (
  5631  	// The actual value collected or the average of all values collected
  5632  	// during the summary period.
  5633  	PerfSummaryTypeAverage = PerfSummaryType("average")
  5634  	// The maximum value of the performance counter value over the
  5635  	// summarization period.
  5636  	PerfSummaryTypeMaximum = PerfSummaryType("maximum")
  5637  	// The minimum value of the performance counter value over the
  5638  	// summarization period.
  5639  	PerfSummaryTypeMinimum = PerfSummaryType("minimum")
  5640  	// The most recent value of the performance counter over the
  5641  	// summarization period.
  5642  	PerfSummaryTypeLatest = PerfSummaryType("latest")
  5643  	// The sum of all the values of the performance counter over the
  5644  	// summarization period.
  5645  	PerfSummaryTypeSummation = PerfSummaryType("summation")
  5646  	// The counter is never rolled up.
  5647  	PerfSummaryTypeNone = PerfSummaryType("none")
  5648  )
  5649  
  5650  func init() {
  5651  	t["PerfSummaryType"] = reflect.TypeOf((*PerfSummaryType)(nil)).Elem()
  5652  }
  5653  
  5654  // Indicates the unit of measure represented by a counter or statistical
  5655  // value.
  5656  type PerformanceManagerUnit string
  5657  
  5658  const (
  5659  	// Percentage values in units of 1/100th of a percent.
  5660  	//
  5661  	// For example 100
  5662  	// represents 1%.
  5663  	PerformanceManagerUnitPercent = PerformanceManagerUnit("percent")
  5664  	// Kilobytes.
  5665  	PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes")
  5666  	// Megabytes.
  5667  	PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes")
  5668  	// Megahertz.
  5669  	PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz")
  5670  	// A quantity of items, for example, the number of CPUs.
  5671  	PerformanceManagerUnitNumber = PerformanceManagerUnit("number")
  5672  	// The time in microseconds.
  5673  	PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond")
  5674  	// The time in milliseconds.
  5675  	PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond")
  5676  	// The time in seconds.
  5677  	PerformanceManagerUnitSecond = PerformanceManagerUnit("second")
  5678  	// Kilobytes per second.
  5679  	PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond")
  5680  	// Megabytes per second.
  5681  	PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond")
  5682  	// Watts
  5683  	PerformanceManagerUnitWatt = PerformanceManagerUnit("watt")
  5684  	// Joules
  5685  	PerformanceManagerUnitJoule = PerformanceManagerUnit("joule")
  5686  	// Terabytes.
  5687  	PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes")
  5688  	// Temperature in celsius.
  5689  	PerformanceManagerUnitCelsius = PerformanceManagerUnit("celsius")
  5690  	// The time in nanoseconds.
  5691  	PerformanceManagerUnitNanosecond = PerformanceManagerUnit("nanosecond")
  5692  )
  5693  
  5694  func init() {
  5695  	t["PerformanceManagerUnit"] = reflect.TypeOf((*PerformanceManagerUnit)(nil)).Elem()
  5696  	minAPIVersionForEnumValue["PerformanceManagerUnit"] = map[string]string{
  5697  		"microsecond": "4.0",
  5698  		"watt":        "4.1",
  5699  		"joule":       "4.1",
  5700  		"teraBytes":   "6.0",
  5701  		"celsius":     "6.5",
  5702  		"nanosecond":  "8.0.0.1",
  5703  	}
  5704  }
  5705  
  5706  type PhysicalNicResourcePoolSchedulerDisallowedReason string
  5707  
  5708  const (
  5709  	// Indicates that the user has opted out the Physical NIC from resource pool
  5710  	// based scheduling.
  5711  	PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut")
  5712  	// Indicates that the NIC device does is not capable of resource pool
  5713  	// based scheduling.
  5714  	PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported")
  5715  )
  5716  
  5717  func init() {
  5718  	t["PhysicalNicResourcePoolSchedulerDisallowedReason"] = reflect.TypeOf((*PhysicalNicResourcePoolSchedulerDisallowedReason)(nil)).Elem()
  5719  	minAPIVersionForType["PhysicalNicResourcePoolSchedulerDisallowedReason"] = "4.1"
  5720  }
  5721  
  5722  type PhysicalNicVmDirectPathGen2SupportedMode string
  5723  
  5724  const (
  5725  	PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt")
  5726  )
  5727  
  5728  func init() {
  5729  	t["PhysicalNicVmDirectPathGen2SupportedMode"] = reflect.TypeOf((*PhysicalNicVmDirectPathGen2SupportedMode)(nil)).Elem()
  5730  	minAPIVersionForType["PhysicalNicVmDirectPathGen2SupportedMode"] = "4.1"
  5731  }
  5732  
  5733  // Rule scope determines conditions when an affinity rule is
  5734  // satisfied.
  5735  //
  5736  // The following uses affinity rule as example.
  5737  // cluster: All Vms in the rule list are placed in a single cluster.
  5738  // host: All Vms in the rule list are placed in a single host.
  5739  // storagePod: All Vms in the rule list are placed in a single storagePod.
  5740  type PlacementAffinityRuleRuleScope string
  5741  
  5742  const (
  5743  	// clusters are the scope
  5744  	PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster")
  5745  	// individual hosts are the scope
  5746  	PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host")
  5747  	// datastore cluster is teh scope
  5748  	PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod")
  5749  	// individual datastores are the scope
  5750  	PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore")
  5751  )
  5752  
  5753  func init() {
  5754  	t["PlacementAffinityRuleRuleScope"] = reflect.TypeOf((*PlacementAffinityRuleRuleScope)(nil)).Elem()
  5755  	minAPIVersionForType["PlacementAffinityRuleRuleScope"] = "6.0"
  5756  }
  5757  
  5758  // Rule type determines how the affinity rule is to be enforced:
  5759  // affinity: Vms in the list are kept together within the rule
  5760  // scope.
  5761  //
  5762  // anti-affinity: Vms in the rule list are kept separate
  5763  // across the objects in the rule scope.
  5764  type PlacementAffinityRuleRuleType string
  5765  
  5766  const (
  5767  	// Affinity
  5768  	PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity")
  5769  	// Anti-Affinity
  5770  	PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity")
  5771  	// Best-effort affinity
  5772  	PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity")
  5773  	// Best-effort anti-affinity
  5774  	PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity")
  5775  )
  5776  
  5777  func init() {
  5778  	t["PlacementAffinityRuleRuleType"] = reflect.TypeOf((*PlacementAffinityRuleRuleType)(nil)).Elem()
  5779  	minAPIVersionForType["PlacementAffinityRuleRuleType"] = "6.0"
  5780  }
  5781  
  5782  type PlacementSpecPlacementType string
  5783  
  5784  const (
  5785  	// Create a new VM
  5786  	PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create")
  5787  	// Reconfigure a VM
  5788  	PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure")
  5789  	// Relocate a VM
  5790  	PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate")
  5791  	// Clone a VM
  5792  	PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone")
  5793  )
  5794  
  5795  func init() {
  5796  	t["PlacementSpecPlacementType"] = reflect.TypeOf((*PlacementSpecPlacementType)(nil)).Elem()
  5797  	minAPIVersionForType["PlacementSpecPlacementType"] = "6.0"
  5798  }
  5799  
  5800  // The type of component connected to a port group.
  5801  type PortGroupConnecteeType string
  5802  
  5803  const (
  5804  	// A virtual machine is connected to this port group.
  5805  	PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine")
  5806  	// A system management entity (service console)
  5807  	// is connected to this port group.
  5808  	PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement")
  5809  	// The VMkernel is connected to this port group.
  5810  	PortGroupConnecteeTypeHost = PortGroupConnecteeType("host")
  5811  	// This port group serves an entity of unspecified kind.
  5812  	PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown")
  5813  )
  5814  
  5815  func init() {
  5816  	t["PortGroupConnecteeType"] = reflect.TypeOf((*PortGroupConnecteeType)(nil)).Elem()
  5817  }
  5818  
  5819  // Defines the result status values for a
  5820  // `HostProfile*.*HostProfile.ExecuteHostProfile`
  5821  // operation.
  5822  //
  5823  // The result data is contained in the
  5824  type ProfileExecuteResultStatus string
  5825  
  5826  const (
  5827  	// Profile execution was successful.
  5828  	//
  5829  	// You can use the output configuration data
  5830  	// to apply the profile to a host.
  5831  	ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success")
  5832  	// Additional data is required to complete the operation.
  5833  	//
  5834  	// The data requirements are defined in the list of policy options for the profile
  5835  	// (`ApplyProfile*.*ApplyProfile.policy`\[\]).
  5836  	ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput")
  5837  	// Profile execution generated an error.
  5838  	//
  5839  	// See `ProfileExecuteResult*.*ProfileExecuteResult.error`.
  5840  	ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error")
  5841  )
  5842  
  5843  func init() {
  5844  	t["ProfileExecuteResultStatus"] = reflect.TypeOf((*ProfileExecuteResultStatus)(nil)).Elem()
  5845  	minAPIVersionForType["ProfileExecuteResultStatus"] = "4.0"
  5846  }
  5847  
  5848  // Enumerates different operations supported for comparing
  5849  type ProfileNumericComparator string
  5850  
  5851  const (
  5852  	ProfileNumericComparatorLessThan         = ProfileNumericComparator("lessThan")
  5853  	ProfileNumericComparatorLessThanEqual    = ProfileNumericComparator("lessThanEqual")
  5854  	ProfileNumericComparatorEqual            = ProfileNumericComparator("equal")
  5855  	ProfileNumericComparatorNotEqual         = ProfileNumericComparator("notEqual")
  5856  	ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual")
  5857  	ProfileNumericComparatorGreaterThan      = ProfileNumericComparator("greaterThan")
  5858  )
  5859  
  5860  func init() {
  5861  	t["ProfileNumericComparator"] = reflect.TypeOf((*ProfileNumericComparator)(nil)).Elem()
  5862  	minAPIVersionForType["ProfileNumericComparator"] = "4.0"
  5863  }
  5864  
  5865  type ProfileParameterMetadataRelationType string
  5866  
  5867  const (
  5868  	// The relation to a subprofile or a parameter.
  5869  	ProfileParameterMetadataRelationTypeDynamic_relation = ProfileParameterMetadataRelationType("dynamic_relation")
  5870  	// The values from sources other than the parameter/profile or the static
  5871  	// value list are allowed.
  5872  	ProfileParameterMetadataRelationTypeExtensible_relation = ProfileParameterMetadataRelationType("extensible_relation")
  5873  	// The value list contains localization keys instead of values.
  5874  	ProfileParameterMetadataRelationTypeLocalizable_relation = ProfileParameterMetadataRelationType("localizable_relation")
  5875  	// The relation is defined by static valid value list.
  5876  	ProfileParameterMetadataRelationTypeStatic_relation = ProfileParameterMetadataRelationType("static_relation")
  5877  	// The relation is defined for validation purpose.
  5878  	ProfileParameterMetadataRelationTypeValidation_relation = ProfileParameterMetadataRelationType("validation_relation")
  5879  )
  5880  
  5881  func init() {
  5882  	t["ProfileParameterMetadataRelationType"] = reflect.TypeOf((*ProfileParameterMetadataRelationType)(nil)).Elem()
  5883  	minAPIVersionForType["ProfileParameterMetadataRelationType"] = "6.7"
  5884  }
  5885  
  5886  // Enumeration of possible changes to a property.
  5887  type PropertyChangeOp string
  5888  
  5889  const (
  5890  	PropertyChangeOpAdd            = PropertyChangeOp("add")
  5891  	PropertyChangeOpRemove         = PropertyChangeOp("remove")
  5892  	PropertyChangeOpAssign         = PropertyChangeOp("assign")
  5893  	PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove")
  5894  )
  5895  
  5896  func init() {
  5897  	t["PropertyChangeOp"] = reflect.TypeOf((*PropertyChangeOp)(nil)).Elem()
  5898  }
  5899  
  5900  type QuarantineModeFaultFaultType string
  5901  
  5902  const (
  5903  	// The cluster does not contain any non-quarantined host satisfying the
  5904  	// VM/host affinity rules for the VM.
  5905  	QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost")
  5906  	// The current DRS migration priority setting disallows generating a
  5907  	// recommendation to prevent VMs on quarantined hosts.
  5908  	//
  5909  	// Thus, the
  5910  	// violation will not be corrected.
  5911  	QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed")
  5912  	// DRS has determined that evacuation of VMs from quarantined hosts
  5913  	// impacts respecting cluster constraints or performance goals so they
  5914  	// are not evacuated.
  5915  	QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact")
  5916  )
  5917  
  5918  func init() {
  5919  	t["QuarantineModeFaultFaultType"] = reflect.TypeOf((*QuarantineModeFaultFaultType)(nil)).Elem()
  5920  	minAPIVersionForType["QuarantineModeFaultFaultType"] = "6.5"
  5921  }
  5922  
  5923  // Quiescing is a boolean flag in `ReplicationConfigSpec`
  5924  // and QuiesceModeType describes the supported quiesce mode
  5925  // for `VirtualMachine`.
  5926  //
  5927  // If application quiescing fails, HBR would attempt
  5928  // filesystem quiescing and if even filesystem quiescing
  5929  // fails, then we would just create a crash consistent
  5930  type QuiesceMode string
  5931  
  5932  const (
  5933  	// HBR supports application quescing for this
  5934  	// `VirtualMachine`.
  5935  	QuiesceModeApplication = QuiesceMode("application")
  5936  	// HBR supports filesystem quescing for this
  5937  	// `VirtualMachine`.
  5938  	QuiesceModeFilesystem = QuiesceMode("filesystem")
  5939  	// HBR does not support quescing for this
  5940  	// `VirtualMachine`.
  5941  	QuiesceModeNone = QuiesceMode("none")
  5942  )
  5943  
  5944  func init() {
  5945  	t["QuiesceMode"] = reflect.TypeOf((*QuiesceMode)(nil)).Elem()
  5946  	minAPIVersionForType["QuiesceMode"] = "6.0"
  5947  }
  5948  
  5949  type RecommendationReasonCode string
  5950  
  5951  const (
  5952  	// Balance average CPU utilization.
  5953  	RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg")
  5954  	// Balance average memory utilization.
  5955  	RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg")
  5956  	// Fulfill affinity rule.
  5957  	RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin")
  5958  	// Fulfill anti-affinity rule.
  5959  	RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin")
  5960  	// Host entering maintenance mode.
  5961  	RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint")
  5962  	// Host entering standby mode.
  5963  	RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby")
  5964  	// balance CPU reservations
  5965  	RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu")
  5966  	// balance memory reservations
  5967  	RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem")
  5968  	// Power on virtual machine
  5969  	RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm")
  5970  	// Power off host for power savings
  5971  	RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving")
  5972  	// Power on host to increase cluster capacity
  5973  	RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity")
  5974  	// Sanity-check resource pool hierarchy
  5975  	RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource")
  5976  	// Maintain unreserved capacity
  5977  	RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity")
  5978  	// Fix hard VM/host affinity rule violation
  5979  	RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity")
  5980  	// Fix soft VM/host affinity rule violation
  5981  	RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity")
  5982  	// Balance datastore space usage.
  5983  	RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage")
  5984  	// Balance datastore I/O workload.
  5985  	RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad")
  5986  	// Balance datastore IOPS reservation
  5987  	RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation")
  5988  	// Datastore entering maintenance mode.
  5989  	RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint")
  5990  	// Fix virtual disk affinity rule violation.
  5991  	RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin")
  5992  	// Fix virtual disk anti-affinity rule violation.
  5993  	RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin")
  5994  	// Fix the issue that a datastore run out of space.
  5995  	RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage")
  5996  	// Satisfy storage initial placement requests.
  5997  	RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement")
  5998  	// IO load balancing was disabled internally.
  5999  	RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal")
  6000  	// Satisfy unified vmotion placement requests.
  6001  	RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement")
  6002  	// Fix network bandwidth reservation violation
  6003  	RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation")
  6004  	// Host is partially degraded.
  6005  	RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation")
  6006  	// Host is not degraded.
  6007  	RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation")
  6008  	// Fix maxVms constraint violation
  6009  	RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint")
  6010  	// Fix ft maxVMs and maxVcpus constraint violations
  6011  	RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints")
  6012  	// Fix VM/host affinity policy violation
  6013  	RecommendationReasonCodeVmHostAffinityPolicy = RecommendationReasonCode("vmHostAffinityPolicy")
  6014  	// Fix VM/host anti-affinity policy violation
  6015  	RecommendationReasonCodeVmHostAntiAffinityPolicy = RecommendationReasonCode("vmHostAntiAffinityPolicy")
  6016  	// Fix VM-VM anti-affinity policy violations
  6017  	RecommendationReasonCodeVmAntiAffinityPolicy = RecommendationReasonCode("vmAntiAffinityPolicy")
  6018  	// `**Since:**` vSphere API Release 7.0.2.0
  6019  	RecommendationReasonCodeBalanceVsanUsage = RecommendationReasonCode("balanceVsanUsage")
  6020  	// Optimize assignable hardware resource orchestration
  6021  	RecommendationReasonCodeAhPlacementOptimization = RecommendationReasonCode("ahPlacementOptimization")
  6022  )
  6023  
  6024  func init() {
  6025  	t["RecommendationReasonCode"] = reflect.TypeOf((*RecommendationReasonCode)(nil)).Elem()
  6026  	minAPIVersionForType["RecommendationReasonCode"] = "2.5"
  6027  	minAPIVersionForEnumValue["RecommendationReasonCode"] = map[string]string{
  6028  		"checkResource":                   "4.0",
  6029  		"unreservedCapacity":              "4.0",
  6030  		"vmHostHardAffinity":              "4.1",
  6031  		"vmHostSoftAffinity":              "4.1",
  6032  		"balanceDatastoreSpaceUsage":      "5.0",
  6033  		"balanceDatastoreIOLoad":          "5.0",
  6034  		"balanceDatastoreIOPSReservation": "6.0",
  6035  		"datastoreMaint":                  "5.0",
  6036  		"virtualDiskJointAffin":           "5.0",
  6037  		"virtualDiskAntiAffin":            "5.0",
  6038  		"datastoreSpaceOutage":            "5.0",
  6039  		"storagePlacement":                "5.0",
  6040  		"iolbDisabledInternal":            "5.0",
  6041  		"xvmotionPlacement":               "6.0",
  6042  		"networkBandwidthReservation":     "6.0",
  6043  		"hostInDegradation":               "6.5",
  6044  		"hostExitDegradation":             "6.5",
  6045  		"maxVmsConstraint":                "6.5",
  6046  		"ftConstraints":                   "6.5",
  6047  		"vmHostAffinityPolicy":            "6.8.7",
  6048  		"vmHostAntiAffinityPolicy":        "6.8.7",
  6049  		"vmAntiAffinityPolicy":            "6.8.7",
  6050  		"balanceVsanUsage":                "7.0.2.0",
  6051  		"ahPlacementOptimization":         "8.0.2.0",
  6052  	}
  6053  }
  6054  
  6055  // Pre-defined constants for possible recommendation types.
  6056  //
  6057  // Virtual Center
  6058  type RecommendationType string
  6059  
  6060  const (
  6061  	RecommendationTypeV1 = RecommendationType("V1")
  6062  )
  6063  
  6064  func init() {
  6065  	t["RecommendationType"] = reflect.TypeOf((*RecommendationType)(nil)).Elem()
  6066  	minAPIVersionForType["RecommendationType"] = "2.5"
  6067  }
  6068  
  6069  type ReplicationDiskConfigFaultReasonForFault string
  6070  
  6071  const (
  6072  	// Could not look up device by key
  6073  	ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound")
  6074  	// Replication not supported for disk type or backend
  6075  	ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported")
  6076  	// Invalid key value
  6077  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey")
  6078  	// Invalid disk replication ID string
  6079  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId")
  6080  	// Another disk in the VM has the same replication ID
  6081  	ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId")
  6082  	// Invalid path (string) for the persistent file
  6083  	ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath")
  6084  	// Attempting to re-configure the disk's replication ID
  6085  	ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed")
  6086  )
  6087  
  6088  func init() {
  6089  	t["ReplicationDiskConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultReasonForFault)(nil)).Elem()
  6090  	minAPIVersionForType["ReplicationDiskConfigFaultReasonForFault"] = "5.0"
  6091  }
  6092  
  6093  type ReplicationVmConfigFaultReasonForFault string
  6094  
  6095  const (
  6096  	// Incompatible VM hardware version
  6097  	ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion")
  6098  	// Invalid VM Replication ID string
  6099  	ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId")
  6100  	// Invalid generation number in VM's configuration
  6101  	ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber")
  6102  	// Invalid RPO value (out of bounds)
  6103  	ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue")
  6104  	// Invalid destination IP address
  6105  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress")
  6106  	// Invalid destination port
  6107  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort")
  6108  	// Malformed extra options list
  6109  	ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions")
  6110  	// Mis-matching generation number (stale)
  6111  	ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber")
  6112  	// Attempting to re-configure the VM replication ID
  6113  	ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed")
  6114  	// Could not retrieve the VM configuration
  6115  	ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration")
  6116  	// Attempting to re-enable replication for the VM
  6117  	ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled")
  6118  	// The existing replication configuration of the VM is broken
  6119  	// (applicable to re-configuration only).
  6120  	ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration")
  6121  	// Attempting to re-configure or disable replication for a VM
  6122  	// for which replication has not been enabled.
  6123  	ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled")
  6124  	// Failed to commit the new replication properties for the VM.
  6125  	ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed")
  6126  	// VM is encrypted
  6127  	ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm")
  6128  	// Remote certificate thumbprint is invalid
  6129  	ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint")
  6130  	// VM hardware contains devices incompatible with replication
  6131  	ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice")
  6132  )
  6133  
  6134  func init() {
  6135  	t["ReplicationVmConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmConfigFaultReasonForFault)(nil)).Elem()
  6136  	minAPIVersionForType["ReplicationVmConfigFaultReasonForFault"] = "5.0"
  6137  	minAPIVersionForEnumValue["ReplicationVmConfigFaultReasonForFault"] = map[string]string{
  6138  		"encryptedVm":        "6.5",
  6139  		"invalidThumbprint":  "6.7",
  6140  		"incompatibleDevice": "6.7",
  6141  	}
  6142  }
  6143  
  6144  type ReplicationVmFaultReasonForFault string
  6145  
  6146  const (
  6147  	// `VirtualMachine` is not configured for replication
  6148  	ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured")
  6149  	// `VirtualMachine` is powered off (and is not undergoing
  6150  	// offline replication)
  6151  	ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff")
  6152  	// `VirtualMachine` is suspended (and is not undergoing
  6153  	// offline replication)
  6154  	ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended")
  6155  	// `VirtualMachine` is powered on
  6156  	ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn")
  6157  	// `VirtualMachine` is in the process of creating an
  6158  	// an offline instance.
  6159  	ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating")
  6160  	// `VirtualMachine` is in an invalid state
  6161  	ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState")
  6162  	// The specified instanceId does not match the `VirtualMachine`
  6163  	// instanceId
  6164  	ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId")
  6165  	// `VirtualMachine` is in the process of creating an
  6166  	// offline instance and we are trying to disable it.
  6167  	//
  6168  	// The first step is to close the offline disk. If closing disks
  6169  	// is not successful, throw this fault.
  6170  	ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError")
  6171  	// `VirtualMachine` is trying to create a group already
  6172  	// owned by another VM.
  6173  	ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist")
  6174  )
  6175  
  6176  func init() {
  6177  	t["ReplicationVmFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmFaultReasonForFault)(nil)).Elem()
  6178  	minAPIVersionForType["ReplicationVmFaultReasonForFault"] = "5.0"
  6179  	minAPIVersionForEnumValue["ReplicationVmFaultReasonForFault"] = map[string]string{
  6180  		"closeDiskError": "6.5",
  6181  		"groupExist":     "6.7",
  6182  	}
  6183  }
  6184  
  6185  type ReplicationVmInProgressFaultActivity string
  6186  
  6187  const (
  6188  	// Initial synchronization with the remote site
  6189  	ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync")
  6190  	// Delta updates to generate a consistent instance
  6191  	ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta")
  6192  )
  6193  
  6194  func init() {
  6195  	t["ReplicationVmInProgressFaultActivity"] = reflect.TypeOf((*ReplicationVmInProgressFaultActivity)(nil)).Elem()
  6196  	minAPIVersionForType["ReplicationVmInProgressFaultActivity"] = "6.0"
  6197  }
  6198  
  6199  type ReplicationVmState string
  6200  
  6201  const (
  6202  	// The `VirtualMachine` has no current replication state.
  6203  	//
  6204  	// This is a virtual machine that is configured for replication, but is
  6205  	// powered off and not undergoing offline replication.
  6206  	ReplicationVmStateNone = ReplicationVmState("none")
  6207  	// The `VirtualMachine` replication is paused.
  6208  	ReplicationVmStatePaused = ReplicationVmState("paused")
  6209  	// One or more of the `VirtualMachine` disks is in the
  6210  	// process of an initial synchronization with the remote site.
  6211  	ReplicationVmStateSyncing = ReplicationVmState("syncing")
  6212  	// The `VirtualMachine` is being replicated but is not
  6213  	// currently in the process of having a consistent instance created.
  6214  	ReplicationVmStateIdle = ReplicationVmState("idle")
  6215  	// The `VirtualMachine` is in the process of having
  6216  	// a consistent instance created.
  6217  	ReplicationVmStateActive = ReplicationVmState("active")
  6218  	// The `VirtualMachine` is unable to replicate due to
  6219  	// errors.
  6220  	//
  6221  	// XXX Currently unused.
  6222  	ReplicationVmStateError = ReplicationVmState("error")
  6223  )
  6224  
  6225  func init() {
  6226  	t["ReplicationVmState"] = reflect.TypeOf((*ReplicationVmState)(nil)).Elem()
  6227  	minAPIVersionForType["ReplicationVmState"] = "5.0"
  6228  }
  6229  
  6230  type ResourceConfigSpecScaleSharesBehavior string
  6231  
  6232  const (
  6233  	// Do not scale shares
  6234  	ResourceConfigSpecScaleSharesBehaviorDisabled = ResourceConfigSpecScaleSharesBehavior("disabled")
  6235  	// Scale both CPU and memory shares
  6236  	ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares = ResourceConfigSpecScaleSharesBehavior("scaleCpuAndMemoryShares")
  6237  )
  6238  
  6239  func init() {
  6240  	t["ResourceConfigSpecScaleSharesBehavior"] = reflect.TypeOf((*ResourceConfigSpecScaleSharesBehavior)(nil)).Elem()
  6241  	minAPIVersionForType["ResourceConfigSpecScaleSharesBehavior"] = "7.0"
  6242  }
  6243  
  6244  // The policy setting used to determine when to perform scheduled
  6245  type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string
  6246  
  6247  const (
  6248  	// No scheduled upgrades.
  6249  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never")
  6250  	// Run scheduled upgrades only on normal guest OS shutdown.
  6251  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff")
  6252  	// Always run scheduled upgrades.
  6253  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always")
  6254  )
  6255  
  6256  func init() {
  6257  	t["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradePolicy)(nil)).Elem()
  6258  	minAPIVersionForType["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = "5.1"
  6259  }
  6260  
  6261  type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string
  6262  
  6263  const (
  6264  	// No scheduled upgrade ever happened.
  6265  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none")
  6266  	// Upgrade is scheduled, but was not run yet.
  6267  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending")
  6268  	// Upgrade succeeded.
  6269  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success")
  6270  	// Upgrade failed.
  6271  	//
  6272  	// For more information about the failure
  6273  	//
  6274  	// See also `ScheduledHardwareUpgradeInfo.fault`.
  6275  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed")
  6276  )
  6277  
  6278  func init() {
  6279  	t["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradeStatus)(nil)).Elem()
  6280  	minAPIVersionForType["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = "5.1"
  6281  }
  6282  
  6283  type ScsiDiskType string
  6284  
  6285  const (
  6286  	// 512 native sector size drive.
  6287  	ScsiDiskTypeNative512 = ScsiDiskType("native512")
  6288  	// 4K sector size drive in 512 emulation mode.
  6289  	ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512")
  6290  	// 4K native sector size drive.
  6291  	ScsiDiskTypeNative4k = ScsiDiskType("native4k")
  6292  	// Software emulated 4k.
  6293  	ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k")
  6294  	// Unknown type.
  6295  	ScsiDiskTypeUnknown = ScsiDiskType("unknown")
  6296  )
  6297  
  6298  func init() {
  6299  	t["ScsiDiskType"] = reflect.TypeOf((*ScsiDiskType)(nil)).Elem()
  6300  	minAPIVersionForType["ScsiDiskType"] = "6.5"
  6301  	minAPIVersionForEnumValue["ScsiDiskType"] = map[string]string{
  6302  		"SoftwareEmulated4k": "6.7",
  6303  	}
  6304  }
  6305  
  6306  // An indicator of the utility of Descriptor in being used as an
  6307  type ScsiLunDescriptorQuality string
  6308  
  6309  const (
  6310  	// The Descriptor has an identifier that is useful for identification
  6311  	// and correlation across hosts.
  6312  	ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality")
  6313  	// The Descriptor has an identifier that may be used for identification
  6314  	// and correlation across hosts.
  6315  	ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality")
  6316  	// The Descriptor has an identifier that should not be used for
  6317  	// identification and correlation across hosts.
  6318  	ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality")
  6319  	// The Descriptor has an identifier that may or may not be useful for
  6320  	// identification and correlation across hosts.
  6321  	ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality")
  6322  )
  6323  
  6324  func init() {
  6325  	t["ScsiLunDescriptorQuality"] = reflect.TypeOf((*ScsiLunDescriptorQuality)(nil)).Elem()
  6326  	minAPIVersionForType["ScsiLunDescriptorQuality"] = "4.0"
  6327  }
  6328  
  6329  // The Operational state of the LUN
  6330  type ScsiLunState string
  6331  
  6332  const (
  6333  	// The LUN state is unknown.
  6334  	ScsiLunStateUnknownState = ScsiLunState("unknownState")
  6335  	// The LUN is on and available.
  6336  	ScsiLunStateOk = ScsiLunState("ok")
  6337  	// The LUN is dead and/or not reachable.
  6338  	ScsiLunStateError = ScsiLunState("error")
  6339  	// The LUN is off.
  6340  	ScsiLunStateOff = ScsiLunState("off")
  6341  	// The LUN is inactive.
  6342  	ScsiLunStateQuiesced = ScsiLunState("quiesced")
  6343  	// One or more paths to the LUN are down, but I/O
  6344  	// is still possible.
  6345  	//
  6346  	// Further path failures may
  6347  	// result in lost connectivity.
  6348  	ScsiLunStateDegraded = ScsiLunState("degraded")
  6349  	// No more paths are available to the LUN.
  6350  	ScsiLunStateLostCommunication = ScsiLunState("lostCommunication")
  6351  	// All Paths have been down for the timeout condition
  6352  	// determined by a user-configurable host advanced option.
  6353  	ScsiLunStateTimeout = ScsiLunState("timeout")
  6354  )
  6355  
  6356  func init() {
  6357  	t["ScsiLunState"] = reflect.TypeOf((*ScsiLunState)(nil)).Elem()
  6358  	minAPIVersionForEnumValue["ScsiLunState"] = map[string]string{
  6359  		"off":      "4.0",
  6360  		"quiesced": "4.0",
  6361  		"timeout":  "5.1",
  6362  	}
  6363  }
  6364  
  6365  // The list of SCSI device types.
  6366  //
  6367  // These values correspond to values
  6368  // published in the SCSI specification.
  6369  type ScsiLunType string
  6370  
  6371  const (
  6372  	ScsiLunTypeDisk                   = ScsiLunType("disk")
  6373  	ScsiLunTypeTape                   = ScsiLunType("tape")
  6374  	ScsiLunTypePrinter                = ScsiLunType("printer")
  6375  	ScsiLunTypeProcessor              = ScsiLunType("processor")
  6376  	ScsiLunTypeWorm                   = ScsiLunType("worm")
  6377  	ScsiLunTypeCdrom                  = ScsiLunType("cdrom")
  6378  	ScsiLunTypeScanner                = ScsiLunType("scanner")
  6379  	ScsiLunTypeOpticalDevice          = ScsiLunType("opticalDevice")
  6380  	ScsiLunTypeMediaChanger           = ScsiLunType("mediaChanger")
  6381  	ScsiLunTypeCommunications         = ScsiLunType("communications")
  6382  	ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController")
  6383  	ScsiLunTypeEnclosure              = ScsiLunType("enclosure")
  6384  	ScsiLunTypeUnknown                = ScsiLunType("unknown")
  6385  )
  6386  
  6387  func init() {
  6388  	t["ScsiLunType"] = reflect.TypeOf((*ScsiLunType)(nil)).Elem()
  6389  }
  6390  
  6391  // Storage array hardware acceleration support status.
  6392  //
  6393  // When a host boots, the support status is unknown.
  6394  // As a host attempts hardware-accelerated operations,
  6395  // it determines whether the storage device supports hardware acceleration
  6396  type ScsiLunVStorageSupportStatus string
  6397  
  6398  const (
  6399  	// Storage device supports hardware acceleration.
  6400  	//
  6401  	// The ESX host will use the feature to offload certain
  6402  	// storage-related operations to the device.
  6403  	ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported")
  6404  	// Storage device does not support hardware acceleration.
  6405  	//
  6406  	// The ESX host will handle all storage-related operations.
  6407  	ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported")
  6408  	// Initial support status value.
  6409  	ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown")
  6410  )
  6411  
  6412  func init() {
  6413  	t["ScsiLunVStorageSupportStatus"] = reflect.TypeOf((*ScsiLunVStorageSupportStatus)(nil)).Elem()
  6414  	minAPIVersionForType["ScsiLunVStorageSupportStatus"] = "4.1"
  6415  }
  6416  
  6417  type SessionManagerGenericServiceTicketTicketType string
  6418  
  6419  const (
  6420  	// Ticket used for HttpNfc access to a file or disk on a datastore
  6421  	SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket = SessionManagerGenericServiceTicketTicketType("HttpNfcServiceTicket")
  6422  	// Ticket used for service request on a host
  6423  	SessionManagerGenericServiceTicketTicketTypeHostServiceTicket = SessionManagerGenericServiceTicketTicketType("HostServiceTicket")
  6424  	// Ticket used for service request on a VC
  6425  	SessionManagerGenericServiceTicketTicketTypeVcServiceTicket = SessionManagerGenericServiceTicketTicketType("VcServiceTicket")
  6426  )
  6427  
  6428  func init() {
  6429  	t["SessionManagerGenericServiceTicketTicketType"] = reflect.TypeOf((*SessionManagerGenericServiceTicketTicketType)(nil)).Elem()
  6430  	minAPIVersionForType["SessionManagerGenericServiceTicketTicketType"] = "7.0.2.0"
  6431  }
  6432  
  6433  type SessionManagerHttpServiceRequestSpecMethod string
  6434  
  6435  const (
  6436  	SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions")
  6437  	SessionManagerHttpServiceRequestSpecMethodHttpGet     = SessionManagerHttpServiceRequestSpecMethod("httpGet")
  6438  	SessionManagerHttpServiceRequestSpecMethodHttpHead    = SessionManagerHttpServiceRequestSpecMethod("httpHead")
  6439  	SessionManagerHttpServiceRequestSpecMethodHttpPost    = SessionManagerHttpServiceRequestSpecMethod("httpPost")
  6440  	SessionManagerHttpServiceRequestSpecMethodHttpPut     = SessionManagerHttpServiceRequestSpecMethod("httpPut")
  6441  	SessionManagerHttpServiceRequestSpecMethodHttpDelete  = SessionManagerHttpServiceRequestSpecMethod("httpDelete")
  6442  	SessionManagerHttpServiceRequestSpecMethodHttpTrace   = SessionManagerHttpServiceRequestSpecMethod("httpTrace")
  6443  	SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect")
  6444  )
  6445  
  6446  func init() {
  6447  	t["SessionManagerHttpServiceRequestSpecMethod"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpecMethod)(nil)).Elem()
  6448  	minAPIVersionForType["SessionManagerHttpServiceRequestSpecMethod"] = "5.0"
  6449  }
  6450  
  6451  // Simplified shares notation.
  6452  //
  6453  // These designations have different meanings for different resources.
  6454  type SharesLevel string
  6455  
  6456  const (
  6457  	// For CPU: Shares = 500 \* number of virtual CPUs
  6458  	// For Memory: Shares = 5 \* virtual machine memory size in megabytes
  6459  	// For Disk: Shares = 500
  6460  	// For Network: Shares = 0.25 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
  6461  	SharesLevelLow = SharesLevel("low")
  6462  	// For CPU: Shares = 1000 \* number of virtual CPUs
  6463  	// For Memory: Shares = 10 \* virtual machine memory size in megabytes
  6464  	// For Disk: Shares = 1000
  6465  	// For Network: Shares = 0.5 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
  6466  	SharesLevelNormal = SharesLevel("normal")
  6467  	// For CPU: Shares = 2000 \* number of virtual CPUs
  6468  	// For Memory: Shares = 20 \* virtual machine memory size in megabytes
  6469  	// For Disk: Shares = 2000
  6470  	// For Network: Shares = `DVSFeatureCapability.networkResourcePoolHighShareValue`
  6471  	SharesLevelHigh = SharesLevel("high")
  6472  	// 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.
  6473  	SharesLevelCustom = SharesLevel("custom")
  6474  )
  6475  
  6476  func init() {
  6477  	t["SharesLevel"] = reflect.TypeOf((*SharesLevel)(nil)).Elem()
  6478  }
  6479  
  6480  // The encoding of the resultant return data.
  6481  //
  6482  // This is a hint to the client side
  6483  type SimpleCommandEncoding string
  6484  
  6485  const (
  6486  	// Comma separated values
  6487  	SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV")
  6488  	// Hex encoded binary data
  6489  	SimpleCommandEncodingHEX    = SimpleCommandEncoding("HEX")
  6490  	SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING")
  6491  )
  6492  
  6493  func init() {
  6494  	t["SimpleCommandEncoding"] = reflect.TypeOf((*SimpleCommandEncoding)(nil)).Elem()
  6495  	minAPIVersionForType["SimpleCommandEncoding"] = "2.5"
  6496  }
  6497  
  6498  // The available SLP discovery methods.
  6499  type SlpDiscoveryMethod string
  6500  
  6501  const (
  6502  	// Use DHCP to find the SLP DAs.
  6503  	SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp")
  6504  	// Use broadcasting to find SLP DAs.
  6505  	//
  6506  	// Only DAs on the current subnet will be found.
  6507  	SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast")
  6508  	// Use the well known multicast address to find DAs.
  6509  	SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast")
  6510  	// User specified address for a DA.
  6511  	SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual")
  6512  )
  6513  
  6514  func init() {
  6515  	t["SlpDiscoveryMethod"] = reflect.TypeOf((*SlpDiscoveryMethod)(nil)).Elem()
  6516  }
  6517  
  6518  type SoftwarePackageConstraint string
  6519  
  6520  const (
  6521  	SoftwarePackageConstraintEquals           = SoftwarePackageConstraint("equals")
  6522  	SoftwarePackageConstraintLessThan         = SoftwarePackageConstraint("lessThan")
  6523  	SoftwarePackageConstraintLessThanEqual    = SoftwarePackageConstraint("lessThanEqual")
  6524  	SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual")
  6525  	SoftwarePackageConstraintGreaterThan      = SoftwarePackageConstraint("greaterThan")
  6526  )
  6527  
  6528  func init() {
  6529  	t["SoftwarePackageConstraint"] = reflect.TypeOf((*SoftwarePackageConstraint)(nil)).Elem()
  6530  	minAPIVersionForType["SoftwarePackageConstraint"] = "6.5"
  6531  }
  6532  
  6533  type SoftwarePackageVibType string
  6534  
  6535  const (
  6536  	// This package is installed into bootbank in storage.
  6537  	SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank")
  6538  	// This package is installed into tools partition in storage.
  6539  	SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools")
  6540  	// This package contains install related data without
  6541  	// content to install.
  6542  	SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta")
  6543  )
  6544  
  6545  func init() {
  6546  	t["SoftwarePackageVibType"] = reflect.TypeOf((*SoftwarePackageVibType)(nil)).Elem()
  6547  	minAPIVersionForType["SoftwarePackageVibType"] = "6.5"
  6548  }
  6549  
  6550  // The operation on the target state.
  6551  type StateAlarmOperator string
  6552  
  6553  const (
  6554  	// Test if the target state matches the given red or yellow states.
  6555  	StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual")
  6556  	// Test if the target state does not match the given red or yellow states.
  6557  	StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal")
  6558  )
  6559  
  6560  func init() {
  6561  	t["StateAlarmOperator"] = reflect.TypeOf((*StateAlarmOperator)(nil)).Elem()
  6562  }
  6563  
  6564  type StorageDrsPodConfigInfoBehavior string
  6565  
  6566  const (
  6567  	// Specifies that VirtualCenter should generate recommendations for
  6568  	// virtual disk migration and for placement with a datastore,
  6569  	// but should not execute the recommendations automatically.
  6570  	StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual")
  6571  	// Specifies that VirtualCenter should generate recommendations
  6572  	// for virtual disk migration and for placement with a
  6573  	// datastore.
  6574  	//
  6575  	// The recommendations for virtual disk migrations
  6576  	// will be executed automatically, but the placement
  6577  	// recommendations will be done manually.
  6578  	StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated")
  6579  )
  6580  
  6581  func init() {
  6582  	t["StorageDrsPodConfigInfoBehavior"] = reflect.TypeOf((*StorageDrsPodConfigInfoBehavior)(nil)).Elem()
  6583  	minAPIVersionForType["StorageDrsPodConfigInfoBehavior"] = "5.0"
  6584  }
  6585  
  6586  type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string
  6587  
  6588  const (
  6589  	// Default mode: threshold as a percentage of datastore capacity
  6590  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization")
  6591  	// Threshold as an absolute value of free space in GBs
  6592  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace")
  6593  )
  6594  
  6595  func init() {
  6596  	t["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode)(nil)).Elem()
  6597  	minAPIVersionForType["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = "6.0"
  6598  }
  6599  
  6600  // User specification of congestion threshold mode on a given datastore
  6601  //
  6602  // For more information, see
  6603  type StorageIORMThresholdMode string
  6604  
  6605  const (
  6606  	// Storagage IO Control will choose appropriate congestion threshold value
  6607  	// for that datastore to operate at given percentage of peak throughput.
  6608  	//
  6609  	// This is the default setting
  6610  	StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic")
  6611  	// Use user specified Storage IO Control congestion threshold value
  6612  	StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual")
  6613  )
  6614  
  6615  func init() {
  6616  	t["StorageIORMThresholdMode"] = reflect.TypeOf((*StorageIORMThresholdMode)(nil)).Elem()
  6617  	minAPIVersionForType["StorageIORMThresholdMode"] = "5.1"
  6618  }
  6619  
  6620  type StoragePlacementSpecPlacementType string
  6621  
  6622  const (
  6623  	// Create a VM.
  6624  	StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create")
  6625  	// Reconfigure a VM.
  6626  	StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure")
  6627  	// Relocate a VM.
  6628  	StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate")
  6629  	// Clone a VM.
  6630  	StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone")
  6631  )
  6632  
  6633  func init() {
  6634  	t["StoragePlacementSpecPlacementType"] = reflect.TypeOf((*StoragePlacementSpecPlacementType)(nil)).Elem()
  6635  	minAPIVersionForType["StoragePlacementSpecPlacementType"] = "5.0"
  6636  }
  6637  
  6638  // This option specifies how to select tasks based on child relationships
  6639  // in the inventory hierarchy.
  6640  //
  6641  // If a managed entity has children, their tasks
  6642  // can be retrieved with this filter option.
  6643  type TaskFilterSpecRecursionOption string
  6644  
  6645  const (
  6646  	// Returns tasks that pertain only to the specified managed entity,
  6647  	// and not its children.
  6648  	TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self")
  6649  	// Returns tasks pertaining to child entities only.
  6650  	//
  6651  	// Excludes
  6652  	// tasks pertaining to the specified managed entity itself.
  6653  	TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children")
  6654  	// Returns tasks pertaining either to the specified managed entity
  6655  	// or to its child entities.
  6656  	TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all")
  6657  )
  6658  
  6659  func init() {
  6660  	t["TaskFilterSpecRecursionOption"] = reflect.TypeOf((*TaskFilterSpecRecursionOption)(nil)).Elem()
  6661  }
  6662  
  6663  // This option specifies a time stamp governing the selection of tasks.
  6664  type TaskFilterSpecTimeOption string
  6665  
  6666  const (
  6667  	// The time stamp when the task was created and queued.
  6668  	TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime")
  6669  	// The time stamp when the task started.
  6670  	TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime")
  6671  	// The time stamp when the task finished.
  6672  	TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime")
  6673  )
  6674  
  6675  func init() {
  6676  	t["TaskFilterSpecTimeOption"] = reflect.TypeOf((*TaskFilterSpecTimeOption)(nil)).Elem()
  6677  }
  6678  
  6679  // List of possible states of a task.
  6680  type TaskInfoState string
  6681  
  6682  const (
  6683  	// When there are too many tasks for threads to handle.
  6684  	TaskInfoStateQueued = TaskInfoState("queued")
  6685  	// When the busy thread is freed from its current task by
  6686  	// finishing the task, it picks a queued task to run.
  6687  	//
  6688  	// Then the queued tasks are marked as running.
  6689  	TaskInfoStateRunning = TaskInfoState("running")
  6690  	// When a running task has completed.
  6691  	TaskInfoStateSuccess = TaskInfoState("success")
  6692  	// When a running task has encountered an error.
  6693  	TaskInfoStateError = TaskInfoState("error")
  6694  )
  6695  
  6696  func init() {
  6697  	t["TaskInfoState"] = reflect.TypeOf((*TaskInfoState)(nil)).Elem()
  6698  }
  6699  
  6700  type ThirdPartyLicenseAssignmentFailedReason string
  6701  
  6702  const (
  6703  	// A general failure has occurred during assigning license to the 3rd party module
  6704  	ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed")
  6705  	// The 3rd party module we are trying to license is not installed.
  6706  	ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled")
  6707  )
  6708  
  6709  func init() {
  6710  	t["ThirdPartyLicenseAssignmentFailedReason"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedReason)(nil)).Elem()
  6711  	minAPIVersionForType["ThirdPartyLicenseAssignmentFailedReason"] = "5.0"
  6712  }
  6713  
  6714  // The policy setting used to determine when tools are auto-upgraded for
  6715  type UpgradePolicy string
  6716  
  6717  const (
  6718  	// No auto-upgrades for tools will be performed for this
  6719  	// virtual machine.
  6720  	//
  6721  	// Users must manually invoke the UpgradeTools
  6722  	// operation to update the tools.
  6723  	UpgradePolicyManual = UpgradePolicy("manual")
  6724  	// When the virtual machine is power-cycled, the system checks
  6725  	// for a newer version of tools when the VM comes back up.
  6726  	//
  6727  	// If it
  6728  	// is available, a tools upgrade is automatically performed on the
  6729  	// virtual machine and it is rebooted if necessary.
  6730  	UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle")
  6731  )
  6732  
  6733  func init() {
  6734  	t["UpgradePolicy"] = reflect.TypeOf((*UpgradePolicy)(nil)).Elem()
  6735  	minAPIVersionForType["UpgradePolicy"] = "2.5"
  6736  }
  6737  
  6738  type VAppAutoStartAction string
  6739  
  6740  const (
  6741  	// No action is taken for this virtual machine.
  6742  	//
  6743  	// This virtual machine is
  6744  	// not a part of the auto-start sequence. This can be used for both auto-start
  6745  	// and auto-start settings.
  6746  	VAppAutoStartActionNone = VAppAutoStartAction("none")
  6747  	// This virtual machine is powered on when it is next in the auto-start order.
  6748  	VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn")
  6749  	// This virtual machine is powered off when it is next in the auto-stop order.
  6750  	//
  6751  	// This is the default stopAction.
  6752  	VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff")
  6753  	// The guest operating system for a virtual machine is shut down when that
  6754  	// virtual machine in next in the auto-stop order.
  6755  	VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown")
  6756  	// This virtual machine is suspended when it is next in the auto-stop order.
  6757  	VAppAutoStartActionSuspend = VAppAutoStartAction("suspend")
  6758  )
  6759  
  6760  func init() {
  6761  	t["VAppAutoStartAction"] = reflect.TypeOf((*VAppAutoStartAction)(nil)).Elem()
  6762  	minAPIVersionForType["VAppAutoStartAction"] = "4.0"
  6763  }
  6764  
  6765  // The cloned VMs can either be provisioned the same way as the VMs
  6766  // they are a clone of, thin provisioned or thick provisioned, or
  6767  type VAppCloneSpecProvisioningType string
  6768  
  6769  const (
  6770  	// Each disk in the cloned virtual machines will have the same
  6771  	// type of disk as the source vApp.
  6772  	VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource")
  6773  	// Each disk in the cloned virtual machines is allocated in full
  6774  	// size now and committed on demand.
  6775  	//
  6776  	// This is only supported on
  6777  	// VMFS-3 and newer datastores. Other types of datastores may
  6778  	// create thick disks.
  6779  	VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin")
  6780  	// Each disk in the cloned virtual machines are allocated and
  6781  	// committed in full size immediately.
  6782  	VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick")
  6783  )
  6784  
  6785  func init() {
  6786  	t["VAppCloneSpecProvisioningType"] = reflect.TypeOf((*VAppCloneSpecProvisioningType)(nil)).Elem()
  6787  	minAPIVersionForType["VAppCloneSpecProvisioningType"] = "4.1"
  6788  }
  6789  
  6790  type VAppIPAssignmentInfoAllocationSchemes string
  6791  
  6792  const (
  6793  	// The vApp supports DHCP to acquire IP configuration.
  6794  	VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp")
  6795  	// The vApp supports setting the IP configuration through the
  6796  	// properties provided in the OVF environment.
  6797  	VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv")
  6798  )
  6799  
  6800  func init() {
  6801  	t["VAppIPAssignmentInfoAllocationSchemes"] = reflect.TypeOf((*VAppIPAssignmentInfoAllocationSchemes)(nil)).Elem()
  6802  	minAPIVersionForType["VAppIPAssignmentInfoAllocationSchemes"] = "4.0"
  6803  }
  6804  
  6805  type VAppIPAssignmentInfoIpAllocationPolicy string
  6806  
  6807  const (
  6808  	// Specifies that DHCP must be used to allocate IP addresses to the vApp
  6809  	VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy")
  6810  	// Specifies that IP allocation is done through the range managed by the
  6811  	// vSphere platform.
  6812  	//
  6813  	// The IP addresses are allocated when needed, typically at
  6814  	// power-on, and deallocated during power-off. There is no guarantee that a
  6815  	// vApp will get the same IP address when restarted.
  6816  	VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy")
  6817  	// Specifies that IP addresses are configured manually when the vApp is deployed
  6818  	// and will be kept until reconfigured or the vApp destroyed.
  6819  	//
  6820  	// This will ensure
  6821  	// that a vApp gets a consistent IP for its life-time.
  6822  	VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy")
  6823  	// Specifies that IP allocation is done through the range managed by the VI
  6824  	// platform.
  6825  	//
  6826  	// The IP addresses are allocated at first power-on, and remain
  6827  	// allocated at power-off. This will ensure that a vApp gets a consistent
  6828  	// IP for its life-time.
  6829  	VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy")
  6830  )
  6831  
  6832  func init() {
  6833  	t["VAppIPAssignmentInfoIpAllocationPolicy"] = reflect.TypeOf((*VAppIPAssignmentInfoIpAllocationPolicy)(nil)).Elem()
  6834  	minAPIVersionForType["VAppIPAssignmentInfoIpAllocationPolicy"] = "4.0"
  6835  	minAPIVersionForEnumValue["VAppIPAssignmentInfoIpAllocationPolicy"] = map[string]string{
  6836  		"fixedAllocatedPolicy": "5.1",
  6837  	}
  6838  }
  6839  
  6840  type VAppIPAssignmentInfoProtocols string
  6841  
  6842  const (
  6843  	// The vApp supports IPv4 protocol.
  6844  	VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4")
  6845  	// The vApp supports IPv6 protocol.
  6846  	VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6")
  6847  )
  6848  
  6849  func init() {
  6850  	t["VAppIPAssignmentInfoProtocols"] = reflect.TypeOf((*VAppIPAssignmentInfoProtocols)(nil)).Elem()
  6851  	minAPIVersionForType["VAppIPAssignmentInfoProtocols"] = "4.0"
  6852  }
  6853  
  6854  type VFlashModuleNotSupportedReason string
  6855  
  6856  const (
  6857  	VFlashModuleNotSupportedReasonCacheModeNotSupported            = VFlashModuleNotSupportedReason("CacheModeNotSupported")
  6858  	VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported")
  6859  	VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported       = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported")
  6860  	VFlashModuleNotSupportedReasonCacheReservationNotSupported     = VFlashModuleNotSupportedReason("CacheReservationNotSupported")
  6861  	VFlashModuleNotSupportedReasonDiskSizeNotSupported             = VFlashModuleNotSupportedReason("DiskSizeNotSupported")
  6862  )
  6863  
  6864  func init() {
  6865  	t["VFlashModuleNotSupportedReason"] = reflect.TypeOf((*VFlashModuleNotSupportedReason)(nil)).Elem()
  6866  	minAPIVersionForType["VFlashModuleNotSupportedReason"] = "5.5"
  6867  }
  6868  
  6869  // Types of a host's compatibility with a designated virtual machine
  6870  // that is a candidate for VMotion.
  6871  //
  6872  // Used with queryVMotionCompatibility
  6873  // both as inputs (to designate which compatibility types to test for)
  6874  // and as outputs (to specify which compatibility types apply for
  6875  // each host).
  6876  type VMotionCompatibilityType string
  6877  
  6878  const (
  6879  	// The host's CPU features are compatible with the
  6880  	// the virtual machine's requirements.
  6881  	VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu")
  6882  	// The software platform on the host supports VMotion
  6883  	// and is compatible with the virtual machine.
  6884  	VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software")
  6885  )
  6886  
  6887  func init() {
  6888  	t["VMotionCompatibilityType"] = reflect.TypeOf((*VMotionCompatibilityType)(nil)).Elem()
  6889  }
  6890  
  6891  type VMwareDVSTeamingMatchStatus string
  6892  
  6893  const (
  6894  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
  6895  	// `VmwareUplinkPortTeamingPolicy.policy`
  6896  	// in the vSphere Distributed Switch, and the external physical switch
  6897  	// has the matching EtherChannel configuration.
  6898  	VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch")
  6899  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
  6900  	// `VmwareUplinkPortTeamingPolicy.policy`
  6901  	// in the vSphere Distributed Switch, and the external physical switch
  6902  	// does not have EtherChannel configuration.
  6903  	VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch")
  6904  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
  6905  	// `VmwareUplinkPortTeamingPolicy.policy`
  6906  	// in the vSphere Distributed Switch, but the external physical switch
  6907  	// does not have the matching EtherChannel configuration.
  6908  	VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch")
  6909  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
  6910  	// `VmwareUplinkPortTeamingPolicy.policy`
  6911  	// in the vSphere Distributed Switch, but the external physical switch
  6912  	// has EtherChannel configuration.
  6913  	VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch")
  6914  )
  6915  
  6916  func init() {
  6917  	t["VMwareDVSTeamingMatchStatus"] = reflect.TypeOf((*VMwareDVSTeamingMatchStatus)(nil)).Elem()
  6918  	minAPIVersionForType["VMwareDVSTeamingMatchStatus"] = "5.1"
  6919  }
  6920  
  6921  type VMwareDVSVspanSessionEncapType string
  6922  
  6923  const (
  6924  	// Encapsulate original packets with GRE protocol
  6925  	VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre")
  6926  	// Encapsulate original packets with ERSPAN Type2 protocol
  6927  	VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2")
  6928  	// Encapsulate original packets with ERSPAN Type3 protocol
  6929  	VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3")
  6930  )
  6931  
  6932  func init() {
  6933  	t["VMwareDVSVspanSessionEncapType"] = reflect.TypeOf((*VMwareDVSVspanSessionEncapType)(nil)).Elem()
  6934  	minAPIVersionForType["VMwareDVSVspanSessionEncapType"] = "6.5"
  6935  }
  6936  
  6937  type VMwareDVSVspanSessionType string
  6938  
  6939  const (
  6940  	//
  6941  	//
  6942  	// Deprecated as of vSphere API 5.1.
  6943  	//
  6944  	// In mixedDestMirror session, Distributed Ports can be used as source entities,
  6945  	// and both Distributed Ports and Uplink Ports Name can be used as destination entities.
  6946  	VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror")
  6947  	// In dvPortMirror session, Distributed Ports can be used as both source
  6948  	// and destination entities.
  6949  	VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror")
  6950  	// In remoteMirrorSource session, Distributed Ports can be used as source entities,
  6951  	// and uplink ports name can be used as destination entities.
  6952  	VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource")
  6953  	// In remoteMirrorDest session, vlan Ids can be used as source entities,
  6954  	// and Distributed Ports can be used as destination entities.
  6955  	VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest")
  6956  	// In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities,
  6957  	// and Ip address can be used as destination entities.
  6958  	VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource")
  6959  )
  6960  
  6961  func init() {
  6962  	t["VMwareDVSVspanSessionType"] = reflect.TypeOf((*VMwareDVSVspanSessionType)(nil)).Elem()
  6963  	minAPIVersionForType["VMwareDVSVspanSessionType"] = "5.1"
  6964  }
  6965  
  6966  type VMwareDvsLacpApiVersion string
  6967  
  6968  const (
  6969  	//
  6970  	//
  6971  	// Deprecated as of vSphere API 7.0u1.
  6972  	//
  6973  	// One Link Aggregation Control Protocol group in the switch
  6974  	VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag")
  6975  	// Multiple Link Aggregation Control Protocol in the switch.
  6976  	VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag")
  6977  )
  6978  
  6979  func init() {
  6980  	t["VMwareDvsLacpApiVersion"] = reflect.TypeOf((*VMwareDvsLacpApiVersion)(nil)).Elem()
  6981  	minAPIVersionForType["VMwareDvsLacpApiVersion"] = "5.5"
  6982  }
  6983  
  6984  type VMwareDvsLacpLoadBalanceAlgorithm string
  6985  
  6986  const (
  6987  	// Source MAC address
  6988  	VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac")
  6989  	// Destination MAC address
  6990  	VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac")
  6991  	// Source and destination MAC address
  6992  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac")
  6993  	// Destination IP and VLAN
  6994  	VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan")
  6995  	// Source IP and VLAN
  6996  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan")
  6997  	// Source and destination IP and VLAN
  6998  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan")
  6999  	// Destination TCP/UDP port number
  7000  	VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort")
  7001  	// Source TCP/UDP port number
  7002  	VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort")
  7003  	// Source and destination TCP/UDP port number
  7004  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort")
  7005  	// Destination IP and TCP/UDP port number
  7006  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort")
  7007  	// Source IP and TCP/UDP port number
  7008  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort")
  7009  	// Source and destination IP and TCP/UDP port number
  7010  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort")
  7011  	// Destination IP, TCP/UDP port number and VLAN
  7012  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan")
  7013  	// Source IP, TCP/UDP port number and VLAN
  7014  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan")
  7015  	// Source and destination IP,
  7016  	// source and destination TCP/UDP port number and VLAN.
  7017  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan")
  7018  	// Destination IP
  7019  	VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp")
  7020  	// Source IP
  7021  	VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp")
  7022  	// Source and Destination IP
  7023  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp")
  7024  	// VLAN only
  7025  	VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan")
  7026  	// Source Virtual Port Id
  7027  	VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId")
  7028  )
  7029  
  7030  func init() {
  7031  	t["VMwareDvsLacpLoadBalanceAlgorithm"] = reflect.TypeOf((*VMwareDvsLacpLoadBalanceAlgorithm)(nil)).Elem()
  7032  	minAPIVersionForType["VMwareDvsLacpLoadBalanceAlgorithm"] = "5.5"
  7033  }
  7034  
  7035  type VMwareDvsMulticastFilteringMode string
  7036  
  7037  const (
  7038  	// Legacy filtering mode
  7039  	VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering")
  7040  	// IGMP/MLD snooping mode
  7041  	VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping")
  7042  )
  7043  
  7044  func init() {
  7045  	t["VMwareDvsMulticastFilteringMode"] = reflect.TypeOf((*VMwareDvsMulticastFilteringMode)(nil)).Elem()
  7046  	minAPIVersionForType["VMwareDvsMulticastFilteringMode"] = "6.0"
  7047  }
  7048  
  7049  type VMwareUplinkLacpMode string
  7050  
  7051  const (
  7052  	// Link Aggregation Control Protocol always sends frames along the configured uplinks
  7053  	VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active")
  7054  	// Link Aggregation Control Protocol acts as "speak when spoken to".
  7055  	VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive")
  7056  )
  7057  
  7058  func init() {
  7059  	t["VMwareUplinkLacpMode"] = reflect.TypeOf((*VMwareUplinkLacpMode)(nil)).Elem()
  7060  	minAPIVersionForType["VMwareUplinkLacpMode"] = "5.1"
  7061  }
  7062  
  7063  type VMwareUplinkLacpTimeoutMode string
  7064  
  7065  const (
  7066  	// Set long timeout for vmnics in one LACP LAG.
  7067  	//
  7068  	// Device send fast LACPDUs
  7069  	VMwareUplinkLacpTimeoutModeFast = VMwareUplinkLacpTimeoutMode("fast")
  7070  	// Set short timeout for vmnics in one LACP LAG.
  7071  	//
  7072  	// Device send slow LACPDUs
  7073  	VMwareUplinkLacpTimeoutModeSlow = VMwareUplinkLacpTimeoutMode("slow")
  7074  )
  7075  
  7076  func init() {
  7077  	t["VMwareUplinkLacpTimeoutMode"] = reflect.TypeOf((*VMwareUplinkLacpTimeoutMode)(nil)).Elem()
  7078  	minAPIVersionForType["VMwareUplinkLacpTimeoutMode"] = "7.0.2.0"
  7079  }
  7080  
  7081  // Consumption type constants.
  7082  //
  7083  // Consumption type describes how the virtual storage object is connected and
  7084  type VStorageObjectConsumptionType string
  7085  
  7086  const (
  7087  	// Disk type.
  7088  	VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk")
  7089  )
  7090  
  7091  func init() {
  7092  	t["VStorageObjectConsumptionType"] = reflect.TypeOf((*VStorageObjectConsumptionType)(nil)).Elem()
  7093  	minAPIVersionForType["VStorageObjectConsumptionType"] = "6.5"
  7094  }
  7095  
  7096  // Deprecated as of vSphere API 4.0, use `CheckTestType_enum` instead.
  7097  //
  7098  // Types of tests available for validateMigration.
  7099  type ValidateMigrationTestType string
  7100  
  7101  const (
  7102  	// Tests that examine only the configuration
  7103  	// of the virtual machine and its current host; the destination
  7104  	// resource pool and host or cluster are irrelevant.
  7105  	ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests")
  7106  	// Tests that examine both the virtual
  7107  	// machine and the destination host or cluster; the destination
  7108  	// resource pool is irrelevant.
  7109  	//
  7110  	// This set excludes tests that fall
  7111  	// into the diskAccessibilityTests group.
  7112  	ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests")
  7113  	// Tests that check that the
  7114  	// destination host or cluster can see the datastores where the virtual
  7115  	// machine's virtual disks are currently located.
  7116  	//
  7117  	// The destination
  7118  	// resource pool is irrelevant. If you are planning to relocate the
  7119  	// virtual disks, do not use these tests; instead examine the relevant
  7120  	// datastore objects for your planned disk locations to see if they
  7121  	// are accessible to the destination host.
  7122  	ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests")
  7123  	// Tests that check that the destination resource
  7124  	// pool can support the virtual machine if it is powered on.
  7125  	//
  7126  	// The
  7127  	// destination host or cluster is relevant because it will affect the
  7128  	// amount of overhead memory required to run the virtual machine.
  7129  	ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests")
  7130  )
  7131  
  7132  func init() {
  7133  	t["ValidateMigrationTestType"] = reflect.TypeOf((*ValidateMigrationTestType)(nil)).Elem()
  7134  }
  7135  
  7136  type VchaClusterMode string
  7137  
  7138  const (
  7139  	// VCHA Cluster is enabled.
  7140  	//
  7141  	// State replication between the Active and
  7142  	// Passive node is enabled and automatic failover is allowed.
  7143  	VchaClusterModeEnabled = VchaClusterMode("enabled")
  7144  	// VCHA Cluster is disabled.
  7145  	//
  7146  	// State replication between the Active and
  7147  	// Passive node is disabled and automatic failover is not allowed.
  7148  	VchaClusterModeDisabled = VchaClusterMode("disabled")
  7149  	// VCHA Cluster is in maintenance mode.
  7150  	//
  7151  	// State replication between the
  7152  	// Active and Passive node is enabled but automatic failover
  7153  	// is not allowed.
  7154  	VchaClusterModeMaintenance = VchaClusterMode("maintenance")
  7155  )
  7156  
  7157  func init() {
  7158  	t["VchaClusterMode"] = reflect.TypeOf((*VchaClusterMode)(nil)).Elem()
  7159  	minAPIVersionForType["VchaClusterMode"] = "6.5"
  7160  }
  7161  
  7162  type VchaClusterState string
  7163  
  7164  const (
  7165  	// All three nodes in a VCHA Cluster are healthy and connected.
  7166  	//
  7167  	// State
  7168  	// replication between Active and Passive node is working and both
  7169  	// nodes are in sync.
  7170  	VchaClusterStateHealthy = VchaClusterState("healthy")
  7171  	// A VCHA Cluster is said to be in a degraded state for
  7172  	// either or all of the following reasons:
  7173  	// \- There is a node loss.
  7174  	//
  7175  	// \- State replication between the Active and Passive node fails.
  7176  	VchaClusterStateDegraded = VchaClusterState("degraded")
  7177  	// All three nodes are isolated from each other.
  7178  	VchaClusterStateIsolated = VchaClusterState("isolated")
  7179  )
  7180  
  7181  func init() {
  7182  	t["VchaClusterState"] = reflect.TypeOf((*VchaClusterState)(nil)).Elem()
  7183  	minAPIVersionForType["VchaClusterState"] = "6.5"
  7184  }
  7185  
  7186  type VchaNodeRole string
  7187  
  7188  const (
  7189  	// Node is having a role of Active.
  7190  	//
  7191  	// In this role, node runs a vCenter
  7192  	// Server that serves client requests.
  7193  	VchaNodeRoleActive = VchaNodeRole("active")
  7194  	// Node is having a role of Passive.
  7195  	//
  7196  	// In this role node, runs as a standby
  7197  	// for the Active vCenter Server and receives state updates. This node
  7198  	// takes over the role of Active vCenter Server upon failover.
  7199  	VchaNodeRolePassive = VchaNodeRole("passive")
  7200  	// Node is having a role of Witness.
  7201  	//
  7202  	// In this role, node acts as a quorom
  7203  	// node for avoiding the classic split-brain problem.
  7204  	VchaNodeRoleWitness = VchaNodeRole("witness")
  7205  )
  7206  
  7207  func init() {
  7208  	t["VchaNodeRole"] = reflect.TypeOf((*VchaNodeRole)(nil)).Elem()
  7209  	minAPIVersionForType["VchaNodeRole"] = "6.5"
  7210  }
  7211  
  7212  // VchaNodeState enum defines possible state a node can be in a
  7213  type VchaNodeState string
  7214  
  7215  const (
  7216  	// Node is up and has joined the VCHA Cluster.
  7217  	VchaNodeStateUp = VchaNodeState("up")
  7218  	// Node is down and has left the VCHA Cluster.
  7219  	VchaNodeStateDown = VchaNodeState("down")
  7220  )
  7221  
  7222  func init() {
  7223  	t["VchaNodeState"] = reflect.TypeOf((*VchaNodeState)(nil)).Elem()
  7224  	minAPIVersionForType["VchaNodeState"] = "6.5"
  7225  }
  7226  
  7227  type VchaState string
  7228  
  7229  const (
  7230  	// VCHA cluster is configured.
  7231  	VchaStateConfigured = VchaState("configured")
  7232  	// VCHA cluster is not configured.
  7233  	VchaStateNotConfigured = VchaState("notConfigured")
  7234  	// VCHA cluster is in an invalid/dirty state.
  7235  	VchaStateInvalid = VchaState("invalid")
  7236  	// VC appliance has been prepared for VCHA cluster configuration.
  7237  	VchaStatePrepared = VchaState("prepared")
  7238  )
  7239  
  7240  func init() {
  7241  	t["VchaState"] = reflect.TypeOf((*VchaState)(nil)).Elem()
  7242  	minAPIVersionForType["VchaState"] = "6.5"
  7243  }
  7244  
  7245  // The VAppState type defines the set of states a vApp can be
  7246  // in.
  7247  //
  7248  // The transitory states between started and stopped is modeled explicitly,
  7249  // since the starting or stopping of a vApp is typically a time-consuming
  7250  type VirtualAppVAppState string
  7251  
  7252  const (
  7253  	// The vApp is currently powered on .
  7254  	VirtualAppVAppStateStarted = VirtualAppVAppState("started")
  7255  	// The vApp is currently powered off or suspended.
  7256  	VirtualAppVAppStateStopped = VirtualAppVAppState("stopped")
  7257  	// The vApp is in the process of starting.
  7258  	VirtualAppVAppStateStarting = VirtualAppVAppState("starting")
  7259  	// The vApp is in the process of stopping.
  7260  	VirtualAppVAppStateStopping = VirtualAppVAppState("stopping")
  7261  )
  7262  
  7263  func init() {
  7264  	t["VirtualAppVAppState"] = reflect.TypeOf((*VirtualAppVAppState)(nil)).Elem()
  7265  	minAPIVersionForType["VirtualAppVAppState"] = "4.0"
  7266  }
  7267  
  7268  // Describes the change mode of the device.
  7269  //
  7270  // Applies only to virtual disks during VirtualDeviceSpec.Operation "add"
  7271  type VirtualDeviceConfigSpecChangeMode string
  7272  
  7273  const (
  7274  	VirtualDeviceConfigSpecChangeModeFail = VirtualDeviceConfigSpecChangeMode("fail")
  7275  	VirtualDeviceConfigSpecChangeModeSkip = VirtualDeviceConfigSpecChangeMode("skip")
  7276  )
  7277  
  7278  func init() {
  7279  	t["VirtualDeviceConfigSpecChangeMode"] = reflect.TypeOf((*VirtualDeviceConfigSpecChangeMode)(nil)).Elem()
  7280  	minAPIVersionForType["VirtualDeviceConfigSpecChangeMode"] = "8.0.0.1"
  7281  }
  7282  
  7283  // The type of operation being performed on the backing of a virtual device.
  7284  //
  7285  // Valid values are:
  7286  type VirtualDeviceConfigSpecFileOperation string
  7287  
  7288  const (
  7289  	// Specifies the creation of the device backing; for example,
  7290  	// the creation of a virtual disk or floppy image file.
  7291  	VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create")
  7292  	// Specifies the destruction of a device backing.
  7293  	VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy")
  7294  	// Specifies the deletion of the existing backing for a virtual device
  7295  	// and the creation of a new backing.
  7296  	VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace")
  7297  )
  7298  
  7299  func init() {
  7300  	t["VirtualDeviceConfigSpecFileOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecFileOperation)(nil)).Elem()
  7301  }
  7302  
  7303  // The type of operation being performed on the specified virtual device.
  7304  //
  7305  // Valid values are:
  7306  type VirtualDeviceConfigSpecOperation string
  7307  
  7308  const (
  7309  	// Specifies the addition of a virtual device to the configuration.
  7310  	VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add")
  7311  	// Specifies the removal of a virtual device.
  7312  	VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove")
  7313  	// Specifies changes to the virtual device specification.
  7314  	VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit")
  7315  )
  7316  
  7317  func init() {
  7318  	t["VirtualDeviceConfigSpecOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecOperation)(nil)).Elem()
  7319  }
  7320  
  7321  // Contains information about connectable virtual devices when
  7322  type VirtualDeviceConnectInfoMigrateConnectOp string
  7323  
  7324  const (
  7325  	// Attempt to connect the virtual device when the virtual machine
  7326  	// restores from a migration.
  7327  	//
  7328  	// This property has no effect if it
  7329  	// is set on a device that is already connected.
  7330  	VirtualDeviceConnectInfoMigrateConnectOpConnect = VirtualDeviceConnectInfoMigrateConnectOp("connect")
  7331  	// Attempt to disconnect the virtual device when the virtual machine
  7332  	// restores from a migration.
  7333  	//
  7334  	// This property has no effect if it
  7335  	// is set on a device that is already disconnected.
  7336  	VirtualDeviceConnectInfoMigrateConnectOpDisconnect = VirtualDeviceConnectInfoMigrateConnectOp("disconnect")
  7337  	// Unset the property, which resets the device to its default state.
  7338  	//
  7339  	// Under most circumstances, a device will return to the same
  7340  	// connection state before the migration was initiated.
  7341  	VirtualDeviceConnectInfoMigrateConnectOpUnset = VirtualDeviceConnectInfoMigrateConnectOp("unset")
  7342  )
  7343  
  7344  func init() {
  7345  	t["VirtualDeviceConnectInfoMigrateConnectOp"] = reflect.TypeOf((*VirtualDeviceConnectInfoMigrateConnectOp)(nil)).Elem()
  7346  	minAPIVersionForType["VirtualDeviceConnectInfoMigrateConnectOp"] = "6.7"
  7347  }
  7348  
  7349  type VirtualDeviceConnectInfoStatus string
  7350  
  7351  const (
  7352  	// The device is working correctly.
  7353  	VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok")
  7354  	// The device has reported a recoverable error.
  7355  	//
  7356  	// For example,
  7357  	// attempting to connect to floppy device that is being used by
  7358  	// another virtual machine or some other program would result in
  7359  	// this status.
  7360  	VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError")
  7361  	// The device cannot be used.
  7362  	//
  7363  	// For example, attempting to connect to
  7364  	// a floppy device that does not exist would result in this status.
  7365  	VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError")
  7366  	// The device status is unknown, or it has not been requested to
  7367  	// connect when the VM is powered on.
  7368  	VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried")
  7369  )
  7370  
  7371  func init() {
  7372  	t["VirtualDeviceConnectInfoStatus"] = reflect.TypeOf((*VirtualDeviceConnectInfoStatus)(nil)).Elem()
  7373  	minAPIVersionForType["VirtualDeviceConnectInfoStatus"] = "4.0"
  7374  }
  7375  
  7376  // All known file extensions.
  7377  //
  7378  // Valid ones are:
  7379  type VirtualDeviceFileExtension string
  7380  
  7381  const (
  7382  	// CD ISO Image backings
  7383  	VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso")
  7384  	// Floppy File Backings
  7385  	VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp")
  7386  	// virtual disks
  7387  	VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk")
  7388  	// legacy virtual disks
  7389  	VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk")
  7390  	// pre 3.0 virtual disks using Raw Disk Maps
  7391  	VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm")
  7392  )
  7393  
  7394  func init() {
  7395  	t["VirtualDeviceFileExtension"] = reflect.TypeOf((*VirtualDeviceFileExtension)(nil)).Elem()
  7396  }
  7397  
  7398  // The <code>VirtualDeviceURIBackingOptionDirection</code> enum type
  7399  type VirtualDeviceURIBackingOptionDirection string
  7400  
  7401  const (
  7402  	// Indicates that the virtual machine can listen for a connection
  7403  	// on the specified `VirtualDeviceURIBackingInfo.serviceURI`.
  7404  	VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server")
  7405  	// Indicates that the virtual machine can initiate a connection
  7406  	// with a system on the network using the specified
  7407  	// `VirtualDeviceURIBackingInfo.serviceURI`.
  7408  	VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client")
  7409  )
  7410  
  7411  func init() {
  7412  	t["VirtualDeviceURIBackingOptionDirection"] = reflect.TypeOf((*VirtualDeviceURIBackingOptionDirection)(nil)).Elem()
  7413  	minAPIVersionForType["VirtualDeviceURIBackingOptionDirection"] = "4.1"
  7414  }
  7415  
  7416  type VirtualDiskAdapterType string
  7417  
  7418  const (
  7419  	// Use IDE emulation for the virtual disk
  7420  	VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide")
  7421  	// Use BusLogic emulation for the virtual disk
  7422  	VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic")
  7423  	// Use LSILogic emulation for the virtual disk
  7424  	VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic")
  7425  )
  7426  
  7427  func init() {
  7428  	t["VirtualDiskAdapterType"] = reflect.TypeOf((*VirtualDiskAdapterType)(nil)).Elem()
  7429  	minAPIVersionForType["VirtualDiskAdapterType"] = "2.5"
  7430  }
  7431  
  7432  // All known compatibility modes for raw disk mappings.
  7433  //
  7434  // Valid compatibility
  7435  // modes are:
  7436  //   - virtualMode
  7437  //   - physicalMode
  7438  type VirtualDiskCompatibilityMode string
  7439  
  7440  const (
  7441  	// A disk device backed by a virtual compatibility mode raw disk mapping can
  7442  	// use disk modes.
  7443  	//
  7444  	// See also `VirtualDiskMode_enum`.
  7445  	VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode")
  7446  	// A disk device backed by a physical compatibility mode raw disk mapping cannot
  7447  	// use disk modes, and commands are passed straight through to the LUN
  7448  	// indicated by the raw disk mapping.
  7449  	VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode")
  7450  )
  7451  
  7452  func init() {
  7453  	t["VirtualDiskCompatibilityMode"] = reflect.TypeOf((*VirtualDiskCompatibilityMode)(nil)).Elem()
  7454  }
  7455  
  7456  type VirtualDiskDeltaDiskFormat string
  7457  
  7458  const (
  7459  	// redo-log based format
  7460  	VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat")
  7461  	// native snapshot format
  7462  	VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat")
  7463  	// Flex-SE redo-log based format
  7464  	VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat")
  7465  )
  7466  
  7467  func init() {
  7468  	t["VirtualDiskDeltaDiskFormat"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormat)(nil)).Elem()
  7469  	minAPIVersionForType["VirtualDiskDeltaDiskFormat"] = "5.0"
  7470  	minAPIVersionForEnumValue["VirtualDiskDeltaDiskFormat"] = map[string]string{
  7471  		"seSparseFormat": "5.1",
  7472  	}
  7473  }
  7474  
  7475  type VirtualDiskDeltaDiskFormatVariant string
  7476  
  7477  const (
  7478  	// vmfsSparse based redo-log format
  7479  	VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant")
  7480  	// vsanSparse based redo-log format
  7481  	VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant")
  7482  )
  7483  
  7484  func init() {
  7485  	t["VirtualDiskDeltaDiskFormatVariant"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatVariant)(nil)).Elem()
  7486  	minAPIVersionForType["VirtualDiskDeltaDiskFormatVariant"] = "6.0"
  7487  }
  7488  
  7489  // The list of known disk modes.
  7490  //
  7491  // The list of supported disk modes varies by the backing type. The "persistent"
  7492  // mode is supported by every backing type.
  7493  type VirtualDiskMode string
  7494  
  7495  const (
  7496  	// Changes are immediately and permanently written to the virtual disk.
  7497  	VirtualDiskModePersistent = VirtualDiskMode("persistent")
  7498  	// Changes to virtual disk are made to a redo log and discarded at power off.
  7499  	VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent")
  7500  	// Changes are made to a redo log, but you are given the option to commit or undo.
  7501  	VirtualDiskModeUndoable = VirtualDiskMode("undoable")
  7502  	// Same as persistent, but not affected by snapshots.
  7503  	VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent")
  7504  	// Same as nonpersistent, but not affected by snapshots.
  7505  	VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent")
  7506  	// Changes are appended to the redo log; you revoke changes by removing the undo log.
  7507  	VirtualDiskModeAppend = VirtualDiskMode("append")
  7508  )
  7509  
  7510  func init() {
  7511  	t["VirtualDiskMode"] = reflect.TypeOf((*VirtualDiskMode)(nil)).Elem()
  7512  }
  7513  
  7514  // Rule type determines how the virtual disks in a vm can be grouped
  7515  type VirtualDiskRuleSpecRuleType string
  7516  
  7517  const (
  7518  	// Virtual disks in the list are grouped together and placed on
  7519  	// the same data store.
  7520  	VirtualDiskRuleSpecRuleTypeAffinity = VirtualDiskRuleSpecRuleType("affinity")
  7521  	// Virtual disks in the list are placed on different data stores.
  7522  	VirtualDiskRuleSpecRuleTypeAntiAffinity = VirtualDiskRuleSpecRuleType("antiAffinity")
  7523  	// SDRS will be disabled for the disks in the list.
  7524  	VirtualDiskRuleSpecRuleTypeDisabled = VirtualDiskRuleSpecRuleType("disabled")
  7525  )
  7526  
  7527  func init() {
  7528  	t["VirtualDiskRuleSpecRuleType"] = reflect.TypeOf((*VirtualDiskRuleSpecRuleType)(nil)).Elem()
  7529  	minAPIVersionForType["VirtualDiskRuleSpecRuleType"] = "6.7"
  7530  }
  7531  
  7532  // The sharing mode of the virtual disk.
  7533  //
  7534  // Setting the value to sharingMultiWriter means that multiple virtual
  7535  // machines can write to the virtual disk. This sharing mode is allowed
  7536  type VirtualDiskSharing string
  7537  
  7538  const (
  7539  	// The virtual disk is not shared.
  7540  	VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone")
  7541  	// The virtual disk is shared between multiple virtual machines.
  7542  	VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter")
  7543  )
  7544  
  7545  func init() {
  7546  	t["VirtualDiskSharing"] = reflect.TypeOf((*VirtualDiskSharing)(nil)).Elem()
  7547  	minAPIVersionForType["VirtualDiskSharing"] = "6.0"
  7548  }
  7549  
  7550  type VirtualDiskType string
  7551  
  7552  const (
  7553  	// A preallocated disk has all space allocated at creation time
  7554  	// and the space is zeroed on demand as the space is used.
  7555  	VirtualDiskTypePreallocated = VirtualDiskType("preallocated")
  7556  	// Space required for thin-provisioned virtual disk is allocated and
  7557  	// zeroed on demand as the space is used.
  7558  	VirtualDiskTypeThin = VirtualDiskType("thin")
  7559  	// A sparse (allocate on demand) format with additional space
  7560  	// optimizations.
  7561  	VirtualDiskTypeSeSparse = VirtualDiskType("seSparse")
  7562  	// Virtual compatibility mode raw disk mapping.
  7563  	//
  7564  	// An rdm virtual disk
  7565  	// grants access to the entire raw disk and the virtual disk can
  7566  	// participate in snapshots.
  7567  	VirtualDiskTypeRdm = VirtualDiskType("rdm")
  7568  	// Physical compatibility mode (pass-through) raw disk mapping.
  7569  	//
  7570  	// An rdmp
  7571  	// virtual disk passes SCSI commands directly to the hardware, but the
  7572  	// virtual disk cannot participate in snapshots.
  7573  	VirtualDiskTypeRdmp = VirtualDiskType("rdmp")
  7574  	// Raw device.
  7575  	VirtualDiskTypeRaw = VirtualDiskType("raw")
  7576  	// A redo log disk.
  7577  	//
  7578  	// This format is only applicable as a destination format
  7579  	// in a clone operation, and not usable for disk creation.
  7580  	VirtualDiskTypeDelta = VirtualDiskType("delta")
  7581  	// A sparse disk with 2GB maximum extent size.
  7582  	//
  7583  	// Disks in this format
  7584  	// can be used with other VMware products. The 2GB extent size
  7585  	// makes these disks easier to burn to dvd or use on filesystems that
  7586  	// don't support large files. This format is only applicable as a
  7587  	// destination format in a clone operation, and not usable for disk
  7588  	// creation.
  7589  	VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb")
  7590  	// A thick disk with 2GB maximum extent size.
  7591  	//
  7592  	// Disks in this format
  7593  	// can be used with other VMware products. The 2GB extent size
  7594  	// makes these disks easier to burn to dvd or use on filesystems that
  7595  	// don't support large files. This format is only applicable as a
  7596  	// destination format in a clone operation, and not usable for disk
  7597  	// creation.
  7598  	VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb")
  7599  	// An eager zeroed thick disk has all space allocated and wiped clean
  7600  	// of any previous contents on the physical media at creation time.
  7601  	//
  7602  	// Such disks may take longer time during creation compared to other
  7603  	// disk formats.
  7604  	VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick")
  7605  	// A sparse monolithic disk.
  7606  	//
  7607  	// Disks in this format can be used with other
  7608  	// VMware products. This format is only applicable as a destination
  7609  	// format in a clone operation, and not usable for disk creation.
  7610  	VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic")
  7611  	// A preallocated monolithic disk.
  7612  	//
  7613  	// Disks in this format can be used with
  7614  	// other VMware products. This format is only applicable as a destination
  7615  	// format in a clone operation, and not usable for disk creation.
  7616  	VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic")
  7617  	//
  7618  	//
  7619  	// Deprecated as of vSphere API 4.x, use `eagerZeroedThick` instead
  7620  	// for clustering application, and `preallocated` for other applications.
  7621  	//
  7622  	// A thick disk has all space allocated at creation time.
  7623  	//
  7624  	// This
  7625  	// space may contain stale data on the physical media. Thick disks
  7626  	// are primarily used for virtual machine clustering, but they are
  7627  	// generally insecure and should not be used. Due to better performance
  7628  	// and security properties, the use of the 'preallocated' format is
  7629  	// preferred over this format.
  7630  	VirtualDiskTypeThick = VirtualDiskType("thick")
  7631  )
  7632  
  7633  func init() {
  7634  	t["VirtualDiskType"] = reflect.TypeOf((*VirtualDiskType)(nil)).Elem()
  7635  	minAPIVersionForType["VirtualDiskType"] = "2.5"
  7636  	minAPIVersionForEnumValue["VirtualDiskType"] = map[string]string{
  7637  		"seSparse":         "5.1",
  7638  		"delta":            "5.5",
  7639  		"sparseMonolithic": "4.0",
  7640  		"flatMonolithic":   "4.0",
  7641  	}
  7642  }
  7643  
  7644  type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string
  7645  
  7646  const (
  7647  	// With strong consistency, it ensures that
  7648  	// a crash will leave the cache data consistent.
  7649  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong")
  7650  	// Cache data consistency is not guaranteed after a crash.
  7651  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak")
  7652  )
  7653  
  7654  func init() {
  7655  	t["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheConsistencyType)(nil)).Elem()
  7656  	minAPIVersionForType["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = "5.5"
  7657  }
  7658  
  7659  type VirtualDiskVFlashCacheConfigInfoCacheMode string
  7660  
  7661  const (
  7662  	// In write-through cache mode, writes to the cache cause writes
  7663  	// to the underlying storage.
  7664  	//
  7665  	// The cache acts as a facade to the underlying
  7666  	// storage.
  7667  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru")
  7668  	// In write-back mode, writes to the cache do not go to the underlying storage
  7669  	// right away.
  7670  	//
  7671  	// Cache holds data temporarily till it can be permanently saved or
  7672  	// otherwise modified.
  7673  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back")
  7674  )
  7675  
  7676  func init() {
  7677  	t["VirtualDiskVFlashCacheConfigInfoCacheMode"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheMode)(nil)).Elem()
  7678  	minAPIVersionForType["VirtualDiskVFlashCacheConfigInfoCacheMode"] = "5.5"
  7679  }
  7680  
  7681  // Possible device names for legacy network backing option are listed below.
  7682  //
  7683  // Note: This is not an exhaustive list. It is possible to specify
  7684  // a specific device as well.
  7685  // For example, on ESX hosts, the device name could be specified as "vmnic\[0-9\]"
  7686  // or vmnet\_\[0-9\].
  7687  // For VMware Server Windows hosts, the device name could be specified as "vmnet\[0-9\]"
  7688  // and for VMware Server Linux hosts, the device name could be specified as "/dev/vmnet\[0-9\]"
  7689  // depending on what devices are available on that particular host.
  7690  type VirtualEthernetCardLegacyNetworkDeviceName string
  7691  
  7692  const (
  7693  	VirtualEthernetCardLegacyNetworkDeviceNameBridged  = VirtualEthernetCardLegacyNetworkDeviceName("bridged")
  7694  	VirtualEthernetCardLegacyNetworkDeviceNameNat      = VirtualEthernetCardLegacyNetworkDeviceName("nat")
  7695  	VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly")
  7696  )
  7697  
  7698  func init() {
  7699  	t["VirtualEthernetCardLegacyNetworkDeviceName"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkDeviceName)(nil)).Elem()
  7700  }
  7701  
  7702  // The enumeration of all known valid MAC address types.
  7703  type VirtualEthernetCardMacType string
  7704  
  7705  const (
  7706  	// A statistically assigned MAC address.
  7707  	VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual")
  7708  	// An automatically generated MAC address.
  7709  	VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated")
  7710  	// A MAC address assigned by VirtualCenter.
  7711  	VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned")
  7712  )
  7713  
  7714  func init() {
  7715  	t["VirtualEthernetCardMacType"] = reflect.TypeOf((*VirtualEthernetCardMacType)(nil)).Elem()
  7716  }
  7717  
  7718  type VirtualHardwareMotherboardLayout string
  7719  
  7720  const (
  7721  	// Single i440BX host bridge.
  7722  	VirtualHardwareMotherboardLayoutI440bxHostBridge = VirtualHardwareMotherboardLayout("i440bxHostBridge")
  7723  	// Multiple ACPI host bridges.
  7724  	VirtualHardwareMotherboardLayoutAcpiHostBridges = VirtualHardwareMotherboardLayout("acpiHostBridges")
  7725  )
  7726  
  7727  func init() {
  7728  	t["VirtualHardwareMotherboardLayout"] = reflect.TypeOf((*VirtualHardwareMotherboardLayout)(nil)).Elem()
  7729  	minAPIVersionForType["VirtualHardwareMotherboardLayout"] = "8.0.0.1"
  7730  }
  7731  
  7732  type VirtualMachineAppHeartbeatStatusType string
  7733  
  7734  const (
  7735  	// Heartbeat status is disabled
  7736  	VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray")
  7737  	// Heartbeat status is OK
  7738  	VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen")
  7739  	// Heartbeating has stopped
  7740  	VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed")
  7741  )
  7742  
  7743  func init() {
  7744  	t["VirtualMachineAppHeartbeatStatusType"] = reflect.TypeOf((*VirtualMachineAppHeartbeatStatusType)(nil)).Elem()
  7745  	minAPIVersionForType["VirtualMachineAppHeartbeatStatusType"] = "4.1"
  7746  }
  7747  
  7748  type VirtualMachineBootOptionsNetworkBootProtocolType string
  7749  
  7750  const (
  7751  	// PXE (or Apple NetBoot) over IPv4.
  7752  	//
  7753  	// The default.
  7754  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4")
  7755  	// PXE over IPv6.
  7756  	//
  7757  	// Only meaningful for EFI virtual machines.
  7758  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6")
  7759  )
  7760  
  7761  func init() {
  7762  	t["VirtualMachineBootOptionsNetworkBootProtocolType"] = reflect.TypeOf((*VirtualMachineBootOptionsNetworkBootProtocolType)(nil)).Elem()
  7763  	minAPIVersionForType["VirtualMachineBootOptionsNetworkBootProtocolType"] = "6.0"
  7764  }
  7765  
  7766  type VirtualMachineCertThumbprintHashAlgorithm string
  7767  
  7768  const (
  7769  	// SHA256
  7770  	VirtualMachineCertThumbprintHashAlgorithmSha256 = VirtualMachineCertThumbprintHashAlgorithm("sha256")
  7771  )
  7772  
  7773  func init() {
  7774  	t["VirtualMachineCertThumbprintHashAlgorithm"] = reflect.TypeOf((*VirtualMachineCertThumbprintHashAlgorithm)(nil)).Elem()
  7775  	minAPIVersionForType["VirtualMachineCertThumbprintHashAlgorithm"] = "7.0.3.1"
  7776  }
  7777  
  7778  // TPM provisioning policies used when cloning a VM with a virtual TPM
  7779  type VirtualMachineCloneSpecTpmProvisionPolicy string
  7780  
  7781  const (
  7782  	// The virtual TPM is copied.
  7783  	//
  7784  	// The virtual machine clone will have access
  7785  	// to the original virtual machine's TPM secrets.
  7786  	VirtualMachineCloneSpecTpmProvisionPolicyCopy = VirtualMachineCloneSpecTpmProvisionPolicy("copy")
  7787  	// The virtual TPM is replaced with a new one.
  7788  	//
  7789  	// The virtual machine clone
  7790  	// will not have access to the original virtual machine's TPM secrets.
  7791  	VirtualMachineCloneSpecTpmProvisionPolicyReplace = VirtualMachineCloneSpecTpmProvisionPolicy("replace")
  7792  )
  7793  
  7794  func init() {
  7795  	t["VirtualMachineCloneSpecTpmProvisionPolicy"] = reflect.TypeOf((*VirtualMachineCloneSpecTpmProvisionPolicy)(nil)).Elem()
  7796  	minAPIVersionForType["VirtualMachineCloneSpecTpmProvisionPolicy"] = "8.0.0.1"
  7797  }
  7798  
  7799  type VirtualMachineConfigInfoNpivWwnType string
  7800  
  7801  const (
  7802  	// This set of WWNs is generated by VC server.
  7803  	VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc")
  7804  	// This set of WWNs is generated by Host Agent.
  7805  	VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host")
  7806  	// This set of WWNs is provided by the client.
  7807  	VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external")
  7808  )
  7809  
  7810  func init() {
  7811  	t["VirtualMachineConfigInfoNpivWwnType"] = reflect.TypeOf((*VirtualMachineConfigInfoNpivWwnType)(nil)).Elem()
  7812  	minAPIVersionForType["VirtualMachineConfigInfoNpivWwnType"] = "2.5"
  7813  }
  7814  
  7815  // Available choices for virtual machine swapfile placement policy.
  7816  //
  7817  // This is
  7818  // the set of legal values for the virtual machine configuration's
  7819  // `swapPlacement` property. All
  7820  // values except for "inherit" and "vmConfigured" are also valid values for
  7821  // a compute resource configuration's
  7822  // `vmSwapPlacement`
  7823  type VirtualMachineConfigInfoSwapPlacementType string
  7824  
  7825  const (
  7826  	// Honor the virtual machine swapfile placement policy of the compute
  7827  	// resource that contains this virtual machine.
  7828  	VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit")
  7829  	// Store the swapfile in the same directory as the virtual machine.
  7830  	VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory")
  7831  	// Store the swapfile in the datastore specified by the
  7832  	// `localSwapDatastore`
  7833  	// property of the virtual machine's host, if that property is set and
  7834  	// indicates a datastore with sufficient free space.
  7835  	//
  7836  	// Otherwise store the
  7837  	// swapfile in the same directory as the virtual machine.
  7838  	//
  7839  	// Note: This setting may degrade VMotion performance.
  7840  	VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal")
  7841  )
  7842  
  7843  func init() {
  7844  	t["VirtualMachineConfigInfoSwapPlacementType"] = reflect.TypeOf((*VirtualMachineConfigInfoSwapPlacementType)(nil)).Elem()
  7845  	minAPIVersionForType["VirtualMachineConfigInfoSwapPlacementType"] = "2.5"
  7846  }
  7847  
  7848  // The set of valid encrypted Fault Tolerance modes for a VM.
  7849  //
  7850  // If the VM is encrypted, its encrypted Fault Tolerance mode
  7851  type VirtualMachineConfigSpecEncryptedFtModes string
  7852  
  7853  const (
  7854  	// Do not use encrypted Fault Tolerance, even if available.
  7855  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionDisabled")
  7856  	// Use encrypted Fault Tolerance if source and destination hosts
  7857  	// support it, fall back to unencrypted Fault Tolerance otherwise.
  7858  	//
  7859  	// This is the default option.
  7860  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionOpportunistic")
  7861  	// Allow only encrypted Fault Tolerance.
  7862  	//
  7863  	// If either the source or
  7864  	// destination host does not support encrypted Fault Tolerance,
  7865  	// do not allow the Fault Tolerance to occur.
  7866  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionRequired")
  7867  )
  7868  
  7869  func init() {
  7870  	t["VirtualMachineConfigSpecEncryptedFtModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedFtModes)(nil)).Elem()
  7871  	minAPIVersionForType["VirtualMachineConfigSpecEncryptedFtModes"] = "7.0.2.0"
  7872  }
  7873  
  7874  // The set of valid encrypted vMotion modes for a VM.
  7875  type VirtualMachineConfigSpecEncryptedVMotionModes string
  7876  
  7877  const (
  7878  	// Do not use encrypted vMotion, even if available.
  7879  	VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled")
  7880  	// Use encrypted vMotion if source and destination hosts support it,
  7881  	// fall back to unencrypted vMotion otherwise.
  7882  	//
  7883  	// This is the default option.
  7884  	VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic")
  7885  	// Allow only encrypted vMotion.
  7886  	//
  7887  	// If the source or destination host does
  7888  	// not support vMotion encryption, do not allow the vMotion to occur.
  7889  	VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required")
  7890  )
  7891  
  7892  func init() {
  7893  	t["VirtualMachineConfigSpecEncryptedVMotionModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedVMotionModes)(nil)).Elem()
  7894  	minAPIVersionForType["VirtualMachineConfigSpecEncryptedVMotionModes"] = "6.5"
  7895  }
  7896  
  7897  type VirtualMachineConfigSpecNpivWwnOp string
  7898  
  7899  const (
  7900  	// Generate a new set of WWNs and assign it to the virtual machine.
  7901  	VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate")
  7902  	// Take a client-specified set of WWNs (specified in "wwn" property) and
  7903  	// assign them to the virtual machine.
  7904  	//
  7905  	// If the new WWN quntity are more
  7906  	// than existing then we will append them to the existing list of WWNs.
  7907  	VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set")
  7908  	// Remove the currently assigned WWNs from the virtual machine.
  7909  	VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove")
  7910  	// Generate a new set of WWNs and append them to the existing list
  7911  	VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend")
  7912  )
  7913  
  7914  func init() {
  7915  	t["VirtualMachineConfigSpecNpivWwnOp"] = reflect.TypeOf((*VirtualMachineConfigSpecNpivWwnOp)(nil)).Elem()
  7916  	minAPIVersionForType["VirtualMachineConfigSpecNpivWwnOp"] = "2.5"
  7917  	minAPIVersionForEnumValue["VirtualMachineConfigSpecNpivWwnOp"] = map[string]string{
  7918  		"extend": "4.0",
  7919  	}
  7920  }
  7921  
  7922  // The connectivity state of a virtual machine.
  7923  //
  7924  // When the API is provided directly by
  7925  // a server product, such as ESX Server, then the disconnected state is not
  7926  // possible. However, when accessed through VirtualCenter, the state of a virtual
  7927  // machine is set to disconnected if the hosts that manage the virtual
  7928  // machine becomes unavailable.
  7929  type VirtualMachineConnectionState string
  7930  
  7931  const (
  7932  	// The server has access to the virtual machine.
  7933  	VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected")
  7934  	// The server is currently disconnected from the virtual machine, since its
  7935  	// host is disconnected.
  7936  	//
  7937  	// See general comment for this enumerated type for more
  7938  	// details.
  7939  	VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected")
  7940  	// The virtual machine is no longer registered on the host it is associated
  7941  	// with.
  7942  	//
  7943  	// For example, a virtual machine that is unregistered or deleted
  7944  	// directly on a host managed by VirtualCenter shows up in this state.
  7945  	VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned")
  7946  	// One or more of the virtual machine configuration files are inaccessible.
  7947  	//
  7948  	// For
  7949  	// example, this can be due to transient disk failures. In this case, no
  7950  	// configuration can be returned for a virtual machine.
  7951  	VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible")
  7952  	// The virtual machine configuration format is invalid.
  7953  	//
  7954  	// Thus, it is accessible
  7955  	// on disk, but corrupted in a way that does not allow the server to read the
  7956  	// content. In this case, no configuration can be returned for a virtual
  7957  	// machine.
  7958  	VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid")
  7959  )
  7960  
  7961  func init() {
  7962  	t["VirtualMachineConnectionState"] = reflect.TypeOf((*VirtualMachineConnectionState)(nil)).Elem()
  7963  }
  7964  
  7965  type VirtualMachineCryptoState string
  7966  
  7967  const (
  7968  	// The virtual machine is in unlocked state.
  7969  	VirtualMachineCryptoStateUnlocked = VirtualMachineCryptoState("unlocked")
  7970  	// The virtual machine is in locked state for the configuration key missing
  7971  	// on the ESX host where the VM is registered.
  7972  	VirtualMachineCryptoStateLocked = VirtualMachineCryptoState("locked")
  7973  )
  7974  
  7975  func init() {
  7976  	t["VirtualMachineCryptoState"] = reflect.TypeOf((*VirtualMachineCryptoState)(nil)).Elem()
  7977  	minAPIVersionForType["VirtualMachineCryptoState"] = "6.7"
  7978  }
  7979  
  7980  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string
  7981  
  7982  const (
  7983  	// The virtual machine's host does not support VMDirectPath Gen 2.
  7984  	//
  7985  	// See also `HostCapability.vmDirectPathGen2Supported`.
  7986  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost")
  7987  	// The configuration or state of the attached network prevents
  7988  	// VMDirectPath Gen 2.
  7989  	//
  7990  	// Refer to
  7991  	// `vmDirectPathGen2InactiveReasonNetwork`
  7992  	// and/or
  7993  	// `vmDirectPathGen2InactiveReasonExtended`
  7994  	// in the RuntimeInfo of the DistributedVirtualPort connected to this
  7995  	// device.
  7996  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork")
  7997  )
  7998  
  7999  func init() {
  8000  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
  8001  	minAPIVersionForType["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = "4.1"
  8002  }
  8003  
  8004  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string
  8005  
  8006  const (
  8007  	// The virtual machine's guest OS does not support
  8008  	// VMDirectPath Gen 2.
  8009  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest")
  8010  	// The virtual machine's guest network driver does not support
  8011  	// VMDirectPath Gen 2.
  8012  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver")
  8013  	// The device type does not support VMDirectPath Gen 2.
  8014  	//
  8015  	// See also `VirtualEthernetCardOption.vmDirectPathGen2Supported`.
  8016  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType")
  8017  	// The virtual machine's network adapter is disabled or
  8018  	// disconnected, and thus is not participating in VMDirectPath Gen 2.
  8019  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter")
  8020  	// The virtual machine's network adapter has features enabled
  8021  	// which preclude it participating in VMDirectPath Gen 2 such
  8022  	// as INT-x or PXE booting.
  8023  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures")
  8024  	// The device backing is not a DistributedVirtualPortBacking.
  8025  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType")
  8026  	// The virtual machine does not have full memory reservation
  8027  	// required to activate VMDirectPath Gen 2.
  8028  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation")
  8029  	//
  8030  	//
  8031  	// Deprecated as of vSphere API 6.0.
  8032  	//
  8033  	// The virtual machine is configured for Fault Tolerance or
  8034  	// Record &amp; Replay, which prevents VMDirectPath Gen 2.
  8035  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured")
  8036  	// Some networking feature has placed a conflicting IOChain on
  8037  	// the network adapter, which prevents VMDirectPath Gen 2.
  8038  	//
  8039  	// Examples
  8040  	// include DVFilter.
  8041  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured")
  8042  	// The virtual machine monitor is exercising functionality which
  8043  	// which prevents VMDirectPath Gen 2.
  8044  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks")
  8045  	// VMDirectPath Gen 2 is temporarily suspended while the virtual
  8046  	// machine executes an operation such as suspend.
  8047  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress")
  8048  	// VMDirectPath Gen 2 is unavailable due to an unforeseen runtime error
  8049  	// in the virtualization platform (typically resource constraints.)
  8050  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError")
  8051  	// VMDirectPath Gen 2 is unavailable due to host run out of intr
  8052  	// vector in host.
  8053  	//
  8054  	// Guest can configure the vNIC to use less rx/tx
  8055  	// queues or use MSI instead of MSIX.
  8056  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector")
  8057  	// VMDirectPath Gen 2 is unavailable due to Incompatibe feature
  8058  	// VMCI is active in the current VM.
  8059  	//
  8060  	// Kill the relevant VMCI
  8061  	// application(s) and restart the VM will allow the vNIC(s) to enter
  8062  	// passthrough mode.
  8063  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive")
  8064  )
  8065  
  8066  func init() {
  8067  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm)(nil)).Elem()
  8068  	minAPIVersionForType["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = "4.1"
  8069  	minAPIVersionForEnumValue["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = map[string]string{
  8070  		"vmNptVMCIActive": "5.1",
  8071  	}
  8072  }
  8073  
  8074  // The FaultToleranceState type defines a simple set of states for a
  8075  // fault tolerant virtual machine:
  8076  type VirtualMachineFaultToleranceState string
  8077  
  8078  const (
  8079  	// This state indicates that the virtual machine has not been
  8080  	// configured for fault tolerance.
  8081  	VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured")
  8082  	// For a virtual machine that is the primary in a fault tolerant group,
  8083  	// this state indicates that the virtual machine has at least one
  8084  	// registered secondary, but no secondary is enabled.
  8085  	//
  8086  	// For a virtual machine that is the secondary in a fault tolerant
  8087  	// group, this state indicates that the secondary is disabled.
  8088  	VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled")
  8089  	// For a virtual machine that is the primary in a fault tolerant group,
  8090  	// this state indicates that the virtual machine is not currently
  8091  	// powered on, but has at least one enabled secondary
  8092  	// For a virtual machine that is the secondary in a fault tolerant
  8093  	// group, this state indicates that the secondary is enabled, but is
  8094  	// not currently powered on.
  8095  	VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled")
  8096  	// For a virtual machine that is the primary in a fault tolerant group,
  8097  	// this state indicates that the virtual machine is powered on and
  8098  	// has at least one enabled secondary, but no secondary is currently
  8099  	// active.
  8100  	//
  8101  	// This state is not valid for a virtual machine that is a secondary
  8102  	// in a fault tolerant group.
  8103  	VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary")
  8104  	// For a virtual machine that is the primary in a fault tolerant group,
  8105  	// this state indicates that the virtual machine is powered on and has
  8106  	// at least one secondary that is synchronizing its state with the
  8107  	// primary.
  8108  	//
  8109  	// For a virtual machine that is the secondary in a fault tolerant
  8110  	// group, this state indicates that the secondary is powered on and is
  8111  	// synchronizing its state with the primary virtual machine.
  8112  	VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting")
  8113  	// This state indicates that the virtual machine is running with fault
  8114  	// tolerance protection.
  8115  	VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running")
  8116  )
  8117  
  8118  func init() {
  8119  	t["VirtualMachineFaultToleranceState"] = reflect.TypeOf((*VirtualMachineFaultToleranceState)(nil)).Elem()
  8120  	minAPIVersionForType["VirtualMachineFaultToleranceState"] = "4.0"
  8121  }
  8122  
  8123  // The FaultToleranceType defines the type of fault tolerance, if any,
  8124  type VirtualMachineFaultToleranceType string
  8125  
  8126  const (
  8127  	// FT not set
  8128  	VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset")
  8129  	// Record/replay
  8130  	VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay")
  8131  	// Checkpointing
  8132  	VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing")
  8133  )
  8134  
  8135  func init() {
  8136  	t["VirtualMachineFaultToleranceType"] = reflect.TypeOf((*VirtualMachineFaultToleranceType)(nil)).Elem()
  8137  	minAPIVersionForType["VirtualMachineFaultToleranceType"] = "6.0"
  8138  	minAPIVersionForEnumValue["VirtualMachineFaultToleranceType"] = map[string]string{
  8139  		"unset": "6.0",
  8140  	}
  8141  }
  8142  
  8143  type VirtualMachineFileLayoutExFileType string
  8144  
  8145  const (
  8146  	// Config (vmx) file.
  8147  	VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config")
  8148  	// Extended config (vmxf) file.
  8149  	VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig")
  8150  	// Disk descriptor (vmdk) file.
  8151  	VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor")
  8152  	// Disk extent (-flat/-delta/-s/-rdm/-rdmp.vmdk) file.
  8153  	VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent")
  8154  	// Disk digest descriptor file.
  8155  	VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor")
  8156  	// Disk digest extent file.
  8157  	VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent")
  8158  	// Host based replicated disk persistent state (psf) file.
  8159  	VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState")
  8160  	// Log (log) file.
  8161  	VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log")
  8162  	// Virtual machine statistics (stat) file.
  8163  	VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat")
  8164  	// Namespace data file.
  8165  	VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData")
  8166  	// DataSets disk mode store (dsd) file.
  8167  	VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore = VirtualMachineFileLayoutExFileType("dataSetsDiskModeStore")
  8168  	// DataSets vm mode store (dsv) file.
  8169  	VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore = VirtualMachineFileLayoutExFileType("dataSetsVmModeStore")
  8170  	// Non-volatile RAM (nvram) file.
  8171  	VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram")
  8172  	// Snapshot data (vmsn) file.
  8173  	VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData")
  8174  	// Snapshot memory (vmem) file.
  8175  	VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory")
  8176  	// Snapshot metadata (vmsd) file.
  8177  	VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList")
  8178  	// Snapshot manifest metadata (-aux.xml) file.
  8179  	//
  8180  	// This file is still being created but is no longer necessary since
  8181  	// the manifest metadata is now available in the snapshot metadata
  8182  	// (vmsd) file in vSphere 5.0. This type will be deprecated when
  8183  	// vSphere 4.1 is no longer supported.
  8184  	VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList")
  8185  	// Suspend (vmss) file.
  8186  	VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend")
  8187  	// Suspend (vmem) file.
  8188  	VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory")
  8189  	// Swap (vswp) file.
  8190  	VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap")
  8191  	// File generated by VMware ESX kernel for a running virtual
  8192  	// machine.
  8193  	VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap")
  8194  	// Core (core) file.
  8195  	VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core")
  8196  	// Screenshot file.
  8197  	VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot")
  8198  	// Fault Tolerance metadata file.
  8199  	VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata")
  8200  	// Guest image customization file.
  8201  	VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization")
  8202  )
  8203  
  8204  func init() {
  8205  	t["VirtualMachineFileLayoutExFileType"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileType)(nil)).Elem()
  8206  	minAPIVersionForType["VirtualMachineFileLayoutExFileType"] = "4.0"
  8207  	minAPIVersionForEnumValue["VirtualMachineFileLayoutExFileType"] = map[string]string{
  8208  		"digestDescriptor":      "5.0",
  8209  		"digestExtent":          "5.0",
  8210  		"diskReplicationState":  "5.0",
  8211  		"namespaceData":         "5.1",
  8212  		"dataSetsDiskModeStore": "8.0.0.0",
  8213  		"dataSetsVmModeStore":   "8.0.0.0",
  8214  		"snapshotMemory":        "6.0",
  8215  		"snapshotManifestList":  "5.0",
  8216  		"suspendMemory":         "6.0",
  8217  		"uwswap":                "5.0",
  8218  		"ftMetadata":            "6.0",
  8219  		"guestCustomization":    "6.0",
  8220  	}
  8221  }
  8222  
  8223  type VirtualMachineFlagInfoMonitorType string
  8224  
  8225  const (
  8226  	// Run vmx in default mode, matching the build type of vmkernel.
  8227  	VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release")
  8228  	// Run vmx in debug mode.
  8229  	VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug")
  8230  	// Run vmx in stats mode.
  8231  	VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats")
  8232  )
  8233  
  8234  func init() {
  8235  	t["VirtualMachineFlagInfoMonitorType"] = reflect.TypeOf((*VirtualMachineFlagInfoMonitorType)(nil)).Elem()
  8236  	minAPIVersionForType["VirtualMachineFlagInfoMonitorType"] = "2.5"
  8237  }
  8238  
  8239  type VirtualMachineFlagInfoVirtualExecUsage string
  8240  
  8241  const (
  8242  	// Determine automatically whether to use hardware virtualization (HV) support.
  8243  	VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto")
  8244  	// Use hardware virtualization (HV) support if the physical hardware supports it.
  8245  	VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn")
  8246  	// Do not use hardware virtualization (HV) support.
  8247  	VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff")
  8248  )
  8249  
  8250  func init() {
  8251  	t["VirtualMachineFlagInfoVirtualExecUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualExecUsage)(nil)).Elem()
  8252  	minAPIVersionForType["VirtualMachineFlagInfoVirtualExecUsage"] = "4.0"
  8253  }
  8254  
  8255  type VirtualMachineFlagInfoVirtualMmuUsage string
  8256  
  8257  const (
  8258  	// Determine automatically whether to use nested page table hardware support.
  8259  	VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic")
  8260  	// Use nested paging hardware support if the physical hardware supports it.
  8261  	VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on")
  8262  	// Do not use nested page table hardware support.
  8263  	VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off")
  8264  )
  8265  
  8266  func init() {
  8267  	t["VirtualMachineFlagInfoVirtualMmuUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualMmuUsage)(nil)).Elem()
  8268  	minAPIVersionForType["VirtualMachineFlagInfoVirtualMmuUsage"] = "2.5"
  8269  }
  8270  
  8271  // Fork child type.
  8272  //
  8273  // A child could be type of none, persistent, or
  8274  type VirtualMachineForkConfigInfoChildType string
  8275  
  8276  const (
  8277  	// The virtual machine is not a child.
  8278  	VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none")
  8279  	// The virtual machine is a persistent child.
  8280  	VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent")
  8281  	// The virtual machine is a non-persistent child.
  8282  	VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent")
  8283  )
  8284  
  8285  func init() {
  8286  	t["VirtualMachineForkConfigInfoChildType"] = reflect.TypeOf((*VirtualMachineForkConfigInfoChildType)(nil)).Elem()
  8287  	minAPIVersionForType["VirtualMachineForkConfigInfoChildType"] = "6.0"
  8288  }
  8289  
  8290  // Guest operating system family constants.
  8291  type VirtualMachineGuestOsFamily string
  8292  
  8293  const (
  8294  	// Windows operating system
  8295  	VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest")
  8296  	// Linux operating system
  8297  	VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest")
  8298  	// Novell Netware
  8299  	VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest")
  8300  	// Solaris operating system
  8301  	VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest")
  8302  	// Mac OS operating system
  8303  	VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily")
  8304  	// Other operating systems
  8305  	VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily")
  8306  )
  8307  
  8308  func init() {
  8309  	t["VirtualMachineGuestOsFamily"] = reflect.TypeOf((*VirtualMachineGuestOsFamily)(nil)).Elem()
  8310  	minAPIVersionForEnumValue["VirtualMachineGuestOsFamily"] = map[string]string{
  8311  		"darwinGuestFamily": "5.0",
  8312  	}
  8313  }
  8314  
  8315  // Guest operating system identifier.
  8316  type VirtualMachineGuestOsIdentifier string
  8317  
  8318  const (
  8319  	// MS-DOS.
  8320  	VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest")
  8321  	// Windows 3.1
  8322  	VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest")
  8323  	// Windows 95
  8324  	VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest")
  8325  	// Windows 98
  8326  	VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest")
  8327  	// Windows Millennium Edition
  8328  	VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest")
  8329  	// Windows NT 4
  8330  	VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest")
  8331  	// Windows 2000 Professional
  8332  	VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest")
  8333  	// Windows 2000 Server
  8334  	VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest")
  8335  	// Windows 2000 Advanced Server
  8336  	VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest")
  8337  	// Windows XP Home Edition
  8338  	VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest")
  8339  	// Windows XP Professional
  8340  	VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest")
  8341  	// Windows XP Professional Edition (64 bit)
  8342  	VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest")
  8343  	// Windows Server 2003, Web Edition
  8344  	VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest")
  8345  	// Windows Server 2003, Standard Edition
  8346  	VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest")
  8347  	// Windows Server 2003, Enterprise Edition
  8348  	VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest")
  8349  	// Windows Server 2003, Datacenter Edition
  8350  	VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest")
  8351  	// Windows Small Business Server 2003
  8352  	VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest")
  8353  	// Windows Server 2003, Standard Edition (64 bit)
  8354  	VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest")
  8355  	// Windows Server 2003, Enterprise Edition (64 bit)
  8356  	VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest")
  8357  	// Windows Longhorn
  8358  	VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest")
  8359  	// Windows Longhorn (64 bit)
  8360  	VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest")
  8361  	// Windows Server 2003, Datacenter Edition (64 bit)
  8362  	VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest")
  8363  	// Windows Vista
  8364  	VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest")
  8365  	// Windows Vista (64 bit)
  8366  	VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest")
  8367  	// Windows 7
  8368  	VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest")
  8369  	// Windows 7 (64 bit)
  8370  	VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest")
  8371  	// Windows Server 2008 R2 (64 bit)
  8372  	VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest")
  8373  	// Windows 8
  8374  	VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest")
  8375  	// Windows 8 (64 bit)
  8376  	VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest")
  8377  	// Windows 8 Server (64 bit)
  8378  	VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest")
  8379  	// Windows 10
  8380  	VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest")
  8381  	// Windows 10 (64 bit)
  8382  	VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest")
  8383  	// Windows 10 Server (64 bit)
  8384  	VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest")
  8385  	// Windows 11
  8386  	VirtualMachineGuestOsIdentifierWindows11_64Guest = VirtualMachineGuestOsIdentifier("windows11_64Guest")
  8387  	// Windows 12
  8388  	VirtualMachineGuestOsIdentifierWindows12_64Guest = VirtualMachineGuestOsIdentifier("windows12_64Guest")
  8389  	// Windows Hyper-V
  8390  	VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest")
  8391  	// Windows Server 2019
  8392  	VirtualMachineGuestOsIdentifierWindows2019srv_64Guest = VirtualMachineGuestOsIdentifier("windows2019srv_64Guest")
  8393  	// Windows Server 2022
  8394  	VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2019srvNext_64Guest")
  8395  	// Windows Server 2025
  8396  	VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2022srvNext_64Guest")
  8397  	// FreeBSD
  8398  	VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest")
  8399  	// FreeBSD x64
  8400  	VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest")
  8401  	// FreeBSD 11
  8402  	VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest")
  8403  	// FreeBSD 11 x64
  8404  	VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest")
  8405  	// FreeBSD 12
  8406  	VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest")
  8407  	// FreeBSD 12 x64
  8408  	VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest")
  8409  	// FreeBSD 13
  8410  	VirtualMachineGuestOsIdentifierFreebsd13Guest = VirtualMachineGuestOsIdentifier("freebsd13Guest")
  8411  	// FreeBSD 13 x64
  8412  	VirtualMachineGuestOsIdentifierFreebsd13_64Guest = VirtualMachineGuestOsIdentifier("freebsd13_64Guest")
  8413  	// FreeBSD 14
  8414  	VirtualMachineGuestOsIdentifierFreebsd14Guest = VirtualMachineGuestOsIdentifier("freebsd14Guest")
  8415  	// FreeBSD 14 x64
  8416  	VirtualMachineGuestOsIdentifierFreebsd14_64Guest = VirtualMachineGuestOsIdentifier("freebsd14_64Guest")
  8417  	// Red Hat Linux 2.1
  8418  	VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest")
  8419  	// Red Hat Enterprise Linux 2
  8420  	VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest")
  8421  	// Red Hat Enterprise Linux 3
  8422  	VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest")
  8423  	// Red Hat Enterprise Linux 3 (64 bit)
  8424  	VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest")
  8425  	// Red Hat Enterprise Linux 4
  8426  	VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest")
  8427  	// Red Hat Enterprise Linux 4 (64 bit)
  8428  	VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest")
  8429  	// Red Hat Enterprise Linux 5
  8430  	VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest")
  8431  	// Red Hat Enterprise Linux 5 (64 bit)
  8432  	VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest")
  8433  	// Red Hat Enterprise Linux 6
  8434  	VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest")
  8435  	// Red Hat Enterprise Linux 6 (64 bit)
  8436  	VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest")
  8437  	// Red Hat Enterprise Linux 7
  8438  	VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest")
  8439  	// Red Hat Enterprise Linux 7 (64 bit)
  8440  	VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest")
  8441  	// Red Hat Enterprise Linux 8 (64 bit)
  8442  	VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_64Guest")
  8443  	// Red Hat Enterprise Linux 9 (64 bit)
  8444  	VirtualMachineGuestOsIdentifierRhel9_64Guest = VirtualMachineGuestOsIdentifier("rhel9_64Guest")
  8445  	// CentOS 4/5
  8446  	VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest")
  8447  	// CentOS 4/5 (64-bit)
  8448  	VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest")
  8449  	// CentOS 6
  8450  	VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest")
  8451  	// CentOS 6 (64-bit)
  8452  	VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest")
  8453  	// CentOS 7
  8454  	VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest")
  8455  	// CentOS 7 (64-bit)
  8456  	VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest")
  8457  	// CentOS 8 (64-bit)
  8458  	VirtualMachineGuestOsIdentifierCentos8_64Guest = VirtualMachineGuestOsIdentifier("centos8_64Guest")
  8459  	// CentOS 9 (64-bit)
  8460  	VirtualMachineGuestOsIdentifierCentos9_64Guest = VirtualMachineGuestOsIdentifier("centos9_64Guest")
  8461  	// Oracle Linux 4/5
  8462  	VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest")
  8463  	// Oracle Linux 4/5 (64-bit)
  8464  	VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest")
  8465  	// Oracle 6
  8466  	VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest")
  8467  	// Oracle 6 (64-bit)
  8468  	VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest")
  8469  	// Oracle 7
  8470  	VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest")
  8471  	// Oracle 7 (64-bit)
  8472  	VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest")
  8473  	// Oracle 8 (64-bit)
  8474  	VirtualMachineGuestOsIdentifierOracleLinux8_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux8_64Guest")
  8475  	// Oracle 9 (64-bit)
  8476  	VirtualMachineGuestOsIdentifierOracleLinux9_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux9_64Guest")
  8477  	// Suse Linux
  8478  	VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest")
  8479  	// Suse Linux (64 bit)
  8480  	VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest")
  8481  	// Suse Linux Enterprise Server 9
  8482  	VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest")
  8483  	// Suse Linux Enterprise Server 9 (64 bit)
  8484  	VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest")
  8485  	// Suse linux Enterprise Server 10
  8486  	VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest")
  8487  	// Suse Linux Enterprise Server 10 (64 bit)
  8488  	VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest")
  8489  	// Suse linux Enterprise Server 11
  8490  	VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest")
  8491  	// Suse Linux Enterprise Server 11 (64 bit)
  8492  	VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest")
  8493  	// Suse linux Enterprise Server 12
  8494  	VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest")
  8495  	// Suse Linux Enterprise Server 12 (64 bit)
  8496  	VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest")
  8497  	// Suse Linux Enterprise Server 15 (64 bit)
  8498  	VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest")
  8499  	// Suse Linux Enterprise Server 16 (64 bit)
  8500  	VirtualMachineGuestOsIdentifierSles16_64Guest = VirtualMachineGuestOsIdentifier("sles16_64Guest")
  8501  	// Novell Linux Desktop 9
  8502  	VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest")
  8503  	// Open Enterprise Server
  8504  	VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest")
  8505  	// Sun Java Desktop System
  8506  	VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest")
  8507  	// Mandrake Linux
  8508  	VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest")
  8509  	// Mandriva Linux
  8510  	VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest")
  8511  	// Mandriva Linux (64 bit)
  8512  	VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest")
  8513  	// Turbolinux
  8514  	VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest")
  8515  	// Turbolinux (64 bit)
  8516  	VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest")
  8517  	// Ubuntu Linux
  8518  	VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest")
  8519  	// Ubuntu Linux (64 bit)
  8520  	VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest")
  8521  	// Debian GNU/Linux 4
  8522  	VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest")
  8523  	// Debian GNU/Linux 4 (64 bit)
  8524  	VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest")
  8525  	// Debian GNU/Linux 5
  8526  	VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest")
  8527  	// Debian GNU/Linux 5 (64 bit)
  8528  	VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest")
  8529  	// Debian GNU/Linux 6
  8530  	VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest")
  8531  	// Debian GNU/Linux 6 (64 bit)
  8532  	VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest")
  8533  	// Debian GNU/Linux 7
  8534  	VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest")
  8535  	// Debian GNU/Linux 7 (64 bit)
  8536  	VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest")
  8537  	// Debian GNU/Linux 8
  8538  	VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest")
  8539  	// Debian GNU/Linux 8 (64 bit)
  8540  	VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest")
  8541  	// Debian GNU/Linux 9
  8542  	VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest")
  8543  	// Debian GNU/Linux 9 (64 bit)
  8544  	VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest")
  8545  	// Debian GNU/Linux 10
  8546  	VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest")
  8547  	// Debian GNU/Linux 10 (64 bit)
  8548  	VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest")
  8549  	// Debian GNU/Linux 11
  8550  	VirtualMachineGuestOsIdentifierDebian11Guest = VirtualMachineGuestOsIdentifier("debian11Guest")
  8551  	// Debian GNU/Linux 11 (64 bit)
  8552  	VirtualMachineGuestOsIdentifierDebian11_64Guest = VirtualMachineGuestOsIdentifier("debian11_64Guest")
  8553  	// Debian GNU/Linux 12
  8554  	VirtualMachineGuestOsIdentifierDebian12Guest = VirtualMachineGuestOsIdentifier("debian12Guest")
  8555  	// Debian GNU/Linux 12 (64 bit)
  8556  	VirtualMachineGuestOsIdentifierDebian12_64Guest = VirtualMachineGuestOsIdentifier("debian12_64Guest")
  8557  	// Asianux Server 3
  8558  	VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest")
  8559  	// Asianux Server 3 (64 bit)
  8560  	VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest")
  8561  	// Asianux Server 4
  8562  	VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest")
  8563  	// Asianux Server 4 (64 bit)
  8564  	VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest")
  8565  	// Asianux Server 5 (64 bit)
  8566  	VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest")
  8567  	// Asianux Server 7 (64 bit)
  8568  	VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest")
  8569  	// Asianux Server 8 (64 bit)
  8570  	VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest")
  8571  	// Asianux Server 9 (64 bit)
  8572  	VirtualMachineGuestOsIdentifierAsianux9_64Guest = VirtualMachineGuestOsIdentifier("asianux9_64Guest")
  8573  	// OpenSUSE Linux
  8574  	VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest")
  8575  	// OpenSUSE Linux (64 bit)
  8576  	VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest")
  8577  	// Fedora Linux
  8578  	VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest")
  8579  	// Fedora Linux (64 bit)
  8580  	VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest")
  8581  	// CoreOS Linux (64 bit)
  8582  	VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest")
  8583  	// VMware Photon (64 bit)
  8584  	VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest")
  8585  	// Linux 2.4x Kernel
  8586  	VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest")
  8587  	// Linux 2.6x Kernel
  8588  	VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest")
  8589  	// Linux 2.2x Kernel
  8590  	VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest")
  8591  	// Linux 3.x Kernel
  8592  	VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest")
  8593  	// Linux 4.x Kernel
  8594  	VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest")
  8595  	// Linux 5.x Kernel
  8596  	VirtualMachineGuestOsIdentifierOther5xLinuxGuest = VirtualMachineGuestOsIdentifier("other5xLinuxGuest")
  8597  	// Linux 6.x Kernel
  8598  	VirtualMachineGuestOsIdentifierOther6xLinuxGuest = VirtualMachineGuestOsIdentifier("other6xLinuxGuest")
  8599  	// Other Linux
  8600  	VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest")
  8601  	// Linux 2.4.x Kernel (64 bit)
  8602  	VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest")
  8603  	// Linux 2.6.x Kernel (64 bit)
  8604  	VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest")
  8605  	// Linux 3.x Kernel (64 bit)
  8606  	VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest")
  8607  	// Linux 4.x Kernel (64 bit)
  8608  	VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest")
  8609  	// Linux 5.x Kernel (64 bit)
  8610  	VirtualMachineGuestOsIdentifierOther5xLinux64Guest = VirtualMachineGuestOsIdentifier("other5xLinux64Guest")
  8611  	// Linux 6.x Kernel (64 bit)
  8612  	VirtualMachineGuestOsIdentifierOther6xLinux64Guest = VirtualMachineGuestOsIdentifier("other6xLinux64Guest")
  8613  	// Linux (64 bit)
  8614  	VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest")
  8615  	// Solaris 6
  8616  	VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest")
  8617  	// Solaris 7
  8618  	VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest")
  8619  	// Solaris 8
  8620  	VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest")
  8621  	// Solaris 9
  8622  	VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest")
  8623  	// Solaris 10 (32 bit)
  8624  	VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest")
  8625  	// Solaris 10 (64 bit)
  8626  	VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest")
  8627  	// Solaris 11 (64 bit)
  8628  	VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest")
  8629  	// OS/2
  8630  	VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest")
  8631  	// eComStation 1.x
  8632  	VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest")
  8633  	// eComStation 2.0
  8634  	VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest")
  8635  	// Novell NetWare 4
  8636  	VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest")
  8637  	// Novell NetWare 5.1
  8638  	VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest")
  8639  	// Novell NetWare 6.x
  8640  	VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest")
  8641  	// SCO OpenServer 5
  8642  	VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest")
  8643  	// SCO OpenServer 6
  8644  	VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest")
  8645  	// SCO UnixWare 7
  8646  	VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest")
  8647  	// Mac OS 10.5
  8648  	VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest")
  8649  	// Mac OS 10.5 (64 bit)
  8650  	VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest")
  8651  	// Mac OS 10.6
  8652  	VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest")
  8653  	// Mac OS 10.6 (64 bit)
  8654  	VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest")
  8655  	// Mac OS 10.7
  8656  	VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest")
  8657  	// Mac OS 10.7 (64 bit)
  8658  	VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest")
  8659  	// Mac OS 10.8 (64 bit)
  8660  	VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest")
  8661  	// Mac OS 10.9 (64 bit)
  8662  	VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest")
  8663  	// Mac OS 10.10 (64 bit)
  8664  	VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest")
  8665  	// Mac OS 10.11 (64 bit)
  8666  	VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest")
  8667  	// Mac OS 10.12 (64 bit)
  8668  	VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest")
  8669  	// macOS 10.13 (64 bit)
  8670  	VirtualMachineGuestOsIdentifierDarwin17_64Guest = VirtualMachineGuestOsIdentifier("darwin17_64Guest")
  8671  	// macOS 10.14 (64 bit)
  8672  	VirtualMachineGuestOsIdentifierDarwin18_64Guest = VirtualMachineGuestOsIdentifier("darwin18_64Guest")
  8673  	// macOS 10.15 (64 bit)
  8674  	VirtualMachineGuestOsIdentifierDarwin19_64Guest = VirtualMachineGuestOsIdentifier("darwin19_64Guest")
  8675  	// macOS 11 (64 bit)
  8676  	VirtualMachineGuestOsIdentifierDarwin20_64Guest = VirtualMachineGuestOsIdentifier("darwin20_64Guest")
  8677  	// macOS 12 (64 bit)
  8678  	VirtualMachineGuestOsIdentifierDarwin21_64Guest = VirtualMachineGuestOsIdentifier("darwin21_64Guest")
  8679  	// macOS 13 (64 bit)
  8680  	VirtualMachineGuestOsIdentifierDarwin22_64Guest = VirtualMachineGuestOsIdentifier("darwin22_64Guest")
  8681  	// macOS 14 (64 bit)
  8682  	VirtualMachineGuestOsIdentifierDarwin23_64Guest = VirtualMachineGuestOsIdentifier("darwin23_64Guest")
  8683  	// VMware ESX 4
  8684  	VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest")
  8685  	// VMware ESX 5
  8686  	VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest")
  8687  	// VMware ESX 6
  8688  	VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest")
  8689  	// VMware ESXi 6.5 AND ESXi 6.7.
  8690  	VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest")
  8691  	// VMware ESX 7
  8692  	VirtualMachineGuestOsIdentifierVmkernel7Guest = VirtualMachineGuestOsIdentifier("vmkernel7Guest")
  8693  	// VMware ESX 8
  8694  	VirtualMachineGuestOsIdentifierVmkernel8Guest = VirtualMachineGuestOsIdentifier("vmkernel8Guest")
  8695  	// Amazon Linux 2 (64 bit)
  8696  	VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux2_64Guest")
  8697  	// Amazon Linux 3 (64 bit)
  8698  	VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux3_64Guest")
  8699  	// CRX Pod 1
  8700  	VirtualMachineGuestOsIdentifierCrxPod1Guest = VirtualMachineGuestOsIdentifier("crxPod1Guest")
  8701  	// Rocky Linux (64-bit)
  8702  	VirtualMachineGuestOsIdentifierRockylinux_64Guest = VirtualMachineGuestOsIdentifier("rockylinux_64Guest")
  8703  	// AlmaLinux (64-bit)
  8704  	VirtualMachineGuestOsIdentifierAlmalinux_64Guest = VirtualMachineGuestOsIdentifier("almalinux_64Guest")
  8705  	// Other Operating System
  8706  	VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest")
  8707  	// Other Operating System (64 bit)
  8708  	VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64")
  8709  )
  8710  
  8711  func init() {
  8712  	t["VirtualMachineGuestOsIdentifier"] = reflect.TypeOf((*VirtualMachineGuestOsIdentifier)(nil)).Elem()
  8713  	minAPIVersionForEnumValue["VirtualMachineGuestOsIdentifier"] = map[string]string{
  8714  		"winNetDatacenterGuest":      "2.5",
  8715  		"winLonghornGuest":           "2.5",
  8716  		"winLonghorn64Guest":         "2.5",
  8717  		"winNetDatacenter64Guest":    "2.5",
  8718  		"windows7Guest":              "4.0",
  8719  		"windows7_64Guest":           "4.0",
  8720  		"windows7Server64Guest":      "4.0",
  8721  		"windows8Guest":              "5.0",
  8722  		"windows8_64Guest":           "5.0",
  8723  		"windows8Server64Guest":      "5.0",
  8724  		"windows9Guest":              "6.0",
  8725  		"windows9_64Guest":           "6.0",
  8726  		"windows9Server64Guest":      "6.0",
  8727  		"windows11_64Guest":          "8.0.0.1",
  8728  		"windows12_64Guest":          "8.0.0.1",
  8729  		"windowsHyperVGuest":         "5.5",
  8730  		"windows2019srv_64Guest":     "7.0",
  8731  		"windows2019srvNext_64Guest": "7.0.1.0",
  8732  		"windows2022srvNext_64Guest": "8.0.0.1",
  8733  		"freebsd11Guest":             "6.7",
  8734  		"freebsd11_64Guest":          "6.7",
  8735  		"freebsd12Guest":             "6.7",
  8736  		"freebsd12_64Guest":          "6.7",
  8737  		"freebsd13Guest":             "7.0.1.0",
  8738  		"freebsd13_64Guest":          "7.0.1.0",
  8739  		"freebsd14Guest":             "8.0.0.1",
  8740  		"freebsd14_64Guest":          "8.0.0.1",
  8741  		"rhel5Guest":                 "2.5",
  8742  		"rhel5_64Guest":              "2.5",
  8743  		"rhel6Guest":                 "4.0",
  8744  		"rhel6_64Guest":              "4.0",
  8745  		"rhel7Guest":                 "5.5",
  8746  		"rhel7_64Guest":              "5.5",
  8747  		"rhel8_64Guest":              "6.7",
  8748  		"rhel9_64Guest":              "7.0.1.0",
  8749  		"centosGuest":                "4.1",
  8750  		"centos64Guest":              "4.1",
  8751  		"centos6Guest":               "6.5",
  8752  		"centos6_64Guest":            "6.5",
  8753  		"centos7Guest":               "6.5",
  8754  		"centos7_64Guest":            "6.5",
  8755  		"centos8_64Guest":            "6.7",
  8756  		"centos9_64Guest":            "7.0.1.0",
  8757  		"oracleLinuxGuest":           "4.1",
  8758  		"oracleLinux64Guest":         "4.1",
  8759  		"oracleLinux6Guest":          "6.5",
  8760  		"oracleLinux6_64Guest":       "6.5",
  8761  		"oracleLinux7Guest":          "6.5",
  8762  		"oracleLinux7_64Guest":       "6.5",
  8763  		"oracleLinux8_64Guest":       "6.7",
  8764  		"oracleLinux9_64Guest":       "7.0.1.0",
  8765  		"sles10Guest":                "2.5",
  8766  		"sles10_64Guest":             "2.5",
  8767  		"sles11Guest":                "4.0",
  8768  		"sles11_64Guest":             "4.0",
  8769  		"sles12Guest":                "5.5",
  8770  		"sles12_64Guest":             "5.5",
  8771  		"sles15_64Guest":             "6.7",
  8772  		"sles16_64Guest":             "7.0.1.0",
  8773  		"mandrakeGuest":              "5.5",
  8774  		"mandrivaGuest":              "2.5 U2",
  8775  		"mandriva64Guest":            "2.5 U2",
  8776  		"turboLinux64Guest":          "2.5 U2",
  8777  		"debian4Guest":               "2.5 U2",
  8778  		"debian4_64Guest":            "2.5 U2",
  8779  		"debian5Guest":               "4.0",
  8780  		"debian5_64Guest":            "4.0",
  8781  		"debian6Guest":               "5.0",
  8782  		"debian6_64Guest":            "5.0",
  8783  		"debian7Guest":               "5.5",
  8784  		"debian7_64Guest":            "5.5",
  8785  		"debian8Guest":               "6.0",
  8786  		"debian8_64Guest":            "6.0",
  8787  		"debian9Guest":               "6.5",
  8788  		"debian9_64Guest":            "6.5",
  8789  		"debian10Guest":              "6.5",
  8790  		"debian10_64Guest":           "6.5",
  8791  		"debian11Guest":              "7.0",
  8792  		"debian11_64Guest":           "7.0",
  8793  		"debian12Guest":              "8.0.0.1",
  8794  		"debian12_64Guest":           "8.0.0.1",
  8795  		"asianux3Guest":              "2.5 U2",
  8796  		"asianux3_64Guest":           "2.5 U2",
  8797  		"asianux4Guest":              "4.0",
  8798  		"asianux4_64Guest":           "4.0",
  8799  		"asianux5_64Guest":           "6.0",
  8800  		"asianux7_64Guest":           "6.5",
  8801  		"asianux8_64Guest":           "6.7",
  8802  		"asianux9_64Guest":           "7.0.1.0",
  8803  		"opensuseGuest":              "5.1",
  8804  		"opensuse64Guest":            "5.1",
  8805  		"fedoraGuest":                "5.1",
  8806  		"fedora64Guest":              "5.1",
  8807  		"coreos64Guest":              "6.0",
  8808  		"vmwarePhoton64Guest":        "6.5",
  8809  		"other3xLinuxGuest":          "5.5",
  8810  		"other4xLinuxGuest":          "6.7",
  8811  		"other5xLinuxGuest":          "7.0.1.0",
  8812  		"other6xLinuxGuest":          "8.0.0.1",
  8813  		"genericLinuxGuest":          "5.5",
  8814  		"other3xLinux64Guest":        "5.5",
  8815  		"other4xLinux64Guest":        "6.7",
  8816  		"other5xLinux64Guest":        "7.0.1.0",
  8817  		"other6xLinux64Guest":        "8.0.0.1",
  8818  		"solaris11_64Guest":          "5.0",
  8819  		"eComStationGuest":           "4.1",
  8820  		"eComStation2Guest":          "5.0",
  8821  		"openServer5Guest":           "2.5 U2",
  8822  		"openServer6Guest":           "2.5 U2",
  8823  		"unixWare7Guest":             "2.5 U2",
  8824  		"darwin64Guest":              "4.0",
  8825  		"darwin10Guest":              "5.0",
  8826  		"darwin10_64Guest":           "5.0",
  8827  		"darwin11Guest":              "5.0",
  8828  		"darwin11_64Guest":           "5.0",
  8829  		"darwin12_64Guest":           "5.5",
  8830  		"darwin13_64Guest":           "5.5",
  8831  		"darwin14_64Guest":           "6.0",
  8832  		"darwin15_64Guest":           "6.5",
  8833  		"darwin16_64Guest":           "6.5",
  8834  		"darwin17_64Guest":           "6.7",
  8835  		"darwin18_64Guest":           "6.7",
  8836  		"darwin19_64Guest":           "7.0",
  8837  		"darwin20_64Guest":           "7.0.1.0",
  8838  		"darwin21_64Guest":           "7.0.1.0",
  8839  		"darwin22_64Guest":           "8.0.0.1",
  8840  		"darwin23_64Guest":           "8.0.0.1",
  8841  		"vmkernelGuest":              "5.0",
  8842  		"vmkernel5Guest":             "5.0",
  8843  		"vmkernel6Guest":             "6.0",
  8844  		"vmkernel65Guest":            "6.5",
  8845  		"vmkernel7Guest":             "7.0",
  8846  		"vmkernel8Guest":             "8.0.0.1",
  8847  		"amazonlinux2_64Guest":       "6.7.1",
  8848  		"amazonlinux3_64Guest":       "7.0.1.0",
  8849  		"crxPod1Guest":               "7.0",
  8850  		"rockylinux_64Guest":         "8.0.0.1",
  8851  		"almalinux_64Guest":          "8.0.0.1",
  8852  	}
  8853  }
  8854  
  8855  // The possible hints that the guest could display about current tasks
  8856  // inside the guest.
  8857  type VirtualMachineGuestState string
  8858  
  8859  const (
  8860  	VirtualMachineGuestStateRunning      = VirtualMachineGuestState("running")
  8861  	VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown")
  8862  	VirtualMachineGuestStateResetting    = VirtualMachineGuestState("resetting")
  8863  	VirtualMachineGuestStateStandby      = VirtualMachineGuestState("standby")
  8864  	VirtualMachineGuestStateNotRunning   = VirtualMachineGuestState("notRunning")
  8865  	VirtualMachineGuestStateUnknown      = VirtualMachineGuestState("unknown")
  8866  )
  8867  
  8868  func init() {
  8869  	t["VirtualMachineGuestState"] = reflect.TypeOf((*VirtualMachineGuestState)(nil)).Elem()
  8870  }
  8871  
  8872  // Deprecated as of vSphere API 6.7.
  8873  //
  8874  // Set of possible values for `VirtualMachineFlagInfo.htSharing`.
  8875  type VirtualMachineHtSharing string
  8876  
  8877  const (
  8878  	// VCPUs may freely share cores at any time with any other
  8879  	// VCPUs (default for all virtual machines on a hyperthreaded
  8880  	// system).
  8881  	VirtualMachineHtSharingAny = VirtualMachineHtSharing("any")
  8882  	// VCPUs should not share cores with each other or with VCPUs
  8883  	// from other virtual machines.
  8884  	//
  8885  	// That is, each VCPU from this
  8886  	// virtual machine should always get a whole core to itself,
  8887  	// with the other logical CPU on that core being placed into
  8888  	// the "halted" state.
  8889  	VirtualMachineHtSharingNone = VirtualMachineHtSharing("none")
  8890  	// Similar to "none", in that VCPUs from this virtual machine
  8891  	// will not be allowed to share cores with VCPUs from other
  8892  	// virtual machines.
  8893  	//
  8894  	// However, other VCPUs from the same virtual
  8895  	// machine will be allowed to share cores together. This
  8896  	// configuration option is only permitted for SMP virtual
  8897  	// machines. If applied to a uniprocessor virtual machine, it
  8898  	// will be converted to the "none" sharing option.
  8899  	VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal")
  8900  )
  8901  
  8902  func init() {
  8903  	t["VirtualMachineHtSharing"] = reflect.TypeOf((*VirtualMachineHtSharing)(nil)).Elem()
  8904  }
  8905  
  8906  type VirtualMachineMemoryAllocationPolicy string
  8907  
  8908  const (
  8909  	// Fit all virtual machine memory into reserved host memory.
  8910  	VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone")
  8911  	// Allow some virtual machine memory to be swapped.
  8912  	VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome")
  8913  	// Allow most virtual machine memory to be swapped.
  8914  	VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost")
  8915  )
  8916  
  8917  func init() {
  8918  	t["VirtualMachineMemoryAllocationPolicy"] = reflect.TypeOf((*VirtualMachineMemoryAllocationPolicy)(nil)).Elem()
  8919  	minAPIVersionForType["VirtualMachineMemoryAllocationPolicy"] = "2.5"
  8920  }
  8921  
  8922  type VirtualMachineMetadataManagerVmMetadataOp string
  8923  
  8924  const (
  8925  	// Create or update the Metadata for the specified VM
  8926  	VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update")
  8927  	// Remove the Metadata for the specified VM
  8928  	VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove")
  8929  )
  8930  
  8931  func init() {
  8932  	t["VirtualMachineMetadataManagerVmMetadataOp"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOp)(nil)).Elem()
  8933  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadataOp"] = "5.5"
  8934  }
  8935  
  8936  // This enum contains a list of valid owner values for
  8937  type VirtualMachineMetadataManagerVmMetadataOwnerOwner string
  8938  
  8939  const (
  8940  	VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA")
  8941  )
  8942  
  8943  func init() {
  8944  	t["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwnerOwner)(nil)).Elem()
  8945  	minAPIVersionForType["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = "5.5"
  8946  }
  8947  
  8948  // MovePriority is an enumeration of values that indicate the priority of the task
  8949  // that moves a virtual machine from one host to another or one storage location
  8950  // to another.
  8951  //
  8952  // Note this priority can affect both the source and target hosts.
  8953  type VirtualMachineMovePriority string
  8954  
  8955  const (
  8956  	// The task of moving this virtual machine is low priority.
  8957  	VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority")
  8958  	// The task of moving this virtual machine is high priority.
  8959  	VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority")
  8960  	// The task of moving this virtual machine is the default priority.
  8961  	VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority")
  8962  )
  8963  
  8964  func init() {
  8965  	t["VirtualMachineMovePriority"] = reflect.TypeOf((*VirtualMachineMovePriority)(nil)).Elem()
  8966  }
  8967  
  8968  // The NeedSecondaryReason type defines all reasons a virtual machine is
  8969  type VirtualMachineNeedSecondaryReason string
  8970  
  8971  const (
  8972  	// Initializing FT
  8973  	VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing")
  8974  	// Divergence
  8975  	VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence")
  8976  	// Lose connection to secondary
  8977  	VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection")
  8978  	// Partial hardware failure
  8979  	VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure")
  8980  	// Terminated by user
  8981  	VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction")
  8982  	// Checkpoint error
  8983  	VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError")
  8984  	// All other reasons
  8985  	VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other")
  8986  )
  8987  
  8988  func init() {
  8989  	t["VirtualMachineNeedSecondaryReason"] = reflect.TypeOf((*VirtualMachineNeedSecondaryReason)(nil)).Elem()
  8990  	minAPIVersionForType["VirtualMachineNeedSecondaryReason"] = "4.0"
  8991  	minAPIVersionForEnumValue["VirtualMachineNeedSecondaryReason"] = map[string]string{
  8992  		"checkpointError": "6.0",
  8993  	}
  8994  }
  8995  
  8996  type VirtualMachinePowerOffBehavior string
  8997  
  8998  const (
  8999  	// Just power off the virtual machine.
  9000  	VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff")
  9001  	// Revert to the snapshot.
  9002  	VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert")
  9003  	// Prompt the user for instructions at power-off time.
  9004  	VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt")
  9005  	// Take a new snapshot.
  9006  	VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take")
  9007  )
  9008  
  9009  func init() {
  9010  	t["VirtualMachinePowerOffBehavior"] = reflect.TypeOf((*VirtualMachinePowerOffBehavior)(nil)).Elem()
  9011  	minAPIVersionForType["VirtualMachinePowerOffBehavior"] = "2.5"
  9012  	minAPIVersionForEnumValue["VirtualMachinePowerOffBehavior"] = map[string]string{
  9013  		"take": "6.0",
  9014  	}
  9015  }
  9016  
  9017  // The list of possible default power operations available for the virtual machine
  9018  type VirtualMachinePowerOpType string
  9019  
  9020  const (
  9021  	VirtualMachinePowerOpTypeSoft   = VirtualMachinePowerOpType("soft")
  9022  	VirtualMachinePowerOpTypeHard   = VirtualMachinePowerOpType("hard")
  9023  	VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset")
  9024  )
  9025  
  9026  func init() {
  9027  	t["VirtualMachinePowerOpType"] = reflect.TypeOf((*VirtualMachinePowerOpType)(nil)).Elem()
  9028  }
  9029  
  9030  // The PowerState type defines a simple set of states for a virtual machine:
  9031  // poweredOn, poweredOff, and suspended.
  9032  //
  9033  // This type does not model substates,
  9034  // such as when a task is running to change the virtual machine state.
  9035  // If the virtual machine is in a state with a task in progress, it
  9036  // transitions to a new state when the task completes. For example, a virtual
  9037  // machine continues to be in the poweredOn state while a suspend task
  9038  // is running, and changes to the suspended state once the task finishes.
  9039  //
  9040  // As a consequence of this approach, clients interested in monitoring
  9041  // the status of a virtual machine should typically track the
  9042  // `activeTask` data object in addition to the
  9043  // `powerState` object.
  9044  type VirtualMachinePowerState string
  9045  
  9046  const (
  9047  	// The virtual machine is currently powered off.
  9048  	VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff")
  9049  	// The virtual machine is currently powered on.
  9050  	VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn")
  9051  	// The virtual machine is currently suspended.
  9052  	VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended")
  9053  )
  9054  
  9055  func init() {
  9056  	t["VirtualMachinePowerState"] = reflect.TypeOf((*VirtualMachinePowerState)(nil)).Elem()
  9057  }
  9058  
  9059  // Deprecated as of vSphere API 6.0.
  9060  //
  9061  // The RecordReplayState type defines a simple set of record and replay
  9062  type VirtualMachineRecordReplayState string
  9063  
  9064  const (
  9065  	// The virtual machine is recording.
  9066  	VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording")
  9067  	// The virtual machine is replaying.
  9068  	VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying")
  9069  	// The virtual machine is currently not participating
  9070  	// in record or replay.
  9071  	VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive")
  9072  )
  9073  
  9074  func init() {
  9075  	t["VirtualMachineRecordReplayState"] = reflect.TypeOf((*VirtualMachineRecordReplayState)(nil)).Elem()
  9076  	minAPIVersionForType["VirtualMachineRecordReplayState"] = "4.0"
  9077  }
  9078  
  9079  // Specifies how a virtual disk is moved or copied to a
  9080  // datastore.
  9081  //
  9082  // In all cases after the move or copy the virtual machine's current running point
  9083  // will be placed on the target datastore. The current running point is defined
  9084  // as the disk backing which the virtual machine is currently
  9085  // writing to. This end state can be achieved in multiple
  9086  // ways, and the supported options are described in this
  9087  // enumeration.
  9088  //
  9089  // These options are only relevant when the backing of the
  9090  // specified disk is a *file backing*.
  9091  //
  9092  // Since disk backings may become shared as the result of
  9093  // either a *clone operation* or
  9094  // a *relocate operation*,
  9095  // `VirtualMachine.PromoteDisks_Task` has been provided as
  9096  // a way to unshare such disk backings.
  9097  type VirtualMachineRelocateDiskMoveOptions string
  9098  
  9099  const (
  9100  	// All of the virtual disk's backings should be moved to the new datastore.
  9101  	//
  9102  	// If a disk backing is not the child-most backing of this virtual machine,
  9103  	// and there exists a read-only disk backing with the same content ID
  9104  	// on the target datastore, then this disk backing may not be copied. Instead
  9105  	// it is acceptable to attach to the read-only disk backing at the target
  9106  	// datastore. A read-only disk backing is defined as a virtual disk
  9107  	// backing which no virtual machine is currently writing to.
  9108  	//
  9109  	// See also `VirtualDiskSparseVer1BackingInfo.contentId`, `VirtualDiskSparseVer2BackingInfo.contentId`, `VirtualDiskFlatVer1BackingInfo.contentId`, `VirtualDiskFlatVer2BackingInfo.contentId`, `VirtualDiskRawDiskMappingVer1BackingInfo.contentId`.
  9110  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing")
  9111  	// All of the virtual disk's backings should be moved to the new datastore.
  9112  	//
  9113  	// It is not acceptable to attach to a disk backing with the same content ID
  9114  	// on the destination datastore. During a *clone operation* any delta disk backings will be consolidated.
  9115  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing")
  9116  	// Move only the child-most disk backing.
  9117  	//
  9118  	// Any parent disk backings should
  9119  	// be left in their current locations.
  9120  	//
  9121  	// This option only differs from `moveAllDiskBackingsAndAllowSharing` and
  9122  	// `moveAllDiskBackingsAndDisallowSharing` when the virtual
  9123  	// disk has a parent backing.
  9124  	//
  9125  	// Note that in the case of a *clone operation*,
  9126  	// this means that the parent disks will now be shared. This is safe as any
  9127  	// parent disks are always read-only.
  9128  	// Note that in the case of a `VirtualMachine.RelocateVM_Task` operation,
  9129  	// only the virtual disks in the current virtual machine configuration are moved.
  9130  	VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking")
  9131  	// Create a new child disk backing on the destination datastore.
  9132  	//
  9133  	// None of the
  9134  	// virtual disk's existing files should be moved from their current locations.
  9135  	//
  9136  	// Note that in the case of a *clone operation*,
  9137  	// this means that the original virtual machine's disks are now all being shared.
  9138  	// This is only safe if the clone was taken from a snapshot point, because
  9139  	// snapshot points are always read-only. Thus for a clone this
  9140  	// option is only valid *when cloning from a snapshot*.
  9141  	// createNewChildDiskBacking is not a supported operation for
  9142  	// `VirtualMachine.RelocateVM_Task` operations unless all disks are moving.
  9143  	VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking")
  9144  	// All of the virtual disk's backings should be moved to the new datastore.
  9145  	//
  9146  	// During a *clone operation* or a
  9147  	// `VirtualMachine.MigrateVM_Task`, any delta disk backings will be
  9148  	// consolidated.
  9149  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate")
  9150  )
  9151  
  9152  func init() {
  9153  	t["VirtualMachineRelocateDiskMoveOptions"] = reflect.TypeOf((*VirtualMachineRelocateDiskMoveOptions)(nil)).Elem()
  9154  	minAPIVersionForType["VirtualMachineRelocateDiskMoveOptions"] = "4.0"
  9155  	minAPIVersionForEnumValue["VirtualMachineRelocateDiskMoveOptions"] = map[string]string{
  9156  		"moveAllDiskBackingsAndConsolidate": "5.1",
  9157  	}
  9158  }
  9159  
  9160  // Deprecated as of vSphere API 5.0.
  9161  //
  9162  // The set of tranformations that can be performed on the virtual disks
  9163  // as part of the copy.
  9164  type VirtualMachineRelocateTransformation string
  9165  
  9166  const (
  9167  	VirtualMachineRelocateTransformationFlat   = VirtualMachineRelocateTransformation("flat")
  9168  	VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse")
  9169  )
  9170  
  9171  func init() {
  9172  	t["VirtualMachineRelocateTransformation"] = reflect.TypeOf((*VirtualMachineRelocateTransformation)(nil)).Elem()
  9173  }
  9174  
  9175  // Possible SCSI classes.
  9176  type VirtualMachineScsiPassthroughType string
  9177  
  9178  const (
  9179  	VirtualMachineScsiPassthroughTypeDisk      = VirtualMachineScsiPassthroughType("disk")
  9180  	VirtualMachineScsiPassthroughTypeTape      = VirtualMachineScsiPassthroughType("tape")
  9181  	VirtualMachineScsiPassthroughTypePrinter   = VirtualMachineScsiPassthroughType("printer")
  9182  	VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor")
  9183  	VirtualMachineScsiPassthroughTypeWorm      = VirtualMachineScsiPassthroughType("worm")
  9184  	VirtualMachineScsiPassthroughTypeCdrom     = VirtualMachineScsiPassthroughType("cdrom")
  9185  	VirtualMachineScsiPassthroughTypeScanner   = VirtualMachineScsiPassthroughType("scanner")
  9186  	VirtualMachineScsiPassthroughTypeOptical   = VirtualMachineScsiPassthroughType("optical")
  9187  	VirtualMachineScsiPassthroughTypeMedia     = VirtualMachineScsiPassthroughType("media")
  9188  	VirtualMachineScsiPassthroughTypeCom       = VirtualMachineScsiPassthroughType("com")
  9189  	VirtualMachineScsiPassthroughTypeRaid      = VirtualMachineScsiPassthroughType("raid")
  9190  	VirtualMachineScsiPassthroughTypeUnknown   = VirtualMachineScsiPassthroughType("unknown")
  9191  )
  9192  
  9193  func init() {
  9194  	t["VirtualMachineScsiPassthroughType"] = reflect.TypeOf((*VirtualMachineScsiPassthroughType)(nil)).Elem()
  9195  }
  9196  
  9197  type VirtualMachineSgxInfoFlcModes string
  9198  
  9199  const (
  9200  	// FLC is available in the guest.
  9201  	//
  9202  	// The "launch Enclave MSRs" are locked and
  9203  	// initialized with the provided public key hash.
  9204  	VirtualMachineSgxInfoFlcModesLocked = VirtualMachineSgxInfoFlcModes("locked")
  9205  	// FLC is available in the guest.
  9206  	//
  9207  	// The "launch enclave MSRs" are writeable
  9208  	// and initialized with Intel's public key hash.
  9209  	VirtualMachineSgxInfoFlcModesUnlocked = VirtualMachineSgxInfoFlcModes("unlocked")
  9210  )
  9211  
  9212  func init() {
  9213  	t["VirtualMachineSgxInfoFlcModes"] = reflect.TypeOf((*VirtualMachineSgxInfoFlcModes)(nil)).Elem()
  9214  	minAPIVersionForType["VirtualMachineSgxInfoFlcModes"] = "7.0"
  9215  }
  9216  
  9217  // The list of possible standby actions that the virtual machine can take
  9218  // for S1 ACPI.
  9219  type VirtualMachineStandbyActionType string
  9220  
  9221  const (
  9222  	VirtualMachineStandbyActionTypeCheckpoint     = VirtualMachineStandbyActionType("checkpoint")
  9223  	VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend")
  9224  )
  9225  
  9226  func init() {
  9227  	t["VirtualMachineStandbyActionType"] = reflect.TypeOf((*VirtualMachineStandbyActionType)(nil)).Elem()
  9228  }
  9229  
  9230  // Describes how widely the endpoint is available in a cluster.
  9231  //
  9232  // Note that these fields are not necessarily mutual-exclusive.
  9233  type VirtualMachineTargetInfoConfigurationTag string
  9234  
  9235  const (
  9236  	// Indicates that this device is part of the cluster compliant
  9237  	// specification.
  9238  	VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant")
  9239  	// Indicates that this is available for all hosts in the cluster.
  9240  	VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide")
  9241  )
  9242  
  9243  func init() {
  9244  	t["VirtualMachineTargetInfoConfigurationTag"] = reflect.TypeOf((*VirtualMachineTargetInfoConfigurationTag)(nil)).Elem()
  9245  }
  9246  
  9247  type VirtualMachineTicketType string
  9248  
  9249  const (
  9250  	//
  9251  	//
  9252  	// Deprecated as of vSphere API 8.0. Use `webmks` instead.
  9253  	//
  9254  	// Remote mouse-keyboard-screen ticket.
  9255  	VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks")
  9256  	//
  9257  	//
  9258  	// Deprecated as of vSphere 8.0 API. Use `webRemoteDevice`
  9259  	// instead.
  9260  	//
  9261  	// Remote device ticket.
  9262  	VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device")
  9263  	//
  9264  	//
  9265  	// Deprecated as of vSphere 6.6.3 API. Use
  9266  	// `GuestOperationsManager` instead.
  9267  	//
  9268  	// Guest operation ticket.
  9269  	VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl")
  9270  	// Mouse-keyboard-screen over WebSocket ticket.
  9271  	//
  9272  	// MKS protocol is VNC (a.k.a. RFB) protocol with
  9273  	// VMware extensions; the protocol gracefully degrades
  9274  	// to standard VNC if extensions are not available.
  9275  	// wss://{Ticket.host}/ticket/{Ticket.ticket}
  9276  	VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks")
  9277  	// Guest Integrity over WebSocket ticket.
  9278  	//
  9279  	// This ticket grants the client read-only access to guest integrity
  9280  	// messages and alerts.
  9281  	VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity")
  9282  	// Remote device over WebSocket ticket.
  9283  	VirtualMachineTicketTypeWebRemoteDevice = VirtualMachineTicketType("webRemoteDevice")
  9284  )
  9285  
  9286  func init() {
  9287  	t["VirtualMachineTicketType"] = reflect.TypeOf((*VirtualMachineTicketType)(nil)).Elem()
  9288  	minAPIVersionForType["VirtualMachineTicketType"] = "4.1"
  9289  	minAPIVersionForEnumValue["VirtualMachineTicketType"] = map[string]string{
  9290  		"webmks":          "6.0",
  9291  		"guestIntegrity":  "6.7",
  9292  		"webRemoteDevice": "7.0",
  9293  	}
  9294  }
  9295  
  9296  type VirtualMachineToolsInstallType string
  9297  
  9298  const (
  9299  	// Installation type is not known.
  9300  	//
  9301  	// Most likely tools have been
  9302  	// installed by OSPs or open-vm-tools, but a version that does
  9303  	// not report its install type or an install type that we do
  9304  	// not recognize.
  9305  	VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown")
  9306  	// MSI is the installation type used for VMware Tools on Windows.
  9307  	VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI")
  9308  	// Tools have been installed by the tar installer.
  9309  	VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar")
  9310  	// OSPs are RPM or Debian packages tailored for the OS in the VM.
  9311  	//
  9312  	// See http://packages.vmware.com
  9313  	VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP")
  9314  	// open-vm-tools are the open-source version of VMware Tools, may have
  9315  	// been packaged by the OS vendor.
  9316  	VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools")
  9317  )
  9318  
  9319  func init() {
  9320  	t["VirtualMachineToolsInstallType"] = reflect.TypeOf((*VirtualMachineToolsInstallType)(nil)).Elem()
  9321  	minAPIVersionForType["VirtualMachineToolsInstallType"] = "6.5"
  9322  }
  9323  
  9324  // Current running status of VMware Tools running in the guest
  9325  type VirtualMachineToolsRunningStatus string
  9326  
  9327  const (
  9328  	// VMware Tools is not running.
  9329  	VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning")
  9330  	// VMware Tools is running.
  9331  	VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning")
  9332  	// VMware Tools is starting.
  9333  	VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts")
  9334  )
  9335  
  9336  func init() {
  9337  	t["VirtualMachineToolsRunningStatus"] = reflect.TypeOf((*VirtualMachineToolsRunningStatus)(nil)).Elem()
  9338  	minAPIVersionForType["VirtualMachineToolsRunningStatus"] = "4.0"
  9339  }
  9340  
  9341  // Deprecated as of vSphere API 4.0 use `VirtualMachineToolsVersionStatus_enum`
  9342  // and `VirtualMachineToolsRunningStatus_enum`.
  9343  //
  9344  // Current status of VMware Tools running in the guest operating system.
  9345  type VirtualMachineToolsStatus string
  9346  
  9347  const (
  9348  	// VMware Tools has never been installed
  9349  	// or has not run in the virtual machine.
  9350  	VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled")
  9351  	// VMware Tools is not running.
  9352  	VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning")
  9353  	// VMware Tools is running, but the version is not current.
  9354  	VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld")
  9355  	// VMware Tools is running and the version is current.
  9356  	VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk")
  9357  )
  9358  
  9359  func init() {
  9360  	t["VirtualMachineToolsStatus"] = reflect.TypeOf((*VirtualMachineToolsStatus)(nil)).Elem()
  9361  }
  9362  
  9363  // Current version status of VMware Tools installed in the guest operating
  9364  type VirtualMachineToolsVersionStatus string
  9365  
  9366  const (
  9367  	// VMware Tools has never been installed.
  9368  	VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled")
  9369  	//
  9370  	//
  9371  	// Deprecated as of vSphere API 5.1 value is not reported by
  9372  	// toolsVersionStatus2, instead more detailed status is reported.
  9373  	//
  9374  	// VMware Tools is installed, but the version is not current.
  9375  	VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade")
  9376  	// VMware Tools is installed, and the version is current.
  9377  	VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent")
  9378  	// VMware Tools is installed, but it is not managed by VMWare.
  9379  	VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged")
  9380  	// VMware Tools is installed, but the version is too old.
  9381  	VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld")
  9382  	// VMware Tools is installed, supported, but a newer version is available.
  9383  	VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld")
  9384  	// VMware Tools is installed, supported, and newer
  9385  	// than the version available on the host.
  9386  	VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew")
  9387  	// VMware Tools is installed, and the version is known to be
  9388  	// too new to work correctly with this virtual machine.
  9389  	VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew")
  9390  	// VMware Tools is installed, but the installed version is
  9391  	// known to have a grave bug and should be immediately upgraded.
  9392  	VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted")
  9393  )
  9394  
  9395  func init() {
  9396  	t["VirtualMachineToolsVersionStatus"] = reflect.TypeOf((*VirtualMachineToolsVersionStatus)(nil)).Elem()
  9397  	minAPIVersionForType["VirtualMachineToolsVersionStatus"] = "4.0"
  9398  	minAPIVersionForEnumValue["VirtualMachineToolsVersionStatus"] = map[string]string{
  9399  		"guestToolsTooOld":       "5.0",
  9400  		"guestToolsSupportedOld": "5.0",
  9401  		"guestToolsSupportedNew": "5.0",
  9402  		"guestToolsTooNew":       "5.0",
  9403  		"guestToolsBlacklisted":  "5.0",
  9404  	}
  9405  }
  9406  
  9407  type VirtualMachineUsbInfoFamily string
  9408  
  9409  const (
  9410  	// Audio capable device.
  9411  	VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio")
  9412  	// Human interface device.
  9413  	VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid")
  9414  	// Bootable human interface device, this is a subset of HID devices.
  9415  	VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable")
  9416  	// Physical interface device.
  9417  	VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical")
  9418  	// Communication device.
  9419  	VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication")
  9420  	// Still imaging device.
  9421  	VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging")
  9422  	// Printer device.
  9423  	VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer")
  9424  	// Mass storage device.
  9425  	VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage")
  9426  	// USB hubs.
  9427  	VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub")
  9428  	// Smart card device.
  9429  	VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card")
  9430  	// Content security device.
  9431  	VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security")
  9432  	// Video device.
  9433  	VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video")
  9434  	// Wireless controller.
  9435  	VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless")
  9436  	// Standard bluetooth adapter that uses HCI protocol,
  9437  	// this is a subset of wireless controllers.
  9438  	VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth")
  9439  	// Wireless device related to the Wireless USB standard,
  9440  	// this is a subset of wireless controllers,
  9441  	VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb")
  9442  	// Palm PDA, and Micorsoft ActiveSync PDA.
  9443  	VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda")
  9444  	// Device that has an interface using a vendor-specific protocol.
  9445  	VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific")
  9446  	// Other miscellaneous device.
  9447  	VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other")
  9448  	// There was an error in determining this device's classes
  9449  	// accurately.
  9450  	VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily")
  9451  )
  9452  
  9453  func init() {
  9454  	t["VirtualMachineUsbInfoFamily"] = reflect.TypeOf((*VirtualMachineUsbInfoFamily)(nil)).Elem()
  9455  	minAPIVersionForType["VirtualMachineUsbInfoFamily"] = "2.5"
  9456  }
  9457  
  9458  type VirtualMachineUsbInfoSpeed string
  9459  
  9460  const (
  9461  	// This device operates at low speed (1.5Mb/s).
  9462  	VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low")
  9463  	// This device operates at full speed (12Mb/s).
  9464  	VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full")
  9465  	// This device can operate at high speed (480Mb/s)
  9466  	VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high")
  9467  	// This device can operate at super speed (4.8Gb/s)
  9468  	VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed")
  9469  	// This device can operate at super speed plus (10Gb/s)
  9470  	VirtualMachineUsbInfoSpeedSuperSpeedPlus = VirtualMachineUsbInfoSpeed("superSpeedPlus")
  9471  	// This device can operate at super speed gen 2x2 (20Gb/s)
  9472  	VirtualMachineUsbInfoSpeedSuperSpeed20Gbps = VirtualMachineUsbInfoSpeed("superSpeed20Gbps")
  9473  	// This device's speed is unknown.
  9474  	VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed")
  9475  )
  9476  
  9477  func init() {
  9478  	t["VirtualMachineUsbInfoSpeed"] = reflect.TypeOf((*VirtualMachineUsbInfoSpeed)(nil)).Elem()
  9479  	minAPIVersionForType["VirtualMachineUsbInfoSpeed"] = "2.5"
  9480  	minAPIVersionForEnumValue["VirtualMachineUsbInfoSpeed"] = map[string]string{
  9481  		"superSpeed":       "5.0",
  9482  		"superSpeedPlus":   "6.8.7",
  9483  		"superSpeed20Gbps": "7.0.3.2",
  9484  	}
  9485  }
  9486  
  9487  // Set of possible values for action field in FilterSpec.
  9488  type VirtualMachineVMCIDeviceAction string
  9489  
  9490  const (
  9491  	// Allow communication.
  9492  	VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow")
  9493  	// Deny communication.
  9494  	VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny")
  9495  )
  9496  
  9497  func init() {
  9498  	t["VirtualMachineVMCIDeviceAction"] = reflect.TypeOf((*VirtualMachineVMCIDeviceAction)(nil)).Elem()
  9499  	minAPIVersionForType["VirtualMachineVMCIDeviceAction"] = "6.0"
  9500  }
  9501  
  9502  type VirtualMachineVMCIDeviceDirection string
  9503  
  9504  const (
  9505  	// from host to guest
  9506  	VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest")
  9507  	// from guest to host
  9508  	VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host")
  9509  	// all of the above
  9510  	VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection")
  9511  )
  9512  
  9513  func init() {
  9514  	t["VirtualMachineVMCIDeviceDirection"] = reflect.TypeOf((*VirtualMachineVMCIDeviceDirection)(nil)).Elem()
  9515  	minAPIVersionForType["VirtualMachineVMCIDeviceDirection"] = "6.0"
  9516  }
  9517  
  9518  type VirtualMachineVMCIDeviceProtocol string
  9519  
  9520  const (
  9521  	// VMCI hypervisor datagram send op.
  9522  	//
  9523  	// Direction code is not applicable to this one.
  9524  	VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor")
  9525  	// VMCI doorbell notification
  9526  	VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell")
  9527  	// VMCI queue pair alloc operation.
  9528  	//
  9529  	// Direction code not applicable to this one.
  9530  	VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair")
  9531  	// VMCI and VMCI Socket datagram send op.
  9532  	//
  9533  	// Since VMCI Socket datagrams map ports directly to resources,
  9534  	// there is no need to distinguish between the two.
  9535  	VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram")
  9536  	// VMCI Stream Socket connect op.
  9537  	VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream")
  9538  	// All of the above.
  9539  	VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol")
  9540  )
  9541  
  9542  func init() {
  9543  	t["VirtualMachineVMCIDeviceProtocol"] = reflect.TypeOf((*VirtualMachineVMCIDeviceProtocol)(nil)).Elem()
  9544  	minAPIVersionForType["VirtualMachineVMCIDeviceProtocol"] = "6.0"
  9545  }
  9546  
  9547  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType string
  9548  
  9549  const (
  9550  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("pciPassthru")
  9551  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu  = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("nvidiaVgpu")
  9552  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic    = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("sriovNic")
  9553  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx         = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("dvx")
  9554  )
  9555  
  9556  func init() {
  9557  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType)(nil)).Elem()
  9558  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = "8.0.0.1"
  9559  }
  9560  
  9561  type VirtualMachineVgpuProfileInfoProfileClass string
  9562  
  9563  const (
  9564  	VirtualMachineVgpuProfileInfoProfileClassCompute = VirtualMachineVgpuProfileInfoProfileClass("compute")
  9565  	VirtualMachineVgpuProfileInfoProfileClassQuadro  = VirtualMachineVgpuProfileInfoProfileClass("quadro")
  9566  )
  9567  
  9568  func init() {
  9569  	t["VirtualMachineVgpuProfileInfoProfileClass"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileClass)(nil)).Elem()
  9570  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileClass"] = "7.0.3.0"
  9571  }
  9572  
  9573  type VirtualMachineVgpuProfileInfoProfileSharing string
  9574  
  9575  const (
  9576  	// Time-sliced
  9577  	VirtualMachineVgpuProfileInfoProfileSharingTimeSliced = VirtualMachineVgpuProfileInfoProfileSharing("timeSliced")
  9578  	// Multi-instance GPU partitioning
  9579  	VirtualMachineVgpuProfileInfoProfileSharingMig = VirtualMachineVgpuProfileInfoProfileSharing("mig")
  9580  )
  9581  
  9582  func init() {
  9583  	t["VirtualMachineVgpuProfileInfoProfileSharing"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileSharing)(nil)).Elem()
  9584  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileSharing"] = "7.0.3.0"
  9585  }
  9586  
  9587  type VirtualMachineVideoCardUse3dRenderer string
  9588  
  9589  const (
  9590  	// Determine automatically whether to render 3D with software or hardware.
  9591  	VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic")
  9592  	// Render 3D with software.
  9593  	VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software")
  9594  	// Render 3D with graphics hardware.
  9595  	VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware")
  9596  )
  9597  
  9598  func init() {
  9599  	t["VirtualMachineVideoCardUse3dRenderer"] = reflect.TypeOf((*VirtualMachineVideoCardUse3dRenderer)(nil)).Elem()
  9600  	minAPIVersionForType["VirtualMachineVideoCardUse3dRenderer"] = "5.1"
  9601  }
  9602  
  9603  type VirtualMachineVirtualDeviceSwapDeviceSwapStatus string
  9604  
  9605  const (
  9606  	// No operation active.
  9607  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("none")
  9608  	// Device swap will be performed on next restart.
  9609  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("scheduled")
  9610  	// Device swap is in progress.
  9611  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("inprogress")
  9612  	// Device swap failed.
  9613  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("failed")
  9614  	// Device swap successfully completed.
  9615  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("completed")
  9616  )
  9617  
  9618  func init() {
  9619  	t["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapStatus)(nil)).Elem()
  9620  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = "8.0.0.1"
  9621  }
  9622  
  9623  type VirtualMachineVirtualPMemSnapshotMode string
  9624  
  9625  const (
  9626  	// The data on virtual NVDIMMs are not affected by snapshot reverts.
  9627  	//
  9628  	// Writes to virtual NVDIMMs after a snapshot is taken cannot be
  9629  	// reverted to the snapshotted state.
  9630  	VirtualMachineVirtualPMemSnapshotModeIndependent_persistent = VirtualMachineVirtualPMemSnapshotMode("independent_persistent")
  9631  	// Virtual NVDIMMs are erased and recreated upon snapshot reverts.
  9632  	VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert = VirtualMachineVirtualPMemSnapshotMode("independent_eraseonrevert")
  9633  )
  9634  
  9635  func init() {
  9636  	t["VirtualMachineVirtualPMemSnapshotMode"] = reflect.TypeOf((*VirtualMachineVirtualPMemSnapshotMode)(nil)).Elem()
  9637  	minAPIVersionForType["VirtualMachineVirtualPMemSnapshotMode"] = "7.0.3.0"
  9638  }
  9639  
  9640  // The VSS Snapshot Context
  9641  type VirtualMachineWindowsQuiesceSpecVssBackupContext string
  9642  
  9643  const (
  9644  	// The context value indicates auto selection of VSS snapshot context.
  9645  	//
  9646  	// The ctx\_backup may make Windows VSS-aware applications quiescing during
  9647  	// backup. The ctx\_auto makes VMTools select ctx\_file\_share\_backup context
  9648  	// if ctx\_backup is not available.
  9649  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto")
  9650  	// Indicate VSS\_CTX\_BACKUP.
  9651  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup")
  9652  	// Indicate VSS\_CTX\_FILE\_SHARE\_BACKUP.
  9653  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup")
  9654  )
  9655  
  9656  func init() {
  9657  	t["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpecVssBackupContext)(nil)).Elem()
  9658  	minAPIVersionForType["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = "6.5"
  9659  }
  9660  
  9661  type VirtualNVMEControllerSharing string
  9662  
  9663  const (
  9664  	VirtualNVMEControllerSharingNoSharing       = VirtualNVMEControllerSharing("noSharing")
  9665  	VirtualNVMEControllerSharingPhysicalSharing = VirtualNVMEControllerSharing("physicalSharing")
  9666  )
  9667  
  9668  func init() {
  9669  	t["VirtualNVMEControllerSharing"] = reflect.TypeOf((*VirtualNVMEControllerSharing)(nil)).Elem()
  9670  	minAPIVersionForType["VirtualNVMEControllerSharing"] = "8.0.2.0"
  9671  }
  9672  
  9673  // The valid choices for host pointing devices are:
  9674  type VirtualPointingDeviceHostChoice string
  9675  
  9676  const (
  9677  	// Automatically detects the host mouse type.
  9678  	VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect")
  9679  	// The Microsoft IntelliMouse Explorer.
  9680  	VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer")
  9681  	// The Microsoft Intellimouse with a PS2 connection.
  9682  	VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2")
  9683  	// The Logitech MouseMan.
  9684  	VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman")
  9685  	// The Microsoft Serial Mouse.
  9686  	VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial")
  9687  	// The Mouse Systems Mouse.
  9688  	VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems")
  9689  	// The Logitech MouseMan Serial Bus Mouse.
  9690  	VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial")
  9691  	// A generic mouse with a PS2 connection.
  9692  	VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2")
  9693  )
  9694  
  9695  func init() {
  9696  	t["VirtualPointingDeviceHostChoice"] = reflect.TypeOf((*VirtualPointingDeviceHostChoice)(nil)).Elem()
  9697  }
  9698  
  9699  // Sharing describes three possible ways of sharing the SCSI bus:
  9700  // One of these values is assigned to the sharedBus object to determine
  9701  // if or how the SCSI bus is shared.
  9702  type VirtualSCSISharing string
  9703  
  9704  const (
  9705  	// The virtual SCSI bus is not shared.
  9706  	VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing")
  9707  	// The virtual SCSI bus is shared between two or more virtual machines.
  9708  	//
  9709  	// In this case, no physical machine is involved.
  9710  	VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing")
  9711  	// The virtual SCSI bus is shared between two or more virtual machines
  9712  	// residing on different physical hosts.
  9713  	VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing")
  9714  )
  9715  
  9716  func init() {
  9717  	t["VirtualSCSISharing"] = reflect.TypeOf((*VirtualSCSISharing)(nil)).Elem()
  9718  }
  9719  
  9720  // The <code>`VirtualSerialPortEndPoint_enum` enum defines
  9721  // endpoint values for virtual serial port pipe backing.
  9722  //
  9723  // When you use serial port pipe backing to connect a virtual machine
  9724  // to another process, you must define the endpoints.
  9725  // See the <code>`VirtualSerialPortPipeBackingInfo.endpoint`</code>
  9726  // property for the virtual serial port pipe backing information data object.
  9727  //
  9728  // The possible endpoint values are:
  9729  //   - client
  9730  //   - server
  9731  //
  9732  // For the supported choices, see the
  9733  // <code>`VirtualSerialPortPipeBackingOption.endpoint`</code>
  9734  // property for the virtual serial port pipe backing option data object.
  9735  type VirtualSerialPortEndPoint string
  9736  
  9737  const (
  9738  	VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client")
  9739  	VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server")
  9740  )
  9741  
  9742  func init() {
  9743  	t["VirtualSerialPortEndPoint"] = reflect.TypeOf((*VirtualSerialPortEndPoint)(nil)).Elem()
  9744  }
  9745  
  9746  type VirtualVmxnet3VrdmaOptionDeviceProtocols string
  9747  
  9748  const (
  9749  	// A RoCEv1 device.
  9750  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev1")
  9751  	// A RoCEv2 device.
  9752  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev2")
  9753  )
  9754  
  9755  func init() {
  9756  	t["VirtualVmxnet3VrdmaOptionDeviceProtocols"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOptionDeviceProtocols)(nil)).Elem()
  9757  	minAPIVersionForType["VirtualVmxnet3VrdmaOptionDeviceProtocols"] = "6.7"
  9758  }
  9759  
  9760  type VmDasBeingResetEventReasonCode string
  9761  
  9762  const (
  9763  	// vmtools heartbeat failure
  9764  	VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure")
  9765  	// application heartbeat failure
  9766  	VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure")
  9767  	// immediate reset request
  9768  	VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest")
  9769  	// reset issued by VMCP when APD cleared
  9770  	VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared")
  9771  )
  9772  
  9773  func init() {
  9774  	t["VmDasBeingResetEventReasonCode"] = reflect.TypeOf((*VmDasBeingResetEventReasonCode)(nil)).Elem()
  9775  	minAPIVersionForType["VmDasBeingResetEventReasonCode"] = "4.1"
  9776  	minAPIVersionForEnumValue["VmDasBeingResetEventReasonCode"] = map[string]string{
  9777  		"appImmediateResetRequest": "5.5",
  9778  		"vmcpResetApdCleared":      "6.0",
  9779  	}
  9780  }
  9781  
  9782  type VmFailedStartingSecondaryEventFailureReason string
  9783  
  9784  const (
  9785  	// Remote host is incompatible for secondary virtual machine.
  9786  	//
  9787  	// For instance, the host doesn't have access to the virtual machine's
  9788  	// network or datastore.
  9789  	VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost")
  9790  	// Login to remote host failed.
  9791  	VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed")
  9792  	// Registration of the secondary virtual machine
  9793  	// on the remote host failed.
  9794  	VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed")
  9795  	// Migration failed.
  9796  	VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed")
  9797  )
  9798  
  9799  func init() {
  9800  	t["VmFailedStartingSecondaryEventFailureReason"] = reflect.TypeOf((*VmFailedStartingSecondaryEventFailureReason)(nil)).Elem()
  9801  	minAPIVersionForType["VmFailedStartingSecondaryEventFailureReason"] = "4.0"
  9802  }
  9803  
  9804  type VmFaultToleranceConfigIssueReasonForIssue string
  9805  
  9806  const (
  9807  	// HA is not enabled on the cluster
  9808  	VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled")
  9809  	// There is already a secondary virtual machine for the primary
  9810  	// virtual machine
  9811  	VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary")
  9812  	//
  9813  	//
  9814  	// Deprecated as of vSphere API 6.0.
  9815  	//
  9816  	// The virtual machine does not support record/replay.
  9817  	//
  9818  	// Vm::Capability.RecordReplaySupported is false.
  9819  	VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported")
  9820  	//
  9821  	//
  9822  	// Deprecated as of vSphere API 6.0.
  9823  	//
  9824  	// It is not possible to turn on Fault Tolerance on this powered-on VM.
  9825  	//
  9826  	// The support for record/replay should be enabled or Fault Tolerance
  9827  	// turned on, when this VM is powered off.
  9828  	VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported")
  9829  	// The virtual machine is a template
  9830  	VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm")
  9831  	// The virtual machine has more than one virtual CPU
  9832  	VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU")
  9833  	// The host is not active
  9834  	VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive")
  9835  	// The host ftSupported flag is not set because of hardware issues
  9836  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware")
  9837  	// The host ftSupported flag is not set because of it is a
  9838  	// VMware Server 2.0
  9839  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct")
  9840  	// No VMotion license or VMotion nic is not configured on the host
  9841  	VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic")
  9842  	// FT logging nic is not configured on the host
  9843  	VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic")
  9844  	// The virtual machine has thin provisioned disks
  9845  	VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk")
  9846  	// The "check host certificate" flag is not set
  9847  	VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet")
  9848  	// The virtual machine has one or more snapshots
  9849  	VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots")
  9850  	// No configuration information is available for the virtual machine
  9851  	VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig")
  9852  	// The virtual machine is a fault tolerance secondary virtual machine
  9853  	VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm")
  9854  	// The virtual machine has one or more disks on local datastore
  9855  	VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk")
  9856  	// The virtual machine is an ESX agent VM
  9857  	VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm")
  9858  	// The virtual machine video device has 3D enabled
  9859  	VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled")
  9860  	// `**Since:**` vSphere API Release 5.1
  9861  	VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk")
  9862  	// FT logging nic does not have desired bandwidth
  9863  	VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth")
  9864  	// The host does not support fault tolerant VM with nested HV or VBS
  9865  	// enabled.
  9866  	VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration")
  9867  	// The virtual machine has a vFlash memory device or/and disks with
  9868  	// vFlash cache configured.
  9869  	VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration")
  9870  	// VMware product installed on the host does not support
  9871  	// fault tolerance
  9872  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct")
  9873  	// Host CPU does not support hardware virtualization
  9874  	VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported")
  9875  	// Host CPU does not support hardware MMU virtualization
  9876  	VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported")
  9877  	// Host CPU is compatible for replay-based FT, but hardware
  9878  	// virtualization has been disabled in the BIOS.
  9879  	VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled")
  9880  	// The virtual machine firmware is of type EFI
  9881  	VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware")
  9882  	// The host does not support fault tolerance virtual machines
  9883  	// with the specified number of virtual CPUs.
  9884  	VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs")
  9885  	// The host does not support fault tolerance virtual machines
  9886  	// with the specified amount of memory.
  9887  	VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory")
  9888  	// Virtual Machine with Pmem HA Failover is not supported
  9889  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver = VmFaultToleranceConfigIssueReasonForIssue("unsupportedPMemHAFailOver")
  9890  )
  9891  
  9892  func init() {
  9893  	t["VmFaultToleranceConfigIssueReasonForIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssueReasonForIssue)(nil)).Elem()
  9894  	minAPIVersionForType["VmFaultToleranceConfigIssueReasonForIssue"] = "4.0"
  9895  	minAPIVersionForEnumValue["VmFaultToleranceConfigIssueReasonForIssue"] = map[string]string{
  9896  		"esxAgentVm":                "5.0",
  9897  		"video3dEnabled":            "5.0",
  9898  		"hasUnsupportedDisk":        "5.1",
  9899  		"insufficientBandwidth":     "6.0",
  9900  		"hasNestedHVConfiguration":  "5.1",
  9901  		"hasVFlashConfiguration":    "5.5",
  9902  		"unsupportedProduct":        "6.0",
  9903  		"cpuHvUnsupported":          "6.0",
  9904  		"cpuHwmmuUnsupported":       "6.0",
  9905  		"cpuHvDisabled":             "6.0",
  9906  		"hasEFIFirmware":            "6.0",
  9907  		"tooManyVCPUs":              "6.7",
  9908  		"tooMuchMemory":             "6.7",
  9909  		"unsupportedPMemHAFailOver": "7.0.2.0",
  9910  	}
  9911  }
  9912  
  9913  type VmFaultToleranceInvalidFileBackingDeviceType string
  9914  
  9915  const (
  9916  	// virtual floppy
  9917  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy")
  9918  	// virtual Cdrom
  9919  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom")
  9920  	// virtual serial port
  9921  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort")
  9922  	// virtual parallel port
  9923  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort")
  9924  	// virtual disk
  9925  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk")
  9926  )
  9927  
  9928  func init() {
  9929  	t["VmFaultToleranceInvalidFileBackingDeviceType"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingDeviceType)(nil)).Elem()
  9930  	minAPIVersionForType["VmFaultToleranceInvalidFileBackingDeviceType"] = "4.0"
  9931  }
  9932  
  9933  type VmShutdownOnIsolationEventOperation string
  9934  
  9935  const (
  9936  	// The virtual machine was shut down
  9937  	VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown")
  9938  	// The virtual machine was powered off because shut down failed
  9939  	VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff")
  9940  )
  9941  
  9942  func init() {
  9943  	t["VmShutdownOnIsolationEventOperation"] = reflect.TypeOf((*VmShutdownOnIsolationEventOperation)(nil)).Elem()
  9944  	minAPIVersionForType["VmShutdownOnIsolationEventOperation"] = "4.0"
  9945  }
  9946  
  9947  type VmwareDistributedVirtualSwitchPvlanPortType string
  9948  
  9949  const (
  9950  	// The port can communicate with all other ports within the same PVLAN,
  9951  	// including the isolated and community ports .
  9952  	VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous")
  9953  	// The port can only communicate with the promiscuous ports within the
  9954  	// same PVLAN, any other traffics are blocked.
  9955  	VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated")
  9956  	// The ports communicates with other community ports and with
  9957  	// promiscuous ports within the same PVLAN.
  9958  	//
  9959  	// any other traffics are
  9960  	// blocked.
  9961  	VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community")
  9962  )
  9963  
  9964  func init() {
  9965  	t["VmwareDistributedVirtualSwitchPvlanPortType"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanPortType)(nil)).Elem()
  9966  	minAPIVersionForType["VmwareDistributedVirtualSwitchPvlanPortType"] = "4.0"
  9967  }
  9968  
  9969  type VsanDiskIssueType string
  9970  
  9971  const (
  9972  	VsanDiskIssueTypeNonExist      = VsanDiskIssueType("nonExist")
  9973  	VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch")
  9974  	VsanDiskIssueTypeUnknown       = VsanDiskIssueType("unknown")
  9975  )
  9976  
  9977  func init() {
  9978  	t["VsanDiskIssueType"] = reflect.TypeOf((*VsanDiskIssueType)(nil)).Elem()
  9979  	minAPIVersionForType["VsanDiskIssueType"] = "5.5"
  9980  }
  9981  
  9982  // The action to take with regard to storage objects upon decommissioning
  9983  type VsanHostDecommissionModeObjectAction string
  9984  
  9985  const (
  9986  	// No special action should take place regarding VSAN data.
  9987  	VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction")
  9988  	// VSAN data reconfiguration should be performed to ensure storage
  9989  	// object accessibility.
  9990  	VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility")
  9991  	// VSAN data evacuation should be performed such that all storage
  9992  	// object data is removed from the host.
  9993  	VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData")
  9994  )
  9995  
  9996  func init() {
  9997  	t["VsanHostDecommissionModeObjectAction"] = reflect.TypeOf((*VsanHostDecommissionModeObjectAction)(nil)).Elem()
  9998  	minAPIVersionForType["VsanHostDecommissionModeObjectAction"] = "5.5"
  9999  }
 10000  
 10001  // Values used for indicating a disk's status for use by the VSAN service.
 10002  type VsanHostDiskResultState string
 10003  
 10004  const (
 10005  	// Disk is currently in use by the VSAN service.
 10006  	//
 10007  	// A disk may be considered in use by the VSAN service regardless of
 10008  	// whether the VSAN service is enabled. As long as a disk is in use
 10009  	// by VSAN, it is reserved exclusively for VSAN and may not be used
 10010  	// for other purposes.
 10011  	//
 10012  	// See also `VsanHostDiskResult.error`.
 10013  	VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse")
 10014  	// Disk is considered eligible for use by the VSAN service,
 10015  	// but is not currently in use.
 10016  	VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible")
 10017  	// Disk is considered ineligible for use by the VSAN service,
 10018  	// and is not currently in use.
 10019  	//
 10020  	// See also `VsanHostDiskResult.error`.
 10021  	VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible")
 10022  )
 10023  
 10024  func init() {
 10025  	t["VsanHostDiskResultState"] = reflect.TypeOf((*VsanHostDiskResultState)(nil)).Elem()
 10026  	minAPIVersionForType["VsanHostDiskResultState"] = "5.5"
 10027  }
 10028  
 10029  // A `VsanHostHealthState_enum` represents the state of a participating
 10030  // host in the VSAN service.
 10031  type VsanHostHealthState string
 10032  
 10033  const (
 10034  	// Node health is unknown.
 10035  	VsanHostHealthStateUnknown = VsanHostHealthState("unknown")
 10036  	// Node is considered healthy.
 10037  	VsanHostHealthStateHealthy = VsanHostHealthState("healthy")
 10038  	// Node is considered unhealthy.
 10039  	VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy")
 10040  )
 10041  
 10042  func init() {
 10043  	t["VsanHostHealthState"] = reflect.TypeOf((*VsanHostHealthState)(nil)).Elem()
 10044  	minAPIVersionForType["VsanHostHealthState"] = "5.5"
 10045  }
 10046  
 10047  // A `VsanHostNodeState_enum` represents the state of participation of a host
 10048  // in the VSAN service.
 10049  type VsanHostNodeState string
 10050  
 10051  const (
 10052  	// The node is enabled for the VSAN service but has some configuration
 10053  	// error which prevents participation.
 10054  	VsanHostNodeStateError = VsanHostNodeState("error")
 10055  	// The node is disabled for the VSAN service.
 10056  	VsanHostNodeStateDisabled = VsanHostNodeState("disabled")
 10057  	// The node is enabled for the VSAN service and is serving as an agent.
 10058  	VsanHostNodeStateAgent = VsanHostNodeState("agent")
 10059  	// The node is enabled for the VSAN service and is serving as the master.
 10060  	VsanHostNodeStateMaster = VsanHostNodeState("master")
 10061  	// The node is enabled for the VSAN service and is serving as the backup.
 10062  	VsanHostNodeStateBackup = VsanHostNodeState("backup")
 10063  	// The node is starting the VSAN service; this state is considered
 10064  	// transitory.
 10065  	VsanHostNodeStateStarting = VsanHostNodeState("starting")
 10066  	// The node is stopping the VSAN service; this state is considered
 10067  	// transitory.
 10068  	VsanHostNodeStateStopping = VsanHostNodeState("stopping")
 10069  	// The node is entering maintenance mode; this state is considered
 10070  	// transitory.
 10071  	//
 10072  	// See also `HostSystem.EnterMaintenanceMode_Task`.
 10073  	VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode")
 10074  	// The node is exiting maintenance mode; this state is considered
 10075  	// transitory.
 10076  	//
 10077  	// See also `HostSystem.ExitMaintenanceMode_Task`.
 10078  	VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode")
 10079  	// The node is being decommissioned from the VSAN service; this state is
 10080  	// considered transitory.
 10081  	VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning")
 10082  )
 10083  
 10084  func init() {
 10085  	t["VsanHostNodeState"] = reflect.TypeOf((*VsanHostNodeState)(nil)).Elem()
 10086  	minAPIVersionForType["VsanHostNodeState"] = "5.5"
 10087  }
 10088  
 10089  type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string
 10090  
 10091  const (
 10092  	// Disk group is being (re-)added.
 10093  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add")
 10094  	// Disk group is being removed.
 10095  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove")
 10096  )
 10097  
 10098  func init() {
 10099  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOpType)(nil)).Elem()
 10100  	minAPIVersionForType["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = "6.0"
 10101  }
 10102  
 10103  type WeekOfMonth string
 10104  
 10105  const (
 10106  	WeekOfMonthFirst  = WeekOfMonth("first")
 10107  	WeekOfMonthSecond = WeekOfMonth("second")
 10108  	WeekOfMonthThird  = WeekOfMonth("third")
 10109  	WeekOfMonthFourth = WeekOfMonth("fourth")
 10110  	WeekOfMonthLast   = WeekOfMonth("last")
 10111  )
 10112  
 10113  func init() {
 10114  	t["WeekOfMonth"] = reflect.TypeOf((*WeekOfMonth)(nil)).Elem()
 10115  }
 10116  
 10117  type WillLoseHAProtectionResolution string
 10118  
 10119  const (
 10120  	// storage vmotion resolution
 10121  	WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion")
 10122  	// relocate resolution
 10123  	WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate")
 10124  )
 10125  
 10126  func init() {
 10127  	t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(nil)).Elem()
 10128  	minAPIVersionForType["WillLoseHAProtectionResolution"] = "5.0"
 10129  }
 10130  
 10131  type VslmDiskInfoFlag string
 10132  
 10133  const (
 10134  	VslmDiskInfoFlagId                      = VslmDiskInfoFlag("id")
 10135  	VslmDiskInfoFlagDescriptorVersion       = VslmDiskInfoFlag("descriptorVersion")
 10136  	VslmDiskInfoFlagBackingObjectId         = VslmDiskInfoFlag("backingObjectId")
 10137  	VslmDiskInfoFlagPath                    = VslmDiskInfoFlag("path")
 10138  	VslmDiskInfoFlagParentPath              = VslmDiskInfoFlag("parentPath")
 10139  	VslmDiskInfoFlagName                    = VslmDiskInfoFlag("name")
 10140  	VslmDiskInfoFlagDeviceName              = VslmDiskInfoFlag("deviceName")
 10141  	VslmDiskInfoFlagCapacity                = VslmDiskInfoFlag("capacity")
 10142  	VslmDiskInfoFlagAllocated               = VslmDiskInfoFlag("allocated")
 10143  	VslmDiskInfoFlagType                    = VslmDiskInfoFlag("type")
 10144  	VslmDiskInfoFlagConsumers               = VslmDiskInfoFlag("consumers")
 10145  	VslmDiskInfoFlagTentativeState          = VslmDiskInfoFlag("tentativeState")
 10146  	VslmDiskInfoFlagCreateTime              = VslmDiskInfoFlag("createTime")
 10147  	VslmDiskInfoFlagIoFilter                = VslmDiskInfoFlag("ioFilter")
 10148  	VslmDiskInfoFlagControlFlags            = VslmDiskInfoFlag("controlFlags")
 10149  	VslmDiskInfoFlagKeepAfterVmDelete       = VslmDiskInfoFlag("keepAfterVmDelete")
 10150  	VslmDiskInfoFlagRelocationDisabled      = VslmDiskInfoFlag("relocationDisabled")
 10151  	VslmDiskInfoFlagKeyId                   = VslmDiskInfoFlag("keyId")
 10152  	VslmDiskInfoFlagKeyProviderId           = VslmDiskInfoFlag("keyProviderId")
 10153  	VslmDiskInfoFlagNativeSnapshotSupported = VslmDiskInfoFlag("nativeSnapshotSupported")
 10154  	VslmDiskInfoFlagCbtEnabled              = VslmDiskInfoFlag("cbtEnabled")
 10155  )
 10156  
 10157  func init() {
 10158  	t["vslmDiskInfoFlag"] = reflect.TypeOf((*VslmDiskInfoFlag)(nil)).Elem()
 10159  }
 10160  
 10161  type VslmVStorageObjectControlFlag string
 10162  
 10163  const (
 10164  	VslmVStorageObjectControlFlagKeepAfterDeleteVm          = VslmVStorageObjectControlFlag("keepAfterDeleteVm")
 10165  	VslmVStorageObjectControlFlagDisableRelocation          = VslmVStorageObjectControlFlag("disableRelocation")
 10166  	VslmVStorageObjectControlFlagEnableChangedBlockTracking = VslmVStorageObjectControlFlag("enableChangedBlockTracking")
 10167  )
 10168  
 10169  func init() {
 10170  	t["vslmVStorageObjectControlFlag"] = reflect.TypeOf((*VslmVStorageObjectControlFlag)(nil)).Elem()
 10171  }