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

     1  /*
     2  Copyright (c) 2014-2024 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 (e ActionParameter) Values() []ActionParameter {
    53  	return []ActionParameter{
    54  		ActionParameterTargetName,
    55  		ActionParameterAlarmName,
    56  		ActionParameterOldStatus,
    57  		ActionParameterNewStatus,
    58  		ActionParameterTriggeringSummary,
    59  		ActionParameterDeclaringSummary,
    60  		ActionParameterEventDescription,
    61  		ActionParameterTarget,
    62  		ActionParameterAlarm,
    63  	}
    64  }
    65  
    66  func (e ActionParameter) Strings() []string {
    67  	return EnumValuesAsStrings(e.Values())
    68  }
    69  
    70  func init() {
    71  	t["ActionParameter"] = reflect.TypeOf((*ActionParameter)(nil)).Elem()
    72  }
    73  
    74  // Pre-defined constants for possible action types.
    75  //
    76  // Virtual Center
    77  // uses this information to coordinate with the clients.
    78  type ActionType string
    79  
    80  const (
    81  	// Migration action type
    82  	ActionTypeMigrationV1 = ActionType("MigrationV1")
    83  	// Virtual machine power action type
    84  	ActionTypeVmPowerV1 = ActionType("VmPowerV1")
    85  	// Host power action type
    86  	ActionTypeHostPowerV1 = ActionType("HostPowerV1")
    87  	// Host entering maintenance mode action type
    88  	ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1")
    89  	// Storage migration action type
    90  	ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1")
    91  	// Initial placement action for a virtual machine or a virtual disk
    92  	ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1")
    93  	// Initial placement action for a virtual machine and its virtual disks
    94  	ActionTypePlacementV1 = ActionType("PlacementV1")
    95  	// Host changing infrastructure update ha mode action type.
    96  	ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1")
    97  )
    98  
    99  func (e ActionType) Values() []ActionType {
   100  	return []ActionType{
   101  		ActionTypeMigrationV1,
   102  		ActionTypeVmPowerV1,
   103  		ActionTypeHostPowerV1,
   104  		ActionTypeHostMaintenanceV1,
   105  		ActionTypeStorageMigrationV1,
   106  		ActionTypeStoragePlacementV1,
   107  		ActionTypePlacementV1,
   108  		ActionTypeHostInfraUpdateHaV1,
   109  	}
   110  }
   111  
   112  func (e ActionType) Strings() []string {
   113  	return EnumValuesAsStrings(e.Values())
   114  }
   115  
   116  func init() {
   117  	t["ActionType"] = reflect.TypeOf((*ActionType)(nil)).Elem()
   118  }
   119  
   120  // Types of affinities.
   121  type AffinityType string
   122  
   123  const (
   124  	AffinityTypeMemory = AffinityType("memory")
   125  	AffinityTypeCpu    = AffinityType("cpu")
   126  )
   127  
   128  func (e AffinityType) Values() []AffinityType {
   129  	return []AffinityType{
   130  		AffinityTypeMemory,
   131  		AffinityTypeCpu,
   132  	}
   133  }
   134  
   135  func (e AffinityType) Strings() []string {
   136  	return EnumValuesAsStrings(e.Values())
   137  }
   138  
   139  func init() {
   140  	t["AffinityType"] = reflect.TypeOf((*AffinityType)(nil)).Elem()
   141  }
   142  
   143  type AgentInstallFailedReason string
   144  
   145  const (
   146  	// There is not enough storage space on the host to install the agent.
   147  	AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice")
   148  	// Failed to initialize the upgrade directory on the host.
   149  	AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed")
   150  	// The agent was installed but is not running.
   151  	AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning")
   152  	// The agent was installed but did not respond to requests.
   153  	AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable")
   154  	// The agent install took too long.
   155  	AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout")
   156  	// The signature verification for the installer failed.
   157  	AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed")
   158  	// Failed to upload the agent installer.
   159  	AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed")
   160  	// The agent upload took too long.
   161  	AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout")
   162  	// The agent installer failed for an unknown reason.
   163  	AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError")
   164  )
   165  
   166  func (e AgentInstallFailedReason) Values() []AgentInstallFailedReason {
   167  	return []AgentInstallFailedReason{
   168  		AgentInstallFailedReasonNotEnoughSpaceOnDevice,
   169  		AgentInstallFailedReasonPrepareToUpgradeFailed,
   170  		AgentInstallFailedReasonAgentNotRunning,
   171  		AgentInstallFailedReasonAgentNotReachable,
   172  		AgentInstallFailedReasonInstallTimedout,
   173  		AgentInstallFailedReasonSignatureVerificationFailed,
   174  		AgentInstallFailedReasonAgentUploadFailed,
   175  		AgentInstallFailedReasonAgentUploadTimedout,
   176  		AgentInstallFailedReasonUnknownInstallerError,
   177  	}
   178  }
   179  
   180  func (e AgentInstallFailedReason) Strings() []string {
   181  	return EnumValuesAsStrings(e.Values())
   182  }
   183  
   184  func init() {
   185  	t["AgentInstallFailedReason"] = reflect.TypeOf((*AgentInstallFailedReason)(nil)).Elem()
   186  }
   187  
   188  // Alarm entity type
   189  type AlarmFilterSpecAlarmTypeByEntity string
   190  
   191  const (
   192  	// Alarms on all entity types.
   193  	AlarmFilterSpecAlarmTypeByEntityEntityTypeAll = AlarmFilterSpecAlarmTypeByEntity("entityTypeAll")
   194  	// Host alarms
   195  	AlarmFilterSpecAlarmTypeByEntityEntityTypeHost = AlarmFilterSpecAlarmTypeByEntity("entityTypeHost")
   196  	// VM alarms
   197  	AlarmFilterSpecAlarmTypeByEntityEntityTypeVm = AlarmFilterSpecAlarmTypeByEntity("entityTypeVm")
   198  )
   199  
   200  func (e AlarmFilterSpecAlarmTypeByEntity) Values() []AlarmFilterSpecAlarmTypeByEntity {
   201  	return []AlarmFilterSpecAlarmTypeByEntity{
   202  		AlarmFilterSpecAlarmTypeByEntityEntityTypeAll,
   203  		AlarmFilterSpecAlarmTypeByEntityEntityTypeHost,
   204  		AlarmFilterSpecAlarmTypeByEntityEntityTypeVm,
   205  	}
   206  }
   207  
   208  func (e AlarmFilterSpecAlarmTypeByEntity) Strings() []string {
   209  	return EnumValuesAsStrings(e.Values())
   210  }
   211  
   212  func init() {
   213  	t["AlarmFilterSpecAlarmTypeByEntity"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByEntity)(nil)).Elem()
   214  }
   215  
   216  // Alarm triggering type.
   217  //
   218  // The main divisions are event triggered and
   219  // metric- or state-based alarms.
   220  type AlarmFilterSpecAlarmTypeByTrigger string
   221  
   222  const (
   223  	// All alarm types.
   224  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeAll")
   225  	// Event based alarms
   226  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeEvent")
   227  	// Metric or state alarms
   228  	AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeMetric")
   229  )
   230  
   231  func (e AlarmFilterSpecAlarmTypeByTrigger) Values() []AlarmFilterSpecAlarmTypeByTrigger {
   232  	return []AlarmFilterSpecAlarmTypeByTrigger{
   233  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll,
   234  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent,
   235  		AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric,
   236  	}
   237  }
   238  
   239  func (e AlarmFilterSpecAlarmTypeByTrigger) Strings() []string {
   240  	return EnumValuesAsStrings(e.Values())
   241  }
   242  
   243  func init() {
   244  	t["AlarmFilterSpecAlarmTypeByTrigger"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByTrigger)(nil)).Elem()
   245  }
   246  
   247  // Defines the result status values for a validating answer file.
   248  type AnswerFileValidationInfoStatus string
   249  
   250  const (
   251  	// Answer File validation was successful.
   252  	AnswerFileValidationInfoStatusSuccess = AnswerFileValidationInfoStatus("success")
   253  	// Answer File validation failed.
   254  	AnswerFileValidationInfoStatusFailed = AnswerFileValidationInfoStatus("failed")
   255  	// Answer File validation failed to generate default.
   256  	AnswerFileValidationInfoStatusFailed_defaults = AnswerFileValidationInfoStatus("failed_defaults")
   257  )
   258  
   259  func (e AnswerFileValidationInfoStatus) Values() []AnswerFileValidationInfoStatus {
   260  	return []AnswerFileValidationInfoStatus{
   261  		AnswerFileValidationInfoStatusSuccess,
   262  		AnswerFileValidationInfoStatusFailed,
   263  		AnswerFileValidationInfoStatusFailed_defaults,
   264  	}
   265  }
   266  
   267  func (e AnswerFileValidationInfoStatus) Strings() []string {
   268  	return EnumValuesAsStrings(e.Values())
   269  }
   270  
   271  func init() {
   272  	t["AnswerFileValidationInfoStatus"] = reflect.TypeOf((*AnswerFileValidationInfoStatus)(nil)).Elem()
   273  }
   274  
   275  type ApplyHostProfileConfigurationResultStatus string
   276  
   277  const (
   278  	// Remediation succeeded.
   279  	ApplyHostProfileConfigurationResultStatusSuccess = ApplyHostProfileConfigurationResultStatus("success")
   280  	// Remediation failed.
   281  	ApplyHostProfileConfigurationResultStatusFailed = ApplyHostProfileConfigurationResultStatus("failed")
   282  	// Remediation succeeded but reboot after remediation failed.
   283  	//
   284  	// May treat this as a warning.
   285  	ApplyHostProfileConfigurationResultStatusReboot_failed = ApplyHostProfileConfigurationResultStatus("reboot_failed")
   286  	// Stateless reboot for remediation failed.
   287  	ApplyHostProfileConfigurationResultStatusStateless_reboot_failed = ApplyHostProfileConfigurationResultStatus("stateless_reboot_failed")
   288  	// Remediation and reboot succeeded but check compliance after reboot
   289  	// failed.
   290  	//
   291  	// May treat this as a warning.
   292  	ApplyHostProfileConfigurationResultStatusCheck_compliance_failed = ApplyHostProfileConfigurationResultStatus("check_compliance_failed")
   293  	// The required state is not satisfied so host profiel apply cannot
   294  	// be done.
   295  	ApplyHostProfileConfigurationResultStatusState_not_satisfied = ApplyHostProfileConfigurationResultStatus("state_not_satisfied")
   296  	// Exit maintenance mode failed.
   297  	ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed = ApplyHostProfileConfigurationResultStatus("exit_maintenancemode_failed")
   298  	// The remediation was canceled.
   299  	ApplyHostProfileConfigurationResultStatusCanceled = ApplyHostProfileConfigurationResultStatus("canceled")
   300  )
   301  
   302  func (e ApplyHostProfileConfigurationResultStatus) Values() []ApplyHostProfileConfigurationResultStatus {
   303  	return []ApplyHostProfileConfigurationResultStatus{
   304  		ApplyHostProfileConfigurationResultStatusSuccess,
   305  		ApplyHostProfileConfigurationResultStatusFailed,
   306  		ApplyHostProfileConfigurationResultStatusReboot_failed,
   307  		ApplyHostProfileConfigurationResultStatusStateless_reboot_failed,
   308  		ApplyHostProfileConfigurationResultStatusCheck_compliance_failed,
   309  		ApplyHostProfileConfigurationResultStatusState_not_satisfied,
   310  		ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed,
   311  		ApplyHostProfileConfigurationResultStatusCanceled,
   312  	}
   313  }
   314  
   315  func (e ApplyHostProfileConfigurationResultStatus) Strings() []string {
   316  	return EnumValuesAsStrings(e.Values())
   317  }
   318  
   319  func init() {
   320  	t["ApplyHostProfileConfigurationResultStatus"] = reflect.TypeOf((*ApplyHostProfileConfigurationResultStatus)(nil)).Elem()
   321  }
   322  
   323  // This list specifies the type of operation being performed on the array.
   324  type ArrayUpdateOperation string
   325  
   326  const (
   327  	// indicates an addition to the array.
   328  	ArrayUpdateOperationAdd = ArrayUpdateOperation("add")
   329  	// indicates the removal of an element in the
   330  	// array.
   331  	//
   332  	// In this case the key field must contain the key of the element
   333  	// to be removed.
   334  	ArrayUpdateOperationRemove = ArrayUpdateOperation("remove")
   335  	// indicates changes to an element in the array.
   336  	ArrayUpdateOperationEdit = ArrayUpdateOperation("edit")
   337  )
   338  
   339  func (e ArrayUpdateOperation) Values() []ArrayUpdateOperation {
   340  	return []ArrayUpdateOperation{
   341  		ArrayUpdateOperationAdd,
   342  		ArrayUpdateOperationRemove,
   343  		ArrayUpdateOperationEdit,
   344  	}
   345  }
   346  
   347  func (e ArrayUpdateOperation) Strings() []string {
   348  	return EnumValuesAsStrings(e.Values())
   349  }
   350  
   351  func init() {
   352  	t["ArrayUpdateOperation"] = reflect.TypeOf((*ArrayUpdateOperation)(nil)).Elem()
   353  }
   354  
   355  type AutoStartAction string
   356  
   357  const (
   358  	// No action is taken for this virtual machine.
   359  	//
   360  	// This virtual machine is
   361  	// not a part of the auto-start sequence. This can be used for both auto-start
   362  	// and auto-start settings.
   363  	AutoStartActionNone = AutoStartAction("none")
   364  	// The default system action is taken for this virtual machine when it is next in
   365  	// the auto-start order.
   366  	//
   367  	// This can be used for both auto-start and auto-start
   368  	// settings.
   369  	AutoStartActionSystemDefault = AutoStartAction("systemDefault")
   370  	// This virtual machine is powered on when it is next in the auto-start order.
   371  	AutoStartActionPowerOn = AutoStartAction("powerOn")
   372  	// This virtual machine is powered off when it is next in the auto-stop order.
   373  	//
   374  	// This is the default stopAction.
   375  	AutoStartActionPowerOff = AutoStartAction("powerOff")
   376  	// The guest operating system for a virtual machine is shut down when that
   377  	// virtual machine in next in the auto-stop order.
   378  	AutoStartActionGuestShutdown = AutoStartAction("guestShutdown")
   379  	// This virtual machine is suspended when it is next in the auto-stop order.
   380  	AutoStartActionSuspend = AutoStartAction("suspend")
   381  )
   382  
   383  func (e AutoStartAction) Values() []AutoStartAction {
   384  	return []AutoStartAction{
   385  		AutoStartActionNone,
   386  		AutoStartActionSystemDefault,
   387  		AutoStartActionPowerOn,
   388  		AutoStartActionPowerOff,
   389  		AutoStartActionGuestShutdown,
   390  		AutoStartActionSuspend,
   391  	}
   392  }
   393  
   394  func (e AutoStartAction) Strings() []string {
   395  	return EnumValuesAsStrings(e.Values())
   396  }
   397  
   398  func init() {
   399  	t["AutoStartAction"] = reflect.TypeOf((*AutoStartAction)(nil)).Elem()
   400  }
   401  
   402  // Determines if the virtual machine should start after receiving a heartbeat,
   403  // ignore heartbeats and start after the startDelay has elapsed, or follow the
   404  // system default before powering on.
   405  //
   406  // When a virtual machine is next in the start
   407  // order, the system either waits a specified period of time for a virtual
   408  // machine to power on or it waits until it receives a successful heartbeat from a
   409  // powered on virtual machine. By default, this is set to no.
   410  type AutoStartWaitHeartbeatSetting string
   411  
   412  const (
   413  	// The system waits until receiving a heartbeat before powering on the next
   414  	// machine in the order.
   415  	AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes")
   416  	// The system does not wait to receive a heartbeat before powering on the next
   417  	// machine in the order.
   418  	//
   419  	// This is the default setting.
   420  	AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no")
   421  	// The system uses the default value to determine whether or not to wait to
   422  	// receive a heartbeat before powering on the next machine in the order.
   423  	AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault")
   424  )
   425  
   426  func (e AutoStartWaitHeartbeatSetting) Values() []AutoStartWaitHeartbeatSetting {
   427  	return []AutoStartWaitHeartbeatSetting{
   428  		AutoStartWaitHeartbeatSettingYes,
   429  		AutoStartWaitHeartbeatSettingNo,
   430  		AutoStartWaitHeartbeatSettingSystemDefault,
   431  	}
   432  }
   433  
   434  func (e AutoStartWaitHeartbeatSetting) Strings() []string {
   435  	return EnumValuesAsStrings(e.Values())
   436  }
   437  
   438  func init() {
   439  	t["AutoStartWaitHeartbeatSetting"] = reflect.TypeOf((*AutoStartWaitHeartbeatSetting)(nil)).Elem()
   440  }
   441  
   442  // Provisioning type constants.
   443  type BaseConfigInfoDiskFileBackingInfoProvisioningType string
   444  
   445  const (
   446  	// Space required for thin-provisioned virtual disk is allocated
   447  	// and zeroed on demand as the space is used.
   448  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin")
   449  	// An eager zeroed thick virtual disk has all space allocated and
   450  	// wiped clean of any previous contents on the physical media at
   451  	// creation time.
   452  	//
   453  	// Such virtual disk may take longer time
   454  	// during creation compared to other provisioning formats.
   455  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick")
   456  	// A thick virtual disk has all space allocated at creation time.
   457  	//
   458  	// This space may contain stale data on the physical media.
   459  	BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick")
   460  )
   461  
   462  func (e BaseConfigInfoDiskFileBackingInfoProvisioningType) Values() []BaseConfigInfoDiskFileBackingInfoProvisioningType {
   463  	return []BaseConfigInfoDiskFileBackingInfoProvisioningType{
   464  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin,
   465  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick,
   466  		BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick,
   467  	}
   468  }
   469  
   470  func (e BaseConfigInfoDiskFileBackingInfoProvisioningType) Strings() []string {
   471  	return EnumValuesAsStrings(e.Values())
   472  }
   473  
   474  func init() {
   475  	t["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfoProvisioningType)(nil)).Elem()
   476  }
   477  
   478  // Enum representing result of batch-APis.
   479  type BatchResultResult string
   480  
   481  const (
   482  	BatchResultResultSuccess = BatchResultResult("success")
   483  	BatchResultResultFail    = BatchResultResult("fail")
   484  )
   485  
   486  func (e BatchResultResult) Values() []BatchResultResult {
   487  	return []BatchResultResult{
   488  		BatchResultResultSuccess,
   489  		BatchResultResultFail,
   490  	}
   491  }
   492  
   493  func (e BatchResultResult) Strings() []string {
   494  	return EnumValuesAsStrings(e.Values())
   495  }
   496  
   497  func init() {
   498  	t["BatchResultResult"] = reflect.TypeOf((*BatchResultResult)(nil)).Elem()
   499  }
   500  
   501  type CannotEnableVmcpForClusterReason string
   502  
   503  const (
   504  	// APD timeout has been disabled on one of the host
   505  	CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled")
   506  )
   507  
   508  func (e CannotEnableVmcpForClusterReason) Values() []CannotEnableVmcpForClusterReason {
   509  	return []CannotEnableVmcpForClusterReason{
   510  		CannotEnableVmcpForClusterReasonAPDTimeoutDisabled,
   511  	}
   512  }
   513  
   514  func (e CannotEnableVmcpForClusterReason) Strings() []string {
   515  	return EnumValuesAsStrings(e.Values())
   516  }
   517  
   518  func init() {
   519  	t["CannotEnableVmcpForClusterReason"] = reflect.TypeOf((*CannotEnableVmcpForClusterReason)(nil)).Elem()
   520  }
   521  
   522  type CannotMoveFaultToleranceVmMoveType string
   523  
   524  const (
   525  	// Move out of the resouce pool
   526  	CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool")
   527  	// Move out of the cluster
   528  	CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster")
   529  )
   530  
   531  func (e CannotMoveFaultToleranceVmMoveType) Values() []CannotMoveFaultToleranceVmMoveType {
   532  	return []CannotMoveFaultToleranceVmMoveType{
   533  		CannotMoveFaultToleranceVmMoveTypeResourcePool,
   534  		CannotMoveFaultToleranceVmMoveTypeCluster,
   535  	}
   536  }
   537  
   538  func (e CannotMoveFaultToleranceVmMoveType) Strings() []string {
   539  	return EnumValuesAsStrings(e.Values())
   540  }
   541  
   542  func init() {
   543  	t["CannotMoveFaultToleranceVmMoveType"] = reflect.TypeOf((*CannotMoveFaultToleranceVmMoveType)(nil)).Elem()
   544  }
   545  
   546  type CannotPowerOffVmInClusterOperation string
   547  
   548  const (
   549  	// suspend
   550  	CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend")
   551  	// power off
   552  	CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff")
   553  	// guest shutdown
   554  	CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown")
   555  	// guest suspend
   556  	CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend")
   557  )
   558  
   559  func (e CannotPowerOffVmInClusterOperation) Values() []CannotPowerOffVmInClusterOperation {
   560  	return []CannotPowerOffVmInClusterOperation{
   561  		CannotPowerOffVmInClusterOperationSuspend,
   562  		CannotPowerOffVmInClusterOperationPowerOff,
   563  		CannotPowerOffVmInClusterOperationGuestShutdown,
   564  		CannotPowerOffVmInClusterOperationGuestSuspend,
   565  	}
   566  }
   567  
   568  func (e CannotPowerOffVmInClusterOperation) Strings() []string {
   569  	return EnumValuesAsStrings(e.Values())
   570  }
   571  
   572  func init() {
   573  	t["CannotPowerOffVmInClusterOperation"] = reflect.TypeOf((*CannotPowerOffVmInClusterOperation)(nil)).Elem()
   574  }
   575  
   576  type CannotUseNetworkReason string
   577  
   578  const (
   579  	// Network does not support reservation
   580  	CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported")
   581  	// Source and destination networks do not have same security policies
   582  	CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies")
   583  	// Source and destination DVS do not have same version or vendor
   584  	CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor")
   585  	// VMotion to unsupported destination network type
   586  	CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType")
   587  	// The network is under maintenance
   588  	CannotUseNetworkReasonNetworkUnderMaintenance = CannotUseNetworkReason("NetworkUnderMaintenance")
   589  	// Source and destination networks do not have same ENS(Enhanced Network Stack) mode
   590  	CannotUseNetworkReasonMismatchedEnsMode = CannotUseNetworkReason("MismatchedEnsMode")
   591  )
   592  
   593  func (e CannotUseNetworkReason) Values() []CannotUseNetworkReason {
   594  	return []CannotUseNetworkReason{
   595  		CannotUseNetworkReasonNetworkReservationNotSupported,
   596  		CannotUseNetworkReasonMismatchedNetworkPolicies,
   597  		CannotUseNetworkReasonMismatchedDvsVersionOrVendor,
   598  		CannotUseNetworkReasonVMotionToUnsupportedNetworkType,
   599  		CannotUseNetworkReasonNetworkUnderMaintenance,
   600  		CannotUseNetworkReasonMismatchedEnsMode,
   601  	}
   602  }
   603  
   604  func (e CannotUseNetworkReason) Strings() []string {
   605  	return EnumValuesAsStrings(e.Values())
   606  }
   607  
   608  func init() {
   609  	t["CannotUseNetworkReason"] = reflect.TypeOf((*CannotUseNetworkReason)(nil)).Elem()
   610  }
   611  
   612  // The types of tests which can requested by any of the methods in either
   613  // `VirtualMachineCompatibilityChecker` or `VirtualMachineProvisioningChecker`.
   614  type CheckTestType string
   615  
   616  const (
   617  	// Tests that examine only the configuration
   618  	// of the virtual machine and its current host; the destination
   619  	// resource pool and host or cluster are irrelevant.
   620  	CheckTestTypeSourceTests = CheckTestType("sourceTests")
   621  	// Tests that examine both the virtual
   622  	// machine and the destination host or cluster; the destination
   623  	// resource pool is irrelevant.
   624  	//
   625  	// This set excludes tests that fall
   626  	// into the datastoreTests group.
   627  	CheckTestTypeHostTests = CheckTestType("hostTests")
   628  	// Tests that check that the destination resource
   629  	// pool can support the virtual machine if it is powered on.
   630  	//
   631  	// The
   632  	// destination host or cluster is relevant because it will affect the
   633  	// amount of overhead memory required to run the virtual machine.
   634  	CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests")
   635  	// Tests that check that the
   636  	// destination host or cluster can see the datastores where the virtual
   637  	// machine's virtual disks are going to be located.
   638  	//
   639  	// The destination
   640  	// resource pool is irrelevant.
   641  	CheckTestTypeDatastoreTests = CheckTestType("datastoreTests")
   642  	// Tests that check that the
   643  	// destination host or cluster can see the networks that the virtual
   644  	// machine's virtual nic devices are going to be connected.
   645  	CheckTestTypeNetworkTests = CheckTestType("networkTests")
   646  )
   647  
   648  func (e CheckTestType) Values() []CheckTestType {
   649  	return []CheckTestType{
   650  		CheckTestTypeSourceTests,
   651  		CheckTestTypeHostTests,
   652  		CheckTestTypeResourcePoolTests,
   653  		CheckTestTypeDatastoreTests,
   654  		CheckTestTypeNetworkTests,
   655  	}
   656  }
   657  
   658  func (e CheckTestType) Strings() []string {
   659  	return EnumValuesAsStrings(e.Values())
   660  }
   661  
   662  func init() {
   663  	t["CheckTestType"] = reflect.TypeOf((*CheckTestType)(nil)).Elem()
   664  }
   665  
   666  // HCIWorkflowState identifies the state of the cluser from the perspective of HCI
   667  // workflow.
   668  //
   669  // The workflow begins with in\_progress mode and can transition
   670  // to 'done' or 'invalid', both of which are terminal states.
   671  type ClusterComputeResourceHCIWorkflowState string
   672  
   673  const (
   674  	// Indicates cluster is getting configured or will be configured.
   675  	ClusterComputeResourceHCIWorkflowStateIn_progress = ClusterComputeResourceHCIWorkflowState("in_progress")
   676  	// Indicates cluster configuration is complete.
   677  	ClusterComputeResourceHCIWorkflowStateDone = ClusterComputeResourceHCIWorkflowState("done")
   678  	// Indicates the workflow was abandoned on the cluster before the
   679  	// configuration could complete.
   680  	ClusterComputeResourceHCIWorkflowStateInvalid = ClusterComputeResourceHCIWorkflowState("invalid")
   681  )
   682  
   683  func (e ClusterComputeResourceHCIWorkflowState) Values() []ClusterComputeResourceHCIWorkflowState {
   684  	return []ClusterComputeResourceHCIWorkflowState{
   685  		ClusterComputeResourceHCIWorkflowStateIn_progress,
   686  		ClusterComputeResourceHCIWorkflowStateDone,
   687  		ClusterComputeResourceHCIWorkflowStateInvalid,
   688  	}
   689  }
   690  
   691  func (e ClusterComputeResourceHCIWorkflowState) Strings() []string {
   692  	return EnumValuesAsStrings(e.Values())
   693  }
   694  
   695  func init() {
   696  	t["ClusterComputeResourceHCIWorkflowState"] = reflect.TypeOf((*ClusterComputeResourceHCIWorkflowState)(nil)).Elem()
   697  }
   698  
   699  type ClusterComputeResourceVcsHealthStatus string
   700  
   701  const (
   702  	// Indicates vCS health status is normal.
   703  	ClusterComputeResourceVcsHealthStatusHealthy = ClusterComputeResourceVcsHealthStatus("healthy")
   704  	// Indicates only vCS is unhealthy.
   705  	ClusterComputeResourceVcsHealthStatusDegraded = ClusterComputeResourceVcsHealthStatus("degraded")
   706  	// Indicates vCS is unhealthy and other cluster services are impacted.
   707  	ClusterComputeResourceVcsHealthStatusNonhealthy = ClusterComputeResourceVcsHealthStatus("nonhealthy")
   708  )
   709  
   710  func (e ClusterComputeResourceVcsHealthStatus) Values() []ClusterComputeResourceVcsHealthStatus {
   711  	return []ClusterComputeResourceVcsHealthStatus{
   712  		ClusterComputeResourceVcsHealthStatusHealthy,
   713  		ClusterComputeResourceVcsHealthStatusDegraded,
   714  		ClusterComputeResourceVcsHealthStatusNonhealthy,
   715  	}
   716  }
   717  
   718  func (e ClusterComputeResourceVcsHealthStatus) Strings() []string {
   719  	return EnumValuesAsStrings(e.Values())
   720  }
   721  
   722  func init() {
   723  	t["ClusterComputeResourceVcsHealthStatus"] = reflect.TypeOf((*ClusterComputeResourceVcsHealthStatus)(nil)).Elem()
   724  	minAPIVersionForType["ClusterComputeResourceVcsHealthStatus"] = "7.0.1.1"
   725  }
   726  
   727  type ClusterCryptoConfigInfoCryptoMode string
   728  
   729  const (
   730  	// Put each host into the crypto safe state automatically when needed.
   731  	ClusterCryptoConfigInfoCryptoModeOnDemand = ClusterCryptoConfigInfoCryptoMode("onDemand")
   732  	// Put each host into the crypto safe state immediately.
   733  	ClusterCryptoConfigInfoCryptoModeForceEnable = ClusterCryptoConfigInfoCryptoMode("forceEnable")
   734  )
   735  
   736  func (e ClusterCryptoConfigInfoCryptoMode) Values() []ClusterCryptoConfigInfoCryptoMode {
   737  	return []ClusterCryptoConfigInfoCryptoMode{
   738  		ClusterCryptoConfigInfoCryptoModeOnDemand,
   739  		ClusterCryptoConfigInfoCryptoModeForceEnable,
   740  	}
   741  }
   742  
   743  func (e ClusterCryptoConfigInfoCryptoMode) Strings() []string {
   744  	return EnumValuesAsStrings(e.Values())
   745  }
   746  
   747  func init() {
   748  	t["ClusterCryptoConfigInfoCryptoMode"] = reflect.TypeOf((*ClusterCryptoConfigInfoCryptoMode)(nil)).Elem()
   749  }
   750  
   751  // The `ClusterDasAamNodeStateDasState_enum` enumerated type defines
   752  // values for host HA configuration and runtime state properties
   753  // (`ClusterDasAamNodeState.configState` and
   754  // `ClusterDasAamNodeState.runtimeState`).
   755  type ClusterDasAamNodeStateDasState string
   756  
   757  const (
   758  	// HA has never been enabled on the the host.
   759  	ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized")
   760  	// HA agents have been installed but are not running on the the host.
   761  	ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized")
   762  	// HA configuration is in progress.
   763  	ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring")
   764  	// HA configuration is being removed.
   765  	ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring")
   766  	// HA agent is running on this host.
   767  	ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running")
   768  	// There is an error condition.
   769  	//
   770  	// This can represent a configuration
   771  	// error or a host agent runtime error.
   772  	ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error")
   773  	// The HA agent has been shut down.
   774  	ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown")
   775  	// The host is not reachable.
   776  	//
   777  	// This can represent a host failure
   778  	// or an isolated host.
   779  	ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed")
   780  )
   781  
   782  func (e ClusterDasAamNodeStateDasState) Values() []ClusterDasAamNodeStateDasState {
   783  	return []ClusterDasAamNodeStateDasState{
   784  		ClusterDasAamNodeStateDasStateUninitialized,
   785  		ClusterDasAamNodeStateDasStateInitialized,
   786  		ClusterDasAamNodeStateDasStateConfiguring,
   787  		ClusterDasAamNodeStateDasStateUnconfiguring,
   788  		ClusterDasAamNodeStateDasStateRunning,
   789  		ClusterDasAamNodeStateDasStateError,
   790  		ClusterDasAamNodeStateDasStateAgentShutdown,
   791  		ClusterDasAamNodeStateDasStateNodeFailed,
   792  	}
   793  }
   794  
   795  func (e ClusterDasAamNodeStateDasState) Strings() []string {
   796  	return EnumValuesAsStrings(e.Values())
   797  }
   798  
   799  func init() {
   800  	t["ClusterDasAamNodeStateDasState"] = reflect.TypeOf((*ClusterDasAamNodeStateDasState)(nil)).Elem()
   801  }
   802  
   803  // The policy to determine the candidates from which vCenter Server can
   804  // choose heartbeat datastores.
   805  type ClusterDasConfigInfoHBDatastoreCandidate string
   806  
   807  const (
   808  	// vCenter Server chooses heartbeat datastores from the set specified
   809  	// by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   810  	//
   811  	// More specifically,
   812  	// datastores not included in the set will not be chosen. Note that if
   813  	// `ClusterDasConfigInfo.heartbeatDatastore` is empty, datastore heartbeating will
   814  	// be disabled for HA.
   815  	ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs")
   816  	// vCenter Server chooses heartbeat datastores from all the feasible ones,
   817  	// i.e., the datastores that are accessible to more than one host in
   818  	// the cluster.
   819  	//
   820  	// The choice will be made without giving preference to those
   821  	// specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   822  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs")
   823  	// vCenter Server chooses heartbeat datastores from all the feasible ones
   824  	// while giving preference to those specified by the user (see `ClusterDasConfigInfo.heartbeatDatastore`).
   825  	//
   826  	// More specifically, the datastores not included in `ClusterDasConfigInfo.heartbeatDatastore` will be
   827  	// chosen if and only if the specified ones are not sufficient.
   828  	ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference")
   829  )
   830  
   831  func (e ClusterDasConfigInfoHBDatastoreCandidate) Values() []ClusterDasConfigInfoHBDatastoreCandidate {
   832  	return []ClusterDasConfigInfoHBDatastoreCandidate{
   833  		ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs,
   834  		ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs,
   835  		ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference,
   836  	}
   837  }
   838  
   839  func (e ClusterDasConfigInfoHBDatastoreCandidate) Strings() []string {
   840  	return EnumValuesAsStrings(e.Values())
   841  }
   842  
   843  func init() {
   844  	t["ClusterDasConfigInfoHBDatastoreCandidate"] = reflect.TypeOf((*ClusterDasConfigInfoHBDatastoreCandidate)(nil)).Elem()
   845  }
   846  
   847  // Possible states of an HA service.
   848  //
   849  // All services support the
   850  // disabled and enabled states.
   851  type ClusterDasConfigInfoServiceState string
   852  
   853  const (
   854  	// HA service is disabled.
   855  	ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled")
   856  	// HA service is enabled.
   857  	ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled")
   858  )
   859  
   860  func (e ClusterDasConfigInfoServiceState) Values() []ClusterDasConfigInfoServiceState {
   861  	return []ClusterDasConfigInfoServiceState{
   862  		ClusterDasConfigInfoServiceStateDisabled,
   863  		ClusterDasConfigInfoServiceStateEnabled,
   864  	}
   865  }
   866  
   867  func (e ClusterDasConfigInfoServiceState) Strings() []string {
   868  	return EnumValuesAsStrings(e.Values())
   869  }
   870  
   871  func init() {
   872  	t["ClusterDasConfigInfoServiceState"] = reflect.TypeOf((*ClusterDasConfigInfoServiceState)(nil)).Elem()
   873  }
   874  
   875  // The `ClusterDasConfigInfoVmMonitoringState_enum` enum defines values that indicate
   876  // the state of Virtual Machine Health Monitoring.
   877  //
   878  // Health Monitoring
   879  // uses the vmTools (guest) and application agent heartbeat modules.
   880  // You can configure HA to respond to heartbeat failures of either one
   881  // or both modules. You can also disable the HA response to heartbeat failures.
   882  //   - To set the cluster default for health monitoring, use the
   883  //     ClusterConfigSpecEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring` property.
   884  //   - To set health monitoring for a virtual machine, use the
   885  //     ClusterConfigSpecEx.dasVmConfigSpec.info.dasSettings.`ClusterDasVmSettings.vmToolsMonitoringSettings` property.
   886  //   - To retrieve the current state of health monitoring (cluster setting), use the
   887  //     ClusterConfigInfoEx.dasConfig.`ClusterDasConfigInfo.vmMonitoring`
   888  //     property.
   889  //   - To retrieve the current state of health monitoring for a virtual machine, use the
   890  //     ClusterConfigInfoEx.dasVmConfig\[\].dasSettings.vmToolsMonitoringSettings.`ClusterVmToolsMonitoringSettings.vmMonitoring`
   891  //     property.
   892  type ClusterDasConfigInfoVmMonitoringState string
   893  
   894  const (
   895  	// Virtual machine health monitoring is disabled.
   896  	//
   897  	// In this state,
   898  	// HA response to guest and application heartbeat failures are disabled.
   899  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled")
   900  	// HA response to guest heartbeat failure is enabled.
   901  	//
   902  	// To retrieve the guest heartbeat status, use the
   903  	// `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   904  	// property.
   905  	ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly")
   906  	// HA response to both guest and application heartbeat failure is enabled.
   907  	//   - To retrieve the guest heartbeat status, use the
   908  	//     `VirtualMachine*.*VirtualMachine.guestHeartbeatStatus`
   909  	//     property.
   910  	//   - To retrieve the application heartbeat status, use the
   911  	//     `GuestInfo*.*GuestInfo.appHeartbeatStatus`
   912  	//     property.
   913  	ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring")
   914  )
   915  
   916  func (e ClusterDasConfigInfoVmMonitoringState) Values() []ClusterDasConfigInfoVmMonitoringState {
   917  	return []ClusterDasConfigInfoVmMonitoringState{
   918  		ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled,
   919  		ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly,
   920  		ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring,
   921  	}
   922  }
   923  
   924  func (e ClusterDasConfigInfoVmMonitoringState) Strings() []string {
   925  	return EnumValuesAsStrings(e.Values())
   926  }
   927  
   928  func init() {
   929  	t["ClusterDasConfigInfoVmMonitoringState"] = reflect.TypeOf((*ClusterDasConfigInfoVmMonitoringState)(nil)).Elem()
   930  }
   931  
   932  // The `ClusterDasFdmAvailabilityState_enum` enumeration describes the
   933  // availability states of hosts in a vSphere HA cluster.
   934  //
   935  // In the HA
   936  // architecture, a agent called the Fault Domain Manager runs on
   937  // each active host. These agents elect a master and the others become
   938  // its slaves. The availability state assigned to a given host is
   939  // determined from information reported by the Fault Domain Manager
   940  // running on the host, by a Fault Domain Manager that has been elected
   941  // master, and by vCenter Server. See `ClusterDasFdmHostState`
   942  // for more information about the vSphere HA architecture.
   943  type ClusterDasFdmAvailabilityState string
   944  
   945  const (
   946  	// The Fault Domain Manager for the host has not yet been
   947  	// initialized.
   948  	//
   949  	// Hence the host is not part of a vSphere HA
   950  	// fault domain. This state is reported by vCenter Server or
   951  	// by the host itself.
   952  	ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized")
   953  	// The Fault Domain Manager on the host has been initialized and
   954  	// the host is either waiting to join the existing master or
   955  	// is participating in an election for a new master.
   956  	//
   957  	// This state
   958  	// is reported by vCenter Server or by the host itself.
   959  	ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election")
   960  	// The Fault Domain Manager on the host has been elected a
   961  	// master.
   962  	//
   963  	// This state is reported by the the host itself.
   964  	ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master")
   965  	// The normal operating state for a slave host.
   966  	//
   967  	// In this state,
   968  	// the host is exchanging heartbeats with a master over
   969  	// the management network, and is thus connected to it. If
   970  	// there is a management network partition, the slave will be
   971  	// in this state only if it is in the same partition as the master.
   972  	// This state is reported by the master of a slave host.
   973  	ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster")
   974  	// A slave host is alive and has management network connectivity, but
   975  	// the management network has been partitioned.
   976  	//
   977  	// This state is reported
   978  	// by masters that are in a partition other than the one containing the
   979  	// slave host; the master in the slave's partition will report the slave state
   980  	// as `connectedToMaster`.
   981  	ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster")
   982  	// A host is alive but is isolated from the management network.
   983  	//
   984  	// See `ClusterDasVmSettingsIsolationResponse_enum` for the criteria
   985  	// used to determine whether a host is isolated.
   986  	ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated")
   987  	// The slave host appears to be down.
   988  	//
   989  	// This state is reported by the
   990  	// master of a slave host.
   991  	ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown")
   992  	// An error occurred when initilizating the Fault Domain Manager
   993  	// on a host due to a problem with installing the
   994  	// agent or configuring it.
   995  	//
   996  	// This condition can often be cleared by
   997  	// reconfiguring HA for the host. This state is reported by vCenter
   998  	// Server.
   999  	ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError")
  1000  	// An error occurred when unconfiguring the Fault Domain Manager
  1001  	// running on a host.
  1002  	//
  1003  	// In order to clear this condition the host might
  1004  	// need to be reconnected to the cluster and reconfigured first.
  1005  	// This state is reported by vCenter
  1006  	// Server.
  1007  	ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError")
  1008  	// The Fault Domain Manager (FDM) on the host cannot be reached.
  1009  	//
  1010  	// This
  1011  	// state is reported in two unlikely situations.
  1012  	//   - First, it is reported by
  1013  	//     a master if the host responds to ICMP pings sent by the master over the
  1014  	//     management network but the FDM on the host cannot be reached by the master.
  1015  	//     This situation will occur if the FDM is unable to run or exit the
  1016  	//     uninitialized state.
  1017  	//   - Second, it is reported by vCenter Server if it cannot connect to a
  1018  	//     master nor the FDM for the host. This situation would occur if all hosts
  1019  	//     in the cluster failed but vCenter Server is still running. It may also
  1020  	//     occur if all FDMs are unable to run or exit the uninitialized state.
  1021  	ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable")
  1022  	// Config/Reconfig/upgrade operation has failed in first attempt and
  1023  	// a retry of these operations is scheduled.
  1024  	//
  1025  	// If any of the retry attempts succeed, the state is set to initialized.
  1026  	// If all retry attempts fail, the state is set to initializationError.
  1027  	// This state is reported by vCenter.
  1028  	ClusterDasFdmAvailabilityStateRetry = ClusterDasFdmAvailabilityState("retry")
  1029  )
  1030  
  1031  func (e ClusterDasFdmAvailabilityState) Values() []ClusterDasFdmAvailabilityState {
  1032  	return []ClusterDasFdmAvailabilityState{
  1033  		ClusterDasFdmAvailabilityStateUninitialized,
  1034  		ClusterDasFdmAvailabilityStateElection,
  1035  		ClusterDasFdmAvailabilityStateMaster,
  1036  		ClusterDasFdmAvailabilityStateConnectedToMaster,
  1037  		ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster,
  1038  		ClusterDasFdmAvailabilityStateNetworkIsolated,
  1039  		ClusterDasFdmAvailabilityStateHostDown,
  1040  		ClusterDasFdmAvailabilityStateInitializationError,
  1041  		ClusterDasFdmAvailabilityStateUninitializationError,
  1042  		ClusterDasFdmAvailabilityStateFdmUnreachable,
  1043  		ClusterDasFdmAvailabilityStateRetry,
  1044  	}
  1045  }
  1046  
  1047  func (e ClusterDasFdmAvailabilityState) Strings() []string {
  1048  	return EnumValuesAsStrings(e.Values())
  1049  }
  1050  
  1051  func init() {
  1052  	t["ClusterDasFdmAvailabilityState"] = reflect.TypeOf((*ClusterDasFdmAvailabilityState)(nil)).Elem()
  1053  	minAPIVersionForEnumValue["ClusterDasFdmAvailabilityState"] = map[string]string{
  1054  		"retry": "8.0.0.0",
  1055  	}
  1056  }
  1057  
  1058  // The `ClusterDasVmSettingsIsolationResponse_enum` enum defines
  1059  // values that indicate whether or not the virtual machine should be
  1060  // powered off if a host determines that it is isolated from the rest of
  1061  // the cluster.
  1062  //
  1063  // Host network isolation occurs when a host is still running but it can no
  1064  // longer communicate with other hosts in the cluster and it cannot ping
  1065  // the configured isolation address(es). When the HA agent on a host loses
  1066  // contact with the other hosts, it will ping the isolation addresses. If
  1067  // the pings fail, the host will declare itself isolated.
  1068  //
  1069  // Once the HA agent declares the host isolated, it will initiate the
  1070  // isolation response workflow after a 30 second delay. You can use the FDM
  1071  // advanced option fdm.isolationPolicyDelaySec to increase the delay. For
  1072  // each virtual machine, the HA agent attempts to determine if a master is
  1073  // responsible for restarting the virtual machine. If it cannot make the
  1074  // determination, or there is a master that is responsible, the agent will
  1075  // apply the configured isolation response. This workflow will continue
  1076  // until the configuration policy, has been applied to all virtual
  1077  // machines, the agent reconnects to another HA agent in the cluster, or
  1078  // the isolation address pings start succeeding. If there is a master agent
  1079  // in the cluster, it will attempt to restart the virtual machines that
  1080  // were powered off during isolation.
  1081  //
  1082  // By default, the isolated host leaves its virtual machines powered on.
  1083  // You can override the isolation response default with a cluster-wide
  1084  // setting (`ClusterDasConfigInfo.defaultVmSettings`)
  1085  // or a virtual machine setting
  1086  // (`ClusterDasVmSettings.isolationResponse`).
  1087  //   - All isolation response values are valid for the
  1088  //     `ClusterDasVmSettings.isolationResponse`
  1089  //     property specified in a single virtual machine HA configuration.
  1090  //   - All values except for <code>clusterIsolationResponse</code> are valid
  1091  //     for the cluster-wide default HA configuration for virtual machines
  1092  //     (`ClusterDasConfigInfo.defaultVmSettings`).
  1093  //
  1094  // If you ensure that your network infrastructure is sufficiently redundant
  1095  // and that at least one network path is available at all times, host network
  1096  // isolation should be a rare occurrence.
  1097  type ClusterDasVmSettingsIsolationResponse string
  1098  
  1099  const (
  1100  	// Do not power off the virtual machine in the event of a host network
  1101  	// isolation.
  1102  	ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none")
  1103  	// Power off the virtual machine in the event of a host network
  1104  	// isolation.
  1105  	ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff")
  1106  	// Shut down the virtual machine guest operating system in the event of
  1107  	// a host network isolation.
  1108  	//
  1109  	// If the guest operating system fails to
  1110  	// shutdown within five minutes, HA will initiate a forced power off.
  1111  	//
  1112  	// When you use the shutdown isolation response, failover can take
  1113  	// longer (compared to the
  1114  	// `powerOff`
  1115  	// response) because the virtual machine cannot fail over until it is
  1116  	// shutdown.
  1117  	ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown")
  1118  	// Use the default isolation response defined for the cluster
  1119  	// that contains this virtual machine.
  1120  	ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse")
  1121  )
  1122  
  1123  func (e ClusterDasVmSettingsIsolationResponse) Values() []ClusterDasVmSettingsIsolationResponse {
  1124  	return []ClusterDasVmSettingsIsolationResponse{
  1125  		ClusterDasVmSettingsIsolationResponseNone,
  1126  		ClusterDasVmSettingsIsolationResponsePowerOff,
  1127  		ClusterDasVmSettingsIsolationResponseShutdown,
  1128  		ClusterDasVmSettingsIsolationResponseClusterIsolationResponse,
  1129  	}
  1130  }
  1131  
  1132  func (e ClusterDasVmSettingsIsolationResponse) Strings() []string {
  1133  	return EnumValuesAsStrings(e.Values())
  1134  }
  1135  
  1136  func init() {
  1137  	t["ClusterDasVmSettingsIsolationResponse"] = reflect.TypeOf((*ClusterDasVmSettingsIsolationResponse)(nil)).Elem()
  1138  }
  1139  
  1140  // The `ClusterDasVmSettingsRestartPriority_enum` enum defines
  1141  // virtual machine restart priority values to resolve resource contention.
  1142  //
  1143  // The priority determines the preference that HA gives to a virtual
  1144  // machine if sufficient capacity is not available to power on all failed
  1145  // virtual machines. For example, high priority virtual machines on a host
  1146  // get preference over low priority virtual machines.
  1147  //
  1148  // All priority values are valid for the restart priority specified in a
  1149  // single virtual machine HA configuration (`ClusterDasVmConfigInfo.dasSettings`).
  1150  // All values except for <code>clusterRestartPriority</code> are valid for
  1151  // the cluster-wide default HA configuration for virtual machines
  1152  // (`ClusterDasConfigInfo.defaultVmSettings`).
  1153  type ClusterDasVmSettingsRestartPriority string
  1154  
  1155  const (
  1156  	// vSphere HA is disabled for this virtual machine.
  1157  	ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled")
  1158  	// Virtual machines with this priority have the lowest chance of
  1159  	// powering on after a failure if there is insufficient capacity on
  1160  	// hosts to meet all virtual machine needs.
  1161  	ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest")
  1162  	// Virtual machines with this priority have a lower chance of powering
  1163  	// on after a failure if there is insufficient capacity on hosts to meet
  1164  	// all virtual machine needs.
  1165  	ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low")
  1166  	// Virtual machines with this priority have an intermediate chance of
  1167  	// powering on after a failure if there is insufficient capacity on
  1168  	// hosts to meet all virtual machine needs.
  1169  	ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium")
  1170  	// Virtual machines with this priority have a higher chance of powering
  1171  	// on after a failure if there is insufficient capacity on hosts to meet
  1172  	// all virtual machine needs.
  1173  	ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high")
  1174  	// Virtual machines with this priority have the highest chance of
  1175  	// powering on after a failure if there is insufficient capacity on
  1176  	// hosts to meet all virtual machine needs.
  1177  	ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest")
  1178  	// Virtual machines with this priority use the default restart
  1179  	// priority defined for the cluster that contains this virtual machine.
  1180  	ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority")
  1181  )
  1182  
  1183  func (e ClusterDasVmSettingsRestartPriority) Values() []ClusterDasVmSettingsRestartPriority {
  1184  	return []ClusterDasVmSettingsRestartPriority{
  1185  		ClusterDasVmSettingsRestartPriorityDisabled,
  1186  		ClusterDasVmSettingsRestartPriorityLowest,
  1187  		ClusterDasVmSettingsRestartPriorityLow,
  1188  		ClusterDasVmSettingsRestartPriorityMedium,
  1189  		ClusterDasVmSettingsRestartPriorityHigh,
  1190  		ClusterDasVmSettingsRestartPriorityHighest,
  1191  		ClusterDasVmSettingsRestartPriorityClusterRestartPriority,
  1192  	}
  1193  }
  1194  
  1195  func (e ClusterDasVmSettingsRestartPriority) Strings() []string {
  1196  	return EnumValuesAsStrings(e.Values())
  1197  }
  1198  
  1199  func init() {
  1200  	t["ClusterDasVmSettingsRestartPriority"] = reflect.TypeOf((*ClusterDasVmSettingsRestartPriority)(nil)).Elem()
  1201  }
  1202  
  1203  // Describes the operation type of the action.
  1204  //
  1205  // enterexitQuarantine suggests
  1206  // that the host is only exiting the quarantine state (i.e. not the
  1207  // maintenance mode).
  1208  type ClusterHostInfraUpdateHaModeActionOperationType string
  1209  
  1210  const (
  1211  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine  = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine")
  1212  	ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine   = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine")
  1213  	ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance")
  1214  )
  1215  
  1216  func (e ClusterHostInfraUpdateHaModeActionOperationType) Values() []ClusterHostInfraUpdateHaModeActionOperationType {
  1217  	return []ClusterHostInfraUpdateHaModeActionOperationType{
  1218  		ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine,
  1219  		ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine,
  1220  		ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance,
  1221  	}
  1222  }
  1223  
  1224  func (e ClusterHostInfraUpdateHaModeActionOperationType) Strings() []string {
  1225  	return EnumValuesAsStrings(e.Values())
  1226  }
  1227  
  1228  func init() {
  1229  	t["ClusterHostInfraUpdateHaModeActionOperationType"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeActionOperationType)(nil)).Elem()
  1230  }
  1231  
  1232  type ClusterInfraUpdateHaConfigInfoBehaviorType string
  1233  
  1234  const (
  1235  	// With this behavior configured, the proposed DRS recommendations
  1236  	// require manual approval before they are executed.
  1237  	ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual")
  1238  	// With this behavior configured, the proposed DRS recommendations are
  1239  	// executed immediately.
  1240  	ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated")
  1241  )
  1242  
  1243  func (e ClusterInfraUpdateHaConfigInfoBehaviorType) Values() []ClusterInfraUpdateHaConfigInfoBehaviorType {
  1244  	return []ClusterInfraUpdateHaConfigInfoBehaviorType{
  1245  		ClusterInfraUpdateHaConfigInfoBehaviorTypeManual,
  1246  		ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated,
  1247  	}
  1248  }
  1249  
  1250  func (e ClusterInfraUpdateHaConfigInfoBehaviorType) Strings() []string {
  1251  	return EnumValuesAsStrings(e.Values())
  1252  }
  1253  
  1254  func init() {
  1255  	t["ClusterInfraUpdateHaConfigInfoBehaviorType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoBehaviorType)(nil)).Elem()
  1256  }
  1257  
  1258  type ClusterInfraUpdateHaConfigInfoRemediationType string
  1259  
  1260  const (
  1261  	// With this behavior configured, a degraded host will be recommended
  1262  	// to be placed in Quarantine Mode.
  1263  	ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode")
  1264  	// With this behavior configured, a degraded host will be recommended
  1265  	// to be placed in Maintenance Mode.
  1266  	ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode")
  1267  )
  1268  
  1269  func (e ClusterInfraUpdateHaConfigInfoRemediationType) Values() []ClusterInfraUpdateHaConfigInfoRemediationType {
  1270  	return []ClusterInfraUpdateHaConfigInfoRemediationType{
  1271  		ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode,
  1272  		ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode,
  1273  	}
  1274  }
  1275  
  1276  func (e ClusterInfraUpdateHaConfigInfoRemediationType) Strings() []string {
  1277  	return EnumValuesAsStrings(e.Values())
  1278  }
  1279  
  1280  func init() {
  1281  	t["ClusterInfraUpdateHaConfigInfoRemediationType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoRemediationType)(nil)).Elem()
  1282  }
  1283  
  1284  // Defines the options for a Datacenter::powerOnVm() invocation.
  1285  type ClusterPowerOnVmOption string
  1286  
  1287  const (
  1288  	// Override the DRS automation level.
  1289  	//
  1290  	// Value type: `DrsBehavior_enum`
  1291  	// Default value: current behavior
  1292  	ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel")
  1293  	// Reserve resources for the powering-on VMs throughout the
  1294  	// power-on session.
  1295  	//
  1296  	// When this option is set to true, the server
  1297  	// will return at most one recommended host per manual VM, and
  1298  	// the VM's reservations are held on the recommended host until
  1299  	// the VM is actually powered on (either by applying the
  1300  	// recommendation or by a power-on request on the VM), or until
  1301  	// the recommendation is cancelled, or until the recommendation
  1302  	// expires. The expiration time is currently set to 10
  1303  	// minutes. This option does not have an effect on automatic VMs
  1304  	// since their recommendations are executed immediately. This
  1305  	// option is effective on DRS clusters only.
  1306  	// Value type: boolean
  1307  	// Default value: false
  1308  	ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources")
  1309  )
  1310  
  1311  func (e ClusterPowerOnVmOption) Values() []ClusterPowerOnVmOption {
  1312  	return []ClusterPowerOnVmOption{
  1313  		ClusterPowerOnVmOptionOverrideAutomationLevel,
  1314  		ClusterPowerOnVmOptionReserveResources,
  1315  	}
  1316  }
  1317  
  1318  func (e ClusterPowerOnVmOption) Strings() []string {
  1319  	return EnumValuesAsStrings(e.Values())
  1320  }
  1321  
  1322  func init() {
  1323  	t["ClusterPowerOnVmOption"] = reflect.TypeOf((*ClusterPowerOnVmOption)(nil)).Elem()
  1324  }
  1325  
  1326  // Type of services for which Profile can be requested for
  1327  type ClusterProfileServiceType string
  1328  
  1329  const (
  1330  	// Distributed Resource Scheduling
  1331  	ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS")
  1332  	// High Availability
  1333  	ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA")
  1334  	// Distributed Power Management
  1335  	ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM")
  1336  	// Fault tolerance
  1337  	ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT")
  1338  )
  1339  
  1340  func (e ClusterProfileServiceType) Values() []ClusterProfileServiceType {
  1341  	return []ClusterProfileServiceType{
  1342  		ClusterProfileServiceTypeDRS,
  1343  		ClusterProfileServiceTypeHA,
  1344  		ClusterProfileServiceTypeDPM,
  1345  		ClusterProfileServiceTypeFT,
  1346  	}
  1347  }
  1348  
  1349  func (e ClusterProfileServiceType) Strings() []string {
  1350  	return EnumValuesAsStrings(e.Values())
  1351  }
  1352  
  1353  func init() {
  1354  	t["ClusterProfileServiceType"] = reflect.TypeOf((*ClusterProfileServiceType)(nil)).Elem()
  1355  }
  1356  
  1357  type ClusterSystemVMsConfigInfoDeploymentMode string
  1358  
  1359  const (
  1360  	// System VMs are fully managed by the system.
  1361  	ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED = ClusterSystemVMsConfigInfoDeploymentMode("SYSTEM_MANAGED")
  1362  	// System VMs are absent on the managed entity.
  1363  	ClusterSystemVMsConfigInfoDeploymentModeABSENT = ClusterSystemVMsConfigInfoDeploymentMode("ABSENT")
  1364  )
  1365  
  1366  func (e ClusterSystemVMsConfigInfoDeploymentMode) Values() []ClusterSystemVMsConfigInfoDeploymentMode {
  1367  	return []ClusterSystemVMsConfigInfoDeploymentMode{
  1368  		ClusterSystemVMsConfigInfoDeploymentModeSYSTEM_MANAGED,
  1369  		ClusterSystemVMsConfigInfoDeploymentModeABSENT,
  1370  	}
  1371  }
  1372  
  1373  func (e ClusterSystemVMsConfigInfoDeploymentMode) Strings() []string {
  1374  	return EnumValuesAsStrings(e.Values())
  1375  }
  1376  
  1377  func init() {
  1378  	t["ClusterSystemVMsConfigInfoDeploymentMode"] = reflect.TypeOf((*ClusterSystemVMsConfigInfoDeploymentMode)(nil)).Elem()
  1379  	minAPIVersionForType["ClusterSystemVMsConfigInfoDeploymentMode"] = "8.0.2.0"
  1380  }
  1381  
  1382  // The VM policy settings that determine the response to
  1383  // storage failures.
  1384  type ClusterVmComponentProtectionSettingsStorageVmReaction string
  1385  
  1386  const (
  1387  	// VM Component Protection service will not monitor or react to
  1388  	// the component failure.
  1389  	//
  1390  	// This setting does not affect other vSphere
  1391  	// HA services such as Host Monitoring or VM Health Monitoring.
  1392  	ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled")
  1393  	// VM Component Protection service will monitor component failures but
  1394  	// will not restart an affected VM.
  1395  	//
  1396  	// Rather it will notify users about
  1397  	// the component failures. This setting does not affect other vSphere HA
  1398  	// services such as Host Monitoring or VM Health Monitoring.
  1399  	ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning")
  1400  	// VM Component Protection service protects VMs conservatively.
  1401  	//
  1402  	// With this
  1403  	// setting, when the service can't determine that capacity is available to
  1404  	// restart a VM, it will favor keeping the VM running.
  1405  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative")
  1406  	// VM Component Protection service protects VMs aggressively.
  1407  	//
  1408  	// With this setting,
  1409  	// the service will terminate an affected VM even if it can't determine that
  1410  	// capacity exists to restart the VM.
  1411  	ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive")
  1412  	// VM will use the cluster default setting.
  1413  	//
  1414  	// This option is only meaningful for
  1415  	// per-VM settings.
  1416  	ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault")
  1417  )
  1418  
  1419  func (e ClusterVmComponentProtectionSettingsStorageVmReaction) Values() []ClusterVmComponentProtectionSettingsStorageVmReaction {
  1420  	return []ClusterVmComponentProtectionSettingsStorageVmReaction{
  1421  		ClusterVmComponentProtectionSettingsStorageVmReactionDisabled,
  1422  		ClusterVmComponentProtectionSettingsStorageVmReactionWarning,
  1423  		ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative,
  1424  		ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive,
  1425  		ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault,
  1426  	}
  1427  }
  1428  
  1429  func (e ClusterVmComponentProtectionSettingsStorageVmReaction) Strings() []string {
  1430  	return EnumValuesAsStrings(e.Values())
  1431  }
  1432  
  1433  func init() {
  1434  	t["ClusterVmComponentProtectionSettingsStorageVmReaction"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsStorageVmReaction)(nil)).Elem()
  1435  }
  1436  
  1437  // If an APD condition clears after an APD timeout condition has been declared and before
  1438  // VM Component Protection service terminated the VM, the guestOS and application may
  1439  // no longer be operational.
  1440  //
  1441  // VM Component Protection may be configured to reset the
  1442  // VM (`VirtualMachine.ResetVM_Task`) to restore the service of guest applications.
  1443  type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string
  1444  
  1445  const (
  1446  	// VM Component Protection service will not react after APD condition is cleared.
  1447  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none")
  1448  	// VM Component Protection service will reset the VM after APD condition is cleared.
  1449  	//
  1450  	// Note this only applies if the subject VM is still powered on.
  1451  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset")
  1452  	// VM will use the cluster default setting.
  1453  	//
  1454  	// This option is only meaningful for
  1455  	// per-VM settings.
  1456  	ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault")
  1457  )
  1458  
  1459  func (e ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared) Values() []ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared {
  1460  	return []ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared{
  1461  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone,
  1462  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset,
  1463  		ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault,
  1464  	}
  1465  }
  1466  
  1467  func (e ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared) Strings() []string {
  1468  	return EnumValuesAsStrings(e.Values())
  1469  }
  1470  
  1471  func init() {
  1472  	t["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared)(nil)).Elem()
  1473  }
  1474  
  1475  // Condition for VM's readiness
  1476  type ClusterVmReadinessReadyCondition string
  1477  
  1478  const (
  1479  	// No ready condition specified.
  1480  	//
  1481  	// In case of vSphere HA, higher restart priority VMs are still
  1482  	// placed before lower priority VMs.
  1483  	ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none")
  1484  	// VM is powered on.
  1485  	ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn")
  1486  	// VM guest operating system is up and responding normally (VM tools
  1487  	// heartbeat status is green).
  1488  	ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen")
  1489  	// An application running inside the VM is responding normally.
  1490  	//
  1491  	// To enable Application Monitoring, you must first obtain the
  1492  	// appropriate SDK (or be using an application that supports VMware
  1493  	// Application Monitoring) and use it to set up customized heartbeats
  1494  	// for the applications you want to monitor.
  1495  	// See `ClusterDasConfigInfo.vmMonitoring`.
  1496  	ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen")
  1497  	// VM will use the cluster default setting.
  1498  	//
  1499  	// This option is only
  1500  	// meaningful for per-VM settings.
  1501  	ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault")
  1502  )
  1503  
  1504  func (e ClusterVmReadinessReadyCondition) Values() []ClusterVmReadinessReadyCondition {
  1505  	return []ClusterVmReadinessReadyCondition{
  1506  		ClusterVmReadinessReadyConditionNone,
  1507  		ClusterVmReadinessReadyConditionPoweredOn,
  1508  		ClusterVmReadinessReadyConditionGuestHbStatusGreen,
  1509  		ClusterVmReadinessReadyConditionAppHbStatusGreen,
  1510  		ClusterVmReadinessReadyConditionUseClusterDefault,
  1511  	}
  1512  }
  1513  
  1514  func (e ClusterVmReadinessReadyCondition) Strings() []string {
  1515  	return EnumValuesAsStrings(e.Values())
  1516  }
  1517  
  1518  func init() {
  1519  	t["ClusterVmReadinessReadyCondition"] = reflect.TypeOf((*ClusterVmReadinessReadyCondition)(nil)).Elem()
  1520  }
  1521  
  1522  type ComplianceResultStatus string
  1523  
  1524  const (
  1525  	// Entity is in Compliance
  1526  	ComplianceResultStatusCompliant = ComplianceResultStatus("compliant")
  1527  	// Entity is out of Compliance
  1528  	ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant")
  1529  	// Compliance status of the entity is not known
  1530  	ComplianceResultStatusUnknown = ComplianceResultStatus("unknown")
  1531  	// Compliance check on this host is running.
  1532  	ComplianceResultStatusRunning = ComplianceResultStatus("running")
  1533  )
  1534  
  1535  func (e ComplianceResultStatus) Values() []ComplianceResultStatus {
  1536  	return []ComplianceResultStatus{
  1537  		ComplianceResultStatusCompliant,
  1538  		ComplianceResultStatusNonCompliant,
  1539  		ComplianceResultStatusUnknown,
  1540  		ComplianceResultStatusRunning,
  1541  	}
  1542  }
  1543  
  1544  func (e ComplianceResultStatus) Strings() []string {
  1545  	return EnumValuesAsStrings(e.Values())
  1546  }
  1547  
  1548  func init() {
  1549  	t["ComplianceResultStatus"] = reflect.TypeOf((*ComplianceResultStatus)(nil)).Elem()
  1550  }
  1551  
  1552  // The SPBM(Storage Policy Based Management) license state for a host
  1553  type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string
  1554  
  1555  const (
  1556  	// The host is licensed
  1557  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed")
  1558  	// The host is not licensed
  1559  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed")
  1560  	// The host license information is unknown, this could happen if the
  1561  	// host is not in a available state
  1562  	ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown")
  1563  )
  1564  
  1565  func (e ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState) Values() []ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState {
  1566  	return []ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState{
  1567  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed,
  1568  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed,
  1569  		ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown,
  1570  	}
  1571  }
  1572  
  1573  func (e ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState) Strings() []string {
  1574  	return EnumValuesAsStrings(e.Values())
  1575  }
  1576  
  1577  func init() {
  1578  	t["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState)(nil)).Elem()
  1579  }
  1580  
  1581  // Config spec operation type.
  1582  type ConfigSpecOperation string
  1583  
  1584  const (
  1585  	// Indicates the addition of an element to the configuration.
  1586  	ConfigSpecOperationAdd = ConfigSpecOperation("add")
  1587  	// Indicates the change of an element in the configuration.
  1588  	ConfigSpecOperationEdit = ConfigSpecOperation("edit")
  1589  	// Indicates the removal of an element in the configuration.
  1590  	ConfigSpecOperationRemove = ConfigSpecOperation("remove")
  1591  )
  1592  
  1593  func (e ConfigSpecOperation) Values() []ConfigSpecOperation {
  1594  	return []ConfigSpecOperation{
  1595  		ConfigSpecOperationAdd,
  1596  		ConfigSpecOperationEdit,
  1597  		ConfigSpecOperationRemove,
  1598  	}
  1599  }
  1600  
  1601  func (e ConfigSpecOperation) Strings() []string {
  1602  	return EnumValuesAsStrings(e.Values())
  1603  }
  1604  
  1605  func init() {
  1606  	t["ConfigSpecOperation"] = reflect.TypeOf((*ConfigSpecOperation)(nil)).Elem()
  1607  }
  1608  
  1609  type CryptoManagerHostKeyManagementType string
  1610  
  1611  const (
  1612  	CryptoManagerHostKeyManagementTypeUnknown  = CryptoManagerHostKeyManagementType("unknown")
  1613  	CryptoManagerHostKeyManagementTypeInternal = CryptoManagerHostKeyManagementType("internal")
  1614  	CryptoManagerHostKeyManagementTypeExternal = CryptoManagerHostKeyManagementType("external")
  1615  )
  1616  
  1617  func (e CryptoManagerHostKeyManagementType) Values() []CryptoManagerHostKeyManagementType {
  1618  	return []CryptoManagerHostKeyManagementType{
  1619  		CryptoManagerHostKeyManagementTypeUnknown,
  1620  		CryptoManagerHostKeyManagementTypeInternal,
  1621  		CryptoManagerHostKeyManagementTypeExternal,
  1622  	}
  1623  }
  1624  
  1625  func (e CryptoManagerHostKeyManagementType) Strings() []string {
  1626  	return EnumValuesAsStrings(e.Values())
  1627  }
  1628  
  1629  func init() {
  1630  	t["CryptoManagerHostKeyManagementType"] = reflect.TypeOf((*CryptoManagerHostKeyManagementType)(nil)).Elem()
  1631  	minAPIVersionForType["CryptoManagerHostKeyManagementType"] = "8.0.1.0"
  1632  }
  1633  
  1634  type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason string
  1635  
  1636  const (
  1637  	// Key not found in VC cache and does not specify a provider
  1638  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInCache")
  1639  	// Key provider is invalid
  1640  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterInvalid")
  1641  	// Can not reach the key provider
  1642  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterUnreachable")
  1643  	// Key not found in KMS
  1644  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInKMS")
  1645  	// Key not active or enabled
  1646  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateNotActiveOrEnabled")
  1647  	// Key is managed by Trust Authority
  1648  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByTrustAuthority")
  1649  	// Key is managed by Native Key Provider
  1650  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByNKP = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByNKP")
  1651  	// No permission to access key provider
  1652  	CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonNoPermissionToAccessKeyProvider = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("NoPermissionToAccessKeyProvider")
  1653  )
  1654  
  1655  func (e CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason) Values() []CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason {
  1656  	return []CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason{
  1657  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache,
  1658  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid,
  1659  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable,
  1660  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS,
  1661  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled,
  1662  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority,
  1663  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByNKP,
  1664  		CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonNoPermissionToAccessKeyProvider,
  1665  	}
  1666  }
  1667  
  1668  func (e CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason) Strings() []string {
  1669  	return EnumValuesAsStrings(e.Values())
  1670  }
  1671  
  1672  func init() {
  1673  	t["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason)(nil)).Elem()
  1674  	minAPIVersionForEnumValue["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = map[string]string{
  1675  		"KeyStateManagedByNKP":            "8.0.3.0",
  1676  		"NoPermissionToAccessKeyProvider": "8.0.3.0",
  1677  	}
  1678  }
  1679  
  1680  type CustomizationFailedReasonCode string
  1681  
  1682  const (
  1683  	// The user defined script is disabled during customization
  1684  	CustomizationFailedReasonCodeUserDefinedScriptDisabled = CustomizationFailedReasonCode("userDefinedScriptDisabled")
  1685  	// The guest customization is disabled by VMware Tools
  1686  	CustomizationFailedReasonCodeCustomizationDisabled = CustomizationFailedReasonCode("customizationDisabled")
  1687  	// The cloud-init version is too old to support cloud-init raw data
  1688  	CustomizationFailedReasonCodeRawDataIsNotSupported = CustomizationFailedReasonCode("rawDataIsNotSupported")
  1689  	// The cloud-init meta data is not valid format
  1690  	CustomizationFailedReasonCodeWrongMetadataFormat = CustomizationFailedReasonCode("wrongMetadataFormat")
  1691  )
  1692  
  1693  func (e CustomizationFailedReasonCode) Values() []CustomizationFailedReasonCode {
  1694  	return []CustomizationFailedReasonCode{
  1695  		CustomizationFailedReasonCodeUserDefinedScriptDisabled,
  1696  		CustomizationFailedReasonCodeCustomizationDisabled,
  1697  		CustomizationFailedReasonCodeRawDataIsNotSupported,
  1698  		CustomizationFailedReasonCodeWrongMetadataFormat,
  1699  	}
  1700  }
  1701  
  1702  func (e CustomizationFailedReasonCode) Strings() []string {
  1703  	return EnumValuesAsStrings(e.Values())
  1704  }
  1705  
  1706  func init() {
  1707  	t["CustomizationFailedReasonCode"] = reflect.TypeOf((*CustomizationFailedReasonCode)(nil)).Elem()
  1708  	minAPIVersionForEnumValue["CustomizationFailedReasonCode"] = map[string]string{
  1709  		"customizationDisabled": "7.0.1.0",
  1710  		"rawDataIsNotSupported": "7.0.3.0",
  1711  		"wrongMetadataFormat":   "7.0.3.0",
  1712  	}
  1713  }
  1714  
  1715  // Enumeration of AutoMode values.
  1716  type CustomizationLicenseDataMode string
  1717  
  1718  const (
  1719  	// Indicates that client access licenses have been purchased for the server,
  1720  	// allowing a certain number of concurrent connections to the VirtualCenter
  1721  	// server.
  1722  	CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer")
  1723  	// Indicates that a client access license has been purchased for each computer
  1724  	// that accesses the VirtualCenter server.
  1725  	CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat")
  1726  )
  1727  
  1728  func (e CustomizationLicenseDataMode) Values() []CustomizationLicenseDataMode {
  1729  	return []CustomizationLicenseDataMode{
  1730  		CustomizationLicenseDataModePerServer,
  1731  		CustomizationLicenseDataModePerSeat,
  1732  	}
  1733  }
  1734  
  1735  func (e CustomizationLicenseDataMode) Strings() []string {
  1736  	return EnumValuesAsStrings(e.Values())
  1737  }
  1738  
  1739  func init() {
  1740  	t["CustomizationLicenseDataMode"] = reflect.TypeOf((*CustomizationLicenseDataMode)(nil)).Elem()
  1741  }
  1742  
  1743  // NetBIOS setting for Windows.
  1744  type CustomizationNetBIOSMode string
  1745  
  1746  const (
  1747  	// DHCP server decides whether or not to use NetBIOS.
  1748  	CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp")
  1749  	// Always use NetBIOS.
  1750  	CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS")
  1751  	// Never use NetBIOS.
  1752  	CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS")
  1753  )
  1754  
  1755  func (e CustomizationNetBIOSMode) Values() []CustomizationNetBIOSMode {
  1756  	return []CustomizationNetBIOSMode{
  1757  		CustomizationNetBIOSModeEnableNetBIOSViaDhcp,
  1758  		CustomizationNetBIOSModeEnableNetBIOS,
  1759  		CustomizationNetBIOSModeDisableNetBIOS,
  1760  	}
  1761  }
  1762  
  1763  func (e CustomizationNetBIOSMode) Strings() []string {
  1764  	return EnumValuesAsStrings(e.Values())
  1765  }
  1766  
  1767  func init() {
  1768  	t["CustomizationNetBIOSMode"] = reflect.TypeOf((*CustomizationNetBIOSMode)(nil)).Elem()
  1769  }
  1770  
  1771  // A enum constant specifying what should be done to the guest vm after running
  1772  // sysprep.
  1773  type CustomizationSysprepRebootOption string
  1774  
  1775  const (
  1776  	// Reboot the machine after running sysprep.
  1777  	//
  1778  	// This will cause values
  1779  	// specified in the sysprep.xml to be applied immediately.
  1780  	CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot")
  1781  	// Take no action.
  1782  	//
  1783  	// Leave the guest os running after running sysprep. This
  1784  	// option can be used to look at values for debugging purposes after
  1785  	// running sysprep.
  1786  	CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot")
  1787  	// Shutdown the machine after running sysprep.
  1788  	//
  1789  	// This puts the vm in a
  1790  	// sealed state.
  1791  	CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown")
  1792  )
  1793  
  1794  func (e CustomizationSysprepRebootOption) Values() []CustomizationSysprepRebootOption {
  1795  	return []CustomizationSysprepRebootOption{
  1796  		CustomizationSysprepRebootOptionReboot,
  1797  		CustomizationSysprepRebootOptionNoreboot,
  1798  		CustomizationSysprepRebootOptionShutdown,
  1799  	}
  1800  }
  1801  
  1802  func (e CustomizationSysprepRebootOption) Strings() []string {
  1803  	return EnumValuesAsStrings(e.Values())
  1804  }
  1805  
  1806  func init() {
  1807  	t["CustomizationSysprepRebootOption"] = reflect.TypeOf((*CustomizationSysprepRebootOption)(nil)).Elem()
  1808  }
  1809  
  1810  // Set of possible values for
  1811  // `DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonNetwork`.
  1812  type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string
  1813  
  1814  const (
  1815  	// The switch for which this port is defined does not support VMDirectPath Gen 2.
  1816  	//
  1817  	// See
  1818  	// `DVSFeatureCapability*.*DVSFeatureCapability.vmDirectPathGen2Supported`.
  1819  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs")
  1820  	// None of the physical NICs used as uplinks for this port support
  1821  	// VMDirectPath Gen 2.
  1822  	//
  1823  	// See also `PhysicalNic.vmDirectPathGen2Supported`.
  1824  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics")
  1825  	// At least some of the physical NICs used as uplinks for this port
  1826  	// support VMDirectPath Gen 2, but all available network-passthrough
  1827  	// resources are in use by other ports.
  1828  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable")
  1829  	// VMDirectPath Gen 2 has been explicitly disabled for this port.
  1830  	DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort")
  1831  )
  1832  
  1833  func (e DVPortStatusVmDirectPathGen2InactiveReasonNetwork) Values() []DVPortStatusVmDirectPathGen2InactiveReasonNetwork {
  1834  	return []DVPortStatusVmDirectPathGen2InactiveReasonNetwork{
  1835  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs,
  1836  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics,
  1837  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable,
  1838  		DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort,
  1839  	}
  1840  }
  1841  
  1842  func (e DVPortStatusVmDirectPathGen2InactiveReasonNetwork) Strings() []string {
  1843  	return EnumValuesAsStrings(e.Values())
  1844  }
  1845  
  1846  func init() {
  1847  	t["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonNetwork)(nil)).Elem()
  1848  }
  1849  
  1850  // Set of possible values for
  1851  // `DVPortStatus*.*DVPortStatus.vmDirectPathGen2InactiveReasonOther`.
  1852  type DVPortStatusVmDirectPathGen2InactiveReasonOther string
  1853  
  1854  const (
  1855  	// The host for which this port is defined does not support VMDirectPath Gen 2.
  1856  	//
  1857  	// See `HostCapability*.*HostCapability.vmDirectPathGen2Supported`
  1858  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost")
  1859  	// Configuration or state of the port's connectee prevents
  1860  	// VMDirectPath Gen 2.
  1861  	//
  1862  	// See
  1863  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonVm`
  1864  	// and/or
  1865  	// `VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState.vmDirectPathGen2InactiveReasonExtended`
  1866  	// in the appropriate element of the RuntimeInfo.device array of the
  1867  	// virtual machine connected to this port.
  1868  	DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee")
  1869  )
  1870  
  1871  func (e DVPortStatusVmDirectPathGen2InactiveReasonOther) Values() []DVPortStatusVmDirectPathGen2InactiveReasonOther {
  1872  	return []DVPortStatusVmDirectPathGen2InactiveReasonOther{
  1873  		DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost,
  1874  		DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee,
  1875  	}
  1876  }
  1877  
  1878  func (e DVPortStatusVmDirectPathGen2InactiveReasonOther) Strings() []string {
  1879  	return EnumValuesAsStrings(e.Values())
  1880  }
  1881  
  1882  func init() {
  1883  	t["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
  1884  }
  1885  
  1886  type DVSFilterSpecLinkConfig string
  1887  
  1888  const (
  1889  	// The port link state: blocked.
  1890  	DVSFilterSpecLinkConfigBlocked = DVSFilterSpecLinkConfig("blocked")
  1891  	// The port link state: unblocked.
  1892  	DVSFilterSpecLinkConfigUnblocked = DVSFilterSpecLinkConfig("unblocked")
  1893  )
  1894  
  1895  func (e DVSFilterSpecLinkConfig) Values() []DVSFilterSpecLinkConfig {
  1896  	return []DVSFilterSpecLinkConfig{
  1897  		DVSFilterSpecLinkConfigBlocked,
  1898  		DVSFilterSpecLinkConfigUnblocked,
  1899  	}
  1900  }
  1901  
  1902  func (e DVSFilterSpecLinkConfig) Strings() []string {
  1903  	return EnumValuesAsStrings(e.Values())
  1904  }
  1905  
  1906  func init() {
  1907  	t["DVSFilterSpecLinkConfig"] = reflect.TypeOf((*DVSFilterSpecLinkConfig)(nil)).Elem()
  1908  }
  1909  
  1910  type DVSFilterSpecLinkState string
  1911  
  1912  const (
  1913  	// The port link state: down.
  1914  	DVSFilterSpecLinkStateDown = DVSFilterSpecLinkState("down")
  1915  	// The port link state: up.
  1916  	DVSFilterSpecLinkStateUp = DVSFilterSpecLinkState("up")
  1917  )
  1918  
  1919  func (e DVSFilterSpecLinkState) Values() []DVSFilterSpecLinkState {
  1920  	return []DVSFilterSpecLinkState{
  1921  		DVSFilterSpecLinkStateDown,
  1922  		DVSFilterSpecLinkStateUp,
  1923  	}
  1924  }
  1925  
  1926  func (e DVSFilterSpecLinkState) Strings() []string {
  1927  	return EnumValuesAsStrings(e.Values())
  1928  }
  1929  
  1930  func init() {
  1931  	t["DVSFilterSpecLinkState"] = reflect.TypeOf((*DVSFilterSpecLinkState)(nil)).Elem()
  1932  }
  1933  
  1934  type DVSMacLimitPolicyType string
  1935  
  1936  const (
  1937  	DVSMacLimitPolicyTypeAllow = DVSMacLimitPolicyType("allow")
  1938  	DVSMacLimitPolicyTypeDrop  = DVSMacLimitPolicyType("drop")
  1939  )
  1940  
  1941  func (e DVSMacLimitPolicyType) Values() []DVSMacLimitPolicyType {
  1942  	return []DVSMacLimitPolicyType{
  1943  		DVSMacLimitPolicyTypeAllow,
  1944  		DVSMacLimitPolicyTypeDrop,
  1945  	}
  1946  }
  1947  
  1948  func (e DVSMacLimitPolicyType) Strings() []string {
  1949  	return EnumValuesAsStrings(e.Values())
  1950  }
  1951  
  1952  func init() {
  1953  	t["DVSMacLimitPolicyType"] = reflect.TypeOf((*DVSMacLimitPolicyType)(nil)).Elem()
  1954  }
  1955  
  1956  type DasConfigFaultDasConfigFaultReason string
  1957  
  1958  const (
  1959  	// There is a problem with the host network configuration.
  1960  	DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration")
  1961  	// There is a problem with the host configuration.
  1962  	DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration")
  1963  	// The privileges were insuffient for the operation.
  1964  	DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges")
  1965  	// There was no running primary agent available to contact.
  1966  	//
  1967  	// Check that your other hosts don't have HA errors
  1968  	DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable")
  1969  	// The HA configuration failed for other reasons.
  1970  	DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other")
  1971  	// No datastores defined for this host
  1972  	DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured")
  1973  	// Failure to create config vvol
  1974  	DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed")
  1975  	// Host in vSAN cluster does not support vSAN.
  1976  	DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost")
  1977  	// There is a problem with the cluster network configuration.
  1978  	DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration")
  1979  	// Setting desired imageSpec in Personality Manager failed
  1980  	DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed = DasConfigFaultDasConfigFaultReason("SetDesiredImageSpecFailed")
  1981  	// The ApplyHA call to Personality Manager failed
  1982  	DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed = DasConfigFaultDasConfigFaultReason("ApplyHAVibsOnClusterFailed")
  1983  )
  1984  
  1985  func (e DasConfigFaultDasConfigFaultReason) Values() []DasConfigFaultDasConfigFaultReason {
  1986  	return []DasConfigFaultDasConfigFaultReason{
  1987  		DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration,
  1988  		DasConfigFaultDasConfigFaultReasonHostMisconfiguration,
  1989  		DasConfigFaultDasConfigFaultReasonInsufficientPrivileges,
  1990  		DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable,
  1991  		DasConfigFaultDasConfigFaultReasonOther,
  1992  		DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured,
  1993  		DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed,
  1994  		DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost,
  1995  		DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration,
  1996  		DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed,
  1997  		DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed,
  1998  	}
  1999  }
  2000  
  2001  func (e DasConfigFaultDasConfigFaultReason) Strings() []string {
  2002  	return EnumValuesAsStrings(e.Values())
  2003  }
  2004  
  2005  func init() {
  2006  	t["DasConfigFaultDasConfigFaultReason"] = reflect.TypeOf((*DasConfigFaultDasConfigFaultReason)(nil)).Elem()
  2007  }
  2008  
  2009  // Deprecated as of VI API 2.5, use `ClusterDasVmSettingsRestartPriority_enum`.
  2010  //
  2011  // The priority of the virtual machine determines the preference
  2012  // given to it if sufficient capacity is not available to power
  2013  // on all failed virtual machines.
  2014  //
  2015  // For example, high priority
  2016  // virtual machines on a host get preference over low priority
  2017  // virtual machines.
  2018  type DasVmPriority string
  2019  
  2020  const (
  2021  	// vSphere HA is disabled for this virtual machine.
  2022  	DasVmPriorityDisabled = DasVmPriority("disabled")
  2023  	// Virtual machines with this priority have a lower chance of powering on after a
  2024  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  2025  	// needs.
  2026  	DasVmPriorityLow = DasVmPriority("low")
  2027  	// Virtual machines with this priority have an intermediate chance of powering
  2028  	// on after a failure if there is insufficient capacity on hosts to meet all
  2029  	// virtual machine needs.
  2030  	DasVmPriorityMedium = DasVmPriority("medium")
  2031  	// Virtual machines with this priority have a higher chance of powering on after a
  2032  	// failure if there is insufficient capacity on hosts to meet all virtual machine
  2033  	// needs.
  2034  	DasVmPriorityHigh = DasVmPriority("high")
  2035  )
  2036  
  2037  func (e DasVmPriority) Values() []DasVmPriority {
  2038  	return []DasVmPriority{
  2039  		DasVmPriorityDisabled,
  2040  		DasVmPriorityLow,
  2041  		DasVmPriorityMedium,
  2042  		DasVmPriorityHigh,
  2043  	}
  2044  }
  2045  
  2046  func (e DasVmPriority) Strings() []string {
  2047  	return EnumValuesAsStrings(e.Values())
  2048  }
  2049  
  2050  func init() {
  2051  	t["DasVmPriority"] = reflect.TypeOf((*DasVmPriority)(nil)).Elem()
  2052  }
  2053  
  2054  type DatastoreAccessible string
  2055  
  2056  const (
  2057  	// Is accessible
  2058  	DatastoreAccessibleTrue = DatastoreAccessible("True")
  2059  	// Is not accessible
  2060  	DatastoreAccessibleFalse = DatastoreAccessible("False")
  2061  )
  2062  
  2063  func (e DatastoreAccessible) Values() []DatastoreAccessible {
  2064  	return []DatastoreAccessible{
  2065  		DatastoreAccessibleTrue,
  2066  		DatastoreAccessibleFalse,
  2067  	}
  2068  }
  2069  
  2070  func (e DatastoreAccessible) Strings() []string {
  2071  	return EnumValuesAsStrings(e.Values())
  2072  }
  2073  
  2074  func init() {
  2075  	t["DatastoreAccessible"] = reflect.TypeOf((*DatastoreAccessible)(nil)).Elem()
  2076  }
  2077  
  2078  // Defines the current maintenance mode state of the datastore.
  2079  type DatastoreSummaryMaintenanceModeState string
  2080  
  2081  const (
  2082  	// Default state.
  2083  	DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal")
  2084  	// Started entering maintenance mode, but not finished.
  2085  	//
  2086  	// This could happen when waiting for user input or for
  2087  	// long-running vmotions to complete.
  2088  	DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance")
  2089  	// Successfully entered maintenance mode.
  2090  	DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance")
  2091  )
  2092  
  2093  func (e DatastoreSummaryMaintenanceModeState) Values() []DatastoreSummaryMaintenanceModeState {
  2094  	return []DatastoreSummaryMaintenanceModeState{
  2095  		DatastoreSummaryMaintenanceModeStateNormal,
  2096  		DatastoreSummaryMaintenanceModeStateEnteringMaintenance,
  2097  		DatastoreSummaryMaintenanceModeStateInMaintenance,
  2098  	}
  2099  }
  2100  
  2101  func (e DatastoreSummaryMaintenanceModeState) Strings() []string {
  2102  	return EnumValuesAsStrings(e.Values())
  2103  }
  2104  
  2105  func init() {
  2106  	t["DatastoreSummaryMaintenanceModeState"] = reflect.TypeOf((*DatastoreSummaryMaintenanceModeState)(nil)).Elem()
  2107  }
  2108  
  2109  type DayOfWeek string
  2110  
  2111  const (
  2112  	DayOfWeekSunday    = DayOfWeek("sunday")
  2113  	DayOfWeekMonday    = DayOfWeek("monday")
  2114  	DayOfWeekTuesday   = DayOfWeek("tuesday")
  2115  	DayOfWeekWednesday = DayOfWeek("wednesday")
  2116  	DayOfWeekThursday  = DayOfWeek("thursday")
  2117  	DayOfWeekFriday    = DayOfWeek("friday")
  2118  	DayOfWeekSaturday  = DayOfWeek("saturday")
  2119  )
  2120  
  2121  func (e DayOfWeek) Values() []DayOfWeek {
  2122  	return []DayOfWeek{
  2123  		DayOfWeekSunday,
  2124  		DayOfWeekMonday,
  2125  		DayOfWeekTuesday,
  2126  		DayOfWeekWednesday,
  2127  		DayOfWeekThursday,
  2128  		DayOfWeekFriday,
  2129  		DayOfWeekSaturday,
  2130  	}
  2131  }
  2132  
  2133  func (e DayOfWeek) Strings() []string {
  2134  	return EnumValuesAsStrings(e.Values())
  2135  }
  2136  
  2137  func init() {
  2138  	t["DayOfWeek"] = reflect.TypeOf((*DayOfWeek)(nil)).Elem()
  2139  }
  2140  
  2141  // Reasons why a virtual device would not be supported on a host.
  2142  type DeviceNotSupportedReason string
  2143  
  2144  const (
  2145  	// The host does not support this virtual device at all.
  2146  	DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host")
  2147  	// The device is supported by the host in general, but not for
  2148  	// the specific guest OS the virtual machine is using.
  2149  	DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest")
  2150  	// The device is supported by the host and guest OS, but not for
  2151  	// the vSphere Fault Tolerance.
  2152  	DeviceNotSupportedReasonFt = DeviceNotSupportedReason("ft")
  2153  )
  2154  
  2155  func (e DeviceNotSupportedReason) Values() []DeviceNotSupportedReason {
  2156  	return []DeviceNotSupportedReason{
  2157  		DeviceNotSupportedReasonHost,
  2158  		DeviceNotSupportedReasonGuest,
  2159  		DeviceNotSupportedReasonFt,
  2160  	}
  2161  }
  2162  
  2163  func (e DeviceNotSupportedReason) Strings() []string {
  2164  	return EnumValuesAsStrings(e.Values())
  2165  }
  2166  
  2167  func init() {
  2168  	t["DeviceNotSupportedReason"] = reflect.TypeOf((*DeviceNotSupportedReason)(nil)).Elem()
  2169  	minAPIVersionForEnumValue["DeviceNotSupportedReason"] = map[string]string{
  2170  		"ft": "8.0.3.0",
  2171  	}
  2172  }
  2173  
  2174  // The list of Device Protocols.
  2175  type DeviceProtocol string
  2176  
  2177  const (
  2178  	DeviceProtocolNVMe = DeviceProtocol("NVMe")
  2179  	DeviceProtocolSCSI = DeviceProtocol("SCSI")
  2180  )
  2181  
  2182  func (e DeviceProtocol) Values() []DeviceProtocol {
  2183  	return []DeviceProtocol{
  2184  		DeviceProtocolNVMe,
  2185  		DeviceProtocolSCSI,
  2186  	}
  2187  }
  2188  
  2189  func (e DeviceProtocol) Strings() []string {
  2190  	return EnumValuesAsStrings(e.Values())
  2191  }
  2192  
  2193  func init() {
  2194  	t["DeviceProtocol"] = reflect.TypeOf((*DeviceProtocol)(nil)).Elem()
  2195  	minAPIVersionForType["DeviceProtocol"] = "8.0.1.0"
  2196  }
  2197  
  2198  // Pre-defined constants for possible creators of log files.
  2199  type DiagnosticManagerLogCreator string
  2200  
  2201  const (
  2202  	// VirtualCenter service
  2203  	DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd")
  2204  	// VirtualCenter agent
  2205  	DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa")
  2206  	// Host agent
  2207  	DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd")
  2208  	// Host server agent
  2209  	DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd")
  2210  	// Installation
  2211  	DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install")
  2212  	// Virtual infrastructure client
  2213  	DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient")
  2214  	// System Record Log
  2215  	DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog")
  2216  )
  2217  
  2218  func (e DiagnosticManagerLogCreator) Values() []DiagnosticManagerLogCreator {
  2219  	return []DiagnosticManagerLogCreator{
  2220  		DiagnosticManagerLogCreatorVpxd,
  2221  		DiagnosticManagerLogCreatorVpxa,
  2222  		DiagnosticManagerLogCreatorHostd,
  2223  		DiagnosticManagerLogCreatorServerd,
  2224  		DiagnosticManagerLogCreatorInstall,
  2225  		DiagnosticManagerLogCreatorVpxClient,
  2226  		DiagnosticManagerLogCreatorRecordLog,
  2227  	}
  2228  }
  2229  
  2230  func (e DiagnosticManagerLogCreator) Strings() []string {
  2231  	return EnumValuesAsStrings(e.Values())
  2232  }
  2233  
  2234  func init() {
  2235  	t["DiagnosticManagerLogCreator"] = reflect.TypeOf((*DiagnosticManagerLogCreator)(nil)).Elem()
  2236  }
  2237  
  2238  // Constants for defined formats.
  2239  //
  2240  // For more information, see the comment for the format property.
  2241  type DiagnosticManagerLogFormat string
  2242  
  2243  const (
  2244  	// A standard ASCII-based line-based log file.
  2245  	DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain")
  2246  )
  2247  
  2248  func (e DiagnosticManagerLogFormat) Values() []DiagnosticManagerLogFormat {
  2249  	return []DiagnosticManagerLogFormat{
  2250  		DiagnosticManagerLogFormatPlain,
  2251  	}
  2252  }
  2253  
  2254  func (e DiagnosticManagerLogFormat) Strings() []string {
  2255  	return EnumValuesAsStrings(e.Values())
  2256  }
  2257  
  2258  func init() {
  2259  	t["DiagnosticManagerLogFormat"] = reflect.TypeOf((*DiagnosticManagerLogFormat)(nil)).Elem()
  2260  }
  2261  
  2262  // Type of partition indicating the type of storage on which the partition
  2263  // resides.
  2264  //
  2265  // If the diagnostic partition is local only, it will only need
  2266  // one slot. If the diagnostic partition is on shared storage, it could
  2267  // be used by multiple hosts. As a result, it will need multiple slots.
  2268  type DiagnosticPartitionStorageType string
  2269  
  2270  const (
  2271  	DiagnosticPartitionStorageTypeDirectAttached  = DiagnosticPartitionStorageType("directAttached")
  2272  	DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached")
  2273  )
  2274  
  2275  func (e DiagnosticPartitionStorageType) Values() []DiagnosticPartitionStorageType {
  2276  	return []DiagnosticPartitionStorageType{
  2277  		DiagnosticPartitionStorageTypeDirectAttached,
  2278  		DiagnosticPartitionStorageTypeNetworkAttached,
  2279  	}
  2280  }
  2281  
  2282  func (e DiagnosticPartitionStorageType) Strings() []string {
  2283  	return EnumValuesAsStrings(e.Values())
  2284  }
  2285  
  2286  func init() {
  2287  	t["DiagnosticPartitionStorageType"] = reflect.TypeOf((*DiagnosticPartitionStorageType)(nil)).Elem()
  2288  }
  2289  
  2290  // The type of diagnostic partition.
  2291  //
  2292  // Private diagnostic partition has one
  2293  // slot, so can only be used by one host. Shared diagnostic parititon
  2294  // needs multiple slots so to be usable by multiple hosts.
  2295  type DiagnosticPartitionType string
  2296  
  2297  const (
  2298  	DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost")
  2299  	DiagnosticPartitionTypeMultiHost  = DiagnosticPartitionType("multiHost")
  2300  )
  2301  
  2302  func (e DiagnosticPartitionType) Values() []DiagnosticPartitionType {
  2303  	return []DiagnosticPartitionType{
  2304  		DiagnosticPartitionTypeSingleHost,
  2305  		DiagnosticPartitionTypeMultiHost,
  2306  	}
  2307  }
  2308  
  2309  func (e DiagnosticPartitionType) Strings() []string {
  2310  	return EnumValuesAsStrings(e.Values())
  2311  }
  2312  
  2313  func init() {
  2314  	t["DiagnosticPartitionType"] = reflect.TypeOf((*DiagnosticPartitionType)(nil)).Elem()
  2315  }
  2316  
  2317  // The disallowed change type.
  2318  type DisallowedChangeByServiceDisallowedChange string
  2319  
  2320  const (
  2321  	// Online extend disk operation.
  2322  	DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk")
  2323  )
  2324  
  2325  func (e DisallowedChangeByServiceDisallowedChange) Values() []DisallowedChangeByServiceDisallowedChange {
  2326  	return []DisallowedChangeByServiceDisallowedChange{
  2327  		DisallowedChangeByServiceDisallowedChangeHotExtendDisk,
  2328  	}
  2329  }
  2330  
  2331  func (e DisallowedChangeByServiceDisallowedChange) Strings() []string {
  2332  	return EnumValuesAsStrings(e.Values())
  2333  }
  2334  
  2335  func init() {
  2336  	t["DisallowedChangeByServiceDisallowedChange"] = reflect.TypeOf((*DisallowedChangeByServiceDisallowedChange)(nil)).Elem()
  2337  }
  2338  
  2339  // The `DistributedVirtualPortgroupBackingType_enum` enum defines
  2340  // the distributed virtual portgroup backing type.
  2341  type DistributedVirtualPortgroupBackingType string
  2342  
  2343  const (
  2344  	// The portgroup is created by vCenter.
  2345  	DistributedVirtualPortgroupBackingTypeStandard = DistributedVirtualPortgroupBackingType("standard")
  2346  	// The portgroup is created by NSX manager.
  2347  	//
  2348  	// For NSX backing type, We only support ephemeral portgroup type.
  2349  	// If `DistributedVirtualPortgroupPortgroupType_enum` is
  2350  	// ephemeral, A `DistributedVirtualPort` will be
  2351  	// dynamicly created by NSX when the virtual machine is reconfigured
  2352  	// to connect to the portgroup.
  2353  	DistributedVirtualPortgroupBackingTypeNsx = DistributedVirtualPortgroupBackingType("nsx")
  2354  )
  2355  
  2356  func (e DistributedVirtualPortgroupBackingType) Values() []DistributedVirtualPortgroupBackingType {
  2357  	return []DistributedVirtualPortgroupBackingType{
  2358  		DistributedVirtualPortgroupBackingTypeStandard,
  2359  		DistributedVirtualPortgroupBackingTypeNsx,
  2360  	}
  2361  }
  2362  
  2363  func (e DistributedVirtualPortgroupBackingType) Strings() []string {
  2364  	return EnumValuesAsStrings(e.Values())
  2365  }
  2366  
  2367  func init() {
  2368  	t["DistributedVirtualPortgroupBackingType"] = reflect.TypeOf((*DistributedVirtualPortgroupBackingType)(nil)).Elem()
  2369  }
  2370  
  2371  // The meta tag names recognizable in the
  2372  // `DVPortgroupConfigInfo.portNameFormat` string.
  2373  type DistributedVirtualPortgroupMetaTagName string
  2374  
  2375  const (
  2376  	// This tag will be expanded to the name of the switch.
  2377  	DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName")
  2378  	// This tag will be expanded to the name of the portgroup.
  2379  	DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName")
  2380  	// This tag will be expanded to the current index of the port.
  2381  	DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex")
  2382  )
  2383  
  2384  func (e DistributedVirtualPortgroupMetaTagName) Values() []DistributedVirtualPortgroupMetaTagName {
  2385  	return []DistributedVirtualPortgroupMetaTagName{
  2386  		DistributedVirtualPortgroupMetaTagNameDvsName,
  2387  		DistributedVirtualPortgroupMetaTagNamePortgroupName,
  2388  		DistributedVirtualPortgroupMetaTagNamePortIndex,
  2389  	}
  2390  }
  2391  
  2392  func (e DistributedVirtualPortgroupMetaTagName) Strings() []string {
  2393  	return EnumValuesAsStrings(e.Values())
  2394  }
  2395  
  2396  func init() {
  2397  	t["DistributedVirtualPortgroupMetaTagName"] = reflect.TypeOf((*DistributedVirtualPortgroupMetaTagName)(nil)).Elem()
  2398  }
  2399  
  2400  // The `DistributedVirtualPortgroupPortgroupType_enum` enum defines
  2401  // the distributed virtual portgroup types
  2402  // (`DistributedVirtualPortgroup*.*DistributedVirtualPortgroup.config*.*DVPortgroupConfigInfo.type`).
  2403  //
  2404  // Early binding specifies a static set of ports that are created
  2405  // when you create the distributed virtual portgroup. An ephemeral portgroup uses dynamic
  2406  // ports that are created when you power on a virtual machine.
  2407  type DistributedVirtualPortgroupPortgroupType string
  2408  
  2409  const (
  2410  	// A free `DistributedVirtualPort` will be selected and assigned to
  2411  	// a `VirtualMachine` when the virtual machine is reconfigured to
  2412  	// connect to the portgroup.
  2413  	DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding")
  2414  	// Deprecated as of vSphere API 5.0.
  2415  	//
  2416  	// A free `DistributedVirtualPort` will be selected and
  2417  	// assigned to a `VirtualMachine` when the virtual machine is
  2418  	// powered on.
  2419  	DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding")
  2420  	// A `DistributedVirtualPort` will be created and assigned to a
  2421  	// `VirtualMachine` when the virtual machine is powered on, and will
  2422  	// be deleted when the virtual machine is powered off.
  2423  	//
  2424  	// An ephemeral portgroup has
  2425  	// no limit on the number of ports that can be a part of this portgroup.
  2426  	// In cases where the vCenter Server is unavailable the host can
  2427  	// create conflict ports in this portgroup to be used by a virtual machine
  2428  	// at power on.
  2429  	DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral")
  2430  )
  2431  
  2432  func (e DistributedVirtualPortgroupPortgroupType) Values() []DistributedVirtualPortgroupPortgroupType {
  2433  	return []DistributedVirtualPortgroupPortgroupType{
  2434  		DistributedVirtualPortgroupPortgroupTypeEarlyBinding,
  2435  		DistributedVirtualPortgroupPortgroupTypeLateBinding,
  2436  		DistributedVirtualPortgroupPortgroupTypeEphemeral,
  2437  	}
  2438  }
  2439  
  2440  func (e DistributedVirtualPortgroupPortgroupType) Strings() []string {
  2441  	return EnumValuesAsStrings(e.Values())
  2442  }
  2443  
  2444  func init() {
  2445  	t["DistributedVirtualPortgroupPortgroupType"] = reflect.TypeOf((*DistributedVirtualPortgroupPortgroupType)(nil)).Elem()
  2446  }
  2447  
  2448  // List of possible host infrastructure traffic classes
  2449  type DistributedVirtualSwitchHostInfrastructureTrafficClass string
  2450  
  2451  const (
  2452  	// Management Traffic
  2453  	DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management")
  2454  	// Fault Tolerance (FT) Traffic
  2455  	DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance")
  2456  	// vMotion Traffic
  2457  	DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion")
  2458  	// Virtual Machine Traffic
  2459  	DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine")
  2460  	// iSCSI Traffic
  2461  	DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI")
  2462  	// NFS Traffic
  2463  	DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs")
  2464  	// vSphere Replication (VR) Traffic
  2465  	DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr")
  2466  	// vSphere Storage Area Network Traffic
  2467  	DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan")
  2468  	// vSphere Data Protection - Backup Traffic
  2469  	DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp")
  2470  	// vSphere Backup NFC Traffic
  2471  	DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc = DistributedVirtualSwitchHostInfrastructureTrafficClass("backupNfc")
  2472  	// vSphere NVMETCP Traffic
  2473  	DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp = DistributedVirtualSwitchHostInfrastructureTrafficClass("nvmetcp")
  2474  )
  2475  
  2476  func (e DistributedVirtualSwitchHostInfrastructureTrafficClass) Values() []DistributedVirtualSwitchHostInfrastructureTrafficClass {
  2477  	return []DistributedVirtualSwitchHostInfrastructureTrafficClass{
  2478  		DistributedVirtualSwitchHostInfrastructureTrafficClassManagement,
  2479  		DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance,
  2480  		DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion,
  2481  		DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine,
  2482  		DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI,
  2483  		DistributedVirtualSwitchHostInfrastructureTrafficClassNfs,
  2484  		DistributedVirtualSwitchHostInfrastructureTrafficClassHbr,
  2485  		DistributedVirtualSwitchHostInfrastructureTrafficClassVsan,
  2486  		DistributedVirtualSwitchHostInfrastructureTrafficClassVdp,
  2487  		DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc,
  2488  		DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp,
  2489  	}
  2490  }
  2491  
  2492  func (e DistributedVirtualSwitchHostInfrastructureTrafficClass) Strings() []string {
  2493  	return EnumValuesAsStrings(e.Values())
  2494  }
  2495  
  2496  func init() {
  2497  	t["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = reflect.TypeOf((*DistributedVirtualSwitchHostInfrastructureTrafficClass)(nil)).Elem()
  2498  	minAPIVersionForEnumValue["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = map[string]string{
  2499  		"backupNfc": "7.0.1.0",
  2500  		"nvmetcp":   "7.0.3.0",
  2501  	}
  2502  }
  2503  
  2504  // Describes the state of the host proxy switch.
  2505  type DistributedVirtualSwitchHostMemberHostComponentState string
  2506  
  2507  const (
  2508  	// The host proxy switch is up and running.
  2509  	DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up")
  2510  	// The host proxy switch is waiting to be initialized.
  2511  	DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending")
  2512  	// The proxy switch configuration is not the same as the
  2513  	// distributed virtual switch configuration in the vCenter Server.
  2514  	DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync")
  2515  	// The host requires attention.
  2516  	DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning")
  2517  	// The host is disconnected or it is not responding.
  2518  	DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected")
  2519  	// The host proxy is down.
  2520  	DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down")
  2521  )
  2522  
  2523  func (e DistributedVirtualSwitchHostMemberHostComponentState) Values() []DistributedVirtualSwitchHostMemberHostComponentState {
  2524  	return []DistributedVirtualSwitchHostMemberHostComponentState{
  2525  		DistributedVirtualSwitchHostMemberHostComponentStateUp,
  2526  		DistributedVirtualSwitchHostMemberHostComponentStatePending,
  2527  		DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync,
  2528  		DistributedVirtualSwitchHostMemberHostComponentStateWarning,
  2529  		DistributedVirtualSwitchHostMemberHostComponentStateDisconnected,
  2530  		DistributedVirtualSwitchHostMemberHostComponentStateDown,
  2531  	}
  2532  }
  2533  
  2534  func (e DistributedVirtualSwitchHostMemberHostComponentState) Strings() []string {
  2535  	return EnumValuesAsStrings(e.Values())
  2536  }
  2537  
  2538  func init() {
  2539  	t["DistributedVirtualSwitchHostMemberHostComponentState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostComponentState)(nil)).Elem()
  2540  }
  2541  
  2542  // Describe the runtime state of the uplink.
  2543  type DistributedVirtualSwitchHostMemberHostUplinkStateState string
  2544  
  2545  const (
  2546  	DistributedVirtualSwitchHostMemberHostUplinkStateStateActive  = DistributedVirtualSwitchHostMemberHostUplinkStateState("active")
  2547  	DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby = DistributedVirtualSwitchHostMemberHostUplinkStateState("standby")
  2548  )
  2549  
  2550  func (e DistributedVirtualSwitchHostMemberHostUplinkStateState) Values() []DistributedVirtualSwitchHostMemberHostUplinkStateState {
  2551  	return []DistributedVirtualSwitchHostMemberHostUplinkStateState{
  2552  		DistributedVirtualSwitchHostMemberHostUplinkStateStateActive,
  2553  		DistributedVirtualSwitchHostMemberHostUplinkStateStateStandby,
  2554  	}
  2555  }
  2556  
  2557  func (e DistributedVirtualSwitchHostMemberHostUplinkStateState) Strings() []string {
  2558  	return EnumValuesAsStrings(e.Values())
  2559  }
  2560  
  2561  func init() {
  2562  	t["DistributedVirtualSwitchHostMemberHostUplinkStateState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostUplinkStateState)(nil)).Elem()
  2563  }
  2564  
  2565  // Transport zone type.
  2566  type DistributedVirtualSwitchHostMemberTransportZoneType string
  2567  
  2568  const (
  2569  	// VLAN based networking
  2570  	DistributedVirtualSwitchHostMemberTransportZoneTypeVlan = DistributedVirtualSwitchHostMemberTransportZoneType("vlan")
  2571  	// VXLAN based networking
  2572  	DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay = DistributedVirtualSwitchHostMemberTransportZoneType("overlay")
  2573  )
  2574  
  2575  func (e DistributedVirtualSwitchHostMemberTransportZoneType) Values() []DistributedVirtualSwitchHostMemberTransportZoneType {
  2576  	return []DistributedVirtualSwitchHostMemberTransportZoneType{
  2577  		DistributedVirtualSwitchHostMemberTransportZoneTypeVlan,
  2578  		DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay,
  2579  	}
  2580  }
  2581  
  2582  func (e DistributedVirtualSwitchHostMemberTransportZoneType) Strings() []string {
  2583  	return EnumValuesAsStrings(e.Values())
  2584  }
  2585  
  2586  func init() {
  2587  	t["DistributedVirtualSwitchHostMemberTransportZoneType"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneType)(nil)).Elem()
  2588  }
  2589  
  2590  // Network resource control version types.
  2591  type DistributedVirtualSwitchNetworkResourceControlVersion string
  2592  
  2593  const (
  2594  	// Network Resource Control API version 2
  2595  	DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2")
  2596  	// Network Resource Control API version 3
  2597  	DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3")
  2598  )
  2599  
  2600  func (e DistributedVirtualSwitchNetworkResourceControlVersion) Values() []DistributedVirtualSwitchNetworkResourceControlVersion {
  2601  	return []DistributedVirtualSwitchNetworkResourceControlVersion{
  2602  		DistributedVirtualSwitchNetworkResourceControlVersionVersion2,
  2603  		DistributedVirtualSwitchNetworkResourceControlVersionVersion3,
  2604  	}
  2605  }
  2606  
  2607  func (e DistributedVirtualSwitchNetworkResourceControlVersion) Strings() []string {
  2608  	return EnumValuesAsStrings(e.Values())
  2609  }
  2610  
  2611  func init() {
  2612  	t["DistributedVirtualSwitchNetworkResourceControlVersion"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkResourceControlVersion)(nil)).Elem()
  2613  }
  2614  
  2615  // List of possible teaming modes supported by the vNetwork Distributed
  2616  // Switch.
  2617  //
  2618  // The different policy modes define the way traffic is routed
  2619  // through the different uplink ports in a team.
  2620  type DistributedVirtualSwitchNicTeamingPolicyMode string
  2621  
  2622  const (
  2623  	// Routing based on IP hash
  2624  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip")
  2625  	// Route based on source MAC hash
  2626  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac")
  2627  	// Route based on the source of the port ID
  2628  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid")
  2629  	// Use explicit failover order
  2630  	DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit")
  2631  	// Routing based by dynamically balancing traffic through the NICs
  2632  	// in a team.
  2633  	//
  2634  	// This is the recommended teaming policy when the
  2635  	// network I/O control feature is enabled for the vNetwork
  2636  	// Distributed Switch.
  2637  	DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased")
  2638  )
  2639  
  2640  func (e DistributedVirtualSwitchNicTeamingPolicyMode) Values() []DistributedVirtualSwitchNicTeamingPolicyMode {
  2641  	return []DistributedVirtualSwitchNicTeamingPolicyMode{
  2642  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip,
  2643  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac,
  2644  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid,
  2645  		DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit,
  2646  		DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased,
  2647  	}
  2648  }
  2649  
  2650  func (e DistributedVirtualSwitchNicTeamingPolicyMode) Strings() []string {
  2651  	return EnumValuesAsStrings(e.Values())
  2652  }
  2653  
  2654  func init() {
  2655  	t["DistributedVirtualSwitchNicTeamingPolicyMode"] = reflect.TypeOf((*DistributedVirtualSwitchNicTeamingPolicyMode)(nil)).Elem()
  2656  }
  2657  
  2658  // The connectee types.
  2659  type DistributedVirtualSwitchPortConnecteeConnecteeType string
  2660  
  2661  const (
  2662  	// The port connects to a Physical NIC.
  2663  	DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic")
  2664  	// The port connects to a Virtual NIC in a Virtual Machine.
  2665  	DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic")
  2666  	// The port connects to a console Virtual NIC on a host.
  2667  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic")
  2668  	// The port connects to a VMkernel Virtual NIC on a host.
  2669  	DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic")
  2670  	// The port connects to a Virtual NIC in a System CRX VM.
  2671  	DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("systemCrxVnic")
  2672  )
  2673  
  2674  func (e DistributedVirtualSwitchPortConnecteeConnecteeType) Values() []DistributedVirtualSwitchPortConnecteeConnecteeType {
  2675  	return []DistributedVirtualSwitchPortConnecteeConnecteeType{
  2676  		DistributedVirtualSwitchPortConnecteeConnecteeTypePnic,
  2677  		DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic,
  2678  		DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic,
  2679  		DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic,
  2680  		DistributedVirtualSwitchPortConnecteeConnecteeTypeSystemCrxVnic,
  2681  	}
  2682  }
  2683  
  2684  func (e DistributedVirtualSwitchPortConnecteeConnecteeType) Strings() []string {
  2685  	return EnumValuesAsStrings(e.Values())
  2686  }
  2687  
  2688  func init() {
  2689  	t["DistributedVirtualSwitchPortConnecteeConnecteeType"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnecteeConnecteeType)(nil)).Elem()
  2690  	minAPIVersionForEnumValue["DistributedVirtualSwitchPortConnecteeConnecteeType"] = map[string]string{
  2691  		"systemCrxVnic": "8.0.1.0",
  2692  	}
  2693  }
  2694  
  2695  // The product spec operation types.
  2696  type DistributedVirtualSwitchProductSpecOperationType string
  2697  
  2698  const (
  2699  	// Push the switch's host component of the specified product info to the
  2700  	// host members of the switch at a fixed location known by the host.
  2701  	DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall")
  2702  	// Change the switch implementation to use the specified one.
  2703  	//
  2704  	// If the
  2705  	// property values in the specified product info are different from
  2706  	// those of the corresponding properties in the switch's product info,
  2707  	// a host component preinstall and switch upgrade will be performed.
  2708  	DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade")
  2709  	// Set the product information for an available switch upgrade that
  2710  	// would be done by the switch implementation.
  2711  	//
  2712  	// This operation will post
  2713  	// a config issue on the switch to signal the availability of an upgrade.
  2714  	// This operation is applicable only in the case when switch policy
  2715  	// `DVSPolicy.autoUpgradeAllowed`
  2716  	// is set to false.
  2717  	DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade")
  2718  	// If productSpec is set to be same as that in the
  2719  	// `DvsUpgradeAvailableEvent` configIssue, the switch
  2720  	// implementation will proceed with the upgrade.
  2721  	//
  2722  	// To reject or stop the
  2723  	// upgrade, leave the productSpec unset. If productSpec is set but does not
  2724  	// match that in `DvsUpgradeAvailableEvent` configIssue,
  2725  	// a fault will be raised.
  2726  	// This operation is applicable only in the case when switch policy
  2727  	// `DVSPolicy.autoUpgradeAllowed`
  2728  	// is set to false.
  2729  	DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade")
  2730  	// Update the bundle URL and ID information.
  2731  	//
  2732  	// If other properties in
  2733  	// the specified product info differ from the
  2734  	// corresponding properties of the switch's product info, a fault will
  2735  	// be thrown. Updating the bundle ID will result in installing the new host
  2736  	// component identified by the bundle ID.
  2737  	DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo")
  2738  )
  2739  
  2740  func (e DistributedVirtualSwitchProductSpecOperationType) Values() []DistributedVirtualSwitchProductSpecOperationType {
  2741  	return []DistributedVirtualSwitchProductSpecOperationType{
  2742  		DistributedVirtualSwitchProductSpecOperationTypePreInstall,
  2743  		DistributedVirtualSwitchProductSpecOperationTypeUpgrade,
  2744  		DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade,
  2745  		DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade,
  2746  		DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo,
  2747  	}
  2748  }
  2749  
  2750  func (e DistributedVirtualSwitchProductSpecOperationType) Strings() []string {
  2751  	return EnumValuesAsStrings(e.Values())
  2752  }
  2753  
  2754  func init() {
  2755  	t["DistributedVirtualSwitchProductSpecOperationType"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpecOperationType)(nil)).Elem()
  2756  }
  2757  
  2758  type DpmBehavior string
  2759  
  2760  const (
  2761  	// Specifies that VirtualCenter should generate recommendations
  2762  	// for host power operations, but should not execute the
  2763  	// recommendations automatically.
  2764  	DpmBehaviorManual = DpmBehavior("manual")
  2765  	// Specifies that VirtualCenter should generate recommendations
  2766  	// for host power operations, and should execute the
  2767  	// recommendations automatically.
  2768  	DpmBehaviorAutomated = DpmBehavior("automated")
  2769  )
  2770  
  2771  func (e DpmBehavior) Values() []DpmBehavior {
  2772  	return []DpmBehavior{
  2773  		DpmBehaviorManual,
  2774  		DpmBehaviorAutomated,
  2775  	}
  2776  }
  2777  
  2778  func (e DpmBehavior) Strings() []string {
  2779  	return EnumValuesAsStrings(e.Values())
  2780  }
  2781  
  2782  func init() {
  2783  	t["DpmBehavior"] = reflect.TypeOf((*DpmBehavior)(nil)).Elem()
  2784  }
  2785  
  2786  type DrsBehavior string
  2787  
  2788  const (
  2789  	// Specifies that VirtualCenter should generate recommendations for
  2790  	// virtual machine migration and for placement with a host,
  2791  	// but should not implement the recommendations automatically.
  2792  	DrsBehaviorManual = DrsBehavior("manual")
  2793  	// Specifies that VirtualCenter should generate recommendations for
  2794  	// virtual machine migration and for placement with a host,
  2795  	// but should automatically implement only the placement at power on.
  2796  	DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated")
  2797  	// Specifies that VirtualCenter should automate both the migration
  2798  	// of virtual machines and their placement with a host at power on.
  2799  	DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated")
  2800  )
  2801  
  2802  func (e DrsBehavior) Values() []DrsBehavior {
  2803  	return []DrsBehavior{
  2804  		DrsBehaviorManual,
  2805  		DrsBehaviorPartiallyAutomated,
  2806  		DrsBehaviorFullyAutomated,
  2807  	}
  2808  }
  2809  
  2810  func (e DrsBehavior) Strings() []string {
  2811  	return EnumValuesAsStrings(e.Values())
  2812  }
  2813  
  2814  func init() {
  2815  	t["DrsBehavior"] = reflect.TypeOf((*DrsBehavior)(nil)).Elem()
  2816  }
  2817  
  2818  // Correlation state as computed by storageRM
  2819  // module on host.
  2820  type DrsInjectorWorkloadCorrelationState string
  2821  
  2822  const (
  2823  	DrsInjectorWorkloadCorrelationStateCorrelated   = DrsInjectorWorkloadCorrelationState("Correlated")
  2824  	DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated")
  2825  )
  2826  
  2827  func (e DrsInjectorWorkloadCorrelationState) Values() []DrsInjectorWorkloadCorrelationState {
  2828  	return []DrsInjectorWorkloadCorrelationState{
  2829  		DrsInjectorWorkloadCorrelationStateCorrelated,
  2830  		DrsInjectorWorkloadCorrelationStateUncorrelated,
  2831  	}
  2832  }
  2833  
  2834  func (e DrsInjectorWorkloadCorrelationState) Strings() []string {
  2835  	return EnumValuesAsStrings(e.Values())
  2836  }
  2837  
  2838  func init() {
  2839  	t["DrsInjectorWorkloadCorrelationState"] = reflect.TypeOf((*DrsInjectorWorkloadCorrelationState)(nil)).Elem()
  2840  }
  2841  
  2842  // Deprecated as of VI API 2.5 use `RecommendationReasonCode_enum`.
  2843  //
  2844  // List of defined migration reason codes:
  2845  type DrsRecommendationReasonCode string
  2846  
  2847  const (
  2848  	// Balance average CPU utilization.
  2849  	DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg")
  2850  	// Balance average memory utilization.
  2851  	DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg")
  2852  	// Fulfill affinity rule.
  2853  	DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin")
  2854  	// Fulfill anti-affinity rule.
  2855  	DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin")
  2856  	// Host entering maintenance mode.
  2857  	DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint")
  2858  )
  2859  
  2860  func (e DrsRecommendationReasonCode) Values() []DrsRecommendationReasonCode {
  2861  	return []DrsRecommendationReasonCode{
  2862  		DrsRecommendationReasonCodeFairnessCpuAvg,
  2863  		DrsRecommendationReasonCodeFairnessMemAvg,
  2864  		DrsRecommendationReasonCodeJointAffin,
  2865  		DrsRecommendationReasonCodeAntiAffin,
  2866  		DrsRecommendationReasonCodeHostMaint,
  2867  	}
  2868  }
  2869  
  2870  func (e DrsRecommendationReasonCode) Strings() []string {
  2871  	return EnumValuesAsStrings(e.Values())
  2872  }
  2873  
  2874  func init() {
  2875  	t["DrsRecommendationReasonCode"] = reflect.TypeOf((*DrsRecommendationReasonCode)(nil)).Elem()
  2876  }
  2877  
  2878  // The port blocked/unblocked state.
  2879  type DvsEventPortBlockState string
  2880  
  2881  const (
  2882  	// The dvs port is in unset state
  2883  	DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset")
  2884  	// The dvs port is in blocked state
  2885  	DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked")
  2886  	// The dvs port is in unblocked state
  2887  	DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked")
  2888  	// The dvs port is in unknown state
  2889  	DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown")
  2890  )
  2891  
  2892  func (e DvsEventPortBlockState) Values() []DvsEventPortBlockState {
  2893  	return []DvsEventPortBlockState{
  2894  		DvsEventPortBlockStateUnset,
  2895  		DvsEventPortBlockStateBlocked,
  2896  		DvsEventPortBlockStateUnblocked,
  2897  		DvsEventPortBlockStateUnknown,
  2898  	}
  2899  }
  2900  
  2901  func (e DvsEventPortBlockState) Strings() []string {
  2902  	return EnumValuesAsStrings(e.Values())
  2903  }
  2904  
  2905  func init() {
  2906  	t["DvsEventPortBlockState"] = reflect.TypeOf((*DvsEventPortBlockState)(nil)).Elem()
  2907  }
  2908  
  2909  // Network Filter on Failure Type.
  2910  //
  2911  // It specifies whether all the
  2912  // packets will be allowed or all the packets will be denied when
  2913  // Filter fails to configure.
  2914  type DvsFilterOnFailure string
  2915  
  2916  const (
  2917  	// Allows all the packets when the Filter fails to configure.
  2918  	DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen")
  2919  	// Denies all the packets when the Filter fails to configure.
  2920  	DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed")
  2921  )
  2922  
  2923  func (e DvsFilterOnFailure) Values() []DvsFilterOnFailure {
  2924  	return []DvsFilterOnFailure{
  2925  		DvsFilterOnFailureFailOpen,
  2926  		DvsFilterOnFailureFailClosed,
  2927  	}
  2928  }
  2929  
  2930  func (e DvsFilterOnFailure) Strings() []string {
  2931  	return EnumValuesAsStrings(e.Values())
  2932  }
  2933  
  2934  func init() {
  2935  	t["DvsFilterOnFailure"] = reflect.TypeOf((*DvsFilterOnFailure)(nil)).Elem()
  2936  }
  2937  
  2938  // Network Traffic Rule direction types.
  2939  //
  2940  // It specifies whether rule
  2941  // needs to be applied for packets which are incoming/outgoing or both.
  2942  type DvsNetworkRuleDirectionType string
  2943  
  2944  const (
  2945  	// This specifies that the network rule has to be applied only for
  2946  	// incoming packets.
  2947  	DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets")
  2948  	// This specifies that the network rule has to be applied only for
  2949  	// outgoing packets.
  2950  	DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets")
  2951  	// This specifies that the network rule has to be applied only for
  2952  	// both incoming and outgoing packets.
  2953  	DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both")
  2954  )
  2955  
  2956  func (e DvsNetworkRuleDirectionType) Values() []DvsNetworkRuleDirectionType {
  2957  	return []DvsNetworkRuleDirectionType{
  2958  		DvsNetworkRuleDirectionTypeIncomingPackets,
  2959  		DvsNetworkRuleDirectionTypeOutgoingPackets,
  2960  		DvsNetworkRuleDirectionTypeBoth,
  2961  	}
  2962  }
  2963  
  2964  func (e DvsNetworkRuleDirectionType) Strings() []string {
  2965  	return EnumValuesAsStrings(e.Values())
  2966  }
  2967  
  2968  func init() {
  2969  	t["DvsNetworkRuleDirectionType"] = reflect.TypeOf((*DvsNetworkRuleDirectionType)(nil)).Elem()
  2970  }
  2971  
  2972  // The `EntityImportType_enum` enum defines the import type for a
  2973  // `DistributedVirtualSwitchManager*.*DistributedVirtualSwitchManager.DVSManagerImportEntity_Task`
  2974  // operation.
  2975  type EntityImportType string
  2976  
  2977  const (
  2978  	// Create the entity with new identifiers.
  2979  	//
  2980  	// Specify the
  2981  	// `EntityBackupConfig*.*EntityBackupConfig.name` and
  2982  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  2983  	// properties.
  2984  	//
  2985  	// The Server ignores any value for the
  2986  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  2987  	// property.
  2988  	EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier")
  2989  	// Recreate the entities with the original identifiers of the entity from which backup was created.
  2990  	//
  2991  	// The Server throws an exception if an entity with the same identifier already exists.
  2992  	// This option will also add the host members to the `DistributedVirtualSwitch` and will
  2993  	// try to get the virtual machine networking back with the same `DistributedVirtualPortgroup`.
  2994  	// Specify a `Folder` as the
  2995  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  2996  	// for `EntityBackupConfig*.*EntityBackupConfig.entityType`
  2997  	// "distributedVirtualSwitch".
  2998  	//
  2999  	// The Server ignores any values for the
  3000  	// `EntityBackupConfig*.*EntityBackupConfig.key` and
  3001  	// `EntityBackupConfig*.*EntityBackupConfig.name`
  3002  	// properties.
  3003  	EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier")
  3004  	// Apply the configuration specified in the
  3005  	// `EntityBackupConfig*.*EntityBackupConfig.configBlob`
  3006  	// property to the entity specified in the
  3007  	// `EntityBackupConfig*.*EntityBackupConfig.entityType` and
  3008  	// `EntityBackupConfig*.*EntityBackupConfig.key`
  3009  	// properties.
  3010  	//
  3011  	// If you specify
  3012  	// `EntityBackupConfig*.*EntityBackupConfig.name`,
  3013  	// the Server uses the specified name to rename the entity.
  3014  	//
  3015  	// The Server ignores any value for the
  3016  	// `EntityBackupConfig*.*EntityBackupConfig.container`
  3017  	// property.
  3018  	EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified")
  3019  )
  3020  
  3021  func (e EntityImportType) Values() []EntityImportType {
  3022  	return []EntityImportType{
  3023  		EntityImportTypeCreateEntityWithNewIdentifier,
  3024  		EntityImportTypeCreateEntityWithOriginalIdentifier,
  3025  		EntityImportTypeApplyToEntitySpecified,
  3026  	}
  3027  }
  3028  
  3029  func (e EntityImportType) Strings() []string {
  3030  	return EnumValuesAsStrings(e.Values())
  3031  }
  3032  
  3033  func init() {
  3034  	t["EntityImportType"] = reflect.TypeOf((*EntityImportType)(nil)).Elem()
  3035  }
  3036  
  3037  // The `EntityType_enum` enum identifies
  3038  // the type of entity that was exported
  3039  // (`DistributedVirtualSwitchManager.DVSManagerExportEntity_Task`).
  3040  type EntityType string
  3041  
  3042  const (
  3043  	// Indicates the exported entity is a `DistributedVirtualSwitch`.
  3044  	EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch")
  3045  	// Indicates the exported entity is a `DistributedVirtualPortgroup`.
  3046  	EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup")
  3047  )
  3048  
  3049  func (e EntityType) Values() []EntityType {
  3050  	return []EntityType{
  3051  		EntityTypeDistributedVirtualSwitch,
  3052  		EntityTypeDistributedVirtualPortgroup,
  3053  	}
  3054  }
  3055  
  3056  func (e EntityType) Strings() []string {
  3057  	return EnumValuesAsStrings(e.Values())
  3058  }
  3059  
  3060  func init() {
  3061  	t["EntityType"] = reflect.TypeOf((*EntityType)(nil)).Elem()
  3062  }
  3063  
  3064  // Basic Comparison operators
  3065  type EventAlarmExpressionComparisonOperator string
  3066  
  3067  const (
  3068  	// attribute equals specified value
  3069  	EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals")
  3070  	// attribute does not equal specified value
  3071  	EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo")
  3072  	// attribute starts with specified value
  3073  	EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith")
  3074  	// attribute does not start with specified value
  3075  	EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith")
  3076  	// attribute ends with specified value
  3077  	EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith")
  3078  	// attribute does not end with specified value
  3079  	EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith")
  3080  )
  3081  
  3082  func (e EventAlarmExpressionComparisonOperator) Values() []EventAlarmExpressionComparisonOperator {
  3083  	return []EventAlarmExpressionComparisonOperator{
  3084  		EventAlarmExpressionComparisonOperatorEquals,
  3085  		EventAlarmExpressionComparisonOperatorNotEqualTo,
  3086  		EventAlarmExpressionComparisonOperatorStartsWith,
  3087  		EventAlarmExpressionComparisonOperatorDoesNotStartWith,
  3088  		EventAlarmExpressionComparisonOperatorEndsWith,
  3089  		EventAlarmExpressionComparisonOperatorDoesNotEndWith,
  3090  	}
  3091  }
  3092  
  3093  func (e EventAlarmExpressionComparisonOperator) Strings() []string {
  3094  	return EnumValuesAsStrings(e.Values())
  3095  }
  3096  
  3097  func init() {
  3098  	t["EventAlarmExpressionComparisonOperator"] = reflect.TypeOf((*EventAlarmExpressionComparisonOperator)(nil)).Elem()
  3099  }
  3100  
  3101  type EventCategory string
  3102  
  3103  const (
  3104  	// Returns informational events.
  3105  	EventCategoryInfo = EventCategory("info")
  3106  	// Returns warning events.
  3107  	EventCategoryWarning = EventCategory("warning")
  3108  	// Returns error events.
  3109  	EventCategoryError = EventCategory("error")
  3110  	// Returns events pertaining to users.
  3111  	EventCategoryUser = EventCategory("user")
  3112  )
  3113  
  3114  func (e EventCategory) Values() []EventCategory {
  3115  	return []EventCategory{
  3116  		EventCategoryInfo,
  3117  		EventCategoryWarning,
  3118  		EventCategoryError,
  3119  		EventCategoryUser,
  3120  	}
  3121  }
  3122  
  3123  func (e EventCategory) Strings() []string {
  3124  	return EnumValuesAsStrings(e.Values())
  3125  }
  3126  
  3127  func init() {
  3128  	t["EventCategory"] = reflect.TypeOf((*EventCategory)(nil)).Elem()
  3129  }
  3130  
  3131  // Severity level constants.
  3132  type EventEventSeverity string
  3133  
  3134  const (
  3135  	// Something that must be corrected
  3136  	EventEventSeverityError = EventEventSeverity("error")
  3137  	// Should be corrected, but the system can continue operating normally
  3138  	EventEventSeverityWarning = EventEventSeverity("warning")
  3139  	// An informational message
  3140  	EventEventSeverityInfo = EventEventSeverity("info")
  3141  	// A user-related message
  3142  	EventEventSeverityUser = EventEventSeverity("user")
  3143  )
  3144  
  3145  func (e EventEventSeverity) Values() []EventEventSeverity {
  3146  	return []EventEventSeverity{
  3147  		EventEventSeverityError,
  3148  		EventEventSeverityWarning,
  3149  		EventEventSeverityInfo,
  3150  		EventEventSeverityUser,
  3151  	}
  3152  }
  3153  
  3154  func (e EventEventSeverity) Strings() []string {
  3155  	return EnumValuesAsStrings(e.Values())
  3156  }
  3157  
  3158  func init() {
  3159  	t["EventEventSeverity"] = reflect.TypeOf((*EventEventSeverity)(nil)).Elem()
  3160  }
  3161  
  3162  // This option specifies how to select events based on child relationships
  3163  // in the inventory hierarchy.
  3164  //
  3165  // If a managed entity has children, their events
  3166  // can be retrieved with this filter option.
  3167  type EventFilterSpecRecursionOption string
  3168  
  3169  const (
  3170  	// Returns events that pertain only to the specified managed entity,
  3171  	// and not its children.
  3172  	EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self")
  3173  	// Returns events pertaining to child entities only.
  3174  	//
  3175  	// Excludes
  3176  	// events pertaining to the specified managed entity itself.
  3177  	EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children")
  3178  	// Returns events pertaining either to the specified managed entity
  3179  	// or to its child entities.
  3180  	EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all")
  3181  )
  3182  
  3183  func (e EventFilterSpecRecursionOption) Values() []EventFilterSpecRecursionOption {
  3184  	return []EventFilterSpecRecursionOption{
  3185  		EventFilterSpecRecursionOptionSelf,
  3186  		EventFilterSpecRecursionOptionChildren,
  3187  		EventFilterSpecRecursionOptionAll,
  3188  	}
  3189  }
  3190  
  3191  func (e EventFilterSpecRecursionOption) Strings() []string {
  3192  	return EnumValuesAsStrings(e.Values())
  3193  }
  3194  
  3195  func init() {
  3196  	t["EventFilterSpecRecursionOption"] = reflect.TypeOf((*EventFilterSpecRecursionOption)(nil)).Elem()
  3197  }
  3198  
  3199  // The operating mode of the adapter.
  3200  type FibreChannelPortType string
  3201  
  3202  const (
  3203  	FibreChannelPortTypeFabric       = FibreChannelPortType("fabric")
  3204  	FibreChannelPortTypeLoop         = FibreChannelPortType("loop")
  3205  	FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint")
  3206  	FibreChannelPortTypeUnknown      = FibreChannelPortType("unknown")
  3207  )
  3208  
  3209  func (e FibreChannelPortType) Values() []FibreChannelPortType {
  3210  	return []FibreChannelPortType{
  3211  		FibreChannelPortTypeFabric,
  3212  		FibreChannelPortTypeLoop,
  3213  		FibreChannelPortTypePointToPoint,
  3214  		FibreChannelPortTypeUnknown,
  3215  	}
  3216  }
  3217  
  3218  func (e FibreChannelPortType) Strings() []string {
  3219  	return EnumValuesAsStrings(e.Values())
  3220  }
  3221  
  3222  func init() {
  3223  	t["FibreChannelPortType"] = reflect.TypeOf((*FibreChannelPortType)(nil)).Elem()
  3224  }
  3225  
  3226  // Status of volume's support for vStorage hardware acceleration.
  3227  //
  3228  // The ESX Server determines the status based on the capabilities
  3229  // of the devices that support the file system volume.
  3230  // When a host boots, the support status is unknown.
  3231  // As the ESX host attempts hardware-accelerated operations,
  3232  // it determines whether the storage device supports hardware
  3233  // acceleration and sets the `HostFileSystemMountInfo.vStorageSupport`
  3234  // property accordingly.
  3235  type FileSystemMountInfoVStorageSupportStatus string
  3236  
  3237  const (
  3238  	// Storage device supports hardware acceleration.
  3239  	//
  3240  	// The ESX host will use the feature to offload certain
  3241  	// storage-related operations to the device.
  3242  	FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported")
  3243  	// Storage device does not support hardware acceleration.
  3244  	//
  3245  	// The ESX host will handle all storage-related operations.
  3246  	FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported")
  3247  	// Initial support status value.
  3248  	FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown")
  3249  )
  3250  
  3251  func (e FileSystemMountInfoVStorageSupportStatus) Values() []FileSystemMountInfoVStorageSupportStatus {
  3252  	return []FileSystemMountInfoVStorageSupportStatus{
  3253  		FileSystemMountInfoVStorageSupportStatusVStorageSupported,
  3254  		FileSystemMountInfoVStorageSupportStatusVStorageUnsupported,
  3255  		FileSystemMountInfoVStorageSupportStatusVStorageUnknown,
  3256  	}
  3257  }
  3258  
  3259  func (e FileSystemMountInfoVStorageSupportStatus) Strings() []string {
  3260  	return EnumValuesAsStrings(e.Values())
  3261  }
  3262  
  3263  func init() {
  3264  	t["FileSystemMountInfoVStorageSupportStatus"] = reflect.TypeOf((*FileSystemMountInfoVStorageSupportStatus)(nil)).Elem()
  3265  }
  3266  
  3267  type FolderDesiredHostState string
  3268  
  3269  const (
  3270  	// Add host in maintenance mode.
  3271  	FolderDesiredHostStateMaintenance = FolderDesiredHostState("maintenance")
  3272  	// Add host in non-maintenance mode.
  3273  	FolderDesiredHostStateNon_maintenance = FolderDesiredHostState("non_maintenance")
  3274  )
  3275  
  3276  func (e FolderDesiredHostState) Values() []FolderDesiredHostState {
  3277  	return []FolderDesiredHostState{
  3278  		FolderDesiredHostStateMaintenance,
  3279  		FolderDesiredHostStateNon_maintenance,
  3280  	}
  3281  }
  3282  
  3283  func (e FolderDesiredHostState) Strings() []string {
  3284  	return EnumValuesAsStrings(e.Values())
  3285  }
  3286  
  3287  func init() {
  3288  	t["FolderDesiredHostState"] = reflect.TypeOf((*FolderDesiredHostState)(nil)).Elem()
  3289  }
  3290  
  3291  // HostSelectionType defines how the host was selected
  3292  type FtIssuesOnHostHostSelectionType string
  3293  
  3294  const (
  3295  	// The host was specified by the user
  3296  	FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user")
  3297  	// The host was selected by Virtual Center
  3298  	FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc")
  3299  	// The host was selected by DRS
  3300  	FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs")
  3301  )
  3302  
  3303  func (e FtIssuesOnHostHostSelectionType) Values() []FtIssuesOnHostHostSelectionType {
  3304  	return []FtIssuesOnHostHostSelectionType{
  3305  		FtIssuesOnHostHostSelectionTypeUser,
  3306  		FtIssuesOnHostHostSelectionTypeVc,
  3307  		FtIssuesOnHostHostSelectionTypeDrs,
  3308  	}
  3309  }
  3310  
  3311  func (e FtIssuesOnHostHostSelectionType) Strings() []string {
  3312  	return EnumValuesAsStrings(e.Values())
  3313  }
  3314  
  3315  func init() {
  3316  	t["FtIssuesOnHostHostSelectionType"] = reflect.TypeOf((*FtIssuesOnHostHostSelectionType)(nil)).Elem()
  3317  }
  3318  
  3319  type GuestFileType string
  3320  
  3321  const (
  3322  	// Regular files, and on Posix filesystems, unix domain sockets
  3323  	// and devices.
  3324  	GuestFileTypeFile = GuestFileType("file")
  3325  	// directory
  3326  	GuestFileTypeDirectory = GuestFileType("directory")
  3327  	// symbolic link
  3328  	GuestFileTypeSymlink = GuestFileType("symlink")
  3329  )
  3330  
  3331  func (e GuestFileType) Values() []GuestFileType {
  3332  	return []GuestFileType{
  3333  		GuestFileTypeFile,
  3334  		GuestFileTypeDirectory,
  3335  		GuestFileTypeSymlink,
  3336  	}
  3337  }
  3338  
  3339  func (e GuestFileType) Strings() []string {
  3340  	return EnumValuesAsStrings(e.Values())
  3341  }
  3342  
  3343  func init() {
  3344  	t["GuestFileType"] = reflect.TypeOf((*GuestFileType)(nil)).Elem()
  3345  }
  3346  
  3347  // Application state type.
  3348  type GuestInfoAppStateType string
  3349  
  3350  const (
  3351  	// The application state wasn't set from the guest by the application agent.
  3352  	//
  3353  	// This is the default.
  3354  	GuestInfoAppStateTypeNone = GuestInfoAppStateType("none")
  3355  	// The guest's application agent declared its state as normal and doesn't
  3356  	// require any action
  3357  	GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk")
  3358  	// Guest's application agent asks for immediate reset
  3359  	GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset")
  3360  )
  3361  
  3362  func (e GuestInfoAppStateType) Values() []GuestInfoAppStateType {
  3363  	return []GuestInfoAppStateType{
  3364  		GuestInfoAppStateTypeNone,
  3365  		GuestInfoAppStateTypeAppStateOk,
  3366  		GuestInfoAppStateTypeAppStateNeedReset,
  3367  	}
  3368  }
  3369  
  3370  func (e GuestInfoAppStateType) Strings() []string {
  3371  	return EnumValuesAsStrings(e.Values())
  3372  }
  3373  
  3374  func init() {
  3375  	t["GuestInfoAppStateType"] = reflect.TypeOf((*GuestInfoAppStateType)(nil)).Elem()
  3376  }
  3377  
  3378  type GuestInfoCustomizationStatus string
  3379  
  3380  const (
  3381  	// No guest customizationSpec has been applied for the VM
  3382  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_IDLE")
  3383  	// The guest customizationSpec has been applied for the VM,
  3384  	// but the customization process has not yet started inside the guest OS
  3385  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_PENDING")
  3386  	// The customization process is currently running inside the guest OS
  3387  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_RUNNING")
  3388  	// The customization process has completed successfully inside the
  3389  	// guest OS
  3390  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_SUCCEEDED")
  3391  	// The customizatio process has failed inside the guest OS
  3392  	GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_FAILED")
  3393  )
  3394  
  3395  func (e GuestInfoCustomizationStatus) Values() []GuestInfoCustomizationStatus {
  3396  	return []GuestInfoCustomizationStatus{
  3397  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE,
  3398  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING,
  3399  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING,
  3400  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED,
  3401  		GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED,
  3402  	}
  3403  }
  3404  
  3405  func (e GuestInfoCustomizationStatus) Strings() []string {
  3406  	return EnumValuesAsStrings(e.Values())
  3407  }
  3408  
  3409  func init() {
  3410  	t["GuestInfoCustomizationStatus"] = reflect.TypeOf((*GuestInfoCustomizationStatus)(nil)).Elem()
  3411  	minAPIVersionForType["GuestInfoCustomizationStatus"] = "7.0.2.0"
  3412  }
  3413  
  3414  // Firmware types
  3415  type GuestOsDescriptorFirmwareType string
  3416  
  3417  const (
  3418  	// BIOS firmware
  3419  	GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios")
  3420  	// Extensible Firmware Interface
  3421  	GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi")
  3422  )
  3423  
  3424  func (e GuestOsDescriptorFirmwareType) Values() []GuestOsDescriptorFirmwareType {
  3425  	return []GuestOsDescriptorFirmwareType{
  3426  		GuestOsDescriptorFirmwareTypeBios,
  3427  		GuestOsDescriptorFirmwareTypeEfi,
  3428  	}
  3429  }
  3430  
  3431  func (e GuestOsDescriptorFirmwareType) Strings() []string {
  3432  	return EnumValuesAsStrings(e.Values())
  3433  }
  3434  
  3435  func init() {
  3436  	t["GuestOsDescriptorFirmwareType"] = reflect.TypeOf((*GuestOsDescriptorFirmwareType)(nil)).Elem()
  3437  }
  3438  
  3439  // Guest OS support level
  3440  type GuestOsDescriptorSupportLevel string
  3441  
  3442  const (
  3443  	// This operating system is not supported,
  3444  	// but may be supported in the future.
  3445  	GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental")
  3446  	// This operating system is not fully supported,
  3447  	// but may have been supported in the past.
  3448  	GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy")
  3449  	// No longer supported.
  3450  	GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated")
  3451  	// Fully supported.
  3452  	GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported")
  3453  	// This operating system is not supported.
  3454  	GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported")
  3455  	// Support for this operating system will be terminated in the future.
  3456  	//
  3457  	// Please migrate to using a different operating system.
  3458  	GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated")
  3459  	// This operating system may not be supported yet,
  3460  	// please check VMware compatibility guide.
  3461  	GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview")
  3462  )
  3463  
  3464  func (e GuestOsDescriptorSupportLevel) Values() []GuestOsDescriptorSupportLevel {
  3465  	return []GuestOsDescriptorSupportLevel{
  3466  		GuestOsDescriptorSupportLevelExperimental,
  3467  		GuestOsDescriptorSupportLevelLegacy,
  3468  		GuestOsDescriptorSupportLevelTerminated,
  3469  		GuestOsDescriptorSupportLevelSupported,
  3470  		GuestOsDescriptorSupportLevelUnsupported,
  3471  		GuestOsDescriptorSupportLevelDeprecated,
  3472  		GuestOsDescriptorSupportLevelTechPreview,
  3473  	}
  3474  }
  3475  
  3476  func (e GuestOsDescriptorSupportLevel) Strings() []string {
  3477  	return EnumValuesAsStrings(e.Values())
  3478  }
  3479  
  3480  func init() {
  3481  	t["GuestOsDescriptorSupportLevel"] = reflect.TypeOf((*GuestOsDescriptorSupportLevel)(nil)).Elem()
  3482  }
  3483  
  3484  // End guest quiesce phase error types.
  3485  type GuestQuiesceEndGuestQuiesceError string
  3486  
  3487  const (
  3488  	// Fail the end phase of guest quiesce creation.
  3489  	GuestQuiesceEndGuestQuiesceErrorFailure = GuestQuiesceEndGuestQuiesceError("failure")
  3490  )
  3491  
  3492  func (e GuestQuiesceEndGuestQuiesceError) Values() []GuestQuiesceEndGuestQuiesceError {
  3493  	return []GuestQuiesceEndGuestQuiesceError{
  3494  		GuestQuiesceEndGuestQuiesceErrorFailure,
  3495  	}
  3496  }
  3497  
  3498  func (e GuestQuiesceEndGuestQuiesceError) Strings() []string {
  3499  	return EnumValuesAsStrings(e.Values())
  3500  }
  3501  
  3502  func init() {
  3503  	t["GuestQuiesceEndGuestQuiesceError"] = reflect.TypeOf((*GuestQuiesceEndGuestQuiesceError)(nil)).Elem()
  3504  }
  3505  
  3506  // This describes the bitness (32-bit or 64-bit) of a registry view in a
  3507  // Windows OS that supports WOW64.
  3508  //
  3509  // WOW64 (short for Windows 32-bit on Windows 64-bit) is the x86 emulator
  3510  // that allows 32-bit Windows-based applications to run seamlessly on
  3511  // 64-bit Windows. Please refer to these MSDN sites for more details:
  3512  // http://msdn.microsoft.com/en-us/library/aa384249(v=vs.85).aspx and
  3513  // http://msdn.microsoft.com/en-us/library/aa384253(v=vs.85).aspx
  3514  type GuestRegKeyWowSpec string
  3515  
  3516  const (
  3517  	// Access the key from the native view of the
  3518  	// Registry (32-bit on 32-bit versions of Windows,
  3519  	// 64-bit on 64-bit versions of Windows).
  3520  	GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative")
  3521  	// Access the key from the 32-bit view of the Registry.
  3522  	GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32")
  3523  	// Access the key from the 64-bit view of the Registry.
  3524  	GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64")
  3525  )
  3526  
  3527  func (e GuestRegKeyWowSpec) Values() []GuestRegKeyWowSpec {
  3528  	return []GuestRegKeyWowSpec{
  3529  		GuestRegKeyWowSpecWOWNative,
  3530  		GuestRegKeyWowSpecWOW32,
  3531  		GuestRegKeyWowSpecWOW64,
  3532  	}
  3533  }
  3534  
  3535  func (e GuestRegKeyWowSpec) Strings() []string {
  3536  	return EnumValuesAsStrings(e.Values())
  3537  }
  3538  
  3539  func init() {
  3540  	t["GuestRegKeyWowSpec"] = reflect.TypeOf((*GuestRegKeyWowSpec)(nil)).Elem()
  3541  }
  3542  
  3543  type HealthUpdateInfoComponentType string
  3544  
  3545  const (
  3546  	HealthUpdateInfoComponentTypeMemory  = HealthUpdateInfoComponentType("Memory")
  3547  	HealthUpdateInfoComponentTypePower   = HealthUpdateInfoComponentType("Power")
  3548  	HealthUpdateInfoComponentTypeFan     = HealthUpdateInfoComponentType("Fan")
  3549  	HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network")
  3550  	HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage")
  3551  )
  3552  
  3553  func (e HealthUpdateInfoComponentType) Values() []HealthUpdateInfoComponentType {
  3554  	return []HealthUpdateInfoComponentType{
  3555  		HealthUpdateInfoComponentTypeMemory,
  3556  		HealthUpdateInfoComponentTypePower,
  3557  		HealthUpdateInfoComponentTypeFan,
  3558  		HealthUpdateInfoComponentTypeNetwork,
  3559  		HealthUpdateInfoComponentTypeStorage,
  3560  	}
  3561  }
  3562  
  3563  func (e HealthUpdateInfoComponentType) Strings() []string {
  3564  	return EnumValuesAsStrings(e.Values())
  3565  }
  3566  
  3567  func init() {
  3568  	t["HealthUpdateInfoComponentType"] = reflect.TypeOf((*HealthUpdateInfoComponentType)(nil)).Elem()
  3569  }
  3570  
  3571  // Defines different access modes that a user may have on the host for
  3572  // direct host connections.
  3573  //
  3574  // The assumption here is that when the host is managed by vCenter,
  3575  // we don't need fine-grained control on local user permissions like the
  3576  // interface provided by `AuthorizationManager`.
  3577  type HostAccessMode string
  3578  
  3579  const (
  3580  	// Indicates that the user has no explicitly defined permissions or roles.
  3581  	//
  3582  	// This is used when we want to remove all permissions for some user.
  3583  	//
  3584  	// Note that this is not the same as `accessNoAccess`.
  3585  	HostAccessModeAccessNone = HostAccessMode("accessNone")
  3586  	// Describes a propagating Admin role on the root inventory object
  3587  	// (root folder) on the host, and no other non-Admin role on any other
  3588  	// object.
  3589  	//
  3590  	// The same permissions are needed to login to local or remote
  3591  	// shell (ESXiShell or SSH).
  3592  	HostAccessModeAccessAdmin = HostAccessMode("accessAdmin")
  3593  	// Describes a propagating NoAccess role on the root inventory object
  3594  	// (root folder) on the host, and no other roles.
  3595  	//
  3596  	// Even if the user has another (redundant) NoAccess role on some other
  3597  	// inventory object, then the access mode for this user will be
  3598  	// classified as `accessOther`.
  3599  	//
  3600  	// This mode may be used to restrict a specific user account without
  3601  	// restricting the access mode for the group to which the user belongs.
  3602  	HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess")
  3603  	// Describes a propagating ReadOnly role on the root inventory object
  3604  	// (root folder) on the host, and no other roles.
  3605  	//
  3606  	// Even if the user has another (redundant) ReadOnly role on some other
  3607  	// inventory object, then the access mode for this user will be
  3608  	// `accessOther`.
  3609  	HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly")
  3610  	// Describes a combination of one or more roles/permissions which are
  3611  	// none of the above.
  3612  	HostAccessModeAccessOther = HostAccessMode("accessOther")
  3613  )
  3614  
  3615  func (e HostAccessMode) Values() []HostAccessMode {
  3616  	return []HostAccessMode{
  3617  		HostAccessModeAccessNone,
  3618  		HostAccessModeAccessAdmin,
  3619  		HostAccessModeAccessNoAccess,
  3620  		HostAccessModeAccessReadOnly,
  3621  		HostAccessModeAccessOther,
  3622  	}
  3623  }
  3624  
  3625  func (e HostAccessMode) Strings() []string {
  3626  	return EnumValuesAsStrings(e.Values())
  3627  }
  3628  
  3629  func init() {
  3630  	t["HostAccessMode"] = reflect.TypeOf((*HostAccessMode)(nil)).Elem()
  3631  }
  3632  
  3633  type HostActiveDirectoryAuthenticationCertificateDigest string
  3634  
  3635  const (
  3636  	HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1")
  3637  )
  3638  
  3639  func (e HostActiveDirectoryAuthenticationCertificateDigest) Values() []HostActiveDirectoryAuthenticationCertificateDigest {
  3640  	return []HostActiveDirectoryAuthenticationCertificateDigest{
  3641  		HostActiveDirectoryAuthenticationCertificateDigestSHA1,
  3642  	}
  3643  }
  3644  
  3645  func (e HostActiveDirectoryAuthenticationCertificateDigest) Strings() []string {
  3646  	return EnumValuesAsStrings(e.Values())
  3647  }
  3648  
  3649  func init() {
  3650  	t["HostActiveDirectoryAuthenticationCertificateDigest"] = reflect.TypeOf((*HostActiveDirectoryAuthenticationCertificateDigest)(nil)).Elem()
  3651  }
  3652  
  3653  type HostActiveDirectoryInfoDomainMembershipStatus string
  3654  
  3655  const (
  3656  	// The Active Directory integration provider does not support
  3657  	// domain trust checks.
  3658  	HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown")
  3659  	// No problems with the domain membership.
  3660  	HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok")
  3661  	// The host thinks it's part of a domain,
  3662  	// but no domain controllers could be reached to confirm.
  3663  	HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers")
  3664  	// The client side of the trust relationship is broken.
  3665  	HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken")
  3666  	// The server side of the trust relationship is broken
  3667  	// (or bad machine password).
  3668  	HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken")
  3669  	// Unexpected domain controller responded.
  3670  	HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust")
  3671  	// There's some problem with the domain membership.
  3672  	HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem")
  3673  )
  3674  
  3675  func (e HostActiveDirectoryInfoDomainMembershipStatus) Values() []HostActiveDirectoryInfoDomainMembershipStatus {
  3676  	return []HostActiveDirectoryInfoDomainMembershipStatus{
  3677  		HostActiveDirectoryInfoDomainMembershipStatusUnknown,
  3678  		HostActiveDirectoryInfoDomainMembershipStatusOk,
  3679  		HostActiveDirectoryInfoDomainMembershipStatusNoServers,
  3680  		HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken,
  3681  		HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken,
  3682  		HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust,
  3683  		HostActiveDirectoryInfoDomainMembershipStatusOtherProblem,
  3684  	}
  3685  }
  3686  
  3687  func (e HostActiveDirectoryInfoDomainMembershipStatus) Strings() []string {
  3688  	return EnumValuesAsStrings(e.Values())
  3689  }
  3690  
  3691  func init() {
  3692  	t["HostActiveDirectoryInfoDomainMembershipStatus"] = reflect.TypeOf((*HostActiveDirectoryInfoDomainMembershipStatus)(nil)).Elem()
  3693  }
  3694  
  3695  type HostBIOSInfoFirmwareType string
  3696  
  3697  const (
  3698  	HostBIOSInfoFirmwareTypeBIOS = HostBIOSInfoFirmwareType("BIOS")
  3699  	HostBIOSInfoFirmwareTypeUEFI = HostBIOSInfoFirmwareType("UEFI")
  3700  )
  3701  
  3702  func (e HostBIOSInfoFirmwareType) Values() []HostBIOSInfoFirmwareType {
  3703  	return []HostBIOSInfoFirmwareType{
  3704  		HostBIOSInfoFirmwareTypeBIOS,
  3705  		HostBIOSInfoFirmwareTypeUEFI,
  3706  	}
  3707  }
  3708  
  3709  func (e HostBIOSInfoFirmwareType) Strings() []string {
  3710  	return EnumValuesAsStrings(e.Values())
  3711  }
  3712  
  3713  func init() {
  3714  	t["HostBIOSInfoFirmwareType"] = reflect.TypeOf((*HostBIOSInfoFirmwareType)(nil)).Elem()
  3715  	minAPIVersionForType["HostBIOSInfoFirmwareType"] = "8.0.2.0"
  3716  }
  3717  
  3718  // Deprecated as of vSphere API 7.0, use
  3719  // `VmFaultToleranceConfigIssueReasonForIssue_enum`.
  3720  //
  3721  // Set of possible values for
  3722  // `HostCapability.ftCompatibilityIssues`
  3723  type HostCapabilityFtUnsupportedReason string
  3724  
  3725  const (
  3726  	// No VMotion license
  3727  	HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed")
  3728  	// VMotion nic is not configured on the host
  3729  	HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic")
  3730  	// FT logging nic is not configured on the host
  3731  	HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic")
  3732  	// Host does not have proper FT license
  3733  	HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed")
  3734  	// Host does not have HA agent running properly
  3735  	HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue")
  3736  	// VMware product installed on the host does not support
  3737  	// fault tolerance
  3738  	HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct")
  3739  	// Host CPU does not support hardware virtualization
  3740  	HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported")
  3741  	// Host CPU does not support hardware MMU virtualization
  3742  	HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported")
  3743  	// Host CPU is compatible for replay-based FT, but hardware
  3744  	// virtualization has been disabled in the BIOS.
  3745  	HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled")
  3746  )
  3747  
  3748  func (e HostCapabilityFtUnsupportedReason) Values() []HostCapabilityFtUnsupportedReason {
  3749  	return []HostCapabilityFtUnsupportedReason{
  3750  		HostCapabilityFtUnsupportedReasonVMotionNotLicensed,
  3751  		HostCapabilityFtUnsupportedReasonMissingVMotionNic,
  3752  		HostCapabilityFtUnsupportedReasonMissingFTLoggingNic,
  3753  		HostCapabilityFtUnsupportedReasonFtNotLicensed,
  3754  		HostCapabilityFtUnsupportedReasonHaAgentIssue,
  3755  		HostCapabilityFtUnsupportedReasonUnsupportedProduct,
  3756  		HostCapabilityFtUnsupportedReasonCpuHvUnsupported,
  3757  		HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported,
  3758  		HostCapabilityFtUnsupportedReasonCpuHvDisabled,
  3759  	}
  3760  }
  3761  
  3762  func (e HostCapabilityFtUnsupportedReason) Strings() []string {
  3763  	return EnumValuesAsStrings(e.Values())
  3764  }
  3765  
  3766  func init() {
  3767  	t["HostCapabilityFtUnsupportedReason"] = reflect.TypeOf((*HostCapabilityFtUnsupportedReason)(nil)).Elem()
  3768  }
  3769  
  3770  // Set of VMFS unmap API version.
  3771  type HostCapabilityUnmapMethodSupported string
  3772  
  3773  const (
  3774  	// only the unmap priority is supported
  3775  	HostCapabilityUnmapMethodSupportedPriority = HostCapabilityUnmapMethodSupported("priority")
  3776  	// the unmap bandwidth can be set as a fixed value
  3777  	HostCapabilityUnmapMethodSupportedFixed = HostCapabilityUnmapMethodSupported("fixed")
  3778  	// the unmap bandwidth can be set as a range, where the actual
  3779  	// bandwidth will be dynamically throttled by the backened
  3780  	HostCapabilityUnmapMethodSupportedDynamic = HostCapabilityUnmapMethodSupported("dynamic")
  3781  )
  3782  
  3783  func (e HostCapabilityUnmapMethodSupported) Values() []HostCapabilityUnmapMethodSupported {
  3784  	return []HostCapabilityUnmapMethodSupported{
  3785  		HostCapabilityUnmapMethodSupportedPriority,
  3786  		HostCapabilityUnmapMethodSupportedFixed,
  3787  		HostCapabilityUnmapMethodSupportedDynamic,
  3788  	}
  3789  }
  3790  
  3791  func (e HostCapabilityUnmapMethodSupported) Strings() []string {
  3792  	return EnumValuesAsStrings(e.Values())
  3793  }
  3794  
  3795  func init() {
  3796  	t["HostCapabilityUnmapMethodSupported"] = reflect.TypeOf((*HostCapabilityUnmapMethodSupported)(nil)).Elem()
  3797  }
  3798  
  3799  // Set of possible values for `HostCapability.vmDirectPathGen2UnsupportedReason`.
  3800  type HostCapabilityVmDirectPathGen2UnsupportedReason string
  3801  
  3802  const (
  3803  	// The host software does not support VMDirectPath Gen 2.
  3804  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct")
  3805  	// The host hardware does not support VMDirectPath Gen 2.
  3806  	//
  3807  	// Note that
  3808  	// this is a general capability for the host and is independent of
  3809  	// support by a given physical NIC.
  3810  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware")
  3811  	// The host is configured to disable VMDirectPath Gen 2.
  3812  	HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled")
  3813  )
  3814  
  3815  func (e HostCapabilityVmDirectPathGen2UnsupportedReason) Values() []HostCapabilityVmDirectPathGen2UnsupportedReason {
  3816  	return []HostCapabilityVmDirectPathGen2UnsupportedReason{
  3817  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct,
  3818  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware,
  3819  		HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled,
  3820  	}
  3821  }
  3822  
  3823  func (e HostCapabilityVmDirectPathGen2UnsupportedReason) Strings() []string {
  3824  	return EnumValuesAsStrings(e.Values())
  3825  }
  3826  
  3827  func init() {
  3828  	t["HostCapabilityVmDirectPathGen2UnsupportedReason"] = reflect.TypeOf((*HostCapabilityVmDirectPathGen2UnsupportedReason)(nil)).Elem()
  3829  }
  3830  
  3831  // The status of a given certificate as computed per the soft and the hard
  3832  // thresholds in vCenter Server.
  3833  //
  3834  // There are two different thresholds for the host certificate
  3835  // expirations; a soft threshold (which constitutes of two phases) and a
  3836  // hard threshold.
  3837  //
  3838  // Soft Threshold:
  3839  //
  3840  // Phase One: vCenter Server will publish an event at
  3841  // this time to let the user know about the status, but, no alarms or
  3842  // warnings are raised.
  3843  //
  3844  // Phase Two: During this phase, vCenter Server will publish an event and
  3845  // indicate the certificate status as expiring in the UI.
  3846  //
  3847  // Hard Threshold:
  3848  //
  3849  // vCenter Server will publish an alarm and indicate via the UI that the
  3850  // certificate expiration is imminent.
  3851  type HostCertificateManagerCertificateInfoCertificateStatus string
  3852  
  3853  const (
  3854  	// The certificate status is unknown.
  3855  	HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown")
  3856  	// The certificate has expired.
  3857  	HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired")
  3858  	// The certificate is expiring shortly.
  3859  	//
  3860  	// (soft threshold - 1)
  3861  	HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring")
  3862  	// The certificate is expiring shortly.
  3863  	//
  3864  	// (soft threshold - 2)
  3865  	HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly")
  3866  	// The certificate expiration is imminent.
  3867  	//
  3868  	// (hard threshold)
  3869  	HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent")
  3870  	// The certificate is good.
  3871  	HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good")
  3872  )
  3873  
  3874  func (e HostCertificateManagerCertificateInfoCertificateStatus) Values() []HostCertificateManagerCertificateInfoCertificateStatus {
  3875  	return []HostCertificateManagerCertificateInfoCertificateStatus{
  3876  		HostCertificateManagerCertificateInfoCertificateStatusUnknown,
  3877  		HostCertificateManagerCertificateInfoCertificateStatusExpired,
  3878  		HostCertificateManagerCertificateInfoCertificateStatusExpiring,
  3879  		HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly,
  3880  		HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent,
  3881  		HostCertificateManagerCertificateInfoCertificateStatusGood,
  3882  	}
  3883  }
  3884  
  3885  func (e HostCertificateManagerCertificateInfoCertificateStatus) Strings() []string {
  3886  	return EnumValuesAsStrings(e.Values())
  3887  }
  3888  
  3889  func init() {
  3890  	t["HostCertificateManagerCertificateInfoCertificateStatus"] = reflect.TypeOf((*HostCertificateManagerCertificateInfoCertificateStatus)(nil)).Elem()
  3891  }
  3892  
  3893  type HostCertificateManagerCertificateKind string
  3894  
  3895  const (
  3896  	// Machine certificate of the Host
  3897  	HostCertificateManagerCertificateKindMachine = HostCertificateManagerCertificateKind("Machine")
  3898  	// VASA Client certificate used for communication with VASA Provider
  3899  	HostCertificateManagerCertificateKindVASAClient = HostCertificateManagerCertificateKind("VASAClient")
  3900  )
  3901  
  3902  func (e HostCertificateManagerCertificateKind) Values() []HostCertificateManagerCertificateKind {
  3903  	return []HostCertificateManagerCertificateKind{
  3904  		HostCertificateManagerCertificateKindMachine,
  3905  		HostCertificateManagerCertificateKindVASAClient,
  3906  	}
  3907  }
  3908  
  3909  func (e HostCertificateManagerCertificateKind) Strings() []string {
  3910  	return EnumValuesAsStrings(e.Values())
  3911  }
  3912  
  3913  func init() {
  3914  	t["HostCertificateManagerCertificateKind"] = reflect.TypeOf((*HostCertificateManagerCertificateKind)(nil)).Elem()
  3915  	minAPIVersionForType["HostCertificateManagerCertificateKind"] = "8.0.1.0"
  3916  }
  3917  
  3918  // This is a global mode on a configuration specification indicating
  3919  // whether the structure represents the desired state or the set of
  3920  // operations to apply on the managed object.
  3921  type HostConfigChangeMode string
  3922  
  3923  const (
  3924  	// Indicates that the structure represents the
  3925  	// set of operations to apply on the managed object.
  3926  	HostConfigChangeModeModify = HostConfigChangeMode("modify")
  3927  	// Indicates that the structure represents the
  3928  	// desired state of the managed object.
  3929  	HostConfigChangeModeReplace = HostConfigChangeMode("replace")
  3930  )
  3931  
  3932  func (e HostConfigChangeMode) Values() []HostConfigChangeMode {
  3933  	return []HostConfigChangeMode{
  3934  		HostConfigChangeModeModify,
  3935  		HostConfigChangeModeReplace,
  3936  	}
  3937  }
  3938  
  3939  func (e HostConfigChangeMode) Strings() []string {
  3940  	return EnumValuesAsStrings(e.Values())
  3941  }
  3942  
  3943  func init() {
  3944  	t["HostConfigChangeMode"] = reflect.TypeOf((*HostConfigChangeMode)(nil)).Elem()
  3945  }
  3946  
  3947  // This list indicates the operation that should be performed for an
  3948  // entity.
  3949  type HostConfigChangeOperation string
  3950  
  3951  const (
  3952  	// Indicates the addition of an entity to the configuration.
  3953  	HostConfigChangeOperationAdd = HostConfigChangeOperation("add")
  3954  	// Indicates the removal of an entity from the configuration.
  3955  	HostConfigChangeOperationRemove = HostConfigChangeOperation("remove")
  3956  	// Indicates changes on the entity.
  3957  	//
  3958  	// The entity must exist or a
  3959  	// `NotFound` error will be thrown.
  3960  	HostConfigChangeOperationEdit = HostConfigChangeOperation("edit")
  3961  	// Indicates that an entity will be ignored: it won't be added when it
  3962  	// doesn't exist, or removed/changed when it exists.
  3963  	HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore")
  3964  )
  3965  
  3966  func (e HostConfigChangeOperation) Values() []HostConfigChangeOperation {
  3967  	return []HostConfigChangeOperation{
  3968  		HostConfigChangeOperationAdd,
  3969  		HostConfigChangeOperationRemove,
  3970  		HostConfigChangeOperationEdit,
  3971  		HostConfigChangeOperationIgnore,
  3972  	}
  3973  }
  3974  
  3975  func (e HostConfigChangeOperation) Strings() []string {
  3976  	return EnumValuesAsStrings(e.Values())
  3977  }
  3978  
  3979  func init() {
  3980  	t["HostConfigChangeOperation"] = reflect.TypeOf((*HostConfigChangeOperation)(nil)).Elem()
  3981  }
  3982  
  3983  type HostCpuPackageVendor string
  3984  
  3985  const (
  3986  	HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown")
  3987  	HostCpuPackageVendorIntel   = HostCpuPackageVendor("intel")
  3988  	HostCpuPackageVendorAmd     = HostCpuPackageVendor("amd")
  3989  	HostCpuPackageVendorHygon   = HostCpuPackageVendor("hygon")
  3990  )
  3991  
  3992  func (e HostCpuPackageVendor) Values() []HostCpuPackageVendor {
  3993  	return []HostCpuPackageVendor{
  3994  		HostCpuPackageVendorUnknown,
  3995  		HostCpuPackageVendorIntel,
  3996  		HostCpuPackageVendorAmd,
  3997  		HostCpuPackageVendorHygon,
  3998  	}
  3999  }
  4000  
  4001  func (e HostCpuPackageVendor) Strings() []string {
  4002  	return EnumValuesAsStrings(e.Values())
  4003  }
  4004  
  4005  func init() {
  4006  	t["HostCpuPackageVendor"] = reflect.TypeOf((*HostCpuPackageVendor)(nil)).Elem()
  4007  }
  4008  
  4009  // Possible values for Current CPU power management policy
  4010  type HostCpuPowerManagementInfoPolicyType string
  4011  
  4012  const (
  4013  	HostCpuPowerManagementInfoPolicyTypeOff           = HostCpuPowerManagementInfoPolicyType("off")
  4014  	HostCpuPowerManagementInfoPolicyTypeStaticPolicy  = HostCpuPowerManagementInfoPolicyType("staticPolicy")
  4015  	HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy")
  4016  )
  4017  
  4018  func (e HostCpuPowerManagementInfoPolicyType) Values() []HostCpuPowerManagementInfoPolicyType {
  4019  	return []HostCpuPowerManagementInfoPolicyType{
  4020  		HostCpuPowerManagementInfoPolicyTypeOff,
  4021  		HostCpuPowerManagementInfoPolicyTypeStaticPolicy,
  4022  		HostCpuPowerManagementInfoPolicyTypeDynamicPolicy,
  4023  	}
  4024  }
  4025  
  4026  func (e HostCpuPowerManagementInfoPolicyType) Strings() []string {
  4027  	return EnumValuesAsStrings(e.Values())
  4028  }
  4029  
  4030  func init() {
  4031  	t["HostCpuPowerManagementInfoPolicyType"] = reflect.TypeOf((*HostCpuPowerManagementInfoPolicyType)(nil)).Elem()
  4032  }
  4033  
  4034  type HostCpuSchedulerInfoCpuSchedulerPolicyInfo string
  4035  
  4036  const (
  4037  	// The CPU scheduler on this host is running without any modifications
  4038  	// or mitigations.
  4039  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoSystemDefault = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("systemDefault")
  4040  	// The CPU scheduler on this host is using only one hyperthread per
  4041  	// core to mitigate a security vulnerability.
  4042  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav1 = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("scav1")
  4043  	// The CPU scheduler on this host is using hyperthreads, with
  4044  	// Side-Channel aware scheduling to mitigate a security vulnerability.
  4045  	HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav2 = HostCpuSchedulerInfoCpuSchedulerPolicyInfo("scav2")
  4046  )
  4047  
  4048  func (e HostCpuSchedulerInfoCpuSchedulerPolicyInfo) Values() []HostCpuSchedulerInfoCpuSchedulerPolicyInfo {
  4049  	return []HostCpuSchedulerInfoCpuSchedulerPolicyInfo{
  4050  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoSystemDefault,
  4051  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav1,
  4052  		HostCpuSchedulerInfoCpuSchedulerPolicyInfoScav2,
  4053  	}
  4054  }
  4055  
  4056  func (e HostCpuSchedulerInfoCpuSchedulerPolicyInfo) Strings() []string {
  4057  	return EnumValuesAsStrings(e.Values())
  4058  }
  4059  
  4060  func init() {
  4061  	t["HostCpuSchedulerInfoCpuSchedulerPolicyInfo"] = reflect.TypeOf((*HostCpuSchedulerInfoCpuSchedulerPolicyInfo)(nil)).Elem()
  4062  	minAPIVersionForType["HostCpuSchedulerInfoCpuSchedulerPolicyInfo"] = "8.0.3.0"
  4063  }
  4064  
  4065  // Defines a host's encryption state
  4066  type HostCryptoState string
  4067  
  4068  const (
  4069  	// The host is not safe for receiving sensitive material.
  4070  	HostCryptoStateIncapable = HostCryptoState("incapable")
  4071  	// The host is prepared for receiving sensitive material
  4072  	// but does not have a host key set yet.
  4073  	HostCryptoStatePrepared = HostCryptoState("prepared")
  4074  	// The host is crypto safe and has a host key set.
  4075  	HostCryptoStateSafe = HostCryptoState("safe")
  4076  	// The host is explicitly crypto disabled and pending reboot to be
  4077  	// applied.
  4078  	//
  4079  	// When host is in this state, creating encrypted virtual
  4080  	// machines is not allowed, but still need a reboot to totally clean
  4081  	// up and enter incapable state.
  4082  	HostCryptoStatePendingIncapable = HostCryptoState("pendingIncapable")
  4083  )
  4084  
  4085  func (e HostCryptoState) Values() []HostCryptoState {
  4086  	return []HostCryptoState{
  4087  		HostCryptoStateIncapable,
  4088  		HostCryptoStatePrepared,
  4089  		HostCryptoStateSafe,
  4090  		HostCryptoStatePendingIncapable,
  4091  	}
  4092  }
  4093  
  4094  func (e HostCryptoState) Strings() []string {
  4095  	return EnumValuesAsStrings(e.Values())
  4096  }
  4097  
  4098  func init() {
  4099  	t["HostCryptoState"] = reflect.TypeOf((*HostCryptoState)(nil)).Elem()
  4100  }
  4101  
  4102  type HostDVSConfigSpecSwitchMode string
  4103  
  4104  const (
  4105  	// traditional package processing mode.
  4106  	HostDVSConfigSpecSwitchModeNormal = HostDVSConfigSpecSwitchMode("normal")
  4107  	// ENS mode which skips packet parsing and flow table lookup.
  4108  	HostDVSConfigSpecSwitchModeMux = HostDVSConfigSpecSwitchMode("mux")
  4109  )
  4110  
  4111  func (e HostDVSConfigSpecSwitchMode) Values() []HostDVSConfigSpecSwitchMode {
  4112  	return []HostDVSConfigSpecSwitchMode{
  4113  		HostDVSConfigSpecSwitchModeNormal,
  4114  		HostDVSConfigSpecSwitchModeMux,
  4115  	}
  4116  }
  4117  
  4118  func (e HostDVSConfigSpecSwitchMode) Strings() []string {
  4119  	return EnumValuesAsStrings(e.Values())
  4120  }
  4121  
  4122  func init() {
  4123  	t["HostDVSConfigSpecSwitchMode"] = reflect.TypeOf((*HostDVSConfigSpecSwitchMode)(nil)).Elem()
  4124  	minAPIVersionForType["HostDVSConfigSpecSwitchMode"] = "8.0.0.1"
  4125  }
  4126  
  4127  type HostDasErrorEventHostDasErrorReason string
  4128  
  4129  const (
  4130  	// Error while configuring/unconfiguring HA
  4131  	HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed")
  4132  	// Timeout while communicating with HA agent
  4133  	HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout")
  4134  	// HA communication initialization failed
  4135  	HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed")
  4136  	// Health check script failed
  4137  	HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed")
  4138  	// HA agent has an error
  4139  	HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed")
  4140  	// HA agent was shutdown
  4141  	HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown")
  4142  	// HA isolation address unpingable
  4143  	HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable")
  4144  	// Other reason
  4145  	HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other")
  4146  )
  4147  
  4148  func (e HostDasErrorEventHostDasErrorReason) Values() []HostDasErrorEventHostDasErrorReason {
  4149  	return []HostDasErrorEventHostDasErrorReason{
  4150  		HostDasErrorEventHostDasErrorReasonConfigFailed,
  4151  		HostDasErrorEventHostDasErrorReasonTimeout,
  4152  		HostDasErrorEventHostDasErrorReasonCommunicationInitFailed,
  4153  		HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed,
  4154  		HostDasErrorEventHostDasErrorReasonAgentFailed,
  4155  		HostDasErrorEventHostDasErrorReasonAgentShutdown,
  4156  		HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable,
  4157  		HostDasErrorEventHostDasErrorReasonOther,
  4158  	}
  4159  }
  4160  
  4161  func (e HostDasErrorEventHostDasErrorReason) Strings() []string {
  4162  	return EnumValuesAsStrings(e.Values())
  4163  }
  4164  
  4165  func init() {
  4166  	t["HostDasErrorEventHostDasErrorReason"] = reflect.TypeOf((*HostDasErrorEventHostDasErrorReason)(nil)).Elem()
  4167  }
  4168  
  4169  // Types of time synchronization protocols.
  4170  type HostDateTimeInfoProtocol string
  4171  
  4172  const (
  4173  	// Network Time Protocol (NTP).
  4174  	HostDateTimeInfoProtocolNtp = HostDateTimeInfoProtocol("ntp")
  4175  	// Precision Time Protocol (PTP).
  4176  	HostDateTimeInfoProtocolPtp = HostDateTimeInfoProtocol("ptp")
  4177  )
  4178  
  4179  func (e HostDateTimeInfoProtocol) Values() []HostDateTimeInfoProtocol {
  4180  	return []HostDateTimeInfoProtocol{
  4181  		HostDateTimeInfoProtocolNtp,
  4182  		HostDateTimeInfoProtocolPtp,
  4183  	}
  4184  }
  4185  
  4186  func (e HostDateTimeInfoProtocol) Strings() []string {
  4187  	return EnumValuesAsStrings(e.Values())
  4188  }
  4189  
  4190  func init() {
  4191  	t["HostDateTimeInfoProtocol"] = reflect.TypeOf((*HostDateTimeInfoProtocol)(nil)).Elem()
  4192  }
  4193  
  4194  // The set of digest methods that can be used by TPM to calculate the PCR
  4195  // values.
  4196  type HostDigestInfoDigestMethodType string
  4197  
  4198  const (
  4199  	HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1")
  4200  	// Deprecated as of vSphere API 6.7.
  4201  	//
  4202  	// MD5.
  4203  	HostDigestInfoDigestMethodTypeMD5     = HostDigestInfoDigestMethodType("MD5")
  4204  	HostDigestInfoDigestMethodTypeSHA256  = HostDigestInfoDigestMethodType("SHA256")
  4205  	HostDigestInfoDigestMethodTypeSHA384  = HostDigestInfoDigestMethodType("SHA384")
  4206  	HostDigestInfoDigestMethodTypeSHA512  = HostDigestInfoDigestMethodType("SHA512")
  4207  	HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256")
  4208  )
  4209  
  4210  func (e HostDigestInfoDigestMethodType) Values() []HostDigestInfoDigestMethodType {
  4211  	return []HostDigestInfoDigestMethodType{
  4212  		HostDigestInfoDigestMethodTypeSHA1,
  4213  		HostDigestInfoDigestMethodTypeMD5,
  4214  		HostDigestInfoDigestMethodTypeSHA256,
  4215  		HostDigestInfoDigestMethodTypeSHA384,
  4216  		HostDigestInfoDigestMethodTypeSHA512,
  4217  		HostDigestInfoDigestMethodTypeSM3_256,
  4218  	}
  4219  }
  4220  
  4221  func (e HostDigestInfoDigestMethodType) Strings() []string {
  4222  	return EnumValuesAsStrings(e.Values())
  4223  }
  4224  
  4225  func init() {
  4226  	t["HostDigestInfoDigestMethodType"] = reflect.TypeOf((*HostDigestInfoDigestMethodType)(nil)).Elem()
  4227  }
  4228  
  4229  // This enum specifies the supported digest verification settings.
  4230  //
  4231  // For NVMe over TCP connections, both header and data digests may be
  4232  // requested during the process of establishing the connection.
  4233  // For details, see:
  4234  //   - NVM Express Technical Proposal 8000 - NVMe/TCP Transport,
  4235  type HostDigestVerificationSetting string
  4236  
  4237  const (
  4238  	// Both header and data digest verification are disabled.
  4239  	HostDigestVerificationSettingDigestDisabled = HostDigestVerificationSetting("digestDisabled")
  4240  	// Only header digest verification is enabled.
  4241  	HostDigestVerificationSettingHeaderOnly = HostDigestVerificationSetting("headerOnly")
  4242  	// Only data digest verification is enabled.
  4243  	HostDigestVerificationSettingDataOnly = HostDigestVerificationSetting("dataOnly")
  4244  	// Both header and data digest verification are enabled.
  4245  	HostDigestVerificationSettingHeaderAndData = HostDigestVerificationSetting("headerAndData")
  4246  )
  4247  
  4248  func (e HostDigestVerificationSetting) Values() []HostDigestVerificationSetting {
  4249  	return []HostDigestVerificationSetting{
  4250  		HostDigestVerificationSettingDigestDisabled,
  4251  		HostDigestVerificationSettingHeaderOnly,
  4252  		HostDigestVerificationSettingDataOnly,
  4253  		HostDigestVerificationSettingHeaderAndData,
  4254  	}
  4255  }
  4256  
  4257  func (e HostDigestVerificationSetting) Strings() []string {
  4258  	return EnumValuesAsStrings(e.Values())
  4259  }
  4260  
  4261  func init() {
  4262  	t["HostDigestVerificationSetting"] = reflect.TypeOf((*HostDigestVerificationSetting)(nil)).Elem()
  4263  	minAPIVersionForType["HostDigestVerificationSetting"] = "7.0.3.0"
  4264  }
  4265  
  4266  type HostDisconnectedEventReasonCode string
  4267  
  4268  const (
  4269  	// Failed to verify SSL thumbprint
  4270  	HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed")
  4271  	// License expired for the host
  4272  	HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired")
  4273  	// Agent is being upgraded
  4274  	HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade")
  4275  	// User requested disconnect
  4276  	HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest")
  4277  	// License not available after host upgrade
  4278  	HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses")
  4279  	// Agent is out of date
  4280  	HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate")
  4281  	// Failed to decrypt password
  4282  	HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure")
  4283  	// Unknown reason
  4284  	HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown")
  4285  	// The vRAM capacity of vCenter will be exceeded
  4286  	HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded")
  4287  )
  4288  
  4289  func (e HostDisconnectedEventReasonCode) Values() []HostDisconnectedEventReasonCode {
  4290  	return []HostDisconnectedEventReasonCode{
  4291  		HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed,
  4292  		HostDisconnectedEventReasonCodeLicenseExpired,
  4293  		HostDisconnectedEventReasonCodeAgentUpgrade,
  4294  		HostDisconnectedEventReasonCodeUserRequest,
  4295  		HostDisconnectedEventReasonCodeInsufficientLicenses,
  4296  		HostDisconnectedEventReasonCodeAgentOutOfDate,
  4297  		HostDisconnectedEventReasonCodePasswordDecryptFailure,
  4298  		HostDisconnectedEventReasonCodeUnknown,
  4299  		HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded,
  4300  	}
  4301  }
  4302  
  4303  func (e HostDisconnectedEventReasonCode) Strings() []string {
  4304  	return EnumValuesAsStrings(e.Values())
  4305  }
  4306  
  4307  func init() {
  4308  	t["HostDisconnectedEventReasonCode"] = reflect.TypeOf((*HostDisconnectedEventReasonCode)(nil)).Elem()
  4309  }
  4310  
  4311  // List of partition format types.
  4312  //
  4313  // This denotes the partition table layout.
  4314  type HostDiskPartitionInfoPartitionFormat string
  4315  
  4316  const (
  4317  	HostDiskPartitionInfoPartitionFormatGpt     = HostDiskPartitionInfoPartitionFormat("gpt")
  4318  	HostDiskPartitionInfoPartitionFormatMbr     = HostDiskPartitionInfoPartitionFormat("mbr")
  4319  	HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown")
  4320  )
  4321  
  4322  func (e HostDiskPartitionInfoPartitionFormat) Values() []HostDiskPartitionInfoPartitionFormat {
  4323  	return []HostDiskPartitionInfoPartitionFormat{
  4324  		HostDiskPartitionInfoPartitionFormatGpt,
  4325  		HostDiskPartitionInfoPartitionFormatMbr,
  4326  		HostDiskPartitionInfoPartitionFormatUnknown,
  4327  	}
  4328  }
  4329  
  4330  func (e HostDiskPartitionInfoPartitionFormat) Strings() []string {
  4331  	return EnumValuesAsStrings(e.Values())
  4332  }
  4333  
  4334  func init() {
  4335  	t["HostDiskPartitionInfoPartitionFormat"] = reflect.TypeOf((*HostDiskPartitionInfoPartitionFormat)(nil)).Elem()
  4336  }
  4337  
  4338  // List of symbol partition types
  4339  type HostDiskPartitionInfoType string
  4340  
  4341  const (
  4342  	HostDiskPartitionInfoTypeNone          = HostDiskPartitionInfoType("none")
  4343  	HostDiskPartitionInfoTypeVmfs          = HostDiskPartitionInfoType("vmfs")
  4344  	HostDiskPartitionInfoTypeLinuxNative   = HostDiskPartitionInfoType("linuxNative")
  4345  	HostDiskPartitionInfoTypeLinuxSwap     = HostDiskPartitionInfoType("linuxSwap")
  4346  	HostDiskPartitionInfoTypeExtended      = HostDiskPartitionInfoType("extended")
  4347  	HostDiskPartitionInfoTypeNtfs          = HostDiskPartitionInfoType("ntfs")
  4348  	HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic")
  4349  	HostDiskPartitionInfoTypeVffs          = HostDiskPartitionInfoType("vffs")
  4350  )
  4351  
  4352  func (e HostDiskPartitionInfoType) Values() []HostDiskPartitionInfoType {
  4353  	return []HostDiskPartitionInfoType{
  4354  		HostDiskPartitionInfoTypeNone,
  4355  		HostDiskPartitionInfoTypeVmfs,
  4356  		HostDiskPartitionInfoTypeLinuxNative,
  4357  		HostDiskPartitionInfoTypeLinuxSwap,
  4358  		HostDiskPartitionInfoTypeExtended,
  4359  		HostDiskPartitionInfoTypeNtfs,
  4360  		HostDiskPartitionInfoTypeVmkDiagnostic,
  4361  		HostDiskPartitionInfoTypeVffs,
  4362  	}
  4363  }
  4364  
  4365  func (e HostDiskPartitionInfoType) Strings() []string {
  4366  	return EnumValuesAsStrings(e.Values())
  4367  }
  4368  
  4369  func init() {
  4370  	t["HostDiskPartitionInfoType"] = reflect.TypeOf((*HostDiskPartitionInfoType)(nil)).Elem()
  4371  }
  4372  
  4373  type HostDistributedVirtualSwitchManagerFailoverReason string
  4374  
  4375  const (
  4376  	// The failover is caused by DPU crash.
  4377  	HostDistributedVirtualSwitchManagerFailoverReasonCrash = HostDistributedVirtualSwitchManagerFailoverReason("crash")
  4378  	// The failover is caused by DPU's vmnic(s) link down.
  4379  	HostDistributedVirtualSwitchManagerFailoverReasonLinkDown = HostDistributedVirtualSwitchManagerFailoverReason("linkDown")
  4380  	// The failover is triggered by the user.
  4381  	HostDistributedVirtualSwitchManagerFailoverReasonUserInitiated = HostDistributedVirtualSwitchManagerFailoverReason("userInitiated")
  4382  )
  4383  
  4384  func (e HostDistributedVirtualSwitchManagerFailoverReason) Values() []HostDistributedVirtualSwitchManagerFailoverReason {
  4385  	return []HostDistributedVirtualSwitchManagerFailoverReason{
  4386  		HostDistributedVirtualSwitchManagerFailoverReasonCrash,
  4387  		HostDistributedVirtualSwitchManagerFailoverReasonLinkDown,
  4388  		HostDistributedVirtualSwitchManagerFailoverReasonUserInitiated,
  4389  	}
  4390  }
  4391  
  4392  func (e HostDistributedVirtualSwitchManagerFailoverReason) Strings() []string {
  4393  	return EnumValuesAsStrings(e.Values())
  4394  }
  4395  
  4396  func init() {
  4397  	t["HostDistributedVirtualSwitchManagerFailoverReason"] = reflect.TypeOf((*HostDistributedVirtualSwitchManagerFailoverReason)(nil)).Elem()
  4398  	minAPIVersionForType["HostDistributedVirtualSwitchManagerFailoverReason"] = "8.0.3.0"
  4399  }
  4400  
  4401  type HostDistributedVirtualSwitchManagerFailoverStage string
  4402  
  4403  const (
  4404  	HostDistributedVirtualSwitchManagerFailoverStageSTAGE_1 = HostDistributedVirtualSwitchManagerFailoverStage("STAGE_1")
  4405  )
  4406  
  4407  func (e HostDistributedVirtualSwitchManagerFailoverStage) Values() []HostDistributedVirtualSwitchManagerFailoverStage {
  4408  	return []HostDistributedVirtualSwitchManagerFailoverStage{
  4409  		HostDistributedVirtualSwitchManagerFailoverStageSTAGE_1,
  4410  	}
  4411  }
  4412  
  4413  func (e HostDistributedVirtualSwitchManagerFailoverStage) Strings() []string {
  4414  	return EnumValuesAsStrings(e.Values())
  4415  }
  4416  
  4417  func init() {
  4418  	t["HostDistributedVirtualSwitchManagerFailoverStage"] = reflect.TypeOf((*HostDistributedVirtualSwitchManagerFailoverStage)(nil)).Elem()
  4419  	minAPIVersionForType["HostDistributedVirtualSwitchManagerFailoverStage"] = "8.0.3.0"
  4420  }
  4421  
  4422  // Set of possible values for
  4423  // `HostFeatureVersionInfo.key`, which
  4424  // is a unique key that identifies a feature.
  4425  type HostFeatureVersionKey string
  4426  
  4427  const (
  4428  	// VMware Fault Tolerance feature.
  4429  	//
  4430  	// For pre-4.1 hosts, the
  4431  	// version value reported will be empty in which case
  4432  	// `AboutInfo.build` should be used. For all
  4433  	// other hosts, the version number reported will be a component-specific
  4434  	// version identifier of the form X.Y.Z, where:
  4435  	// X refers to host agent Fault Tolerance version number,
  4436  	// Y refers to VMX Fault Tolerance version number,
  4437  	// Z refers to VMkernal Fault Tolerance version
  4438  	HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance")
  4439  )
  4440  
  4441  func (e HostFeatureVersionKey) Values() []HostFeatureVersionKey {
  4442  	return []HostFeatureVersionKey{
  4443  		HostFeatureVersionKeyFaultTolerance,
  4444  	}
  4445  }
  4446  
  4447  func (e HostFeatureVersionKey) Strings() []string {
  4448  	return EnumValuesAsStrings(e.Values())
  4449  }
  4450  
  4451  func init() {
  4452  	t["HostFeatureVersionKey"] = reflect.TypeOf((*HostFeatureVersionKey)(nil)).Elem()
  4453  }
  4454  
  4455  // Type of file system volume.
  4456  type HostFileSystemVolumeFileSystemType string
  4457  
  4458  const (
  4459  	// VMware File System (ESX Server only).
  4460  	//
  4461  	// If this is set,
  4462  	// the type of the file system volume is VMFS.
  4463  	HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS")
  4464  	// Network file system v3 linux &amp; esx servers only.
  4465  	//
  4466  	// If this is
  4467  	// set, the type of the file system volume is NFS v3.
  4468  	HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS")
  4469  	// Network file system v4.1 linux &amp; esx servers only.
  4470  	//
  4471  	// If this is
  4472  	// set, the type of the file system volume is NFS v4.1 or later.
  4473  	HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41")
  4474  	// Common Internet File System.
  4475  	//
  4476  	// If this is set, the type of the
  4477  	// file system volume is Common Internet File System.
  4478  	HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS")
  4479  	// VSAN File System (ESX Server only).
  4480  	HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan")
  4481  	// vFlash File System (ESX Server only).
  4482  	//
  4483  	// If this is set, the type of the file system volume is VFFS.
  4484  	HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS")
  4485  	// vvol File System (ESX Server only).
  4486  	HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL")
  4487  	// Persistent Memory File System (ESX Server only).
  4488  	HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM")
  4489  	// VSAN direct file system.
  4490  	HostFileSystemVolumeFileSystemTypeVsanD = HostFileSystemVolumeFileSystemType("vsanD")
  4491  	// Used if the file system is not one of the specified file systems.
  4492  	//
  4493  	// Used mostly for reporting purposes. The other types are described
  4494  	// by the otherType property.
  4495  	HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER")
  4496  )
  4497  
  4498  func (e HostFileSystemVolumeFileSystemType) Values() []HostFileSystemVolumeFileSystemType {
  4499  	return []HostFileSystemVolumeFileSystemType{
  4500  		HostFileSystemVolumeFileSystemTypeVMFS,
  4501  		HostFileSystemVolumeFileSystemTypeNFS,
  4502  		HostFileSystemVolumeFileSystemTypeNFS41,
  4503  		HostFileSystemVolumeFileSystemTypeCIFS,
  4504  		HostFileSystemVolumeFileSystemTypeVsan,
  4505  		HostFileSystemVolumeFileSystemTypeVFFS,
  4506  		HostFileSystemVolumeFileSystemTypeVVOL,
  4507  		HostFileSystemVolumeFileSystemTypePMEM,
  4508  		HostFileSystemVolumeFileSystemTypeVsanD,
  4509  		HostFileSystemVolumeFileSystemTypeOTHER,
  4510  	}
  4511  }
  4512  
  4513  func (e HostFileSystemVolumeFileSystemType) Strings() []string {
  4514  	return EnumValuesAsStrings(e.Values())
  4515  }
  4516  
  4517  func init() {
  4518  	t["HostFileSystemVolumeFileSystemType"] = reflect.TypeOf((*HostFileSystemVolumeFileSystemType)(nil)).Elem()
  4519  	minAPIVersionForEnumValue["HostFileSystemVolumeFileSystemType"] = map[string]string{
  4520  		"vsanD": "7.0.1.0",
  4521  	}
  4522  }
  4523  
  4524  // Enumeration of port directions.
  4525  type HostFirewallRuleDirection string
  4526  
  4527  const (
  4528  	HostFirewallRuleDirectionInbound  = HostFirewallRuleDirection("inbound")
  4529  	HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound")
  4530  )
  4531  
  4532  func (e HostFirewallRuleDirection) Values() []HostFirewallRuleDirection {
  4533  	return []HostFirewallRuleDirection{
  4534  		HostFirewallRuleDirectionInbound,
  4535  		HostFirewallRuleDirectionOutbound,
  4536  	}
  4537  }
  4538  
  4539  func (e HostFirewallRuleDirection) Strings() []string {
  4540  	return EnumValuesAsStrings(e.Values())
  4541  }
  4542  
  4543  func init() {
  4544  	t["HostFirewallRuleDirection"] = reflect.TypeOf((*HostFirewallRuleDirection)(nil)).Elem()
  4545  }
  4546  
  4547  // Enumeration of port types.
  4548  type HostFirewallRulePortType string
  4549  
  4550  const (
  4551  	HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src")
  4552  	HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst")
  4553  )
  4554  
  4555  func (e HostFirewallRulePortType) Values() []HostFirewallRulePortType {
  4556  	return []HostFirewallRulePortType{
  4557  		HostFirewallRulePortTypeSrc,
  4558  		HostFirewallRulePortTypeDst,
  4559  	}
  4560  }
  4561  
  4562  func (e HostFirewallRulePortType) Strings() []string {
  4563  	return EnumValuesAsStrings(e.Values())
  4564  }
  4565  
  4566  func init() {
  4567  	t["HostFirewallRulePortType"] = reflect.TypeOf((*HostFirewallRulePortType)(nil)).Elem()
  4568  }
  4569  
  4570  // Set of valid port protocols.
  4571  type HostFirewallRuleProtocol string
  4572  
  4573  const (
  4574  	HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp")
  4575  	HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp")
  4576  )
  4577  
  4578  func (e HostFirewallRuleProtocol) Values() []HostFirewallRuleProtocol {
  4579  	return []HostFirewallRuleProtocol{
  4580  		HostFirewallRuleProtocolTcp,
  4581  		HostFirewallRuleProtocolUdp,
  4582  	}
  4583  }
  4584  
  4585  func (e HostFirewallRuleProtocol) Strings() []string {
  4586  	return EnumValuesAsStrings(e.Values())
  4587  }
  4588  
  4589  func init() {
  4590  	t["HostFirewallRuleProtocol"] = reflect.TypeOf((*HostFirewallRuleProtocol)(nil)).Elem()
  4591  }
  4592  
  4593  type HostFirewallSystemRuleSetId string
  4594  
  4595  const (
  4596  	HostFirewallSystemRuleSetIdFaultTolerance = HostFirewallSystemRuleSetId("faultTolerance")
  4597  	HostFirewallSystemRuleSetIdFdm            = HostFirewallSystemRuleSetId("fdm")
  4598  	HostFirewallSystemRuleSetIdUpdateManager  = HostFirewallSystemRuleSetId("updateManager")
  4599  	HostFirewallSystemRuleSetIdVpxHeartbeats  = HostFirewallSystemRuleSetId("vpxHeartbeats")
  4600  )
  4601  
  4602  func (e HostFirewallSystemRuleSetId) Values() []HostFirewallSystemRuleSetId {
  4603  	return []HostFirewallSystemRuleSetId{
  4604  		HostFirewallSystemRuleSetIdFaultTolerance,
  4605  		HostFirewallSystemRuleSetIdFdm,
  4606  		HostFirewallSystemRuleSetIdUpdateManager,
  4607  		HostFirewallSystemRuleSetIdVpxHeartbeats,
  4608  	}
  4609  }
  4610  
  4611  func (e HostFirewallSystemRuleSetId) Strings() []string {
  4612  	return EnumValuesAsStrings(e.Values())
  4613  }
  4614  
  4615  func init() {
  4616  	t["HostFirewallSystemRuleSetId"] = reflect.TypeOf((*HostFirewallSystemRuleSetId)(nil)).Elem()
  4617  	minAPIVersionForType["HostFirewallSystemRuleSetId"] = "8.0.2.0"
  4618  }
  4619  
  4620  type HostFirewallSystemServiceName string
  4621  
  4622  const (
  4623  	HostFirewallSystemServiceNameVpxa = HostFirewallSystemServiceName("vpxa")
  4624  )
  4625  
  4626  func (e HostFirewallSystemServiceName) Values() []HostFirewallSystemServiceName {
  4627  	return []HostFirewallSystemServiceName{
  4628  		HostFirewallSystemServiceNameVpxa,
  4629  	}
  4630  }
  4631  
  4632  func (e HostFirewallSystemServiceName) Strings() []string {
  4633  	return EnumValuesAsStrings(e.Values())
  4634  }
  4635  
  4636  func init() {
  4637  	t["HostFirewallSystemServiceName"] = reflect.TypeOf((*HostFirewallSystemServiceName)(nil)).Elem()
  4638  	minAPIVersionForType["HostFirewallSystemServiceName"] = "8.0.2.0"
  4639  }
  4640  
  4641  // The vendor definition for type of Field Replaceable Unit (FRU).
  4642  type HostFruFruType string
  4643  
  4644  const (
  4645  	HostFruFruTypeUndefined = HostFruFruType("undefined")
  4646  	HostFruFruTypeBoard     = HostFruFruType("board")
  4647  	HostFruFruTypeProduct   = HostFruFruType("product")
  4648  )
  4649  
  4650  func (e HostFruFruType) Values() []HostFruFruType {
  4651  	return []HostFruFruType{
  4652  		HostFruFruTypeUndefined,
  4653  		HostFruFruTypeBoard,
  4654  		HostFruFruTypeProduct,
  4655  	}
  4656  }
  4657  
  4658  func (e HostFruFruType) Strings() []string {
  4659  	return EnumValuesAsStrings(e.Values())
  4660  }
  4661  
  4662  func init() {
  4663  	t["HostFruFruType"] = reflect.TypeOf((*HostFruFruType)(nil)).Elem()
  4664  }
  4665  
  4666  // Supported values for graphics type.
  4667  type HostGraphicsConfigGraphicsType string
  4668  
  4669  const (
  4670  	// Shared graphics (ex.
  4671  	//
  4672  	// virtual shared graphics acceleration).
  4673  	HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared")
  4674  	// Shared direct graphics (ex.
  4675  	//
  4676  	// vendor vGPU shared passthrough).
  4677  	HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect")
  4678  )
  4679  
  4680  func (e HostGraphicsConfigGraphicsType) Values() []HostGraphicsConfigGraphicsType {
  4681  	return []HostGraphicsConfigGraphicsType{
  4682  		HostGraphicsConfigGraphicsTypeShared,
  4683  		HostGraphicsConfigGraphicsTypeSharedDirect,
  4684  	}
  4685  }
  4686  
  4687  func (e HostGraphicsConfigGraphicsType) Strings() []string {
  4688  	return EnumValuesAsStrings(e.Values())
  4689  }
  4690  
  4691  func init() {
  4692  	t["HostGraphicsConfigGraphicsType"] = reflect.TypeOf((*HostGraphicsConfigGraphicsType)(nil)).Elem()
  4693  }
  4694  
  4695  // Supported values for shared passthrough assignment policy
  4696  type HostGraphicsConfigSharedPassthruAssignmentPolicy string
  4697  
  4698  const (
  4699  	// Performance policy: assign VM to GPU with fewest VMs.
  4700  	HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance")
  4701  	// Consolidation policy: group like VMs on GPU until fully loaded.
  4702  	HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation")
  4703  )
  4704  
  4705  func (e HostGraphicsConfigSharedPassthruAssignmentPolicy) Values() []HostGraphicsConfigSharedPassthruAssignmentPolicy {
  4706  	return []HostGraphicsConfigSharedPassthruAssignmentPolicy{
  4707  		HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance,
  4708  		HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation,
  4709  	}
  4710  }
  4711  
  4712  func (e HostGraphicsConfigSharedPassthruAssignmentPolicy) Strings() []string {
  4713  	return EnumValuesAsStrings(e.Values())
  4714  }
  4715  
  4716  func init() {
  4717  	t["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = reflect.TypeOf((*HostGraphicsConfigSharedPassthruAssignmentPolicy)(nil)).Elem()
  4718  }
  4719  
  4720  type HostGraphicsConfigVgpuMode string
  4721  
  4722  const (
  4723  	// vGPU time-sliced same size.
  4724  	HostGraphicsConfigVgpuModeSameSize = HostGraphicsConfigVgpuMode("sameSize")
  4725  	// vGPU time-sliced mixed size.
  4726  	HostGraphicsConfigVgpuModeMixedSize = HostGraphicsConfigVgpuMode("mixedSize")
  4727  )
  4728  
  4729  func (e HostGraphicsConfigVgpuMode) Values() []HostGraphicsConfigVgpuMode {
  4730  	return []HostGraphicsConfigVgpuMode{
  4731  		HostGraphicsConfigVgpuModeSameSize,
  4732  		HostGraphicsConfigVgpuModeMixedSize,
  4733  	}
  4734  }
  4735  
  4736  func (e HostGraphicsConfigVgpuMode) Strings() []string {
  4737  	return EnumValuesAsStrings(e.Values())
  4738  }
  4739  
  4740  func init() {
  4741  	t["HostGraphicsConfigVgpuMode"] = reflect.TypeOf((*HostGraphicsConfigVgpuMode)(nil)).Elem()
  4742  	minAPIVersionForType["HostGraphicsConfigVgpuMode"] = "8.0.3.0"
  4743  }
  4744  
  4745  // Possible values for graphics type.
  4746  type HostGraphicsInfoGraphicsType string
  4747  
  4748  const (
  4749  	// Basic graphics when no host driver is available.
  4750  	HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic")
  4751  	// Shared graphics (ex.
  4752  	//
  4753  	// virtual shared graphics acceleration).
  4754  	HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared")
  4755  	// Direct graphics (ex.
  4756  	//
  4757  	// passthrough).
  4758  	HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct")
  4759  	// Shared direct graphics (ex.
  4760  	//
  4761  	// vGPU shared passthrough).
  4762  	HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect")
  4763  )
  4764  
  4765  func (e HostGraphicsInfoGraphicsType) Values() []HostGraphicsInfoGraphicsType {
  4766  	return []HostGraphicsInfoGraphicsType{
  4767  		HostGraphicsInfoGraphicsTypeBasic,
  4768  		HostGraphicsInfoGraphicsTypeShared,
  4769  		HostGraphicsInfoGraphicsTypeDirect,
  4770  		HostGraphicsInfoGraphicsTypeSharedDirect,
  4771  	}
  4772  }
  4773  
  4774  func (e HostGraphicsInfoGraphicsType) Strings() []string {
  4775  	return EnumValuesAsStrings(e.Values())
  4776  }
  4777  
  4778  func init() {
  4779  	t["HostGraphicsInfoGraphicsType"] = reflect.TypeOf((*HostGraphicsInfoGraphicsType)(nil)).Elem()
  4780  }
  4781  
  4782  type HostGraphicsInfoVgpuMode string
  4783  
  4784  const (
  4785  	// vGPU mode not applicable.
  4786  	HostGraphicsInfoVgpuModeNone = HostGraphicsInfoVgpuMode("none")
  4787  	// vGPU time-sliced same size.
  4788  	HostGraphicsInfoVgpuModeSameSize = HostGraphicsInfoVgpuMode("sameSize")
  4789  	// vGPU time-sliced mixed size.
  4790  	HostGraphicsInfoVgpuModeMixedSize = HostGraphicsInfoVgpuMode("mixedSize")
  4791  	// vGPU multi-instance GPU.
  4792  	HostGraphicsInfoVgpuModeMultiInstanceGpu = HostGraphicsInfoVgpuMode("multiInstanceGpu")
  4793  )
  4794  
  4795  func (e HostGraphicsInfoVgpuMode) Values() []HostGraphicsInfoVgpuMode {
  4796  	return []HostGraphicsInfoVgpuMode{
  4797  		HostGraphicsInfoVgpuModeNone,
  4798  		HostGraphicsInfoVgpuModeSameSize,
  4799  		HostGraphicsInfoVgpuModeMixedSize,
  4800  		HostGraphicsInfoVgpuModeMultiInstanceGpu,
  4801  	}
  4802  }
  4803  
  4804  func (e HostGraphicsInfoVgpuMode) Strings() []string {
  4805  	return EnumValuesAsStrings(e.Values())
  4806  }
  4807  
  4808  func init() {
  4809  	t["HostGraphicsInfoVgpuMode"] = reflect.TypeOf((*HostGraphicsInfoVgpuMode)(nil)).Elem()
  4810  	minAPIVersionForType["HostGraphicsInfoVgpuMode"] = "8.0.3.0"
  4811  }
  4812  
  4813  // The current status of the hardware
  4814  type HostHardwareElementStatus string
  4815  
  4816  const (
  4817  	// The implementation cannot report on the current status of the
  4818  	// physical element
  4819  	HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown")
  4820  	// The physical element is functioning as expected
  4821  	HostHardwareElementStatusGreen = HostHardwareElementStatus("Green")
  4822  	// All functionality is available but some might be degraded.
  4823  	HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow")
  4824  	// The physical element is failing.
  4825  	//
  4826  	// It is possible that some or all
  4827  	// functionalities of this physical element is degraded or not working.
  4828  	HostHardwareElementStatusRed = HostHardwareElementStatus("Red")
  4829  )
  4830  
  4831  func (e HostHardwareElementStatus) Values() []HostHardwareElementStatus {
  4832  	return []HostHardwareElementStatus{
  4833  		HostHardwareElementStatusUnknown,
  4834  		HostHardwareElementStatusGreen,
  4835  		HostHardwareElementStatusYellow,
  4836  		HostHardwareElementStatusRed,
  4837  	}
  4838  }
  4839  
  4840  func (e HostHardwareElementStatus) Strings() []string {
  4841  	return EnumValuesAsStrings(e.Values())
  4842  }
  4843  
  4844  func init() {
  4845  	t["HostHardwareElementStatus"] = reflect.TypeOf((*HostHardwareElementStatus)(nil)).Elem()
  4846  }
  4847  
  4848  type HostHasComponentFailureHostComponentType string
  4849  
  4850  const (
  4851  	HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore")
  4852  )
  4853  
  4854  func (e HostHasComponentFailureHostComponentType) Values() []HostHasComponentFailureHostComponentType {
  4855  	return []HostHasComponentFailureHostComponentType{
  4856  		HostHasComponentFailureHostComponentTypeDatastore,
  4857  	}
  4858  }
  4859  
  4860  func (e HostHasComponentFailureHostComponentType) Strings() []string {
  4861  	return EnumValuesAsStrings(e.Values())
  4862  }
  4863  
  4864  func init() {
  4865  	t["HostHasComponentFailureHostComponentType"] = reflect.TypeOf((*HostHasComponentFailureHostComponentType)(nil)).Elem()
  4866  }
  4867  
  4868  // Acceptance level definitions
  4869  type HostImageAcceptanceLevel string
  4870  
  4871  const (
  4872  	// "VMware-certified"
  4873  	HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified")
  4874  	// "VMware-accepted"
  4875  	HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted")
  4876  	// "Partner-supported"
  4877  	HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner")
  4878  	// "Community-supported"
  4879  	HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community")
  4880  )
  4881  
  4882  func (e HostImageAcceptanceLevel) Values() []HostImageAcceptanceLevel {
  4883  	return []HostImageAcceptanceLevel{
  4884  		HostImageAcceptanceLevelVmware_certified,
  4885  		HostImageAcceptanceLevelVmware_accepted,
  4886  		HostImageAcceptanceLevelPartner,
  4887  		HostImageAcceptanceLevelCommunity,
  4888  	}
  4889  }
  4890  
  4891  func (e HostImageAcceptanceLevel) Strings() []string {
  4892  	return EnumValuesAsStrings(e.Values())
  4893  }
  4894  
  4895  func init() {
  4896  	t["HostImageAcceptanceLevel"] = reflect.TypeOf((*HostImageAcceptanceLevel)(nil)).Elem()
  4897  }
  4898  
  4899  // Reasons why fault tolerance is not supported on the host.
  4900  type HostIncompatibleForFaultToleranceReason string
  4901  
  4902  const (
  4903  	// The product does not support fault tolerance.
  4904  	HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product")
  4905  	// The product supports fault tolerance but the host CPU does not.
  4906  	HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor")
  4907  )
  4908  
  4909  func (e HostIncompatibleForFaultToleranceReason) Values() []HostIncompatibleForFaultToleranceReason {
  4910  	return []HostIncompatibleForFaultToleranceReason{
  4911  		HostIncompatibleForFaultToleranceReasonProduct,
  4912  		HostIncompatibleForFaultToleranceReasonProcessor,
  4913  	}
  4914  }
  4915  
  4916  func (e HostIncompatibleForFaultToleranceReason) Strings() []string {
  4917  	return EnumValuesAsStrings(e.Values())
  4918  }
  4919  
  4920  func init() {
  4921  	t["HostIncompatibleForFaultToleranceReason"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceReason)(nil)).Elem()
  4922  }
  4923  
  4924  // Reasons why record/replay is not supported on a host.
  4925  type HostIncompatibleForRecordReplayReason string
  4926  
  4927  const (
  4928  	// The product does not support record/replay.
  4929  	HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product")
  4930  	// The product supports record/replay but the host CPU does not.
  4931  	HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor")
  4932  )
  4933  
  4934  func (e HostIncompatibleForRecordReplayReason) Values() []HostIncompatibleForRecordReplayReason {
  4935  	return []HostIncompatibleForRecordReplayReason{
  4936  		HostIncompatibleForRecordReplayReasonProduct,
  4937  		HostIncompatibleForRecordReplayReasonProcessor,
  4938  	}
  4939  }
  4940  
  4941  func (e HostIncompatibleForRecordReplayReason) Strings() []string {
  4942  	return EnumValuesAsStrings(e.Values())
  4943  }
  4944  
  4945  func init() {
  4946  	t["HostIncompatibleForRecordReplayReason"] = reflect.TypeOf((*HostIncompatibleForRecordReplayReason)(nil)).Elem()
  4947  }
  4948  
  4949  // The type of CHAP authentication setting to use.
  4950  //
  4951  // prohibited : do not use CHAP.
  4952  // preferred : use CHAP if successfully negotiated,
  4953  // but allow non-CHAP connections as fallback
  4954  // discouraged : use non-CHAP, but allow CHAP connectsion as fallback
  4955  // required : use CHAP for connection strictly, and fail if CHAP
  4956  // negotiation fails.
  4957  // Defaults to preferred on first configuration if unspecified.
  4958  type HostInternetScsiHbaChapAuthenticationType string
  4959  
  4960  const (
  4961  	HostInternetScsiHbaChapAuthenticationTypeChapProhibited  = HostInternetScsiHbaChapAuthenticationType("chapProhibited")
  4962  	HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged")
  4963  	HostInternetScsiHbaChapAuthenticationTypeChapPreferred   = HostInternetScsiHbaChapAuthenticationType("chapPreferred")
  4964  	HostInternetScsiHbaChapAuthenticationTypeChapRequired    = HostInternetScsiHbaChapAuthenticationType("chapRequired")
  4965  )
  4966  
  4967  func (e HostInternetScsiHbaChapAuthenticationType) Values() []HostInternetScsiHbaChapAuthenticationType {
  4968  	return []HostInternetScsiHbaChapAuthenticationType{
  4969  		HostInternetScsiHbaChapAuthenticationTypeChapProhibited,
  4970  		HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged,
  4971  		HostInternetScsiHbaChapAuthenticationTypeChapPreferred,
  4972  		HostInternetScsiHbaChapAuthenticationTypeChapRequired,
  4973  	}
  4974  }
  4975  
  4976  func (e HostInternetScsiHbaChapAuthenticationType) Strings() []string {
  4977  	return EnumValuesAsStrings(e.Values())
  4978  }
  4979  
  4980  func init() {
  4981  	t["HostInternetScsiHbaChapAuthenticationType"] = reflect.TypeOf((*HostInternetScsiHbaChapAuthenticationType)(nil)).Elem()
  4982  }
  4983  
  4984  // The type of integrity checks to use.
  4985  //
  4986  // The digest setting for header
  4987  // and data traffic can be separately configured.
  4988  // prohibited : do not use digest.
  4989  // preferred : use digest if successfully negotiated, but skip the use
  4990  // of digest otherwise.
  4991  // discouraged : do not use digest if target allows, otherwise use digest.
  4992  // required : use digest strictly, and fail if target does not support
  4993  // digest.
  4994  // Defaults to preferred on first configuration if unspecified.
  4995  type HostInternetScsiHbaDigestType string
  4996  
  4997  const (
  4998  	HostInternetScsiHbaDigestTypeDigestProhibited  = HostInternetScsiHbaDigestType("digestProhibited")
  4999  	HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged")
  5000  	HostInternetScsiHbaDigestTypeDigestPreferred   = HostInternetScsiHbaDigestType("digestPreferred")
  5001  	HostInternetScsiHbaDigestTypeDigestRequired    = HostInternetScsiHbaDigestType("digestRequired")
  5002  )
  5003  
  5004  func (e HostInternetScsiHbaDigestType) Values() []HostInternetScsiHbaDigestType {
  5005  	return []HostInternetScsiHbaDigestType{
  5006  		HostInternetScsiHbaDigestTypeDigestProhibited,
  5007  		HostInternetScsiHbaDigestTypeDigestDiscouraged,
  5008  		HostInternetScsiHbaDigestTypeDigestPreferred,
  5009  		HostInternetScsiHbaDigestTypeDigestRequired,
  5010  	}
  5011  }
  5012  
  5013  func (e HostInternetScsiHbaDigestType) Strings() []string {
  5014  	return EnumValuesAsStrings(e.Values())
  5015  }
  5016  
  5017  func init() {
  5018  	t["HostInternetScsiHbaDigestType"] = reflect.TypeOf((*HostInternetScsiHbaDigestType)(nil)).Elem()
  5019  }
  5020  
  5021  // enum listing possible IPv6 address configuration methods.
  5022  type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string
  5023  
  5024  const (
  5025  	// DHCP
  5026  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP")
  5027  	// Auto configured.
  5028  	//
  5029  	// Auto configured Link local address and Router Advertisement addresses
  5030  	// would be of this type.
  5031  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured")
  5032  	// Static address.
  5033  	//
  5034  	// Typically user specified addresses will be static addresses.
  5035  	// User can specify link local address. Only Static addresses can be added or removed.
  5036  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static")
  5037  	// Other or unknown type.
  5038  	HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other")
  5039  )
  5040  
  5041  func (e HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType) Values() []HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType {
  5042  	return []HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType{
  5043  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP,
  5044  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured,
  5045  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic,
  5046  		HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther,
  5047  	}
  5048  }
  5049  
  5050  func (e HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType) Strings() []string {
  5051  	return EnumValuesAsStrings(e.Values())
  5052  }
  5053  
  5054  func init() {
  5055  	t["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType)(nil)).Elem()
  5056  }
  5057  
  5058  // enum listing IPv6 address operations.
  5059  type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string
  5060  
  5061  const (
  5062  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd    = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add")
  5063  	HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove")
  5064  )
  5065  
  5066  func (e HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation) Values() []HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation {
  5067  	return []HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation{
  5068  		HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd,
  5069  		HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove,
  5070  	}
  5071  }
  5072  
  5073  func (e HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation) Strings() []string {
  5074  	return EnumValuesAsStrings(e.Values())
  5075  }
  5076  
  5077  func init() {
  5078  	t["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation)(nil)).Elem()
  5079  }
  5080  
  5081  // The binding mode of the adapter.
  5082  type HostInternetScsiHbaNetworkBindingSupportType string
  5083  
  5084  const (
  5085  	HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported")
  5086  	HostInternetScsiHbaNetworkBindingSupportTypeOptional     = HostInternetScsiHbaNetworkBindingSupportType("optional")
  5087  	HostInternetScsiHbaNetworkBindingSupportTypeRequired     = HostInternetScsiHbaNetworkBindingSupportType("required")
  5088  )
  5089  
  5090  func (e HostInternetScsiHbaNetworkBindingSupportType) Values() []HostInternetScsiHbaNetworkBindingSupportType {
  5091  	return []HostInternetScsiHbaNetworkBindingSupportType{
  5092  		HostInternetScsiHbaNetworkBindingSupportTypeNotsupported,
  5093  		HostInternetScsiHbaNetworkBindingSupportTypeOptional,
  5094  		HostInternetScsiHbaNetworkBindingSupportTypeRequired,
  5095  	}
  5096  }
  5097  
  5098  func (e HostInternetScsiHbaNetworkBindingSupportType) Strings() []string {
  5099  	return EnumValuesAsStrings(e.Values())
  5100  }
  5101  
  5102  func init() {
  5103  	t["HostInternetScsiHbaNetworkBindingSupportType"] = reflect.TypeOf((*HostInternetScsiHbaNetworkBindingSupportType)(nil)).Elem()
  5104  }
  5105  
  5106  // The method of discovery of an iScsi target.
  5107  //
  5108  // staticMethod: static discovery
  5109  // sendTargetsMethod: sendtarget discovery
  5110  // slpMethod: Service Location Protocol discovery
  5111  // isnsMethod: Internet Storage Name Service discovery
  5112  // unknownMethod: discovery method not identified by iscsi stack
  5113  type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string
  5114  
  5115  const (
  5116  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod     = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod")
  5117  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod")
  5118  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod        = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod")
  5119  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod       = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod")
  5120  	HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod    = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod")
  5121  )
  5122  
  5123  func (e HostInternetScsiHbaStaticTargetTargetDiscoveryMethod) Values() []HostInternetScsiHbaStaticTargetTargetDiscoveryMethod {
  5124  	return []HostInternetScsiHbaStaticTargetTargetDiscoveryMethod{
  5125  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod,
  5126  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod,
  5127  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod,
  5128  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod,
  5129  		HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod,
  5130  	}
  5131  }
  5132  
  5133  func (e HostInternetScsiHbaStaticTargetTargetDiscoveryMethod) Strings() []string {
  5134  	return EnumValuesAsStrings(e.Values())
  5135  }
  5136  
  5137  func init() {
  5138  	t["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = reflect.TypeOf((*HostInternetScsiHbaStaticTargetTargetDiscoveryMethod)(nil)).Elem()
  5139  }
  5140  
  5141  // This specifies how the ipv6 address is configured for the interface.
  5142  //
  5143  // We follow rfc4293 in defining the values for the configType.
  5144  type HostIpConfigIpV6AddressConfigType string
  5145  
  5146  const (
  5147  	// Any other type of address configuration other than the below
  5148  	// mentioned ones will fall under this category.
  5149  	//
  5150  	// For e.g., automatic
  5151  	// address configuration for the link local address falls under
  5152  	// this type.
  5153  	HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other")
  5154  	// The address is configured manually.
  5155  	HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual")
  5156  	// The address is configured through dhcp.
  5157  	HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp")
  5158  	// The address is obtained through stateless autoconfiguration.
  5159  	HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer")
  5160  	// The address is chosen by the system at random
  5161  	// e.g., an IPv4 address within 169.254/16, or an RFC
  5162  	// 3041 privacy address.
  5163  	HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random")
  5164  )
  5165  
  5166  func (e HostIpConfigIpV6AddressConfigType) Values() []HostIpConfigIpV6AddressConfigType {
  5167  	return []HostIpConfigIpV6AddressConfigType{
  5168  		HostIpConfigIpV6AddressConfigTypeOther,
  5169  		HostIpConfigIpV6AddressConfigTypeManual,
  5170  		HostIpConfigIpV6AddressConfigTypeDhcp,
  5171  		HostIpConfigIpV6AddressConfigTypeLinklayer,
  5172  		HostIpConfigIpV6AddressConfigTypeRandom,
  5173  	}
  5174  }
  5175  
  5176  func (e HostIpConfigIpV6AddressConfigType) Strings() []string {
  5177  	return EnumValuesAsStrings(e.Values())
  5178  }
  5179  
  5180  func init() {
  5181  	t["HostIpConfigIpV6AddressConfigType"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfigType)(nil)).Elem()
  5182  }
  5183  
  5184  type HostIpConfigIpV6AddressStatus string
  5185  
  5186  const (
  5187  	// Indicates that this is a valid address.
  5188  	HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred")
  5189  	// Indicates that this is a valid but deprecated address
  5190  	// that should no longer be used as a source address.
  5191  	HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated")
  5192  	// Indicates that this isn't a valid.
  5193  	HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid")
  5194  	// Indicates that the address is not accessible because
  5195  	// interface is not operational.
  5196  	HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible")
  5197  	// Indicates that the status cannot be determined.
  5198  	HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown")
  5199  	// Indicates that the uniqueness of the
  5200  	// address on the link is presently being verified.
  5201  	HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative")
  5202  	// Indicates the address has been determined to be non-unique
  5203  	// on the link, this address will not be reachable.
  5204  	HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate")
  5205  )
  5206  
  5207  func (e HostIpConfigIpV6AddressStatus) Values() []HostIpConfigIpV6AddressStatus {
  5208  	return []HostIpConfigIpV6AddressStatus{
  5209  		HostIpConfigIpV6AddressStatusPreferred,
  5210  		HostIpConfigIpV6AddressStatusDeprecated,
  5211  		HostIpConfigIpV6AddressStatusInvalid,
  5212  		HostIpConfigIpV6AddressStatusInaccessible,
  5213  		HostIpConfigIpV6AddressStatusUnknown,
  5214  		HostIpConfigIpV6AddressStatusTentative,
  5215  		HostIpConfigIpV6AddressStatusDuplicate,
  5216  	}
  5217  }
  5218  
  5219  func (e HostIpConfigIpV6AddressStatus) Strings() []string {
  5220  	return EnumValuesAsStrings(e.Values())
  5221  }
  5222  
  5223  func init() {
  5224  	t["HostIpConfigIpV6AddressStatus"] = reflect.TypeOf((*HostIpConfigIpV6AddressStatus)(nil)).Elem()
  5225  }
  5226  
  5227  // Identifiers of currently supported resources.
  5228  type HostLicensableResourceKey string
  5229  
  5230  const (
  5231  	// Number of CPU packages on this host.
  5232  	HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages")
  5233  	// Number of licensable CPU cores/compute-units on this host.
  5234  	HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores")
  5235  	// Total size of memory installed on this host, measured in kilobytes.
  5236  	HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize")
  5237  	// Total size of memory configured for VMs on this host, measured in kilobytes.
  5238  	HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms")
  5239  	// Number of VMs already running on this host.
  5240  	HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted")
  5241  	// Number of VMs that are currently powering-on, immigrating, etc.
  5242  	HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting")
  5243  	// vSAN capacity in TiB on this host.
  5244  	HostLicensableResourceKeyVsanCapacity = HostLicensableResourceKey("vsanCapacity")
  5245  )
  5246  
  5247  func (e HostLicensableResourceKey) Values() []HostLicensableResourceKey {
  5248  	return []HostLicensableResourceKey{
  5249  		HostLicensableResourceKeyNumCpuPackages,
  5250  		HostLicensableResourceKeyNumCpuCores,
  5251  		HostLicensableResourceKeyMemorySize,
  5252  		HostLicensableResourceKeyMemoryForVms,
  5253  		HostLicensableResourceKeyNumVmsStarted,
  5254  		HostLicensableResourceKeyNumVmsStarting,
  5255  		HostLicensableResourceKeyVsanCapacity,
  5256  	}
  5257  }
  5258  
  5259  func (e HostLicensableResourceKey) Strings() []string {
  5260  	return EnumValuesAsStrings(e.Values())
  5261  }
  5262  
  5263  func init() {
  5264  	t["HostLicensableResourceKey"] = reflect.TypeOf((*HostLicensableResourceKey)(nil)).Elem()
  5265  	minAPIVersionForEnumValue["HostLicensableResourceKey"] = map[string]string{
  5266  		"vsanCapacity": "8.0.3.0",
  5267  	}
  5268  }
  5269  
  5270  // Defines the possible states of lockdown mode.
  5271  type HostLockdownMode string
  5272  
  5273  const (
  5274  	// Indicates that lockdown mode is disabled.
  5275  	HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled")
  5276  	// Indicates that lockdown mode is enabled with service DCUI
  5277  	// (Direct Console User Interface) running.
  5278  	HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal")
  5279  	// Indicates that lockdown mode is enabled with service DCUI stopped.
  5280  	//
  5281  	// If the host is in "strict" lockdown mode then no one will be able
  5282  	// to exit lockdown mode through DCUI in emergency situations,
  5283  	// i.e. when the connection to vCenter server is permanently lost.
  5284  	HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict")
  5285  )
  5286  
  5287  func (e HostLockdownMode) Values() []HostLockdownMode {
  5288  	return []HostLockdownMode{
  5289  		HostLockdownModeLockdownDisabled,
  5290  		HostLockdownModeLockdownNormal,
  5291  		HostLockdownModeLockdownStrict,
  5292  	}
  5293  }
  5294  
  5295  func (e HostLockdownMode) Strings() []string {
  5296  	return EnumValuesAsStrings(e.Values())
  5297  }
  5298  
  5299  func init() {
  5300  	t["HostLockdownMode"] = reflect.TypeOf((*HostLockdownMode)(nil)).Elem()
  5301  }
  5302  
  5303  // This enum defines the possible types of file types that can be reserved
  5304  // or deleted
  5305  type HostLowLevelProvisioningManagerFileType string
  5306  
  5307  const (
  5308  	HostLowLevelProvisioningManagerFileTypeFile        = HostLowLevelProvisioningManagerFileType("File")
  5309  	HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk")
  5310  	HostLowLevelProvisioningManagerFileTypeDirectory   = HostLowLevelProvisioningManagerFileType("Directory")
  5311  )
  5312  
  5313  func (e HostLowLevelProvisioningManagerFileType) Values() []HostLowLevelProvisioningManagerFileType {
  5314  	return []HostLowLevelProvisioningManagerFileType{
  5315  		HostLowLevelProvisioningManagerFileTypeFile,
  5316  		HostLowLevelProvisioningManagerFileTypeVirtualDisk,
  5317  		HostLowLevelProvisioningManagerFileTypeDirectory,
  5318  	}
  5319  }
  5320  
  5321  func (e HostLowLevelProvisioningManagerFileType) Strings() []string {
  5322  	return EnumValuesAsStrings(e.Values())
  5323  }
  5324  
  5325  func init() {
  5326  	t["HostLowLevelProvisioningManagerFileType"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileType)(nil)).Elem()
  5327  }
  5328  
  5329  // The target of the disk reload.
  5330  type HostLowLevelProvisioningManagerReloadTarget string
  5331  
  5332  const (
  5333  	// Specifies the reload of the current config of the virtual machine.
  5334  	HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig")
  5335  	// Specifies the reload of the snapshot config of the virtual machine.
  5336  	//
  5337  	// If the virtual machine has multiple snapshots, all of the snapshot's
  5338  	// config will be reloaded.
  5339  	HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig")
  5340  )
  5341  
  5342  func (e HostLowLevelProvisioningManagerReloadTarget) Values() []HostLowLevelProvisioningManagerReloadTarget {
  5343  	return []HostLowLevelProvisioningManagerReloadTarget{
  5344  		HostLowLevelProvisioningManagerReloadTargetCurrentConfig,
  5345  		HostLowLevelProvisioningManagerReloadTargetSnapshotConfig,
  5346  	}
  5347  }
  5348  
  5349  func (e HostLowLevelProvisioningManagerReloadTarget) Strings() []string {
  5350  	return EnumValuesAsStrings(e.Values())
  5351  }
  5352  
  5353  func init() {
  5354  	t["HostLowLevelProvisioningManagerReloadTarget"] = reflect.TypeOf((*HostLowLevelProvisioningManagerReloadTarget)(nil)).Elem()
  5355  }
  5356  
  5357  type HostMaintenanceSpecPurpose string
  5358  
  5359  const (
  5360  	HostMaintenanceSpecPurposeHostUpgrade = HostMaintenanceSpecPurpose("hostUpgrade")
  5361  )
  5362  
  5363  func (e HostMaintenanceSpecPurpose) Values() []HostMaintenanceSpecPurpose {
  5364  	return []HostMaintenanceSpecPurpose{
  5365  		HostMaintenanceSpecPurposeHostUpgrade,
  5366  	}
  5367  }
  5368  
  5369  func (e HostMaintenanceSpecPurpose) Strings() []string {
  5370  	return EnumValuesAsStrings(e.Values())
  5371  }
  5372  
  5373  func init() {
  5374  	t["HostMaintenanceSpecPurpose"] = reflect.TypeOf((*HostMaintenanceSpecPurpose)(nil)).Elem()
  5375  }
  5376  
  5377  // Enumeration of flags pertaining to a memory tier.
  5378  //
  5379  // Here are some examples of what the flags will look like for various memory
  5380  // configurations:
  5381  //   - Traditional memory (`noTiering`): The host has a DRAM tier
  5382  //     for the main memory and nothing else. The DRAM tier will have the
  5383  //     `memoryTier` flag.
  5384  //   - App Direct mode (`noTiering`): The host has a DRAM tier
  5385  //     and a PMem tier, but the two are independent and unrelated. The PMem tier is
  5386  //     non-volatile and is exposed as an NVDIMM device. Applications can decide whether to
  5387  //     direct the reads and writes to DRAM or PMem by using the appropriate system call. The
  5388  //     DRAM tier will have the `memoryTier` flag and the PMem tier will
  5389  //     have the `persistentTier` flag.
  5390  //   - Memory mode (`hardwareTiering`): The host has a DRAM tier
  5391  //     and a PMem tier, but the DRAM is hidden from applications and is just a cache
  5392  //     for the PMem main memory. The PMem tier is volatile, and is abstracted by the hardware
  5393  //     layer to look like traditional memory. Applications can read from/write to memory
  5394  //     using the traditional memory system calls. The memory controller in the hardware will
  5395  //     internally direct those to the DRAM cache first, and on a cache miss redirect them to
  5396  //     the PMem main memory. The DRAM tier will have the `cachingTier`
  5397  type HostMemoryTierFlags string
  5398  
  5399  const (
  5400  	// Flag indicating that the tier is the primary memory tier visible from the
  5401  	// host.
  5402  	HostMemoryTierFlagsMemoryTier = HostMemoryTierFlags("memoryTier")
  5403  	// Flag indicating that the tier is used as non-volatile storage, e.g.
  5404  	//
  5405  	// PMem in
  5406  	// App Direct mode.
  5407  	HostMemoryTierFlagsPersistentTier = HostMemoryTierFlags("persistentTier")
  5408  	// Flag indicating that the tier is a cache for main memory.
  5409  	HostMemoryTierFlagsCachingTier = HostMemoryTierFlags("cachingTier")
  5410  	// `**Since:**` vSphere API Release 8.0.3.0
  5411  	HostMemoryTierFlagsUnmappableTier = HostMemoryTierFlags("unmappableTier")
  5412  )
  5413  
  5414  func (e HostMemoryTierFlags) Values() []HostMemoryTierFlags {
  5415  	return []HostMemoryTierFlags{
  5416  		HostMemoryTierFlagsMemoryTier,
  5417  		HostMemoryTierFlagsPersistentTier,
  5418  		HostMemoryTierFlagsCachingTier,
  5419  		HostMemoryTierFlagsUnmappableTier,
  5420  	}
  5421  }
  5422  
  5423  func (e HostMemoryTierFlags) Strings() []string {
  5424  	return EnumValuesAsStrings(e.Values())
  5425  }
  5426  
  5427  func init() {
  5428  	t["HostMemoryTierFlags"] = reflect.TypeOf((*HostMemoryTierFlags)(nil)).Elem()
  5429  	minAPIVersionForType["HostMemoryTierFlags"] = "7.0.3.0"
  5430  	minAPIVersionForEnumValue["HostMemoryTierFlags"] = map[string]string{
  5431  		"unmappableTier": "8.0.3.0",
  5432  	}
  5433  }
  5434  
  5435  type HostMemoryTierType string
  5436  
  5437  const (
  5438  	// Dynamic random-access memory.
  5439  	HostMemoryTierTypeDRAM = HostMemoryTierType("DRAM")
  5440  	// Persistent memory.
  5441  	HostMemoryTierTypePMem = HostMemoryTierType("PMem")
  5442  	// NVMe memory.
  5443  	HostMemoryTierTypeNVMe = HostMemoryTierType("NVMe")
  5444  )
  5445  
  5446  func (e HostMemoryTierType) Values() []HostMemoryTierType {
  5447  	return []HostMemoryTierType{
  5448  		HostMemoryTierTypeDRAM,
  5449  		HostMemoryTierTypePMem,
  5450  		HostMemoryTierTypeNVMe,
  5451  	}
  5452  }
  5453  
  5454  func (e HostMemoryTierType) Strings() []string {
  5455  	return EnumValuesAsStrings(e.Values())
  5456  }
  5457  
  5458  func init() {
  5459  	t["HostMemoryTierType"] = reflect.TypeOf((*HostMemoryTierType)(nil)).Elem()
  5460  	minAPIVersionForType["HostMemoryTierType"] = "7.0.3.0"
  5461  	minAPIVersionForEnumValue["HostMemoryTierType"] = map[string]string{
  5462  		"NVMe": "8.0.3.0",
  5463  	}
  5464  }
  5465  
  5466  type HostMemoryTieringType string
  5467  
  5468  const (
  5469  	// The traditional memory configuration without any tiers.
  5470  	HostMemoryTieringTypeNoTiering = HostMemoryTieringType("noTiering")
  5471  	// The memory configuration where a tier is hardware-controlled and invisible to
  5472  	// applications, e.g.
  5473  	//
  5474  	// Intel's Memory Mode.
  5475  	HostMemoryTieringTypeHardwareTiering = HostMemoryTieringType("hardwareTiering")
  5476  	// The memory configuration where all memory tiers are managed by software (ESX).
  5477  	HostMemoryTieringTypeSoftwareTiering = HostMemoryTieringType("softwareTiering")
  5478  )
  5479  
  5480  func (e HostMemoryTieringType) Values() []HostMemoryTieringType {
  5481  	return []HostMemoryTieringType{
  5482  		HostMemoryTieringTypeNoTiering,
  5483  		HostMemoryTieringTypeHardwareTiering,
  5484  		HostMemoryTieringTypeSoftwareTiering,
  5485  	}
  5486  }
  5487  
  5488  func (e HostMemoryTieringType) Strings() []string {
  5489  	return EnumValuesAsStrings(e.Values())
  5490  }
  5491  
  5492  func init() {
  5493  	t["HostMemoryTieringType"] = reflect.TypeOf((*HostMemoryTieringType)(nil)).Elem()
  5494  	minAPIVersionForType["HostMemoryTieringType"] = "7.0.3.0"
  5495  	minAPIVersionForEnumValue["HostMemoryTieringType"] = map[string]string{
  5496  		"softwareTiering": "8.0.3.0",
  5497  	}
  5498  }
  5499  
  5500  // A datastore can become inaccessible due to a number of reasons as
  5501  // defined in this enum `HostMountInfoInaccessibleReason_enum`.
  5502  //
  5503  // The reason for a datastore being inaccessible is reported in
  5504  // `HostMountInfo.inaccessibleReason`.
  5505  // APD ("All Paths Down") is a condition where a SAN or NFS storage has
  5506  // become inaccessible for unknown reasons. It only indicates loss of
  5507  // connectivity and does not indicate storage device failure or
  5508  // LUN removal (Permanent Device Loss or PDL)
  5509  // A difference between APD and PDL is that APD may recover
  5510  // in which case all use cases will start to work as before. In case of PDL
  5511  // the failed datastore/device is unlikely to recover and hence the device
  5512  // path information and data cache will be emptied. If the PDL condition
  5513  // recovers, the failed datastores have to be added back to the host. Once
  5514  // in PDL a datastore cannot be added back until there are no longer any
  5515  // open files on the datastore.
  5516  // PDL is not linked to the APD and can happen at any time with or without APD
  5517  // preceding. If APD and PDL occur at the same time, APD will be reported first.
  5518  // Once (and if) the APD condition clears, PermanentDataLoss will be reported if
  5519  // PDL condition still exists.
  5520  type HostMountInfoInaccessibleReason string
  5521  
  5522  const (
  5523  	// AllPathsDown\_Start value is reported when all paths down state is detected
  5524  	HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start")
  5525  	// After a wait for a system default time (which is user modifiable)
  5526  	// to ascertain the state is indeed an APD, AllPathsDown\_Timeout property
  5527  	// is reported.
  5528  	//
  5529  	// The host advanced option used to set timeout period
  5530  	// is "/Misc/APDTimeout"
  5531  	// After the datastore property is set to AllPathsDown\_Timeout, all data i/o
  5532  	// to the datastore will be fast-failed (failed immediately).
  5533  	HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout")
  5534  	// A PDL condition is reported as PermanentDeviceLoss.
  5535  	HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss")
  5536  )
  5537  
  5538  func (e HostMountInfoInaccessibleReason) Values() []HostMountInfoInaccessibleReason {
  5539  	return []HostMountInfoInaccessibleReason{
  5540  		HostMountInfoInaccessibleReasonAllPathsDown_Start,
  5541  		HostMountInfoInaccessibleReasonAllPathsDown_Timeout,
  5542  		HostMountInfoInaccessibleReasonPermanentDeviceLoss,
  5543  	}
  5544  }
  5545  
  5546  func (e HostMountInfoInaccessibleReason) Strings() []string {
  5547  	return EnumValuesAsStrings(e.Values())
  5548  }
  5549  
  5550  func init() {
  5551  	t["HostMountInfoInaccessibleReason"] = reflect.TypeOf((*HostMountInfoInaccessibleReason)(nil)).Elem()
  5552  }
  5553  
  5554  // NFS mount request can be failed due to a number of reasons as
  5555  // defined in this enum `HostMountInfoMountFailedReason_enum`.
  5556  //
  5557  // The reason for the mount failure is reported in
  5558  // `HostMountInfo.mountFailedReason`. This is applicable only for those
  5559  type HostMountInfoMountFailedReason string
  5560  
  5561  const (
  5562  	// Failed to get port or connect.
  5563  	//
  5564  	// Or MOUNT/FSINFO RPC failed.
  5565  	HostMountInfoMountFailedReasonCONNECT_FAILURE = HostMountInfoMountFailedReason("CONNECT_FAILURE")
  5566  	// Server doesn't support MOUNT\_PROGRAM/MOUNT\_PROGRAM\_VERSION.
  5567  	HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED = HostMountInfoMountFailedReason("MOUNT_NOT_SUPPORTED")
  5568  	// Server doesn't support NFS\_PROGRAM/NFS\_PROGRAM\_VERSION.
  5569  	HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED = HostMountInfoMountFailedReason("NFS_NOT_SUPPORTED")
  5570  	// No permission to mount the remote volume or it doesn't exist.
  5571  	HostMountInfoMountFailedReasonMOUNT_DENIED = HostMountInfoMountFailedReason("MOUNT_DENIED")
  5572  	// Remote path not a directory.
  5573  	HostMountInfoMountFailedReasonMOUNT_NOT_DIR = HostMountInfoMountFailedReason("MOUNT_NOT_DIR")
  5574  	// Maximum NFS volumes have been mounted.
  5575  	HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("VOLUME_LIMIT_EXCEEDED")
  5576  	// Maximum connections for NFS has been reached.
  5577  	HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("CONN_LIMIT_EXCEEDED")
  5578  	// Volume already mounted or a different mount exists with same label.
  5579  	HostMountInfoMountFailedReasonMOUNT_EXISTS = HostMountInfoMountFailedReason("MOUNT_EXISTS")
  5580  	// Any other reason which is not present in above list.
  5581  	HostMountInfoMountFailedReasonOTHERS = HostMountInfoMountFailedReason("OTHERS")
  5582  )
  5583  
  5584  func (e HostMountInfoMountFailedReason) Values() []HostMountInfoMountFailedReason {
  5585  	return []HostMountInfoMountFailedReason{
  5586  		HostMountInfoMountFailedReasonCONNECT_FAILURE,
  5587  		HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED,
  5588  		HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED,
  5589  		HostMountInfoMountFailedReasonMOUNT_DENIED,
  5590  		HostMountInfoMountFailedReasonMOUNT_NOT_DIR,
  5591  		HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED,
  5592  		HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED,
  5593  		HostMountInfoMountFailedReasonMOUNT_EXISTS,
  5594  		HostMountInfoMountFailedReasonOTHERS,
  5595  	}
  5596  }
  5597  
  5598  func (e HostMountInfoMountFailedReason) Strings() []string {
  5599  	return EnumValuesAsStrings(e.Values())
  5600  }
  5601  
  5602  func init() {
  5603  	t["HostMountInfoMountFailedReason"] = reflect.TypeOf((*HostMountInfoMountFailedReason)(nil)).Elem()
  5604  	minAPIVersionForType["HostMountInfoMountFailedReason"] = "8.0.0.1"
  5605  }
  5606  
  5607  // Defines the access mode of the datastore.
  5608  type HostMountMode string
  5609  
  5610  const (
  5611  	// The host system has read/write access to the file system.
  5612  	HostMountModeReadWrite = HostMountMode("readWrite")
  5613  	// The host system has read-only access to the file system.
  5614  	HostMountModeReadOnly = HostMountMode("readOnly")
  5615  )
  5616  
  5617  func (e HostMountMode) Values() []HostMountMode {
  5618  	return []HostMountMode{
  5619  		HostMountModeReadWrite,
  5620  		HostMountModeReadOnly,
  5621  	}
  5622  }
  5623  
  5624  func (e HostMountMode) Strings() []string {
  5625  	return EnumValuesAsStrings(e.Values())
  5626  }
  5627  
  5628  func init() {
  5629  	t["HostMountMode"] = reflect.TypeOf((*HostMountMode)(nil)).Elem()
  5630  }
  5631  
  5632  // Security type supported.
  5633  type HostNasVolumeSecurityType string
  5634  
  5635  const (
  5636  	// Authentication based on traditional UNIX identifiers (UID and GID).
  5637  	//
  5638  	// Server trusts the IDs sent by the client for each request and uses them
  5639  	// to perform access control. Current implementation only supports
  5640  	// AUTH\_SYS with root user.
  5641  	HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS")
  5642  	// Ensures RPC header authentication using Kerberos session keys.
  5643  	//
  5644  	// When
  5645  	// this option is enabled, the client uses the information specified in
  5646  	// `HostNasVolumeUserInfo` to establish shared keys with the server using
  5647  	// Kerberos. These shared keys are used to generate and verify message
  5648  	// authentication codes for RPC header of NFS requests and responses,
  5649  	// respectively. This method does not secure NFS file data.
  5650  	HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5")
  5651  	// Extends SEC\_KRB5 to generate and verify message authentication codes
  5652  	// for the payload of NFS requests and responses respectively.
  5653  	//
  5654  	// This
  5655  	// ensures the integrity of the NFS file data.
  5656  	HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I")
  5657  )
  5658  
  5659  func (e HostNasVolumeSecurityType) Values() []HostNasVolumeSecurityType {
  5660  	return []HostNasVolumeSecurityType{
  5661  		HostNasVolumeSecurityTypeAUTH_SYS,
  5662  		HostNasVolumeSecurityTypeSEC_KRB5,
  5663  		HostNasVolumeSecurityTypeSEC_KRB5I,
  5664  	}
  5665  }
  5666  
  5667  func (e HostNasVolumeSecurityType) Strings() []string {
  5668  	return EnumValuesAsStrings(e.Values())
  5669  }
  5670  
  5671  func init() {
  5672  	t["HostNasVolumeSecurityType"] = reflect.TypeOf((*HostNasVolumeSecurityType)(nil)).Elem()
  5673  }
  5674  
  5675  // Define TCP congestion control algorithm used by an instance
  5676  type HostNetStackInstanceCongestionControlAlgorithmType string
  5677  
  5678  const (
  5679  	// New Reno Algorithm.
  5680  	//
  5681  	// See http://tools.ietf.org/html/rfc3782 for detail.
  5682  	HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno")
  5683  	// Cubic Algorithm.
  5684  	//
  5685  	// See http://tools.ietf.org/id/draft-rhee-tcp-cubic-00.txt for detail.
  5686  	HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic")
  5687  )
  5688  
  5689  func (e HostNetStackInstanceCongestionControlAlgorithmType) Values() []HostNetStackInstanceCongestionControlAlgorithmType {
  5690  	return []HostNetStackInstanceCongestionControlAlgorithmType{
  5691  		HostNetStackInstanceCongestionControlAlgorithmTypeNewreno,
  5692  		HostNetStackInstanceCongestionControlAlgorithmTypeCubic,
  5693  	}
  5694  }
  5695  
  5696  func (e HostNetStackInstanceCongestionControlAlgorithmType) Strings() []string {
  5697  	return EnumValuesAsStrings(e.Values())
  5698  }
  5699  
  5700  func init() {
  5701  	t["HostNetStackInstanceCongestionControlAlgorithmType"] = reflect.TypeOf((*HostNetStackInstanceCongestionControlAlgorithmType)(nil)).Elem()
  5702  }
  5703  
  5704  // Define the instance identifier for different traffic type
  5705  type HostNetStackInstanceSystemStackKey string
  5706  
  5707  const (
  5708  	// The default stack used by applications
  5709  	HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack")
  5710  	// Stack key used for vMotion applications
  5711  	HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion")
  5712  	// Stack key used for vSphere provisioning NFC traffic
  5713  	HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning")
  5714  	// Stack key used for port mirroring
  5715  	HostNetStackInstanceSystemStackKeyMirror = HostNetStackInstanceSystemStackKey("mirror")
  5716  	// Stack key used for ops applications
  5717  	HostNetStackInstanceSystemStackKeyOps = HostNetStackInstanceSystemStackKey("ops")
  5718  )
  5719  
  5720  func (e HostNetStackInstanceSystemStackKey) Values() []HostNetStackInstanceSystemStackKey {
  5721  	return []HostNetStackInstanceSystemStackKey{
  5722  		HostNetStackInstanceSystemStackKeyDefaultTcpipStack,
  5723  		HostNetStackInstanceSystemStackKeyVmotion,
  5724  		HostNetStackInstanceSystemStackKeyVSphereProvisioning,
  5725  		HostNetStackInstanceSystemStackKeyMirror,
  5726  		HostNetStackInstanceSystemStackKeyOps,
  5727  	}
  5728  }
  5729  
  5730  func (e HostNetStackInstanceSystemStackKey) Strings() []string {
  5731  	return EnumValuesAsStrings(e.Values())
  5732  }
  5733  
  5734  func init() {
  5735  	t["HostNetStackInstanceSystemStackKey"] = reflect.TypeOf((*HostNetStackInstanceSystemStackKey)(nil)).Elem()
  5736  	minAPIVersionForEnumValue["HostNetStackInstanceSystemStackKey"] = map[string]string{
  5737  		"mirror": "8.0.0.1",
  5738  		"ops":    "8.0.0.1",
  5739  	}
  5740  }
  5741  
  5742  // Health state of the numeric sensor as reported by the sensor probes.
  5743  //
  5744  // Same data reported using command line: esxcli hardware ipmi sdr list
  5745  type HostNumericSensorHealthState string
  5746  
  5747  const (
  5748  	// The implementation cannot report on the current health state of the
  5749  	// physical element
  5750  	HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown")
  5751  	// The sensor is operating under normal conditions
  5752  	HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green")
  5753  	// The sensor is operating under conditions that are non-critical.
  5754  	HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow")
  5755  	// The sensor is operating under critical or fatal conditions.
  5756  	//
  5757  	// This may
  5758  	// directly affect the functioning of both the sensor and related
  5759  	// components.
  5760  	HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red")
  5761  )
  5762  
  5763  func (e HostNumericSensorHealthState) Values() []HostNumericSensorHealthState {
  5764  	return []HostNumericSensorHealthState{
  5765  		HostNumericSensorHealthStateUnknown,
  5766  		HostNumericSensorHealthStateGreen,
  5767  		HostNumericSensorHealthStateYellow,
  5768  		HostNumericSensorHealthStateRed,
  5769  	}
  5770  }
  5771  
  5772  func (e HostNumericSensorHealthState) Strings() []string {
  5773  	return EnumValuesAsStrings(e.Values())
  5774  }
  5775  
  5776  func init() {
  5777  	t["HostNumericSensorHealthState"] = reflect.TypeOf((*HostNumericSensorHealthState)(nil)).Elem()
  5778  }
  5779  
  5780  // Sensor Types for specific hardware component are either based on
  5781  // class of sensor or what the sensor monitors to allow for grouping
  5782  type HostNumericSensorType string
  5783  
  5784  const (
  5785  	// Fan sensor
  5786  	HostNumericSensorTypeFan = HostNumericSensorType("fan")
  5787  	// Power sensor
  5788  	HostNumericSensorTypePower = HostNumericSensorType("power")
  5789  	// Temperature sensor
  5790  	HostNumericSensorTypeTemperature = HostNumericSensorType("temperature")
  5791  	// Voltage Sensor
  5792  	HostNumericSensorTypeVoltage = HostNumericSensorType("voltage")
  5793  	// Other sensor.
  5794  	HostNumericSensorTypeOther = HostNumericSensorType("other")
  5795  	// Processor sensor.
  5796  	HostNumericSensorTypeProcessor = HostNumericSensorType("processor")
  5797  	// Memory sensor.
  5798  	HostNumericSensorTypeMemory = HostNumericSensorType("memory")
  5799  	// disk/storage sensor.
  5800  	HostNumericSensorTypeStorage = HostNumericSensorType("storage")
  5801  	// system board sensor.
  5802  	HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard")
  5803  	// Battery sensor.
  5804  	HostNumericSensorTypeBattery = HostNumericSensorType("battery")
  5805  	// BIOS/firmware related sensor.
  5806  	HostNumericSensorTypeBios = HostNumericSensorType("bios")
  5807  	// cable related sensor.
  5808  	HostNumericSensorTypeCable = HostNumericSensorType("cable")
  5809  	// Watchdog related sensor.
  5810  	HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog")
  5811  )
  5812  
  5813  func (e HostNumericSensorType) Values() []HostNumericSensorType {
  5814  	return []HostNumericSensorType{
  5815  		HostNumericSensorTypeFan,
  5816  		HostNumericSensorTypePower,
  5817  		HostNumericSensorTypeTemperature,
  5818  		HostNumericSensorTypeVoltage,
  5819  		HostNumericSensorTypeOther,
  5820  		HostNumericSensorTypeProcessor,
  5821  		HostNumericSensorTypeMemory,
  5822  		HostNumericSensorTypeStorage,
  5823  		HostNumericSensorTypeSystemBoard,
  5824  		HostNumericSensorTypeBattery,
  5825  		HostNumericSensorTypeBios,
  5826  		HostNumericSensorTypeCable,
  5827  		HostNumericSensorTypeWatchdog,
  5828  	}
  5829  }
  5830  
  5831  func (e HostNumericSensorType) Strings() []string {
  5832  	return EnumValuesAsStrings(e.Values())
  5833  }
  5834  
  5835  func init() {
  5836  	t["HostNumericSensorType"] = reflect.TypeOf((*HostNumericSensorType)(nil)).Elem()
  5837  }
  5838  
  5839  // This enum represents the supported NVM subsystem types.
  5840  type HostNvmeDiscoveryLogSubsystemType string
  5841  
  5842  const (
  5843  	// A Discovery service, composed of Discovery controllers.
  5844  	HostNvmeDiscoveryLogSubsystemTypeDiscovery = HostNvmeDiscoveryLogSubsystemType("discovery")
  5845  	// An NVM subsystem whose controllers may have attached namespaces.
  5846  	HostNvmeDiscoveryLogSubsystemTypeNvm = HostNvmeDiscoveryLogSubsystemType("nvm")
  5847  )
  5848  
  5849  func (e HostNvmeDiscoveryLogSubsystemType) Values() []HostNvmeDiscoveryLogSubsystemType {
  5850  	return []HostNvmeDiscoveryLogSubsystemType{
  5851  		HostNvmeDiscoveryLogSubsystemTypeDiscovery,
  5852  		HostNvmeDiscoveryLogSubsystemTypeNvm,
  5853  	}
  5854  }
  5855  
  5856  func (e HostNvmeDiscoveryLogSubsystemType) Strings() []string {
  5857  	return EnumValuesAsStrings(e.Values())
  5858  }
  5859  
  5860  func init() {
  5861  	t["HostNvmeDiscoveryLogSubsystemType"] = reflect.TypeOf((*HostNvmeDiscoveryLogSubsystemType)(nil)).Elem()
  5862  }
  5863  
  5864  // This enum represents the supported types of transport requirements.
  5865  type HostNvmeDiscoveryLogTransportRequirements string
  5866  
  5867  const (
  5868  	// A fabric secure channel is required.
  5869  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelRequired")
  5870  	// A fabric secure channel is not required.
  5871  	HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelNotRequired")
  5872  	// Requirements are not specified
  5873  	HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified = HostNvmeDiscoveryLogTransportRequirements("requirementsNotSpecified")
  5874  )
  5875  
  5876  func (e HostNvmeDiscoveryLogTransportRequirements) Values() []HostNvmeDiscoveryLogTransportRequirements {
  5877  	return []HostNvmeDiscoveryLogTransportRequirements{
  5878  		HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired,
  5879  		HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired,
  5880  		HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified,
  5881  	}
  5882  }
  5883  
  5884  func (e HostNvmeDiscoveryLogTransportRequirements) Strings() []string {
  5885  	return EnumValuesAsStrings(e.Values())
  5886  }
  5887  
  5888  func init() {
  5889  	t["HostNvmeDiscoveryLogTransportRequirements"] = reflect.TypeOf((*HostNvmeDiscoveryLogTransportRequirements)(nil)).Elem()
  5890  }
  5891  
  5892  // This enum specifies the supported address families for
  5893  // NVME over Fabrics.
  5894  //
  5895  // For details, see:
  5896  //   - "NVM Express over Fabrics 1.0", Section 5.3, Figure 34,
  5897  //     "Discovery Log Page Entry"
  5898  type HostNvmeTransportParametersNvmeAddressFamily string
  5899  
  5900  const (
  5901  	// IPv4 address, format specified in IETF RFC 791.
  5902  	HostNvmeTransportParametersNvmeAddressFamilyIpv4 = HostNvmeTransportParametersNvmeAddressFamily("ipv4")
  5903  	// IPv6 address, format specified in IETF RFC 2373.
  5904  	HostNvmeTransportParametersNvmeAddressFamilyIpv6 = HostNvmeTransportParametersNvmeAddressFamily("ipv6")
  5905  	// InfiniBand address family.
  5906  	HostNvmeTransportParametersNvmeAddressFamilyInfiniBand = HostNvmeTransportParametersNvmeAddressFamily("infiniBand")
  5907  	// Fibre Channel address family.
  5908  	HostNvmeTransportParametersNvmeAddressFamilyFc = HostNvmeTransportParametersNvmeAddressFamily("fc")
  5909  	// Intra-host transport.
  5910  	HostNvmeTransportParametersNvmeAddressFamilyLoopback = HostNvmeTransportParametersNvmeAddressFamily("loopback")
  5911  	// Unrecognized address family.
  5912  	HostNvmeTransportParametersNvmeAddressFamilyUnknown = HostNvmeTransportParametersNvmeAddressFamily("unknown")
  5913  )
  5914  
  5915  func (e HostNvmeTransportParametersNvmeAddressFamily) Values() []HostNvmeTransportParametersNvmeAddressFamily {
  5916  	return []HostNvmeTransportParametersNvmeAddressFamily{
  5917  		HostNvmeTransportParametersNvmeAddressFamilyIpv4,
  5918  		HostNvmeTransportParametersNvmeAddressFamilyIpv6,
  5919  		HostNvmeTransportParametersNvmeAddressFamilyInfiniBand,
  5920  		HostNvmeTransportParametersNvmeAddressFamilyFc,
  5921  		HostNvmeTransportParametersNvmeAddressFamilyLoopback,
  5922  		HostNvmeTransportParametersNvmeAddressFamilyUnknown,
  5923  	}
  5924  }
  5925  
  5926  func (e HostNvmeTransportParametersNvmeAddressFamily) Strings() []string {
  5927  	return EnumValuesAsStrings(e.Values())
  5928  }
  5929  
  5930  func init() {
  5931  	t["HostNvmeTransportParametersNvmeAddressFamily"] = reflect.TypeOf((*HostNvmeTransportParametersNvmeAddressFamily)(nil)).Elem()
  5932  }
  5933  
  5934  // The set of NVM Express over Fabrics transport types.
  5935  //
  5936  // For details, see:
  5937  //   - "NVM Express over Fabrics 1.0", Section 1.5.1,
  5938  //     "Fabrics and Transports".
  5939  type HostNvmeTransportType string
  5940  
  5941  const (
  5942  	// PCI Express transport type
  5943  	HostNvmeTransportTypePcie = HostNvmeTransportType("pcie")
  5944  	// Fibre Channel transport type
  5945  	HostNvmeTransportTypeFibreChannel = HostNvmeTransportType("fibreChannel")
  5946  	// Remote Direct Memory Access transport type
  5947  	HostNvmeTransportTypeRdma = HostNvmeTransportType("rdma")
  5948  	// Transmission Control Protocol transport type
  5949  	HostNvmeTransportTypeTcp = HostNvmeTransportType("tcp")
  5950  	// Intra-host transport.
  5951  	HostNvmeTransportTypeLoopback = HostNvmeTransportType("loopback")
  5952  	// The transport type is not among the currently supported ones.
  5953  	HostNvmeTransportTypeUnsupported = HostNvmeTransportType("unsupported")
  5954  )
  5955  
  5956  func (e HostNvmeTransportType) Values() []HostNvmeTransportType {
  5957  	return []HostNvmeTransportType{
  5958  		HostNvmeTransportTypePcie,
  5959  		HostNvmeTransportTypeFibreChannel,
  5960  		HostNvmeTransportTypeRdma,
  5961  		HostNvmeTransportTypeTcp,
  5962  		HostNvmeTransportTypeLoopback,
  5963  		HostNvmeTransportTypeUnsupported,
  5964  	}
  5965  }
  5966  
  5967  func (e HostNvmeTransportType) Strings() []string {
  5968  	return EnumValuesAsStrings(e.Values())
  5969  }
  5970  
  5971  func init() {
  5972  	t["HostNvmeTransportType"] = reflect.TypeOf((*HostNvmeTransportType)(nil)).Elem()
  5973  	minAPIVersionForEnumValue["HostNvmeTransportType"] = map[string]string{
  5974  		"tcp": "7.0.3.0",
  5975  	}
  5976  }
  5977  
  5978  type HostOpaqueSwitchOpaqueSwitchState string
  5979  
  5980  const (
  5981  	// The opaque switch is up and running.
  5982  	HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up")
  5983  	// The opaque switch requires attention.
  5984  	HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning")
  5985  	// The opaque switch is down.
  5986  	HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down")
  5987  	// The opaque switch is under upgrade.
  5988  	HostOpaqueSwitchOpaqueSwitchStateMaintenance = HostOpaqueSwitchOpaqueSwitchState("maintenance")
  5989  )
  5990  
  5991  func (e HostOpaqueSwitchOpaqueSwitchState) Values() []HostOpaqueSwitchOpaqueSwitchState {
  5992  	return []HostOpaqueSwitchOpaqueSwitchState{
  5993  		HostOpaqueSwitchOpaqueSwitchStateUp,
  5994  		HostOpaqueSwitchOpaqueSwitchStateWarning,
  5995  		HostOpaqueSwitchOpaqueSwitchStateDown,
  5996  		HostOpaqueSwitchOpaqueSwitchStateMaintenance,
  5997  	}
  5998  }
  5999  
  6000  func (e HostOpaqueSwitchOpaqueSwitchState) Strings() []string {
  6001  	return EnumValuesAsStrings(e.Values())
  6002  }
  6003  
  6004  func init() {
  6005  	t["HostOpaqueSwitchOpaqueSwitchState"] = reflect.TypeOf((*HostOpaqueSwitchOpaqueSwitchState)(nil)).Elem()
  6006  }
  6007  
  6008  // The following enum describes some common kinds of partial maintenance modes,
  6009  type HostPartialMaintenanceModeId string
  6010  
  6011  const (
  6012  	// When the host is in the quick patch partial maintenance mode, it is safe to
  6013  	// perform a quick patch.
  6014  	//
  6015  	// When the host is in this partial maintenance mode, any virtual machines
  6016  	// and/or pods placed on it will continue to run but operations which may
  6017  	// lead to new workloads starting on the host such as power on or incoming
  6018  	// vmotions may be blocked.
  6019  	// It is generally unsafe to reboot the host in this state.
  6020  	HostPartialMaintenanceModeIdQuickPatchPartialMM = HostPartialMaintenanceModeId("quickPatchPartialMM")
  6021  )
  6022  
  6023  func (e HostPartialMaintenanceModeId) Values() []HostPartialMaintenanceModeId {
  6024  	return []HostPartialMaintenanceModeId{
  6025  		HostPartialMaintenanceModeIdQuickPatchPartialMM,
  6026  	}
  6027  }
  6028  
  6029  func (e HostPartialMaintenanceModeId) Strings() []string {
  6030  	return EnumValuesAsStrings(e.Values())
  6031  }
  6032  
  6033  func init() {
  6034  	t["HostPartialMaintenanceModeId"] = reflect.TypeOf((*HostPartialMaintenanceModeId)(nil)).Elem()
  6035  	minAPIVersionForType["HostPartialMaintenanceModeId"] = "8.0.3.0"
  6036  	minAPIVersionForEnumValue["HostPartialMaintenanceModeId"] = map[string]string{
  6037  		"quickPatchPartialMM": "8.0.3.0",
  6038  	}
  6039  }
  6040  
  6041  // The following enum contains the list of possible statuses associated
  6042  type HostPartialMaintenanceModeStatus string
  6043  
  6044  const (
  6045  	// The host is not in the particular partial maintenance mode.
  6046  	HostPartialMaintenanceModeStatusNotInPartialMM = HostPartialMaintenanceModeStatus("notInPartialMM")
  6047  	// The host is in the process of entering the particular partial maintenance
  6048  	// mode.
  6049  	HostPartialMaintenanceModeStatusEnteringPartialMM = HostPartialMaintenanceModeStatus("enteringPartialMM")
  6050  	// The host is in the process of exiting the particular partial maintenance
  6051  	// mode.
  6052  	HostPartialMaintenanceModeStatusExitingPartialMM = HostPartialMaintenanceModeStatus("exitingPartialMM")
  6053  	// The host is in the particular partial maintenance mode.
  6054  	HostPartialMaintenanceModeStatusInPartialMM = HostPartialMaintenanceModeStatus("inPartialMM")
  6055  )
  6056  
  6057  func (e HostPartialMaintenanceModeStatus) Values() []HostPartialMaintenanceModeStatus {
  6058  	return []HostPartialMaintenanceModeStatus{
  6059  		HostPartialMaintenanceModeStatusNotInPartialMM,
  6060  		HostPartialMaintenanceModeStatusEnteringPartialMM,
  6061  		HostPartialMaintenanceModeStatusExitingPartialMM,
  6062  		HostPartialMaintenanceModeStatusInPartialMM,
  6063  	}
  6064  }
  6065  
  6066  func (e HostPartialMaintenanceModeStatus) Strings() []string {
  6067  	return EnumValuesAsStrings(e.Values())
  6068  }
  6069  
  6070  func init() {
  6071  	t["HostPartialMaintenanceModeStatus"] = reflect.TypeOf((*HostPartialMaintenanceModeStatus)(nil)).Elem()
  6072  	minAPIVersionForType["HostPartialMaintenanceModeStatus"] = "8.0.3.0"
  6073  }
  6074  
  6075  // The installation state if the update is installed on the server.
  6076  type HostPatchManagerInstallState string
  6077  
  6078  const (
  6079  	// The server has been restarted since the update installation.
  6080  	HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted")
  6081  	// Indicates if the newly installed image is active on the server
  6082  	HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive")
  6083  )
  6084  
  6085  func (e HostPatchManagerInstallState) Values() []HostPatchManagerInstallState {
  6086  	return []HostPatchManagerInstallState{
  6087  		HostPatchManagerInstallStateHostRestarted,
  6088  		HostPatchManagerInstallStateImageActive,
  6089  	}
  6090  }
  6091  
  6092  func (e HostPatchManagerInstallState) Strings() []string {
  6093  	return EnumValuesAsStrings(e.Values())
  6094  }
  6095  
  6096  func init() {
  6097  	t["HostPatchManagerInstallState"] = reflect.TypeOf((*HostPatchManagerInstallState)(nil)).Elem()
  6098  }
  6099  
  6100  // The integrity validation status.
  6101  type HostPatchManagerIntegrityStatus string
  6102  
  6103  const (
  6104  	// The update is successfully validated.
  6105  	HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated")
  6106  	// The integrity can not be verified since a public key to
  6107  	// verify the update cannot be found.
  6108  	HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound")
  6109  	// A public key to verify the update has been revoked.
  6110  	HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked")
  6111  	// A public key to verify the update is expired.
  6112  	HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired")
  6113  	// A digital signature of the update does not match.
  6114  	HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch")
  6115  	// Not enough signed signatures on the update.
  6116  	HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures")
  6117  	// The integrity validation failed.
  6118  	HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError")
  6119  )
  6120  
  6121  func (e HostPatchManagerIntegrityStatus) Values() []HostPatchManagerIntegrityStatus {
  6122  	return []HostPatchManagerIntegrityStatus{
  6123  		HostPatchManagerIntegrityStatusValidated,
  6124  		HostPatchManagerIntegrityStatusKeyNotFound,
  6125  		HostPatchManagerIntegrityStatusKeyRevoked,
  6126  		HostPatchManagerIntegrityStatusKeyExpired,
  6127  		HostPatchManagerIntegrityStatusDigestMismatch,
  6128  		HostPatchManagerIntegrityStatusNotEnoughSignatures,
  6129  		HostPatchManagerIntegrityStatusValidationError,
  6130  	}
  6131  }
  6132  
  6133  func (e HostPatchManagerIntegrityStatus) Strings() []string {
  6134  	return EnumValuesAsStrings(e.Values())
  6135  }
  6136  
  6137  func init() {
  6138  	t["HostPatchManagerIntegrityStatus"] = reflect.TypeOf((*HostPatchManagerIntegrityStatus)(nil)).Elem()
  6139  }
  6140  
  6141  // Reasons why an update is not applicable to the ESX host.
  6142  type HostPatchManagerReason string
  6143  
  6144  const (
  6145  	// The update is made obsolete by other patches installed on the host.
  6146  	HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted")
  6147  	// The update depends on another update that is neither installed
  6148  	// nor in the scanned list of updates.
  6149  	HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch")
  6150  	// The update depends on certain libraries or RPMs that are not
  6151  	// available.
  6152  	HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib")
  6153  	// The update depends on an update that is not installed but is
  6154  	// in the scanned list of updates.
  6155  	HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch")
  6156  	// The update conflicts with certain updates that are already
  6157  	// installed on the host.
  6158  	HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch")
  6159  	// The update conflicts with RPMs or libraries installed on the
  6160  	// host.
  6161  	HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib")
  6162  )
  6163  
  6164  func (e HostPatchManagerReason) Values() []HostPatchManagerReason {
  6165  	return []HostPatchManagerReason{
  6166  		HostPatchManagerReasonObsoleted,
  6167  		HostPatchManagerReasonMissingPatch,
  6168  		HostPatchManagerReasonMissingLib,
  6169  		HostPatchManagerReasonHasDependentPatch,
  6170  		HostPatchManagerReasonConflictPatch,
  6171  		HostPatchManagerReasonConflictLib,
  6172  	}
  6173  }
  6174  
  6175  func (e HostPatchManagerReason) Strings() []string {
  6176  	return EnumValuesAsStrings(e.Values())
  6177  }
  6178  
  6179  func init() {
  6180  	t["HostPatchManagerReason"] = reflect.TypeOf((*HostPatchManagerReason)(nil)).Elem()
  6181  }
  6182  
  6183  type HostPowerOperationType string
  6184  
  6185  const (
  6186  	// Power On Operation
  6187  	HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn")
  6188  	// Power Off Operation.
  6189  	//
  6190  	// Power off operation puts the host in
  6191  	// a state that can be woken up remotely.
  6192  	HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff")
  6193  )
  6194  
  6195  func (e HostPowerOperationType) Values() []HostPowerOperationType {
  6196  	return []HostPowerOperationType{
  6197  		HostPowerOperationTypePowerOn,
  6198  		HostPowerOperationTypePowerOff,
  6199  	}
  6200  }
  6201  
  6202  func (e HostPowerOperationType) Strings() []string {
  6203  	return EnumValuesAsStrings(e.Values())
  6204  }
  6205  
  6206  func init() {
  6207  	t["HostPowerOperationType"] = reflect.TypeOf((*HostPowerOperationType)(nil)).Elem()
  6208  }
  6209  
  6210  // The `HostProfileManagerAnswerFileStatus_enum` enum
  6211  // defines possible values for answer file status.
  6212  type HostProfileManagerAnswerFileStatus string
  6213  
  6214  const (
  6215  	// Answer file is valid.
  6216  	HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid")
  6217  	// Answer file is not valid.
  6218  	//
  6219  	// The file is either missing or incomplete.
  6220  	//   - To produce an answer file, pass host-specific data (user input) to the
  6221  	//     `HostProfileManager*.*HostProfileManager.ApplyHostConfig_Task`
  6222  	//     method.
  6223  	//   - To produce a complete answer file, call the
  6224  	//     `HostProfile*.*HostProfile.ExecuteHostProfile`
  6225  	//     method and fill in any missing parameters in the returned
  6226  	//     `ProfileExecuteResult*.*ProfileExecuteResult.requireInput`
  6227  	//     list. After you execute the profile successfully, you can pass the complete required
  6228  	//     input list to the apply method.
  6229  	HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid")
  6230  	// Answer file status is not known.
  6231  	HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown")
  6232  )
  6233  
  6234  func (e HostProfileManagerAnswerFileStatus) Values() []HostProfileManagerAnswerFileStatus {
  6235  	return []HostProfileManagerAnswerFileStatus{
  6236  		HostProfileManagerAnswerFileStatusValid,
  6237  		HostProfileManagerAnswerFileStatusInvalid,
  6238  		HostProfileManagerAnswerFileStatusUnknown,
  6239  	}
  6240  }
  6241  
  6242  func (e HostProfileManagerAnswerFileStatus) Strings() []string {
  6243  	return EnumValuesAsStrings(e.Values())
  6244  }
  6245  
  6246  func init() {
  6247  	t["HostProfileManagerAnswerFileStatus"] = reflect.TypeOf((*HostProfileManagerAnswerFileStatus)(nil)).Elem()
  6248  }
  6249  
  6250  // The composition status class.
  6251  type HostProfileManagerCompositionResultResultElementStatus string
  6252  
  6253  const (
  6254  	HostProfileManagerCompositionResultResultElementStatusSuccess = HostProfileManagerCompositionResultResultElementStatus("success")
  6255  	HostProfileManagerCompositionResultResultElementStatusError   = HostProfileManagerCompositionResultResultElementStatus("error")
  6256  )
  6257  
  6258  func (e HostProfileManagerCompositionResultResultElementStatus) Values() []HostProfileManagerCompositionResultResultElementStatus {
  6259  	return []HostProfileManagerCompositionResultResultElementStatus{
  6260  		HostProfileManagerCompositionResultResultElementStatusSuccess,
  6261  		HostProfileManagerCompositionResultResultElementStatusError,
  6262  	}
  6263  }
  6264  
  6265  func (e HostProfileManagerCompositionResultResultElementStatus) Strings() []string {
  6266  	return EnumValuesAsStrings(e.Values())
  6267  }
  6268  
  6269  func init() {
  6270  	t["HostProfileManagerCompositionResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElementStatus)(nil)).Elem()
  6271  }
  6272  
  6273  // The composition validation status class.
  6274  type HostProfileManagerCompositionValidationResultResultElementStatus string
  6275  
  6276  const (
  6277  	HostProfileManagerCompositionValidationResultResultElementStatusSuccess = HostProfileManagerCompositionValidationResultResultElementStatus("success")
  6278  	HostProfileManagerCompositionValidationResultResultElementStatusError   = HostProfileManagerCompositionValidationResultResultElementStatus("error")
  6279  )
  6280  
  6281  func (e HostProfileManagerCompositionValidationResultResultElementStatus) Values() []HostProfileManagerCompositionValidationResultResultElementStatus {
  6282  	return []HostProfileManagerCompositionValidationResultResultElementStatus{
  6283  		HostProfileManagerCompositionValidationResultResultElementStatusSuccess,
  6284  		HostProfileManagerCompositionValidationResultResultElementStatusError,
  6285  	}
  6286  }
  6287  
  6288  func (e HostProfileManagerCompositionValidationResultResultElementStatus) Strings() []string {
  6289  	return EnumValuesAsStrings(e.Values())
  6290  }
  6291  
  6292  func init() {
  6293  	t["HostProfileManagerCompositionValidationResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElementStatus)(nil)).Elem()
  6294  }
  6295  
  6296  // The `HostProfileManagerTaskListRequirement_enum` enum
  6297  // defines possible values for requirements when applying a `HostConfigSpec`
  6298  // object returned as part of a <code>generateConfigTaskList</code>
  6299  // operation.
  6300  type HostProfileManagerTaskListRequirement string
  6301  
  6302  const (
  6303  	// The ESXi host must be in maintenance mode before the task list can be
  6304  	// applied.
  6305  	HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired")
  6306  	// The ESXi host must be rebooted after the task list is applied in order
  6307  	// for the new settings in the `HostConfigSpec` to take
  6308  	// effect on the host.
  6309  	HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired")
  6310  )
  6311  
  6312  func (e HostProfileManagerTaskListRequirement) Values() []HostProfileManagerTaskListRequirement {
  6313  	return []HostProfileManagerTaskListRequirement{
  6314  		HostProfileManagerTaskListRequirementMaintenanceModeRequired,
  6315  		HostProfileManagerTaskListRequirementRebootRequired,
  6316  	}
  6317  }
  6318  
  6319  func (e HostProfileManagerTaskListRequirement) Strings() []string {
  6320  	return EnumValuesAsStrings(e.Values())
  6321  }
  6322  
  6323  func init() {
  6324  	t["HostProfileManagerTaskListRequirement"] = reflect.TypeOf((*HostProfileManagerTaskListRequirement)(nil)).Elem()
  6325  }
  6326  
  6327  // Types of host profile update.
  6328  type HostProfileValidationFailureInfoUpdateType string
  6329  
  6330  const (
  6331  	// Update host profile from host.
  6332  	HostProfileValidationFailureInfoUpdateTypeHostBased = HostProfileValidationFailureInfoUpdateType("HostBased")
  6333  	// Import host profile.
  6334  	HostProfileValidationFailureInfoUpdateTypeImport = HostProfileValidationFailureInfoUpdateType("Import")
  6335  	// Edit host profile.
  6336  	HostProfileValidationFailureInfoUpdateTypeEdit = HostProfileValidationFailureInfoUpdateType("Edit")
  6337  	// Compose setting from host profile.
  6338  	HostProfileValidationFailureInfoUpdateTypeCompose = HostProfileValidationFailureInfoUpdateType("Compose")
  6339  )
  6340  
  6341  func (e HostProfileValidationFailureInfoUpdateType) Values() []HostProfileValidationFailureInfoUpdateType {
  6342  	return []HostProfileValidationFailureInfoUpdateType{
  6343  		HostProfileValidationFailureInfoUpdateTypeHostBased,
  6344  		HostProfileValidationFailureInfoUpdateTypeImport,
  6345  		HostProfileValidationFailureInfoUpdateTypeEdit,
  6346  		HostProfileValidationFailureInfoUpdateTypeCompose,
  6347  	}
  6348  }
  6349  
  6350  func (e HostProfileValidationFailureInfoUpdateType) Strings() []string {
  6351  	return EnumValuesAsStrings(e.Values())
  6352  }
  6353  
  6354  func init() {
  6355  	t["HostProfileValidationFailureInfoUpdateType"] = reflect.TypeOf((*HostProfileValidationFailureInfoUpdateType)(nil)).Elem()
  6356  }
  6357  
  6358  // This defines validation state values for host profile.
  6359  type HostProfileValidationState string
  6360  
  6361  const (
  6362  	HostProfileValidationStateReady   = HostProfileValidationState("Ready")
  6363  	HostProfileValidationStateRunning = HostProfileValidationState("Running")
  6364  	HostProfileValidationStateFailed  = HostProfileValidationState("Failed")
  6365  )
  6366  
  6367  func (e HostProfileValidationState) Values() []HostProfileValidationState {
  6368  	return []HostProfileValidationState{
  6369  		HostProfileValidationStateReady,
  6370  		HostProfileValidationStateRunning,
  6371  		HostProfileValidationStateFailed,
  6372  	}
  6373  }
  6374  
  6375  func (e HostProfileValidationState) Strings() []string {
  6376  	return EnumValuesAsStrings(e.Values())
  6377  }
  6378  
  6379  func init() {
  6380  	t["HostProfileValidationState"] = reflect.TypeOf((*HostProfileValidationState)(nil)).Elem()
  6381  }
  6382  
  6383  // Deprecated from all vmodl version above @released("6.0").
  6384  //
  6385  // ProtocolEndpoint Type.
  6386  type HostProtocolEndpointPEType string
  6387  
  6388  const (
  6389  	HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block")
  6390  	HostProtocolEndpointPETypeNas   = HostProtocolEndpointPEType("nas")
  6391  )
  6392  
  6393  func (e HostProtocolEndpointPEType) Values() []HostProtocolEndpointPEType {
  6394  	return []HostProtocolEndpointPEType{
  6395  		HostProtocolEndpointPETypeBlock,
  6396  		HostProtocolEndpointPETypeNas,
  6397  	}
  6398  }
  6399  
  6400  func (e HostProtocolEndpointPEType) Strings() []string {
  6401  	return EnumValuesAsStrings(e.Values())
  6402  }
  6403  
  6404  func init() {
  6405  	t["HostProtocolEndpointPEType"] = reflect.TypeOf((*HostProtocolEndpointPEType)(nil)).Elem()
  6406  }
  6407  
  6408  // ProtocolEndpoint type.
  6409  type HostProtocolEndpointProtocolEndpointType string
  6410  
  6411  const (
  6412  	HostProtocolEndpointProtocolEndpointTypeScsi  = HostProtocolEndpointProtocolEndpointType("scsi")
  6413  	HostProtocolEndpointProtocolEndpointTypeNfs   = HostProtocolEndpointProtocolEndpointType("nfs")
  6414  	HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x")
  6415  )
  6416  
  6417  func (e HostProtocolEndpointProtocolEndpointType) Values() []HostProtocolEndpointProtocolEndpointType {
  6418  	return []HostProtocolEndpointProtocolEndpointType{
  6419  		HostProtocolEndpointProtocolEndpointTypeScsi,
  6420  		HostProtocolEndpointProtocolEndpointTypeNfs,
  6421  		HostProtocolEndpointProtocolEndpointTypeNfs4x,
  6422  	}
  6423  }
  6424  
  6425  func (e HostProtocolEndpointProtocolEndpointType) Strings() []string {
  6426  	return EnumValuesAsStrings(e.Values())
  6427  }
  6428  
  6429  func init() {
  6430  	t["HostProtocolEndpointProtocolEndpointType"] = reflect.TypeOf((*HostProtocolEndpointProtocolEndpointType)(nil)).Elem()
  6431  }
  6432  
  6433  type HostPtpConfigDeviceType string
  6434  
  6435  const (
  6436  	// No device.
  6437  	HostPtpConfigDeviceTypeNone = HostPtpConfigDeviceType("none")
  6438  	// Virtual network adapter.
  6439  	HostPtpConfigDeviceTypeVirtualNic = HostPtpConfigDeviceType("virtualNic")
  6440  	// A network PCI device capable of PTP hardware timestamping,
  6441  	// enabled for passthru.
  6442  	//
  6443  	// See `HostPciPassthruSystem`
  6444  	// for information on PCI devices enabled for passthru available
  6445  	// on the host.
  6446  	HostPtpConfigDeviceTypePciPassthruNic = HostPtpConfigDeviceType("pciPassthruNic")
  6447  )
  6448  
  6449  func (e HostPtpConfigDeviceType) Values() []HostPtpConfigDeviceType {
  6450  	return []HostPtpConfigDeviceType{
  6451  		HostPtpConfigDeviceTypeNone,
  6452  		HostPtpConfigDeviceTypeVirtualNic,
  6453  		HostPtpConfigDeviceTypePciPassthruNic,
  6454  	}
  6455  }
  6456  
  6457  func (e HostPtpConfigDeviceType) Strings() []string {
  6458  	return EnumValuesAsStrings(e.Values())
  6459  }
  6460  
  6461  func init() {
  6462  	t["HostPtpConfigDeviceType"] = reflect.TypeOf((*HostPtpConfigDeviceType)(nil)).Elem()
  6463  	minAPIVersionForType["HostPtpConfigDeviceType"] = "7.0.3.0"
  6464  }
  6465  
  6466  type HostQualifiedNameType string
  6467  
  6468  const (
  6469  	// The NVMe Qualified Name (NQN) of this host.
  6470  	HostQualifiedNameTypeNvmeQualifiedName = HostQualifiedNameType("nvmeQualifiedName")
  6471  	// The NVMe Qualified Name (NQN) of this host used by Vvol.
  6472  	HostQualifiedNameTypeVvolNvmeQualifiedName = HostQualifiedNameType("vvolNvmeQualifiedName")
  6473  )
  6474  
  6475  func (e HostQualifiedNameType) Values() []HostQualifiedNameType {
  6476  	return []HostQualifiedNameType{
  6477  		HostQualifiedNameTypeNvmeQualifiedName,
  6478  		HostQualifiedNameTypeVvolNvmeQualifiedName,
  6479  	}
  6480  }
  6481  
  6482  func (e HostQualifiedNameType) Strings() []string {
  6483  	return EnumValuesAsStrings(e.Values())
  6484  }
  6485  
  6486  func init() {
  6487  	t["HostQualifiedNameType"] = reflect.TypeOf((*HostQualifiedNameType)(nil)).Elem()
  6488  	minAPIVersionForType["HostQualifiedNameType"] = "7.0.3.0"
  6489  	minAPIVersionForEnumValue["HostQualifiedNameType"] = map[string]string{
  6490  		"vvolNvmeQualifiedName": "8.0.0.0",
  6491  	}
  6492  }
  6493  
  6494  // Possible RDMA device connection states.
  6495  //
  6496  // These correspond
  6497  // to possible link states as defined by the
  6498  // Infiniband (TM) specification.
  6499  //
  6500  // Further details can be found in:
  6501  //   - "Infiniband (TM) Architecture Specification, Volume 1"
  6502  //     section 7.2 "Link states"
  6503  type HostRdmaDeviceConnectionState string
  6504  
  6505  const (
  6506  	// Connection state unknown.
  6507  	//
  6508  	// Indicates that the driver returned
  6509  	// unexpected or no connection state information.
  6510  	HostRdmaDeviceConnectionStateUnknown = HostRdmaDeviceConnectionState("unknown")
  6511  	// Device down.
  6512  	//
  6513  	// Indicates that both the logical link and
  6514  	// underlying physical link are down. Packets
  6515  	// are discarded.
  6516  	HostRdmaDeviceConnectionStateDown = HostRdmaDeviceConnectionState("down")
  6517  	// Device initializing.
  6518  	//
  6519  	// Indicates that the physical link is up, but
  6520  	// the logical link is still initializing.
  6521  	// Only subnet management and flow control link
  6522  	// packets can be received and transmitted.
  6523  	HostRdmaDeviceConnectionStateInit = HostRdmaDeviceConnectionState("init")
  6524  	// Device armed.
  6525  	//
  6526  	// Indicates that the physical link is up, but
  6527  	// the logical link is not yet fully configured.
  6528  	// Packets can be received, but non-SMPs
  6529  	// (subnet management packets) to be sent are discarded.
  6530  	HostRdmaDeviceConnectionStateArmed = HostRdmaDeviceConnectionState("armed")
  6531  	// Device active.
  6532  	//
  6533  	// Indicates that both the physical and logical
  6534  	// link are up. Packets can be transmitted and received.
  6535  	HostRdmaDeviceConnectionStateActive = HostRdmaDeviceConnectionState("active")
  6536  	// Device in active defer state.
  6537  	//
  6538  	// Indicates that the logical link was active, but the
  6539  	// physical link has suffered a failure. If it recovers
  6540  	// within a timeout, the connection state will return to active,
  6541  	// otherwise it will move to down.
  6542  	HostRdmaDeviceConnectionStateActiveDefer = HostRdmaDeviceConnectionState("activeDefer")
  6543  )
  6544  
  6545  func (e HostRdmaDeviceConnectionState) Values() []HostRdmaDeviceConnectionState {
  6546  	return []HostRdmaDeviceConnectionState{
  6547  		HostRdmaDeviceConnectionStateUnknown,
  6548  		HostRdmaDeviceConnectionStateDown,
  6549  		HostRdmaDeviceConnectionStateInit,
  6550  		HostRdmaDeviceConnectionStateArmed,
  6551  		HostRdmaDeviceConnectionStateActive,
  6552  		HostRdmaDeviceConnectionStateActiveDefer,
  6553  	}
  6554  }
  6555  
  6556  func (e HostRdmaDeviceConnectionState) Strings() []string {
  6557  	return EnumValuesAsStrings(e.Values())
  6558  }
  6559  
  6560  func init() {
  6561  	t["HostRdmaDeviceConnectionState"] = reflect.TypeOf((*HostRdmaDeviceConnectionState)(nil)).Elem()
  6562  }
  6563  
  6564  // Deprecated as of vSphere API 6.0.
  6565  //
  6566  // Set of possible values for
  6567  // `HostCapability.replayUnsupportedReason` and
  6568  // `HostCapability.replayCompatibilityIssues`.
  6569  type HostReplayUnsupportedReason string
  6570  
  6571  const (
  6572  	HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct")
  6573  	HostReplayUnsupportedReasonIncompatibleCpu     = HostReplayUnsupportedReason("incompatibleCpu")
  6574  	HostReplayUnsupportedReasonHvDisabled          = HostReplayUnsupportedReason("hvDisabled")
  6575  	HostReplayUnsupportedReasonCpuidLimitSet       = HostReplayUnsupportedReason("cpuidLimitSet")
  6576  	HostReplayUnsupportedReasonOldBIOS             = HostReplayUnsupportedReason("oldBIOS")
  6577  	HostReplayUnsupportedReasonUnknown             = HostReplayUnsupportedReason("unknown")
  6578  )
  6579  
  6580  func (e HostReplayUnsupportedReason) Values() []HostReplayUnsupportedReason {
  6581  	return []HostReplayUnsupportedReason{
  6582  		HostReplayUnsupportedReasonIncompatibleProduct,
  6583  		HostReplayUnsupportedReasonIncompatibleCpu,
  6584  		HostReplayUnsupportedReasonHvDisabled,
  6585  		HostReplayUnsupportedReasonCpuidLimitSet,
  6586  		HostReplayUnsupportedReasonOldBIOS,
  6587  		HostReplayUnsupportedReasonUnknown,
  6588  	}
  6589  }
  6590  
  6591  func (e HostReplayUnsupportedReason) Strings() []string {
  6592  	return EnumValuesAsStrings(e.Values())
  6593  }
  6594  
  6595  func init() {
  6596  	t["HostReplayUnsupportedReason"] = reflect.TypeOf((*HostReplayUnsupportedReason)(nil)).Elem()
  6597  }
  6598  
  6599  // Define the instance state type
  6600  type HostRuntimeInfoNetStackInstanceRuntimeInfoState string
  6601  
  6602  const (
  6603  	// The instance is deleted or not running
  6604  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive")
  6605  	// The instance is running
  6606  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active")
  6607  	// The instance is in the progress of asynchronous deletion
  6608  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating")
  6609  	// Reserved state for future proofing asynchronous creation
  6610  	HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating")
  6611  )
  6612  
  6613  func (e HostRuntimeInfoNetStackInstanceRuntimeInfoState) Values() []HostRuntimeInfoNetStackInstanceRuntimeInfoState {
  6614  	return []HostRuntimeInfoNetStackInstanceRuntimeInfoState{
  6615  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive,
  6616  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive,
  6617  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating,
  6618  		HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating,
  6619  	}
  6620  }
  6621  
  6622  func (e HostRuntimeInfoNetStackInstanceRuntimeInfoState) Strings() []string {
  6623  	return EnumValuesAsStrings(e.Values())
  6624  }
  6625  
  6626  func init() {
  6627  	t["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfoState)(nil)).Elem()
  6628  }
  6629  
  6630  type HostRuntimeInfoStateEncryptionInfoProtectionMode string
  6631  
  6632  const (
  6633  	// Encryption is not protected.
  6634  	HostRuntimeInfoStateEncryptionInfoProtectionModeNone = HostRuntimeInfoStateEncryptionInfoProtectionMode("none")
  6635  	// Encryption is TPM protected.
  6636  	HostRuntimeInfoStateEncryptionInfoProtectionModeTpm = HostRuntimeInfoStateEncryptionInfoProtectionMode("tpm")
  6637  )
  6638  
  6639  func (e HostRuntimeInfoStateEncryptionInfoProtectionMode) Values() []HostRuntimeInfoStateEncryptionInfoProtectionMode {
  6640  	return []HostRuntimeInfoStateEncryptionInfoProtectionMode{
  6641  		HostRuntimeInfoStateEncryptionInfoProtectionModeNone,
  6642  		HostRuntimeInfoStateEncryptionInfoProtectionModeTpm,
  6643  	}
  6644  }
  6645  
  6646  func (e HostRuntimeInfoStateEncryptionInfoProtectionMode) Strings() []string {
  6647  	return EnumValuesAsStrings(e.Values())
  6648  }
  6649  
  6650  func init() {
  6651  	t["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfoProtectionMode)(nil)).Elem()
  6652  	minAPIVersionForType["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = "7.0.3.0"
  6653  }
  6654  
  6655  type HostRuntimeInfoStatelessNvdsMigrationState string
  6656  
  6657  const (
  6658  	// The host is ready for NVDS to VDS migration.
  6659  	HostRuntimeInfoStatelessNvdsMigrationStateReady = HostRuntimeInfoStatelessNvdsMigrationState("ready")
  6660  	// The host does not need NVDS to VDS migration
  6661  	HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded = HostRuntimeInfoStatelessNvdsMigrationState("notNeeded")
  6662  	// The host is disconnected from VC.
  6663  	HostRuntimeInfoStatelessNvdsMigrationStateUnknown = HostRuntimeInfoStatelessNvdsMigrationState("unknown")
  6664  )
  6665  
  6666  func (e HostRuntimeInfoStatelessNvdsMigrationState) Values() []HostRuntimeInfoStatelessNvdsMigrationState {
  6667  	return []HostRuntimeInfoStatelessNvdsMigrationState{
  6668  		HostRuntimeInfoStatelessNvdsMigrationStateReady,
  6669  		HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded,
  6670  		HostRuntimeInfoStatelessNvdsMigrationStateUnknown,
  6671  	}
  6672  }
  6673  
  6674  func (e HostRuntimeInfoStatelessNvdsMigrationState) Strings() []string {
  6675  	return EnumValuesAsStrings(e.Values())
  6676  }
  6677  
  6678  func init() {
  6679  	t["HostRuntimeInfoStatelessNvdsMigrationState"] = reflect.TypeOf((*HostRuntimeInfoStatelessNvdsMigrationState)(nil)).Elem()
  6680  	minAPIVersionForType["HostRuntimeInfoStatelessNvdsMigrationState"] = "7.0.2.0"
  6681  }
  6682  
  6683  // Set of valid service policy strings.
  6684  type HostServicePolicy string
  6685  
  6686  const (
  6687  	// Service should be started when the host starts up.
  6688  	HostServicePolicyOn = HostServicePolicy("on")
  6689  	// Service should run if and only if it has open firewall ports.
  6690  	HostServicePolicyAutomatic = HostServicePolicy("automatic")
  6691  	// Service should not be started when the host starts up.
  6692  	HostServicePolicyOff = HostServicePolicy("off")
  6693  )
  6694  
  6695  func (e HostServicePolicy) Values() []HostServicePolicy {
  6696  	return []HostServicePolicy{
  6697  		HostServicePolicyOn,
  6698  		HostServicePolicyAutomatic,
  6699  		HostServicePolicyOff,
  6700  	}
  6701  }
  6702  
  6703  func (e HostServicePolicy) Strings() []string {
  6704  	return EnumValuesAsStrings(e.Values())
  6705  }
  6706  
  6707  func init() {
  6708  	t["HostServicePolicy"] = reflect.TypeOf((*HostServicePolicy)(nil)).Elem()
  6709  }
  6710  
  6711  type HostSevInfoSevState string
  6712  
  6713  const (
  6714  	HostSevInfoSevStateUninitialized = HostSevInfoSevState("uninitialized")
  6715  	HostSevInfoSevStateInitialized   = HostSevInfoSevState("initialized")
  6716  	HostSevInfoSevStateWorking       = HostSevInfoSevState("working")
  6717  )
  6718  
  6719  func (e HostSevInfoSevState) Values() []HostSevInfoSevState {
  6720  	return []HostSevInfoSevState{
  6721  		HostSevInfoSevStateUninitialized,
  6722  		HostSevInfoSevStateInitialized,
  6723  		HostSevInfoSevStateWorking,
  6724  	}
  6725  }
  6726  
  6727  func (e HostSevInfoSevState) Strings() []string {
  6728  	return EnumValuesAsStrings(e.Values())
  6729  }
  6730  
  6731  func init() {
  6732  	t["HostSevInfoSevState"] = reflect.TypeOf((*HostSevInfoSevState)(nil)).Elem()
  6733  	minAPIVersionForType["HostSevInfoSevState"] = "7.0.1.0"
  6734  }
  6735  
  6736  // Flexible Launch Enclave (FLC) modes.
  6737  type HostSgxInfoFlcModes string
  6738  
  6739  const (
  6740  	// Flexible Launch Enclave (FLC) is not available on the host.
  6741  	//
  6742  	// The
  6743  	// "launch enclave MSRs" are initialized with Intel's public key hash.
  6744  	HostSgxInfoFlcModesOff = HostSgxInfoFlcModes("off")
  6745  	// FLC is available and the "launch Enclave MSRs" are locked and
  6746  	// initialized with the provided public key hash.
  6747  	HostSgxInfoFlcModesLocked = HostSgxInfoFlcModes("locked")
  6748  	// FLC is available and the "launch enclave MSRs" are writeable and
  6749  	// initialized with Intel's public key hash.
  6750  	HostSgxInfoFlcModesUnlocked = HostSgxInfoFlcModes("unlocked")
  6751  )
  6752  
  6753  func (e HostSgxInfoFlcModes) Values() []HostSgxInfoFlcModes {
  6754  	return []HostSgxInfoFlcModes{
  6755  		HostSgxInfoFlcModesOff,
  6756  		HostSgxInfoFlcModesLocked,
  6757  		HostSgxInfoFlcModesUnlocked,
  6758  	}
  6759  }
  6760  
  6761  func (e HostSgxInfoFlcModes) Strings() []string {
  6762  	return EnumValuesAsStrings(e.Values())
  6763  }
  6764  
  6765  func init() {
  6766  	t["HostSgxInfoFlcModes"] = reflect.TypeOf((*HostSgxInfoFlcModes)(nil)).Elem()
  6767  }
  6768  
  6769  // Host SGX states.
  6770  type HostSgxInfoSgxStates string
  6771  
  6772  const (
  6773  	// SGX is not present in the CPU.
  6774  	HostSgxInfoSgxStatesNotPresent = HostSgxInfoSgxStates("notPresent")
  6775  	// SGX is disabled in the BIOS.
  6776  	HostSgxInfoSgxStatesDisabledBIOS = HostSgxInfoSgxStates("disabledBIOS")
  6777  	// SGX is disabled because CPU erratum CFW101 is present.
  6778  	HostSgxInfoSgxStatesDisabledCFW101 = HostSgxInfoSgxStates("disabledCFW101")
  6779  	// SGX is disabled due to a mismatch in the SGX capabilities
  6780  	// exposed by different CPUs.
  6781  	HostSgxInfoSgxStatesDisabledCPUMismatch = HostSgxInfoSgxStates("disabledCPUMismatch")
  6782  	// SGX is disabled because the CPU does not support FLC.
  6783  	HostSgxInfoSgxStatesDisabledNoFLC = HostSgxInfoSgxStates("disabledNoFLC")
  6784  	// SGX is disabled because the host uses NUMA, which is not
  6785  	// supported with SGX.
  6786  	HostSgxInfoSgxStatesDisabledNUMAUnsup = HostSgxInfoSgxStates("disabledNUMAUnsup")
  6787  	// SGX is disabled because the host exceeds the maximum supported
  6788  	// number of EPC regions.
  6789  	HostSgxInfoSgxStatesDisabledMaxEPCRegs = HostSgxInfoSgxStates("disabledMaxEPCRegs")
  6790  	// SGX is enabled.
  6791  	HostSgxInfoSgxStatesEnabled = HostSgxInfoSgxStates("enabled")
  6792  )
  6793  
  6794  func (e HostSgxInfoSgxStates) Values() []HostSgxInfoSgxStates {
  6795  	return []HostSgxInfoSgxStates{
  6796  		HostSgxInfoSgxStatesNotPresent,
  6797  		HostSgxInfoSgxStatesDisabledBIOS,
  6798  		HostSgxInfoSgxStatesDisabledCFW101,
  6799  		HostSgxInfoSgxStatesDisabledCPUMismatch,
  6800  		HostSgxInfoSgxStatesDisabledNoFLC,
  6801  		HostSgxInfoSgxStatesDisabledNUMAUnsup,
  6802  		HostSgxInfoSgxStatesDisabledMaxEPCRegs,
  6803  		HostSgxInfoSgxStatesEnabled,
  6804  	}
  6805  }
  6806  
  6807  func (e HostSgxInfoSgxStates) Strings() []string {
  6808  	return EnumValuesAsStrings(e.Values())
  6809  }
  6810  
  6811  func init() {
  6812  	t["HostSgxInfoSgxStates"] = reflect.TypeOf((*HostSgxInfoSgxStates)(nil)).Elem()
  6813  }
  6814  
  6815  type HostSgxRegistrationInfoRegistrationStatus string
  6816  
  6817  const (
  6818  	// SGX is not available or the host is unisocket.
  6819  	HostSgxRegistrationInfoRegistrationStatusNotApplicable = HostSgxRegistrationInfoRegistrationStatus("notApplicable")
  6820  	// SGX registration is incomplete.
  6821  	HostSgxRegistrationInfoRegistrationStatusIncomplete = HostSgxRegistrationInfoRegistrationStatus("incomplete")
  6822  	// SGX registration is complete.
  6823  	HostSgxRegistrationInfoRegistrationStatusComplete = HostSgxRegistrationInfoRegistrationStatus("complete")
  6824  )
  6825  
  6826  func (e HostSgxRegistrationInfoRegistrationStatus) Values() []HostSgxRegistrationInfoRegistrationStatus {
  6827  	return []HostSgxRegistrationInfoRegistrationStatus{
  6828  		HostSgxRegistrationInfoRegistrationStatusNotApplicable,
  6829  		HostSgxRegistrationInfoRegistrationStatusIncomplete,
  6830  		HostSgxRegistrationInfoRegistrationStatusComplete,
  6831  	}
  6832  }
  6833  
  6834  func (e HostSgxRegistrationInfoRegistrationStatus) Strings() []string {
  6835  	return EnumValuesAsStrings(e.Values())
  6836  }
  6837  
  6838  func init() {
  6839  	t["HostSgxRegistrationInfoRegistrationStatus"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationStatus)(nil)).Elem()
  6840  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationStatus"] = "8.0.0.1"
  6841  }
  6842  
  6843  type HostSgxRegistrationInfoRegistrationType string
  6844  
  6845  const (
  6846  	// Indicates that an Initial Platform Establishment
  6847  	// or TCB recovery registration is pending.
  6848  	HostSgxRegistrationInfoRegistrationTypeManifest = HostSgxRegistrationInfoRegistrationType("manifest")
  6849  	// Indicates that new CPU package was added.
  6850  	HostSgxRegistrationInfoRegistrationTypeAddPackage = HostSgxRegistrationInfoRegistrationType("addPackage")
  6851  )
  6852  
  6853  func (e HostSgxRegistrationInfoRegistrationType) Values() []HostSgxRegistrationInfoRegistrationType {
  6854  	return []HostSgxRegistrationInfoRegistrationType{
  6855  		HostSgxRegistrationInfoRegistrationTypeManifest,
  6856  		HostSgxRegistrationInfoRegistrationTypeAddPackage,
  6857  	}
  6858  }
  6859  
  6860  func (e HostSgxRegistrationInfoRegistrationType) Strings() []string {
  6861  	return EnumValuesAsStrings(e.Values())
  6862  }
  6863  
  6864  func init() {
  6865  	t["HostSgxRegistrationInfoRegistrationType"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationType)(nil)).Elem()
  6866  	minAPIVersionForType["HostSgxRegistrationInfoRegistrationType"] = "8.0.0.1"
  6867  }
  6868  
  6869  // SNMP Agent supported capabilities enum
  6870  type HostSnmpAgentCapability string
  6871  
  6872  const (
  6873  	// Implements test notifications and allows agent configuration
  6874  	HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE")
  6875  	// Implements only test notification capability only
  6876  	HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS")
  6877  	// Allows for agent configuration only
  6878  	HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION")
  6879  )
  6880  
  6881  func (e HostSnmpAgentCapability) Values() []HostSnmpAgentCapability {
  6882  	return []HostSnmpAgentCapability{
  6883  		HostSnmpAgentCapabilityCOMPLETE,
  6884  		HostSnmpAgentCapabilityDIAGNOSTICS,
  6885  		HostSnmpAgentCapabilityCONFIGURATION,
  6886  	}
  6887  }
  6888  
  6889  func (e HostSnmpAgentCapability) Strings() []string {
  6890  	return EnumValuesAsStrings(e.Values())
  6891  }
  6892  
  6893  func init() {
  6894  	t["HostSnmpAgentCapability"] = reflect.TypeOf((*HostSnmpAgentCapability)(nil)).Elem()
  6895  }
  6896  
  6897  // Defines a host's standby mode.
  6898  type HostStandbyMode string
  6899  
  6900  const (
  6901  	// The host is entering standby mode.
  6902  	HostStandbyModeEntering = HostStandbyMode("entering")
  6903  	// The host is exiting standby mode.
  6904  	HostStandbyModeExiting = HostStandbyMode("exiting")
  6905  	// The host is in standby mode.
  6906  	HostStandbyModeIn = HostStandbyMode("in")
  6907  	// The host is not in standy mode, and it is not
  6908  	// in the process of entering/exiting standby mode.
  6909  	HostStandbyModeNone = HostStandbyMode("none")
  6910  )
  6911  
  6912  func (e HostStandbyMode) Values() []HostStandbyMode {
  6913  	return []HostStandbyMode{
  6914  		HostStandbyModeEntering,
  6915  		HostStandbyModeExiting,
  6916  		HostStandbyModeIn,
  6917  		HostStandbyModeNone,
  6918  	}
  6919  }
  6920  
  6921  func (e HostStandbyMode) Strings() []string {
  6922  	return EnumValuesAsStrings(e.Values())
  6923  }
  6924  
  6925  func init() {
  6926  	t["HostStandbyMode"] = reflect.TypeOf((*HostStandbyMode)(nil)).Elem()
  6927  }
  6928  
  6929  // The set of supported host bus adapter protocols.
  6930  type HostStorageProtocol string
  6931  
  6932  const (
  6933  	// The Small Computer System Interface (SCSI) protocol.
  6934  	HostStorageProtocolScsi = HostStorageProtocol("scsi")
  6935  	// The Non-Volatile Memory Express (NVME) protocol.
  6936  	HostStorageProtocolNvme = HostStorageProtocol("nvme")
  6937  )
  6938  
  6939  func (e HostStorageProtocol) Values() []HostStorageProtocol {
  6940  	return []HostStorageProtocol{
  6941  		HostStorageProtocolScsi,
  6942  		HostStorageProtocolNvme,
  6943  	}
  6944  }
  6945  
  6946  func (e HostStorageProtocol) Strings() []string {
  6947  	return EnumValuesAsStrings(e.Values())
  6948  }
  6949  
  6950  func init() {
  6951  	t["HostStorageProtocol"] = reflect.TypeOf((*HostStorageProtocol)(nil)).Elem()
  6952  }
  6953  
  6954  // Defines a host's connection state.
  6955  type HostSystemConnectionState string
  6956  
  6957  const (
  6958  	// Connected to the server.
  6959  	//
  6960  	// For ESX Server, this is always the setting.
  6961  	HostSystemConnectionStateConnected = HostSystemConnectionState("connected")
  6962  	// VirtualCenter is not receiving heartbeats from the server.
  6963  	//
  6964  	// The state
  6965  	// automatically changes to connected once heartbeats are received
  6966  	// again. This state is typically used to trigger an alarm on the host.
  6967  	HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding")
  6968  	// The user has explicitly taken the host down.
  6969  	//
  6970  	// VirtualCenter does not expect to
  6971  	// receive heartbeats from the host. The next time a heartbeat is received, the
  6972  	// host is moved to the connected state again and an event is logged.
  6973  	HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected")
  6974  )
  6975  
  6976  func (e HostSystemConnectionState) Values() []HostSystemConnectionState {
  6977  	return []HostSystemConnectionState{
  6978  		HostSystemConnectionStateConnected,
  6979  		HostSystemConnectionStateNotResponding,
  6980  		HostSystemConnectionStateDisconnected,
  6981  	}
  6982  }
  6983  
  6984  func (e HostSystemConnectionState) Strings() []string {
  6985  	return EnumValuesAsStrings(e.Values())
  6986  }
  6987  
  6988  func init() {
  6989  	t["HostSystemConnectionState"] = reflect.TypeOf((*HostSystemConnectionState)(nil)).Elem()
  6990  }
  6991  
  6992  type HostSystemIdentificationInfoIdentifier string
  6993  
  6994  const (
  6995  	// The Asset tag of the system
  6996  	HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag")
  6997  	// The Service tag of the system
  6998  	HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag")
  6999  	// OEM specific string
  7000  	HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString")
  7001  	// The Enclosure Serial Number tag of the system
  7002  	HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag = HostSystemIdentificationInfoIdentifier("EnclosureSerialNumberTag")
  7003  	// The Serial Number tag of the system
  7004  	HostSystemIdentificationInfoIdentifierSerialNumberTag = HostSystemIdentificationInfoIdentifier("SerialNumberTag")
  7005  )
  7006  
  7007  func (e HostSystemIdentificationInfoIdentifier) Values() []HostSystemIdentificationInfoIdentifier {
  7008  	return []HostSystemIdentificationInfoIdentifier{
  7009  		HostSystemIdentificationInfoIdentifierAssetTag,
  7010  		HostSystemIdentificationInfoIdentifierServiceTag,
  7011  		HostSystemIdentificationInfoIdentifierOemSpecificString,
  7012  		HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag,
  7013  		HostSystemIdentificationInfoIdentifierSerialNumberTag,
  7014  	}
  7015  }
  7016  
  7017  func (e HostSystemIdentificationInfoIdentifier) Strings() []string {
  7018  	return EnumValuesAsStrings(e.Values())
  7019  }
  7020  
  7021  func init() {
  7022  	t["HostSystemIdentificationInfoIdentifier"] = reflect.TypeOf((*HostSystemIdentificationInfoIdentifier)(nil)).Elem()
  7023  }
  7024  
  7025  // Defines a host's power state.
  7026  type HostSystemPowerState string
  7027  
  7028  const (
  7029  	// The host is powered on.
  7030  	//
  7031  	// A host that is entering standby mode
  7032  	// `entering` is also in this state.
  7033  	HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn")
  7034  	// The host was specifically powered off by the user through
  7035  	// VirtualCenter.
  7036  	//
  7037  	// This state is not a cetain state, because
  7038  	// after VirtualCenter issues the command to power off the host,
  7039  	// the host might crash, or kill all the processes but fail to
  7040  	// power off.
  7041  	HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff")
  7042  	// The host was specifically put in standby mode, either
  7043  	// explicitly by the user, or automatically by DPM.
  7044  	//
  7045  	// This state
  7046  	// is not a cetain state, because after VirtualCenter issues the
  7047  	// command to put the host in standby state, the host might
  7048  	// crash, or kill all the processes but fail to power off. A host
  7049  	// that is exiting standby mode `exiting`
  7050  	// is also in this state.
  7051  	HostSystemPowerStateStandBy = HostSystemPowerState("standBy")
  7052  	// If the host is disconnected, or notResponding, we cannot
  7053  	// possibly have knowledge of its power state.
  7054  	//
  7055  	// Hence, the host
  7056  	// is marked as unknown.
  7057  	HostSystemPowerStateUnknown = HostSystemPowerState("unknown")
  7058  )
  7059  
  7060  func (e HostSystemPowerState) Values() []HostSystemPowerState {
  7061  	return []HostSystemPowerState{
  7062  		HostSystemPowerStatePoweredOn,
  7063  		HostSystemPowerStatePoweredOff,
  7064  		HostSystemPowerStateStandBy,
  7065  		HostSystemPowerStateUnknown,
  7066  	}
  7067  }
  7068  
  7069  func (e HostSystemPowerState) Strings() []string {
  7070  	return EnumValuesAsStrings(e.Values())
  7071  }
  7072  
  7073  func init() {
  7074  	t["HostSystemPowerState"] = reflect.TypeOf((*HostSystemPowerState)(nil)).Elem()
  7075  }
  7076  
  7077  // Valid state for host profile remediation.
  7078  type HostSystemRemediationStateState string
  7079  
  7080  const (
  7081  	// Before precheck remediation and remediation.
  7082  	HostSystemRemediationStateStateRemediationReady = HostSystemRemediationStateState("remediationReady")
  7083  	// Preecheck remediation is running.
  7084  	HostSystemRemediationStateStatePrecheckRemediationRunning = HostSystemRemediationStateState("precheckRemediationRunning")
  7085  	// Preecheck remediation succeeded.
  7086  	HostSystemRemediationStateStatePrecheckRemediationComplete = HostSystemRemediationStateState("precheckRemediationComplete")
  7087  	// Preecheck remediation failed.
  7088  	HostSystemRemediationStateStatePrecheckRemediationFailed = HostSystemRemediationStateState("precheckRemediationFailed")
  7089  	// Remediation is running.
  7090  	HostSystemRemediationStateStateRemediationRunning = HostSystemRemediationStateState("remediationRunning")
  7091  	// Remediation failed.
  7092  	HostSystemRemediationStateStateRemediationFailed = HostSystemRemediationStateState("remediationFailed")
  7093  )
  7094  
  7095  func (e HostSystemRemediationStateState) Values() []HostSystemRemediationStateState {
  7096  	return []HostSystemRemediationStateState{
  7097  		HostSystemRemediationStateStateRemediationReady,
  7098  		HostSystemRemediationStateStatePrecheckRemediationRunning,
  7099  		HostSystemRemediationStateStatePrecheckRemediationComplete,
  7100  		HostSystemRemediationStateStatePrecheckRemediationFailed,
  7101  		HostSystemRemediationStateStateRemediationRunning,
  7102  		HostSystemRemediationStateStateRemediationFailed,
  7103  	}
  7104  }
  7105  
  7106  func (e HostSystemRemediationStateState) Strings() []string {
  7107  	return EnumValuesAsStrings(e.Values())
  7108  }
  7109  
  7110  func init() {
  7111  	t["HostSystemRemediationStateState"] = reflect.TypeOf((*HostSystemRemediationStateState)(nil)).Elem()
  7112  }
  7113  
  7114  // Status constants of TPM attestation.
  7115  type HostTpmAttestationInfoAcceptanceStatus string
  7116  
  7117  const (
  7118  	// TPM attestation failed.
  7119  	HostTpmAttestationInfoAcceptanceStatusNotAccepted = HostTpmAttestationInfoAcceptanceStatus("notAccepted")
  7120  	// TPM attestation succeeded.
  7121  	HostTpmAttestationInfoAcceptanceStatusAccepted = HostTpmAttestationInfoAcceptanceStatus("accepted")
  7122  )
  7123  
  7124  func (e HostTpmAttestationInfoAcceptanceStatus) Values() []HostTpmAttestationInfoAcceptanceStatus {
  7125  	return []HostTpmAttestationInfoAcceptanceStatus{
  7126  		HostTpmAttestationInfoAcceptanceStatusNotAccepted,
  7127  		HostTpmAttestationInfoAcceptanceStatusAccepted,
  7128  	}
  7129  }
  7130  
  7131  func (e HostTpmAttestationInfoAcceptanceStatus) Strings() []string {
  7132  	return EnumValuesAsStrings(e.Values())
  7133  }
  7134  
  7135  func init() {
  7136  	t["HostTpmAttestationInfoAcceptanceStatus"] = reflect.TypeOf((*HostTpmAttestationInfoAcceptanceStatus)(nil)).Elem()
  7137  }
  7138  
  7139  type HostTrustAuthorityAttestationInfoAttestationStatus string
  7140  
  7141  const (
  7142  	// Attestation succeeded.
  7143  	HostTrustAuthorityAttestationInfoAttestationStatusAttested = HostTrustAuthorityAttestationInfoAttestationStatus("attested")
  7144  	// Attestation failed.
  7145  	HostTrustAuthorityAttestationInfoAttestationStatusNotAttested = HostTrustAuthorityAttestationInfoAttestationStatus("notAttested")
  7146  	// Attestation status is unknown.
  7147  	HostTrustAuthorityAttestationInfoAttestationStatusUnknown = HostTrustAuthorityAttestationInfoAttestationStatus("unknown")
  7148  )
  7149  
  7150  func (e HostTrustAuthorityAttestationInfoAttestationStatus) Values() []HostTrustAuthorityAttestationInfoAttestationStatus {
  7151  	return []HostTrustAuthorityAttestationInfoAttestationStatus{
  7152  		HostTrustAuthorityAttestationInfoAttestationStatusAttested,
  7153  		HostTrustAuthorityAttestationInfoAttestationStatusNotAttested,
  7154  		HostTrustAuthorityAttestationInfoAttestationStatusUnknown,
  7155  	}
  7156  }
  7157  
  7158  func (e HostTrustAuthorityAttestationInfoAttestationStatus) Strings() []string {
  7159  	return EnumValuesAsStrings(e.Values())
  7160  }
  7161  
  7162  func init() {
  7163  	t["HostTrustAuthorityAttestationInfoAttestationStatus"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfoAttestationStatus)(nil)).Elem()
  7164  	minAPIVersionForType["HostTrustAuthorityAttestationInfoAttestationStatus"] = "7.0.1.0"
  7165  }
  7166  
  7167  // Reasons for identifying the disk extent
  7168  // as copy of VMFS volume extent.
  7169  type HostUnresolvedVmfsExtentUnresolvedReason string
  7170  
  7171  const (
  7172  	// The VMFS detected 'diskid' does not match with
  7173  	// LVM detected 'diskId'
  7174  	HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch")
  7175  	// VMFS 'uuid' does not match
  7176  	HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict")
  7177  )
  7178  
  7179  func (e HostUnresolvedVmfsExtentUnresolvedReason) Values() []HostUnresolvedVmfsExtentUnresolvedReason {
  7180  	return []HostUnresolvedVmfsExtentUnresolvedReason{
  7181  		HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch,
  7182  		HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict,
  7183  	}
  7184  }
  7185  
  7186  func (e HostUnresolvedVmfsExtentUnresolvedReason) Strings() []string {
  7187  	return EnumValuesAsStrings(e.Values())
  7188  }
  7189  
  7190  func init() {
  7191  	t["HostUnresolvedVmfsExtentUnresolvedReason"] = reflect.TypeOf((*HostUnresolvedVmfsExtentUnresolvedReason)(nil)).Elem()
  7192  }
  7193  
  7194  type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string
  7195  
  7196  const (
  7197  	// Resignature the Unresolved VMFS volume.
  7198  	//
  7199  	// In the event the volume to be resignatured contains multiple
  7200  	// extents but only a single copy of each extent exists, only the
  7201  	// head extent needs to be specified.
  7202  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature")
  7203  	// Keep the original Uuid of the VMFS volume and mount it
  7204  	//
  7205  	// In the event the volume to be force mounted contains multiple
  7206  	// extents but only a single copy of each extent exists, only the
  7207  	// head extent needs to be specified.
  7208  	HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount")
  7209  )
  7210  
  7211  func (e HostUnresolvedVmfsResolutionSpecVmfsUuidResolution) Values() []HostUnresolvedVmfsResolutionSpecVmfsUuidResolution {
  7212  	return []HostUnresolvedVmfsResolutionSpecVmfsUuidResolution{
  7213  		HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature,
  7214  		HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount,
  7215  	}
  7216  }
  7217  
  7218  func (e HostUnresolvedVmfsResolutionSpecVmfsUuidResolution) Strings() []string {
  7219  	return EnumValuesAsStrings(e.Values())
  7220  }
  7221  
  7222  func init() {
  7223  	t["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpecVmfsUuidResolution)(nil)).Elem()
  7224  }
  7225  
  7226  type HostVirtualNicManagerNicType string
  7227  
  7228  const (
  7229  	// The VirtualNic is used for VMotion.
  7230  	HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion")
  7231  	// The VirtualNic is used for Fault Tolerance logging.
  7232  	HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging")
  7233  	// The VirtualNic is used for vSphere Replication LWD traffic
  7234  	// (i.e From the primary host to the VR server).
  7235  	HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication")
  7236  	// The VirtualNic is used for vSphere Replication NFC traffic (i.e.
  7237  	//
  7238  	// From
  7239  	// the VR server to the secondary host).
  7240  	HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC")
  7241  	// The VirtualNic is used for management network traffic .
  7242  	//
  7243  	// This nicType is available only when the system does not
  7244  	// support service console adapters.
  7245  	//
  7246  	// See also `HostNetCapabilities.usesServiceConsoleNic`.
  7247  	HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management")
  7248  	// The VirtualNic is used for Virtual SAN data traffic.
  7249  	//
  7250  	// To enable or disable a VirtualNic for VSAN networking,
  7251  	// use `HostVsanSystem.UpdateVsan_Task`.
  7252  	//
  7253  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`, `ComputeResource.ReconfigureComputeResource_Task`.
  7254  	HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan")
  7255  	// The VirtualNic is used for vSphere provisioning NFC traffic
  7256  	// (i.e.
  7257  	//
  7258  	// the NFC traffic between ESX hosts as a part of a VC initiated
  7259  	// provisioning operations like cold-migrations, clones, snapshot and
  7260  	// cold data in hot migration).
  7261  	HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning")
  7262  	// The VirtualNic is used for Virtual SAN witness traffic.
  7263  	//
  7264  	// Witness traffic vmknic is required for Virtual SAN stretched cluster,
  7265  	// to help on communication between Virtual SAN data node and witness
  7266  	// node.
  7267  	// To enable or disable a VirtualNic for Virtual SAN networking,
  7268  	// use `HostVsanSystem.UpdateVsan_Task`.
  7269  	//
  7270  	// See also `HostVsanSystem`, `HostVsanSystem.UpdateVsan_Task`.
  7271  	HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness")
  7272  	// The VirtualNic is used for vSphere backup NFC traffic
  7273  	// (i.e.
  7274  	//
  7275  	// the NFC traffic between backup appliance and ESX hosts).
  7276  	HostVirtualNicManagerNicTypeVSphereBackupNFC = HostVirtualNicManagerNicType("vSphereBackupNFC")
  7277  	// The VirtualNic is used for Precision Time Protocol (PTP).
  7278  	HostVirtualNicManagerNicTypePtp = HostVirtualNicManagerNicType("ptp")
  7279  	// The VirtualNic is used for NVMe over TCP traffic.
  7280  	HostVirtualNicManagerNicTypeNvmeTcp = HostVirtualNicManagerNicType("nvmeTcp")
  7281  	// The VirtualNic is used for NVMe over RDMA traffic.
  7282  	HostVirtualNicManagerNicTypeNvmeRdma = HostVirtualNicManagerNicType("nvmeRdma")
  7283  )
  7284  
  7285  func (e HostVirtualNicManagerNicType) Values() []HostVirtualNicManagerNicType {
  7286  	return []HostVirtualNicManagerNicType{
  7287  		HostVirtualNicManagerNicTypeVmotion,
  7288  		HostVirtualNicManagerNicTypeFaultToleranceLogging,
  7289  		HostVirtualNicManagerNicTypeVSphereReplication,
  7290  		HostVirtualNicManagerNicTypeVSphereReplicationNFC,
  7291  		HostVirtualNicManagerNicTypeManagement,
  7292  		HostVirtualNicManagerNicTypeVsan,
  7293  		HostVirtualNicManagerNicTypeVSphereProvisioning,
  7294  		HostVirtualNicManagerNicTypeVsanWitness,
  7295  		HostVirtualNicManagerNicTypeVSphereBackupNFC,
  7296  		HostVirtualNicManagerNicTypePtp,
  7297  		HostVirtualNicManagerNicTypeNvmeTcp,
  7298  		HostVirtualNicManagerNicTypeNvmeRdma,
  7299  	}
  7300  }
  7301  
  7302  func (e HostVirtualNicManagerNicType) Strings() []string {
  7303  	return EnumValuesAsStrings(e.Values())
  7304  }
  7305  
  7306  func init() {
  7307  	t["HostVirtualNicManagerNicType"] = reflect.TypeOf((*HostVirtualNicManagerNicType)(nil)).Elem()
  7308  	minAPIVersionForEnumValue["HostVirtualNicManagerNicType"] = map[string]string{
  7309  		"nvmeTcp":  "7.0.3.0",
  7310  		"nvmeRdma": "7.0.3.0",
  7311  	}
  7312  }
  7313  
  7314  // Set of possible values for mode field in AccessSpec.
  7315  type HostVmciAccessManagerMode string
  7316  
  7317  const (
  7318  	// Grant access to specified services in addition to existing services.
  7319  	HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant")
  7320  	// Replace existing services with specified services.
  7321  	HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace")
  7322  	// Revoke the specified services.
  7323  	HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke")
  7324  )
  7325  
  7326  func (e HostVmciAccessManagerMode) Values() []HostVmciAccessManagerMode {
  7327  	return []HostVmciAccessManagerMode{
  7328  		HostVmciAccessManagerModeGrant,
  7329  		HostVmciAccessManagerModeReplace,
  7330  		HostVmciAccessManagerModeRevoke,
  7331  	}
  7332  }
  7333  
  7334  func (e HostVmciAccessManagerMode) Strings() []string {
  7335  	return EnumValuesAsStrings(e.Values())
  7336  }
  7337  
  7338  func init() {
  7339  	t["HostVmciAccessManagerMode"] = reflect.TypeOf((*HostVmciAccessManagerMode)(nil)).Elem()
  7340  }
  7341  
  7342  // VMFS unmap bandwidth policy.
  7343  //
  7344  // VMFS unmap reclaims unused storage space.
  7345  // This specifies the bandwidth policy option of unmaps.
  7346  type HostVmfsVolumeUnmapBandwidthPolicy string
  7347  
  7348  const (
  7349  	// Unmap bandwidth is a fixed value.
  7350  	HostVmfsVolumeUnmapBandwidthPolicyFixed = HostVmfsVolumeUnmapBandwidthPolicy("fixed")
  7351  	// Unmaps bandwidth is a dynamic value with lower and upper limits
  7352  	HostVmfsVolumeUnmapBandwidthPolicyDynamic = HostVmfsVolumeUnmapBandwidthPolicy("dynamic")
  7353  )
  7354  
  7355  func (e HostVmfsVolumeUnmapBandwidthPolicy) Values() []HostVmfsVolumeUnmapBandwidthPolicy {
  7356  	return []HostVmfsVolumeUnmapBandwidthPolicy{
  7357  		HostVmfsVolumeUnmapBandwidthPolicyFixed,
  7358  		HostVmfsVolumeUnmapBandwidthPolicyDynamic,
  7359  	}
  7360  }
  7361  
  7362  func (e HostVmfsVolumeUnmapBandwidthPolicy) Strings() []string {
  7363  	return EnumValuesAsStrings(e.Values())
  7364  }
  7365  
  7366  func init() {
  7367  	t["HostVmfsVolumeUnmapBandwidthPolicy"] = reflect.TypeOf((*HostVmfsVolumeUnmapBandwidthPolicy)(nil)).Elem()
  7368  }
  7369  
  7370  // VMFS unmap priority.
  7371  //
  7372  // VMFS unmap reclaims unused storage space.
  7373  // This specifies the processing rate of unmaps.
  7374  type HostVmfsVolumeUnmapPriority string
  7375  
  7376  const (
  7377  	// Unmap is disabled.
  7378  	HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none")
  7379  	// Unmaps are processed at low rate.
  7380  	HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low")
  7381  )
  7382  
  7383  func (e HostVmfsVolumeUnmapPriority) Values() []HostVmfsVolumeUnmapPriority {
  7384  	return []HostVmfsVolumeUnmapPriority{
  7385  		HostVmfsVolumeUnmapPriorityNone,
  7386  		HostVmfsVolumeUnmapPriorityLow,
  7387  	}
  7388  }
  7389  
  7390  func (e HostVmfsVolumeUnmapPriority) Strings() []string {
  7391  	return EnumValuesAsStrings(e.Values())
  7392  }
  7393  
  7394  func init() {
  7395  	t["HostVmfsVolumeUnmapPriority"] = reflect.TypeOf((*HostVmfsVolumeUnmapPriority)(nil)).Elem()
  7396  }
  7397  
  7398  // List of supported algorithms for checksum calculation.
  7399  type HttpNfcLeaseManifestEntryChecksumType string
  7400  
  7401  const (
  7402  	HttpNfcLeaseManifestEntryChecksumTypeSha1   = HttpNfcLeaseManifestEntryChecksumType("sha1")
  7403  	HttpNfcLeaseManifestEntryChecksumTypeSha256 = HttpNfcLeaseManifestEntryChecksumType("sha256")
  7404  )
  7405  
  7406  func (e HttpNfcLeaseManifestEntryChecksumType) Values() []HttpNfcLeaseManifestEntryChecksumType {
  7407  	return []HttpNfcLeaseManifestEntryChecksumType{
  7408  		HttpNfcLeaseManifestEntryChecksumTypeSha1,
  7409  		HttpNfcLeaseManifestEntryChecksumTypeSha256,
  7410  	}
  7411  }
  7412  
  7413  func (e HttpNfcLeaseManifestEntryChecksumType) Strings() []string {
  7414  	return EnumValuesAsStrings(e.Values())
  7415  }
  7416  
  7417  func init() {
  7418  	t["HttpNfcLeaseManifestEntryChecksumType"] = reflect.TypeOf((*HttpNfcLeaseManifestEntryChecksumType)(nil)).Elem()
  7419  }
  7420  
  7421  // List of supported modes by HttpNfcLease
  7422  type HttpNfcLeaseMode string
  7423  
  7424  const (
  7425  	// Client pushes or downloads individual files from/to
  7426  	// each host/url provided by this lease in `HttpNfcLease.info`
  7427  	HttpNfcLeaseModePushOrGet = HttpNfcLeaseMode("pushOrGet")
  7428  	// Mode where hosts itself pull files from source URLs.
  7429  	//
  7430  	// See `HttpNfcLease.HttpNfcLeasePullFromUrls_Task`
  7431  	HttpNfcLeaseModePull = HttpNfcLeaseMode("pull")
  7432  )
  7433  
  7434  func (e HttpNfcLeaseMode) Values() []HttpNfcLeaseMode {
  7435  	return []HttpNfcLeaseMode{
  7436  		HttpNfcLeaseModePushOrGet,
  7437  		HttpNfcLeaseModePull,
  7438  	}
  7439  }
  7440  
  7441  func (e HttpNfcLeaseMode) Strings() []string {
  7442  	return EnumValuesAsStrings(e.Values())
  7443  }
  7444  
  7445  func init() {
  7446  	t["HttpNfcLeaseMode"] = reflect.TypeOf((*HttpNfcLeaseMode)(nil)).Elem()
  7447  }
  7448  
  7449  // List of possible states of a lease.
  7450  type HttpNfcLeaseState string
  7451  
  7452  const (
  7453  	// When the lease is being initialized.
  7454  	HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing")
  7455  	// When the lease is ready and disks may be transferred.
  7456  	HttpNfcLeaseStateReady = HttpNfcLeaseState("ready")
  7457  	// When the import/export session is completed, and the lease
  7458  	// is no longer held.
  7459  	HttpNfcLeaseStateDone = HttpNfcLeaseState("done")
  7460  	// When an error has occurred.
  7461  	HttpNfcLeaseStateError = HttpNfcLeaseState("error")
  7462  )
  7463  
  7464  func (e HttpNfcLeaseState) Values() []HttpNfcLeaseState {
  7465  	return []HttpNfcLeaseState{
  7466  		HttpNfcLeaseStateInitializing,
  7467  		HttpNfcLeaseStateReady,
  7468  		HttpNfcLeaseStateDone,
  7469  		HttpNfcLeaseStateError,
  7470  	}
  7471  }
  7472  
  7473  func (e HttpNfcLeaseState) Strings() []string {
  7474  	return EnumValuesAsStrings(e.Values())
  7475  }
  7476  
  7477  func init() {
  7478  	t["HttpNfcLeaseState"] = reflect.TypeOf((*HttpNfcLeaseState)(nil)).Elem()
  7479  }
  7480  
  7481  type IncompatibleHostForVmReplicationIncompatibleReason string
  7482  
  7483  const (
  7484  	// Host does not support the RPO configured for VM replication.
  7485  	IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo")
  7486  	// Host does not support network compression configured for VM
  7487  	// replication.
  7488  	IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression")
  7489  )
  7490  
  7491  func (e IncompatibleHostForVmReplicationIncompatibleReason) Values() []IncompatibleHostForVmReplicationIncompatibleReason {
  7492  	return []IncompatibleHostForVmReplicationIncompatibleReason{
  7493  		IncompatibleHostForVmReplicationIncompatibleReasonRpo,
  7494  		IncompatibleHostForVmReplicationIncompatibleReasonNetCompression,
  7495  	}
  7496  }
  7497  
  7498  func (e IncompatibleHostForVmReplicationIncompatibleReason) Strings() []string {
  7499  	return EnumValuesAsStrings(e.Values())
  7500  }
  7501  
  7502  func init() {
  7503  	t["IncompatibleHostForVmReplicationIncompatibleReason"] = reflect.TypeOf((*IncompatibleHostForVmReplicationIncompatibleReason)(nil)).Elem()
  7504  }
  7505  
  7506  // The available iSNS discovery methods.
  7507  type InternetScsiSnsDiscoveryMethod string
  7508  
  7509  const (
  7510  	InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic")
  7511  	InternetScsiSnsDiscoveryMethodIsnsDhcp   = InternetScsiSnsDiscoveryMethod("isnsDhcp")
  7512  	InternetScsiSnsDiscoveryMethodIsnsSlp    = InternetScsiSnsDiscoveryMethod("isnsSlp")
  7513  )
  7514  
  7515  func (e InternetScsiSnsDiscoveryMethod) Values() []InternetScsiSnsDiscoveryMethod {
  7516  	return []InternetScsiSnsDiscoveryMethod{
  7517  		InternetScsiSnsDiscoveryMethodIsnsStatic,
  7518  		InternetScsiSnsDiscoveryMethodIsnsDhcp,
  7519  		InternetScsiSnsDiscoveryMethodIsnsSlp,
  7520  	}
  7521  }
  7522  
  7523  func (e InternetScsiSnsDiscoveryMethod) Strings() []string {
  7524  	return EnumValuesAsStrings(e.Values())
  7525  }
  7526  
  7527  func init() {
  7528  	t["InternetScsiSnsDiscoveryMethod"] = reflect.TypeOf((*InternetScsiSnsDiscoveryMethod)(nil)).Elem()
  7529  }
  7530  
  7531  type InvalidDasConfigArgumentEntryForInvalidArgument string
  7532  
  7533  const (
  7534  	// Policies for admission control
  7535  	InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl")
  7536  	// User-specified heartbeat datastores
  7537  	InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs")
  7538  	// VM override
  7539  	InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig")
  7540  )
  7541  
  7542  func (e InvalidDasConfigArgumentEntryForInvalidArgument) Values() []InvalidDasConfigArgumentEntryForInvalidArgument {
  7543  	return []InvalidDasConfigArgumentEntryForInvalidArgument{
  7544  		InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl,
  7545  		InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs,
  7546  		InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig,
  7547  	}
  7548  }
  7549  
  7550  func (e InvalidDasConfigArgumentEntryForInvalidArgument) Strings() []string {
  7551  	return EnumValuesAsStrings(e.Values())
  7552  }
  7553  
  7554  func init() {
  7555  	t["InvalidDasConfigArgumentEntryForInvalidArgument"] = reflect.TypeOf((*InvalidDasConfigArgumentEntryForInvalidArgument)(nil)).Elem()
  7556  }
  7557  
  7558  type InvalidProfileReferenceHostReason string
  7559  
  7560  const (
  7561  	// The associated host and profile version are incompatible.
  7562  	InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion")
  7563  	// There is no reference host associated with the profile.
  7564  	InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost")
  7565  )
  7566  
  7567  func (e InvalidProfileReferenceHostReason) Values() []InvalidProfileReferenceHostReason {
  7568  	return []InvalidProfileReferenceHostReason{
  7569  		InvalidProfileReferenceHostReasonIncompatibleVersion,
  7570  		InvalidProfileReferenceHostReasonMissingReferenceHost,
  7571  	}
  7572  }
  7573  
  7574  func (e InvalidProfileReferenceHostReason) Strings() []string {
  7575  	return EnumValuesAsStrings(e.Values())
  7576  }
  7577  
  7578  func init() {
  7579  	t["InvalidProfileReferenceHostReason"] = reflect.TypeOf((*InvalidProfileReferenceHostReason)(nil)).Elem()
  7580  }
  7581  
  7582  // Defines the type of operation for an IO Filter.
  7583  type IoFilterOperation string
  7584  
  7585  const (
  7586  	// Install an IO Filter.
  7587  	IoFilterOperationInstall = IoFilterOperation("install")
  7588  	// Uninstall an IO Filter.
  7589  	IoFilterOperationUninstall = IoFilterOperation("uninstall")
  7590  	// Upgrade an IO Filter.
  7591  	IoFilterOperationUpgrade = IoFilterOperation("upgrade")
  7592  )
  7593  
  7594  func (e IoFilterOperation) Values() []IoFilterOperation {
  7595  	return []IoFilterOperation{
  7596  		IoFilterOperationInstall,
  7597  		IoFilterOperationUninstall,
  7598  		IoFilterOperationUpgrade,
  7599  	}
  7600  }
  7601  
  7602  func (e IoFilterOperation) Strings() []string {
  7603  	return EnumValuesAsStrings(e.Values())
  7604  }
  7605  
  7606  func init() {
  7607  	t["IoFilterOperation"] = reflect.TypeOf((*IoFilterOperation)(nil)).Elem()
  7608  }
  7609  
  7610  // Defines the type of an IO Filter.
  7611  type IoFilterType string
  7612  
  7613  const (
  7614  	// Cache.
  7615  	IoFilterTypeCache = IoFilterType("cache")
  7616  	// Replication.
  7617  	IoFilterTypeReplication = IoFilterType("replication")
  7618  	// Encryption.
  7619  	IoFilterTypeEncryption = IoFilterType("encryption")
  7620  	// Compression.
  7621  	IoFilterTypeCompression = IoFilterType("compression")
  7622  	// Inspection.
  7623  	IoFilterTypeInspection = IoFilterType("inspection")
  7624  	// Datastore I/O Control.
  7625  	IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl")
  7626  	// Data Provider.
  7627  	IoFilterTypeDataProvider = IoFilterType("dataProvider")
  7628  	// Lightweight Data Capture.
  7629  	IoFilterTypeDataCapture = IoFilterType("dataCapture")
  7630  )
  7631  
  7632  func (e IoFilterType) Values() []IoFilterType {
  7633  	return []IoFilterType{
  7634  		IoFilterTypeCache,
  7635  		IoFilterTypeReplication,
  7636  		IoFilterTypeEncryption,
  7637  		IoFilterTypeCompression,
  7638  		IoFilterTypeInspection,
  7639  		IoFilterTypeDatastoreIoControl,
  7640  		IoFilterTypeDataProvider,
  7641  		IoFilterTypeDataCapture,
  7642  	}
  7643  }
  7644  
  7645  func (e IoFilterType) Strings() []string {
  7646  	return EnumValuesAsStrings(e.Values())
  7647  }
  7648  
  7649  func init() {
  7650  	t["IoFilterType"] = reflect.TypeOf((*IoFilterType)(nil)).Elem()
  7651  	minAPIVersionForEnumValue["IoFilterType"] = map[string]string{
  7652  		"dataCapture": "7.0.2.1",
  7653  	}
  7654  }
  7655  
  7656  type IscsiPortInfoPathStatus string
  7657  
  7658  const (
  7659  	// There are no paths on this Virtual NIC
  7660  	IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed")
  7661  	// All paths on this Virtual NIC are standby paths from SCSI stack
  7662  	// perspective.
  7663  	IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active")
  7664  	// One or more paths on the Virtual NIC are active paths to
  7665  	// storage.
  7666  	//
  7667  	// Unbinding this Virtual NIC will cause storage path
  7668  	// transitions.
  7669  	IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy")
  7670  	// One or more paths on the Virtual NIC is the last active
  7671  	// path to a particular storage device.
  7672  	IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive")
  7673  )
  7674  
  7675  func (e IscsiPortInfoPathStatus) Values() []IscsiPortInfoPathStatus {
  7676  	return []IscsiPortInfoPathStatus{
  7677  		IscsiPortInfoPathStatusNotUsed,
  7678  		IscsiPortInfoPathStatusActive,
  7679  		IscsiPortInfoPathStatusStandBy,
  7680  		IscsiPortInfoPathStatusLastActive,
  7681  	}
  7682  }
  7683  
  7684  func (e IscsiPortInfoPathStatus) Strings() []string {
  7685  	return EnumValuesAsStrings(e.Values())
  7686  }
  7687  
  7688  func init() {
  7689  	t["IscsiPortInfoPathStatus"] = reflect.TypeOf((*IscsiPortInfoPathStatus)(nil)).Elem()
  7690  }
  7691  
  7692  // Key provider management type.
  7693  type KmipClusterInfoKmsManagementType string
  7694  
  7695  const (
  7696  	KmipClusterInfoKmsManagementTypeUnknown        = KmipClusterInfoKmsManagementType("unknown")
  7697  	KmipClusterInfoKmsManagementTypeVCenter        = KmipClusterInfoKmsManagementType("vCenter")
  7698  	KmipClusterInfoKmsManagementTypeTrustAuthority = KmipClusterInfoKmsManagementType("trustAuthority")
  7699  	// `**Since:**` vSphere API Release 7.0.2.0
  7700  	KmipClusterInfoKmsManagementTypeNativeProvider = KmipClusterInfoKmsManagementType("nativeProvider")
  7701  )
  7702  
  7703  func (e KmipClusterInfoKmsManagementType) Values() []KmipClusterInfoKmsManagementType {
  7704  	return []KmipClusterInfoKmsManagementType{
  7705  		KmipClusterInfoKmsManagementTypeUnknown,
  7706  		KmipClusterInfoKmsManagementTypeVCenter,
  7707  		KmipClusterInfoKmsManagementTypeTrustAuthority,
  7708  		KmipClusterInfoKmsManagementTypeNativeProvider,
  7709  	}
  7710  }
  7711  
  7712  func (e KmipClusterInfoKmsManagementType) Strings() []string {
  7713  	return EnumValuesAsStrings(e.Values())
  7714  }
  7715  
  7716  func init() {
  7717  	t["KmipClusterInfoKmsManagementType"] = reflect.TypeOf((*KmipClusterInfoKmsManagementType)(nil)).Elem()
  7718  	minAPIVersionForEnumValue["KmipClusterInfoKmsManagementType"] = map[string]string{
  7719  		"nativeProvider": "7.0.2.0",
  7720  	}
  7721  }
  7722  
  7723  // Enumeration of the nominal latency-sensitive values which can be
  7724  // used to specify the latency-sensitivity level of the application.
  7725  //
  7726  // In terms of latency-sensitivity the values relate:
  7727  // high&gt;medium&gt;normal&gt;low.
  7728  type LatencySensitivitySensitivityLevel string
  7729  
  7730  const (
  7731  	// The relative latency-sensitivity low value.
  7732  	LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low")
  7733  	// The relative latency-sensitivity normal value.
  7734  	//
  7735  	// This is the default latency-sensitivity value.
  7736  	LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal")
  7737  	// The relative latency-sensitivity medium value.
  7738  	LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium")
  7739  	// The relative latency-sensitivity high value.
  7740  	LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high")
  7741  	// Deprecated as of vSphere API Ver 6.0. Value will be ignored and
  7742  	// treated as "normal" latency sensitivity.
  7743  	//
  7744  	// The custom absolute latency-sensitivity specified in
  7745  	// `LatencySensitivity.sensitivity` property is used to
  7746  	// define the latency-sensitivity.
  7747  	//
  7748  	// When this value is set to `LatencySensitivity.level` the
  7749  	// `LatencySensitivity.sensitivity` property should be
  7750  	// set also.
  7751  	LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom")
  7752  )
  7753  
  7754  func (e LatencySensitivitySensitivityLevel) Values() []LatencySensitivitySensitivityLevel {
  7755  	return []LatencySensitivitySensitivityLevel{
  7756  		LatencySensitivitySensitivityLevelLow,
  7757  		LatencySensitivitySensitivityLevelNormal,
  7758  		LatencySensitivitySensitivityLevelMedium,
  7759  		LatencySensitivitySensitivityLevelHigh,
  7760  		LatencySensitivitySensitivityLevelCustom,
  7761  	}
  7762  }
  7763  
  7764  func (e LatencySensitivitySensitivityLevel) Strings() []string {
  7765  	return EnumValuesAsStrings(e.Values())
  7766  }
  7767  
  7768  func init() {
  7769  	t["LatencySensitivitySensitivityLevel"] = reflect.TypeOf((*LatencySensitivitySensitivityLevel)(nil)).Elem()
  7770  }
  7771  
  7772  type LicenseAssignmentFailedReason string
  7773  
  7774  const (
  7775  	// The license and the entity to which it is to be assigned are not compatible.
  7776  	LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch")
  7777  	// The license downgrade is disallowed because some features are in use.
  7778  	LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed")
  7779  	// The inventory has hosts which are not manageable by vCenter unless in evaluation.
  7780  	LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter")
  7781  	// The inventory has hosts that need the license server to be configured unless vCenter is in evaluation
  7782  	LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer")
  7783  )
  7784  
  7785  func (e LicenseAssignmentFailedReason) Values() []LicenseAssignmentFailedReason {
  7786  	return []LicenseAssignmentFailedReason{
  7787  		LicenseAssignmentFailedReasonKeyEntityMismatch,
  7788  		LicenseAssignmentFailedReasonDowngradeDisallowed,
  7789  		LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter,
  7790  		LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer,
  7791  	}
  7792  }
  7793  
  7794  func (e LicenseAssignmentFailedReason) Strings() []string {
  7795  	return EnumValuesAsStrings(e.Values())
  7796  }
  7797  
  7798  func init() {
  7799  	t["LicenseAssignmentFailedReason"] = reflect.TypeOf((*LicenseAssignmentFailedReason)(nil)).Elem()
  7800  }
  7801  
  7802  // Some licenses may only be allowed to load from a specified source.
  7803  //
  7804  // This enum indicates what restrictions exist for this license if any.
  7805  type LicenseFeatureInfoSourceRestriction string
  7806  
  7807  const (
  7808  	// The feature does not have a source restriction.
  7809  	LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted")
  7810  	// The feature's license can only be served.
  7811  	LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served")
  7812  	// The feature's license can only come from a file.
  7813  	LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file")
  7814  )
  7815  
  7816  func (e LicenseFeatureInfoSourceRestriction) Values() []LicenseFeatureInfoSourceRestriction {
  7817  	return []LicenseFeatureInfoSourceRestriction{
  7818  		LicenseFeatureInfoSourceRestrictionUnrestricted,
  7819  		LicenseFeatureInfoSourceRestrictionServed,
  7820  		LicenseFeatureInfoSourceRestrictionFile,
  7821  	}
  7822  }
  7823  
  7824  func (e LicenseFeatureInfoSourceRestriction) Strings() []string {
  7825  	return EnumValuesAsStrings(e.Values())
  7826  }
  7827  
  7828  func init() {
  7829  	t["LicenseFeatureInfoSourceRestriction"] = reflect.TypeOf((*LicenseFeatureInfoSourceRestriction)(nil)).Elem()
  7830  }
  7831  
  7832  // Describes the state of the feature.
  7833  type LicenseFeatureInfoState string
  7834  
  7835  const (
  7836  	// The current edition license has implicitly enabled this additional feature.
  7837  	LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled")
  7838  	// The current edition license does not allow this additional feature.
  7839  	LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled")
  7840  	// The current edition license allows this additional feature.
  7841  	//
  7842  	// The
  7843  	// `LicenseManager.EnableFeature` and `LicenseManager.DisableFeature` methods can be used to enable or disable
  7844  	// this feature.
  7845  	LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional")
  7846  )
  7847  
  7848  func (e LicenseFeatureInfoState) Values() []LicenseFeatureInfoState {
  7849  	return []LicenseFeatureInfoState{
  7850  		LicenseFeatureInfoStateEnabled,
  7851  		LicenseFeatureInfoStateDisabled,
  7852  		LicenseFeatureInfoStateOptional,
  7853  	}
  7854  }
  7855  
  7856  func (e LicenseFeatureInfoState) Strings() []string {
  7857  	return EnumValuesAsStrings(e.Values())
  7858  }
  7859  
  7860  func init() {
  7861  	t["LicenseFeatureInfoState"] = reflect.TypeOf((*LicenseFeatureInfoState)(nil)).Elem()
  7862  }
  7863  
  7864  // Cost units apply to licenses for the purpose of determining
  7865  // how many licenses are needed.
  7866  type LicenseFeatureInfoUnit string
  7867  
  7868  const (
  7869  	// One license is acquired per host.
  7870  	LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host")
  7871  	// One license is acquired per CPU core.
  7872  	LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore")
  7873  	// One license is acquired per CPU package.
  7874  	LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage")
  7875  	// One license is acquired per server.
  7876  	LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server")
  7877  	// One license is acquired per virtual machine.
  7878  	LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm")
  7879  )
  7880  
  7881  func (e LicenseFeatureInfoUnit) Values() []LicenseFeatureInfoUnit {
  7882  	return []LicenseFeatureInfoUnit{
  7883  		LicenseFeatureInfoUnitHost,
  7884  		LicenseFeatureInfoUnitCpuCore,
  7885  		LicenseFeatureInfoUnitCpuPackage,
  7886  		LicenseFeatureInfoUnitServer,
  7887  		LicenseFeatureInfoUnitVm,
  7888  	}
  7889  }
  7890  
  7891  func (e LicenseFeatureInfoUnit) Strings() []string {
  7892  	return EnumValuesAsStrings(e.Values())
  7893  }
  7894  
  7895  func init() {
  7896  	t["LicenseFeatureInfoUnit"] = reflect.TypeOf((*LicenseFeatureInfoUnit)(nil)).Elem()
  7897  }
  7898  
  7899  // Deprecated as of VI API 2.5, use `LicenseManager.QueryLicenseSourceAvailability`
  7900  // to obtain an array of `LicenseAvailabilityInfo` data
  7901  // objects.
  7902  //
  7903  // Licensed features have unique keys to identify them.
  7904  type LicenseManagerLicenseKey string
  7905  
  7906  const (
  7907  	// The edition license for the ESX Server, Standard edition.
  7908  	//
  7909  	// This is a per
  7910  	// CPU package license.
  7911  	LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull")
  7912  	// The edition license for the ESX server, VMTN edition.
  7913  	//
  7914  	// This is a per CPU package
  7915  	// license.
  7916  	LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn")
  7917  	// The edition license for the ESX server, Starter edition.
  7918  	//
  7919  	// This is a per CPU
  7920  	// package license.
  7921  	LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress")
  7922  	// Enable use of SAN.
  7923  	//
  7924  	// This is a per CPU package license.
  7925  	LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san")
  7926  	// Enable use of iSCSI.
  7927  	//
  7928  	// This is a per CPU package license.
  7929  	LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi")
  7930  	// Enable use of NAS.
  7931  	//
  7932  	// This is a per CPU package license.
  7933  	LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas")
  7934  	// Enable up to 4-way VSMP feature.
  7935  	//
  7936  	// This is a per CPU package license.
  7937  	LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp")
  7938  	// Enable ESX Server consolidated backup feature.
  7939  	//
  7940  	// This is a per CPU package
  7941  	// license.
  7942  	LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup")
  7943  	// The edition license for a VirtualCenter server, full edition.
  7944  	//
  7945  	// This license
  7946  	// is independent of the number of CPU packages for the VirtualCenter host.
  7947  	LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc")
  7948  	// The edition license for a VirtualCenter server, starter edition.
  7949  	//
  7950  	// This license
  7951  	// limits the number of hosts (esxHost or serverHost) that can be managed by the
  7952  	// VirtualCenter product.
  7953  	LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress")
  7954  	// Enable VirtualCenter ESX Server host management functionality.
  7955  	//
  7956  	// This is a per
  7957  	// ESX server CPU package license.
  7958  	LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost")
  7959  	// Enable VirtualCenter GSX Server host management functionality.
  7960  	//
  7961  	// This is a per
  7962  	// GSX server CPU package license.
  7963  	LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost")
  7964  	// Enable VirtualCenter VMware server host management functionality.
  7965  	//
  7966  	// This is a per
  7967  	// VMware server CPU package license.
  7968  	LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost")
  7969  	// Enable VirtualCenter DRS Power Management Functionality.
  7970  	//
  7971  	// This is a per CPU package
  7972  	LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower")
  7973  	// Enable VMotion.
  7974  	//
  7975  	// This is a per ESX server CPU package license.
  7976  	LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion")
  7977  	// Enable VirtualCenter Distributed Resource Scheduler.
  7978  	//
  7979  	// This is a per ESX server
  7980  	// CPU package license.
  7981  	LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs")
  7982  	// Enable VirtualCenter HA.
  7983  	//
  7984  	// This is a per ESX server CPU package license.
  7985  	LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das")
  7986  )
  7987  
  7988  func (e LicenseManagerLicenseKey) Values() []LicenseManagerLicenseKey {
  7989  	return []LicenseManagerLicenseKey{
  7990  		LicenseManagerLicenseKeyEsxFull,
  7991  		LicenseManagerLicenseKeyEsxVmtn,
  7992  		LicenseManagerLicenseKeyEsxExpress,
  7993  		LicenseManagerLicenseKeySan,
  7994  		LicenseManagerLicenseKeyIscsi,
  7995  		LicenseManagerLicenseKeyNas,
  7996  		LicenseManagerLicenseKeyVsmp,
  7997  		LicenseManagerLicenseKeyBackup,
  7998  		LicenseManagerLicenseKeyVc,
  7999  		LicenseManagerLicenseKeyVcExpress,
  8000  		LicenseManagerLicenseKeyEsxHost,
  8001  		LicenseManagerLicenseKeyGsxHost,
  8002  		LicenseManagerLicenseKeyServerHost,
  8003  		LicenseManagerLicenseKeyDrsPower,
  8004  		LicenseManagerLicenseKeyVmotion,
  8005  		LicenseManagerLicenseKeyDrs,
  8006  		LicenseManagerLicenseKeyDas,
  8007  	}
  8008  }
  8009  
  8010  func (e LicenseManagerLicenseKey) Strings() []string {
  8011  	return EnumValuesAsStrings(e.Values())
  8012  }
  8013  
  8014  func init() {
  8015  	t["LicenseManagerLicenseKey"] = reflect.TypeOf((*LicenseManagerLicenseKey)(nil)).Elem()
  8016  }
  8017  
  8018  // Deprecated as of vSphere API 4.0, this is not used by the system.
  8019  //
  8020  // State of licensing subsystem.
  8021  type LicenseManagerState string
  8022  
  8023  const (
  8024  	// Setting or resetting configuration in progress.
  8025  	LicenseManagerStateInitializing = LicenseManagerState("initializing")
  8026  	// Running within operating parameters.
  8027  	LicenseManagerStateNormal = LicenseManagerState("normal")
  8028  	// License source unavailable, using license cache.
  8029  	LicenseManagerStateMarginal = LicenseManagerState("marginal")
  8030  	// Initialization has failed or grace period expired.
  8031  	LicenseManagerStateFault = LicenseManagerState("fault")
  8032  )
  8033  
  8034  func (e LicenseManagerState) Values() []LicenseManagerState {
  8035  	return []LicenseManagerState{
  8036  		LicenseManagerStateInitializing,
  8037  		LicenseManagerStateNormal,
  8038  		LicenseManagerStateMarginal,
  8039  		LicenseManagerStateFault,
  8040  	}
  8041  }
  8042  
  8043  func (e LicenseManagerState) Strings() []string {
  8044  	return EnumValuesAsStrings(e.Values())
  8045  }
  8046  
  8047  func init() {
  8048  	t["LicenseManagerState"] = reflect.TypeOf((*LicenseManagerState)(nil)).Elem()
  8049  }
  8050  
  8051  // Describes the reservation state of a license.
  8052  type LicenseReservationInfoState string
  8053  
  8054  const (
  8055  	// This license is currently unused by the system, or the feature does not
  8056  	// apply.
  8057  	//
  8058  	// For example, a DRS license appears as NotUsed if the host is not
  8059  	// part of a DRS-enabled cluster.
  8060  	LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed")
  8061  	// This indicates that the license has expired or the system attempted to acquire
  8062  	// the license but was not successful in reserving it.
  8063  	LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense")
  8064  	// The LicenseManager failed to acquire a license but the implementation
  8065  	// policy allows us to use the licensed feature anyway.
  8066  	//
  8067  	// This is possible, for
  8068  	// example, when a license server becomes unavailable after a license had been
  8069  	// successfully reserved from it.
  8070  	LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse")
  8071  	// The required number of licenses have been acquired from the license source.
  8072  	LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed")
  8073  )
  8074  
  8075  func (e LicenseReservationInfoState) Values() []LicenseReservationInfoState {
  8076  	return []LicenseReservationInfoState{
  8077  		LicenseReservationInfoStateNotUsed,
  8078  		LicenseReservationInfoStateNoLicense,
  8079  		LicenseReservationInfoStateUnlicensedUse,
  8080  		LicenseReservationInfoStateLicensed,
  8081  	}
  8082  }
  8083  
  8084  func (e LicenseReservationInfoState) Strings() []string {
  8085  	return EnumValuesAsStrings(e.Values())
  8086  }
  8087  
  8088  func init() {
  8089  	t["LicenseReservationInfoState"] = reflect.TypeOf((*LicenseReservationInfoState)(nil)).Elem()
  8090  }
  8091  
  8092  // The Discovery Protocol operation.
  8093  type LinkDiscoveryProtocolConfigOperationType string
  8094  
  8095  const (
  8096  	// Don't listen for incoming discovery packets and don't sent discover
  8097  	// packets for the switch either.
  8098  	LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none")
  8099  	// Listen for incoming discovery packets but don't sent discovery packet
  8100  	// for the switch.
  8101  	LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen")
  8102  	// Sent discovery packets for the switch, but don't listen for incoming
  8103  	// discovery packets.
  8104  	LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise")
  8105  	// Sent discovery packets for the switch and listen for incoming
  8106  	// discovery packets.
  8107  	LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both")
  8108  )
  8109  
  8110  func (e LinkDiscoveryProtocolConfigOperationType) Values() []LinkDiscoveryProtocolConfigOperationType {
  8111  	return []LinkDiscoveryProtocolConfigOperationType{
  8112  		LinkDiscoveryProtocolConfigOperationTypeNone,
  8113  		LinkDiscoveryProtocolConfigOperationTypeListen,
  8114  		LinkDiscoveryProtocolConfigOperationTypeAdvertise,
  8115  		LinkDiscoveryProtocolConfigOperationTypeBoth,
  8116  	}
  8117  }
  8118  
  8119  func (e LinkDiscoveryProtocolConfigOperationType) Strings() []string {
  8120  	return EnumValuesAsStrings(e.Values())
  8121  }
  8122  
  8123  func init() {
  8124  	t["LinkDiscoveryProtocolConfigOperationType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigOperationType)(nil)).Elem()
  8125  }
  8126  
  8127  // The Discovery Protocol types.
  8128  type LinkDiscoveryProtocolConfigProtocolType string
  8129  
  8130  const (
  8131  	// Cisco Discovery Protocol
  8132  	LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp")
  8133  	// Link Layer Discovery Protocol
  8134  	LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp")
  8135  )
  8136  
  8137  func (e LinkDiscoveryProtocolConfigProtocolType) Values() []LinkDiscoveryProtocolConfigProtocolType {
  8138  	return []LinkDiscoveryProtocolConfigProtocolType{
  8139  		LinkDiscoveryProtocolConfigProtocolTypeCdp,
  8140  		LinkDiscoveryProtocolConfigProtocolTypeLldp,
  8141  	}
  8142  }
  8143  
  8144  func (e LinkDiscoveryProtocolConfigProtocolType) Strings() []string {
  8145  	return EnumValuesAsStrings(e.Values())
  8146  }
  8147  
  8148  func init() {
  8149  	t["LinkDiscoveryProtocolConfigProtocolType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigProtocolType)(nil)).Elem()
  8150  }
  8151  
  8152  // The Status enumeration defines a general "health" value for a managed entity.
  8153  type ManagedEntityStatus string
  8154  
  8155  const (
  8156  	// The status is unknown.
  8157  	ManagedEntityStatusGray = ManagedEntityStatus("gray")
  8158  	// The entity is OK.
  8159  	ManagedEntityStatusGreen = ManagedEntityStatus("green")
  8160  	// The entity might have a problem.
  8161  	ManagedEntityStatusYellow = ManagedEntityStatus("yellow")
  8162  	// The entity definitely has a problem.
  8163  	ManagedEntityStatusRed = ManagedEntityStatus("red")
  8164  )
  8165  
  8166  func (e ManagedEntityStatus) Values() []ManagedEntityStatus {
  8167  	return []ManagedEntityStatus{
  8168  		ManagedEntityStatusGray,
  8169  		ManagedEntityStatusGreen,
  8170  		ManagedEntityStatusYellow,
  8171  		ManagedEntityStatusRed,
  8172  	}
  8173  }
  8174  
  8175  func (e ManagedEntityStatus) Strings() []string {
  8176  	return EnumValuesAsStrings(e.Values())
  8177  }
  8178  
  8179  func init() {
  8180  	t["ManagedEntityStatus"] = reflect.TypeOf((*ManagedEntityStatus)(nil)).Elem()
  8181  }
  8182  
  8183  // The operation on the target metric item.
  8184  type MetricAlarmOperator string
  8185  
  8186  const (
  8187  	// Test if the target metric item is above the given red or yellow values.
  8188  	MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove")
  8189  	// Test if the target metric item is below the given red or yellow values.
  8190  	MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow")
  8191  )
  8192  
  8193  func (e MetricAlarmOperator) Values() []MetricAlarmOperator {
  8194  	return []MetricAlarmOperator{
  8195  		MetricAlarmOperatorIsAbove,
  8196  		MetricAlarmOperatorIsBelow,
  8197  	}
  8198  }
  8199  
  8200  func (e MetricAlarmOperator) Strings() []string {
  8201  	return EnumValuesAsStrings(e.Values())
  8202  }
  8203  
  8204  func init() {
  8205  	t["MetricAlarmOperator"] = reflect.TypeOf((*MetricAlarmOperator)(nil)).Elem()
  8206  }
  8207  
  8208  // Set of constants defining the possible states of a multipath path.
  8209  type MultipathState string
  8210  
  8211  const (
  8212  	MultipathStateStandby  = MultipathState("standby")
  8213  	MultipathStateActive   = MultipathState("active")
  8214  	MultipathStateDisabled = MultipathState("disabled")
  8215  	MultipathStateDead     = MultipathState("dead")
  8216  	MultipathStateUnknown  = MultipathState("unknown")
  8217  )
  8218  
  8219  func (e MultipathState) Values() []MultipathState {
  8220  	return []MultipathState{
  8221  		MultipathStateStandby,
  8222  		MultipathStateActive,
  8223  		MultipathStateDisabled,
  8224  		MultipathStateDead,
  8225  		MultipathStateUnknown,
  8226  	}
  8227  }
  8228  
  8229  func (e MultipathState) Strings() []string {
  8230  	return EnumValuesAsStrings(e.Values())
  8231  }
  8232  
  8233  func init() {
  8234  	t["MultipathState"] = reflect.TypeOf((*MultipathState)(nil)).Elem()
  8235  }
  8236  
  8237  // NetBIOS configuration mode.
  8238  type NetBIOSConfigInfoMode string
  8239  
  8240  const (
  8241  	// Mode of NetBIOS is unknown.
  8242  	NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown")
  8243  	// NetBIOS is enabled.
  8244  	NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled")
  8245  	// NetBIOS is disabled.
  8246  	NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled")
  8247  	// DHCP server decides whether or not to use NetBIOS.
  8248  	NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP")
  8249  )
  8250  
  8251  func (e NetBIOSConfigInfoMode) Values() []NetBIOSConfigInfoMode {
  8252  	return []NetBIOSConfigInfoMode{
  8253  		NetBIOSConfigInfoModeUnknown,
  8254  		NetBIOSConfigInfoModeEnabled,
  8255  		NetBIOSConfigInfoModeDisabled,
  8256  		NetBIOSConfigInfoModeEnabledViaDHCP,
  8257  	}
  8258  }
  8259  
  8260  func (e NetBIOSConfigInfoMode) Strings() []string {
  8261  	return EnumValuesAsStrings(e.Values())
  8262  }
  8263  
  8264  func init() {
  8265  	t["NetBIOSConfigInfoMode"] = reflect.TypeOf((*NetBIOSConfigInfoMode)(nil)).Elem()
  8266  }
  8267  
  8268  // This specifies how an IP address was obtained for a given interface.
  8269  //
  8270  // See RFC 4293 IpAddressOriginTC.
  8271  type NetIpConfigInfoIpAddressOrigin string
  8272  
  8273  const (
  8274  	// Any other type of address configuration other than the below
  8275  	// mentioned ones will fall under this category.
  8276  	//
  8277  	// For e.g., automatic
  8278  	// address configuration for the link local address falls under
  8279  	// this type.
  8280  	NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other")
  8281  	// The address is configured manually.
  8282  	//
  8283  	// The term 'static' is a synonym.
  8284  	NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual")
  8285  	// The address is configured through dhcp.
  8286  	NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp")
  8287  	// The address is obtained through stateless autoconfiguration (autoconf).
  8288  	//
  8289  	// See RFC 4862, IPv6 Stateless Address Autoconfiguration.
  8290  	NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer")
  8291  	// The address is chosen by the system at random
  8292  	// e.g., an IPv4 address within 169.254/16, or an RFC 3041 privacy address.
  8293  	NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random")
  8294  )
  8295  
  8296  func (e NetIpConfigInfoIpAddressOrigin) Values() []NetIpConfigInfoIpAddressOrigin {
  8297  	return []NetIpConfigInfoIpAddressOrigin{
  8298  		NetIpConfigInfoIpAddressOriginOther,
  8299  		NetIpConfigInfoIpAddressOriginManual,
  8300  		NetIpConfigInfoIpAddressOriginDhcp,
  8301  		NetIpConfigInfoIpAddressOriginLinklayer,
  8302  		NetIpConfigInfoIpAddressOriginRandom,
  8303  	}
  8304  }
  8305  
  8306  func (e NetIpConfigInfoIpAddressOrigin) Strings() []string {
  8307  	return EnumValuesAsStrings(e.Values())
  8308  }
  8309  
  8310  func init() {
  8311  	t["NetIpConfigInfoIpAddressOrigin"] = reflect.TypeOf((*NetIpConfigInfoIpAddressOrigin)(nil)).Elem()
  8312  }
  8313  
  8314  type NetIpConfigInfoIpAddressStatus string
  8315  
  8316  const (
  8317  	// Indicates that this is a valid address.
  8318  	NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred")
  8319  	// Indicates that this is a valid but deprecated address
  8320  	// that should no longer be used as a source address.
  8321  	NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated")
  8322  	// Indicates that this isn't a valid.
  8323  	NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid")
  8324  	// Indicates that the address is not accessible because
  8325  	// interface is not operational.
  8326  	NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible")
  8327  	// Indicates that the status cannot be determined.
  8328  	NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown")
  8329  	// Indicates that the uniqueness of the
  8330  	// address on the link is presently being verified.
  8331  	NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative")
  8332  	// Indicates the address has been determined to be non-unique
  8333  	// on the link, this address will not be reachable.
  8334  	NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate")
  8335  )
  8336  
  8337  func (e NetIpConfigInfoIpAddressStatus) Values() []NetIpConfigInfoIpAddressStatus {
  8338  	return []NetIpConfigInfoIpAddressStatus{
  8339  		NetIpConfigInfoIpAddressStatusPreferred,
  8340  		NetIpConfigInfoIpAddressStatusDeprecated,
  8341  		NetIpConfigInfoIpAddressStatusInvalid,
  8342  		NetIpConfigInfoIpAddressStatusInaccessible,
  8343  		NetIpConfigInfoIpAddressStatusUnknown,
  8344  		NetIpConfigInfoIpAddressStatusTentative,
  8345  		NetIpConfigInfoIpAddressStatusDuplicate,
  8346  	}
  8347  }
  8348  
  8349  func (e NetIpConfigInfoIpAddressStatus) Strings() []string {
  8350  	return EnumValuesAsStrings(e.Values())
  8351  }
  8352  
  8353  func init() {
  8354  	t["NetIpConfigInfoIpAddressStatus"] = reflect.TypeOf((*NetIpConfigInfoIpAddressStatus)(nil)).Elem()
  8355  }
  8356  
  8357  // IP Stack keeps state on entries in IpNetToMedia table to perform
  8358  // physical address lookups for IP addresses.
  8359  //
  8360  // Here are the standard
  8361  // states per @see RFC 4293 ipNetToMediaType.
  8362  type NetIpStackInfoEntryType string
  8363  
  8364  const (
  8365  	// This implementation is reporting something other than
  8366  	// what states are listed below.
  8367  	NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other")
  8368  	// The IP Stack has marked this entry as not useable.
  8369  	NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid")
  8370  	// This entry has been learned using ARP or NDP.
  8371  	NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic")
  8372  	// This entry was set manually.
  8373  	NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual")
  8374  )
  8375  
  8376  func (e NetIpStackInfoEntryType) Values() []NetIpStackInfoEntryType {
  8377  	return []NetIpStackInfoEntryType{
  8378  		NetIpStackInfoEntryTypeOther,
  8379  		NetIpStackInfoEntryTypeInvalid,
  8380  		NetIpStackInfoEntryTypeDynamic,
  8381  		NetIpStackInfoEntryTypeManual,
  8382  	}
  8383  }
  8384  
  8385  func (e NetIpStackInfoEntryType) Strings() []string {
  8386  	return EnumValuesAsStrings(e.Values())
  8387  }
  8388  
  8389  func init() {
  8390  	t["NetIpStackInfoEntryType"] = reflect.TypeOf((*NetIpStackInfoEntryType)(nil)).Elem()
  8391  }
  8392  
  8393  // The set of values used to determine ordering of default routers.
  8394  //
  8395  // See RFC 4293 ipDefaultRouterPreference.
  8396  type NetIpStackInfoPreference string
  8397  
  8398  const (
  8399  	NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved")
  8400  	NetIpStackInfoPreferenceLow      = NetIpStackInfoPreference("low")
  8401  	NetIpStackInfoPreferenceMedium   = NetIpStackInfoPreference("medium")
  8402  	NetIpStackInfoPreferenceHigh     = NetIpStackInfoPreference("high")
  8403  )
  8404  
  8405  func (e NetIpStackInfoPreference) Values() []NetIpStackInfoPreference {
  8406  	return []NetIpStackInfoPreference{
  8407  		NetIpStackInfoPreferenceReserved,
  8408  		NetIpStackInfoPreferenceLow,
  8409  		NetIpStackInfoPreferenceMedium,
  8410  		NetIpStackInfoPreferenceHigh,
  8411  	}
  8412  }
  8413  
  8414  func (e NetIpStackInfoPreference) Strings() []string {
  8415  	return EnumValuesAsStrings(e.Values())
  8416  }
  8417  
  8418  func init() {
  8419  	t["NetIpStackInfoPreference"] = reflect.TypeOf((*NetIpStackInfoPreference)(nil)).Elem()
  8420  }
  8421  
  8422  type NotSupportedDeviceForFTDeviceType string
  8423  
  8424  const (
  8425  	// vmxnet3 virtual Ethernet adapter
  8426  	NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3")
  8427  	// paravirtualized SCSI controller
  8428  	NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController")
  8429  )
  8430  
  8431  func (e NotSupportedDeviceForFTDeviceType) Values() []NotSupportedDeviceForFTDeviceType {
  8432  	return []NotSupportedDeviceForFTDeviceType{
  8433  		NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3,
  8434  		NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController,
  8435  	}
  8436  }
  8437  
  8438  func (e NotSupportedDeviceForFTDeviceType) Strings() []string {
  8439  	return EnumValuesAsStrings(e.Values())
  8440  }
  8441  
  8442  func init() {
  8443  	t["NotSupportedDeviceForFTDeviceType"] = reflect.TypeOf((*NotSupportedDeviceForFTDeviceType)(nil)).Elem()
  8444  }
  8445  
  8446  // Reasons why the number of virtual CPUs is incompatible.
  8447  type NumVirtualCpusIncompatibleReason string
  8448  
  8449  const (
  8450  	// Deprecated as of vSphere API 6.0.
  8451  	//
  8452  	// The virtual machine needs to support record/replay functionality.
  8453  	NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay")
  8454  	// The virtual machine is enabled for fault tolerance.
  8455  	NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance")
  8456  )
  8457  
  8458  func (e NumVirtualCpusIncompatibleReason) Values() []NumVirtualCpusIncompatibleReason {
  8459  	return []NumVirtualCpusIncompatibleReason{
  8460  		NumVirtualCpusIncompatibleReasonRecordReplay,
  8461  		NumVirtualCpusIncompatibleReasonFaultTolerance,
  8462  	}
  8463  }
  8464  
  8465  func (e NumVirtualCpusIncompatibleReason) Strings() []string {
  8466  	return EnumValuesAsStrings(e.Values())
  8467  }
  8468  
  8469  func init() {
  8470  	t["NumVirtualCpusIncompatibleReason"] = reflect.TypeOf((*NumVirtualCpusIncompatibleReason)(nil)).Elem()
  8471  }
  8472  
  8473  // State of interleave set
  8474  type NvdimmInterleaveSetState string
  8475  
  8476  const (
  8477  	// Interleave set is invalid
  8478  	NvdimmInterleaveSetStateInvalid = NvdimmInterleaveSetState("invalid")
  8479  	// Interleave set is valid and active
  8480  	NvdimmInterleaveSetStateActive = NvdimmInterleaveSetState("active")
  8481  )
  8482  
  8483  func (e NvdimmInterleaveSetState) Values() []NvdimmInterleaveSetState {
  8484  	return []NvdimmInterleaveSetState{
  8485  		NvdimmInterleaveSetStateInvalid,
  8486  		NvdimmInterleaveSetStateActive,
  8487  	}
  8488  }
  8489  
  8490  func (e NvdimmInterleaveSetState) Strings() []string {
  8491  	return EnumValuesAsStrings(e.Values())
  8492  }
  8493  
  8494  func init() {
  8495  	t["NvdimmInterleaveSetState"] = reflect.TypeOf((*NvdimmInterleaveSetState)(nil)).Elem()
  8496  }
  8497  
  8498  // Overall health state for a namespace
  8499  type NvdimmNamespaceDetailsHealthStatus string
  8500  
  8501  const (
  8502  	// Namespace health is normal
  8503  	NvdimmNamespaceDetailsHealthStatusNormal = NvdimmNamespaceDetailsHealthStatus("normal")
  8504  	// Namespace health is missing
  8505  	NvdimmNamespaceDetailsHealthStatusMissing = NvdimmNamespaceDetailsHealthStatus("missing")
  8506  	// Namespace health label is missing
  8507  	NvdimmNamespaceDetailsHealthStatusLabelMissing = NvdimmNamespaceDetailsHealthStatus("labelMissing")
  8508  	// Namespace health interleave broken
  8509  	NvdimmNamespaceDetailsHealthStatusInterleaveBroken = NvdimmNamespaceDetailsHealthStatus("interleaveBroken")
  8510  	// Namespace health label is inconsistent
  8511  	NvdimmNamespaceDetailsHealthStatusLabelInconsistent = NvdimmNamespaceDetailsHealthStatus("labelInconsistent")
  8512  )
  8513  
  8514  func (e NvdimmNamespaceDetailsHealthStatus) Values() []NvdimmNamespaceDetailsHealthStatus {
  8515  	return []NvdimmNamespaceDetailsHealthStatus{
  8516  		NvdimmNamespaceDetailsHealthStatusNormal,
  8517  		NvdimmNamespaceDetailsHealthStatusMissing,
  8518  		NvdimmNamespaceDetailsHealthStatusLabelMissing,
  8519  		NvdimmNamespaceDetailsHealthStatusInterleaveBroken,
  8520  		NvdimmNamespaceDetailsHealthStatusLabelInconsistent,
  8521  	}
  8522  }
  8523  
  8524  func (e NvdimmNamespaceDetailsHealthStatus) Strings() []string {
  8525  	return EnumValuesAsStrings(e.Values())
  8526  }
  8527  
  8528  func init() {
  8529  	t["NvdimmNamespaceDetailsHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceDetailsHealthStatus)(nil)).Elem()
  8530  }
  8531  
  8532  // State of Namespace
  8533  type NvdimmNamespaceDetailsState string
  8534  
  8535  const (
  8536  	// Namespace is invalid
  8537  	NvdimmNamespaceDetailsStateInvalid = NvdimmNamespaceDetailsState("invalid")
  8538  	// Namespace is valid but not in use
  8539  	NvdimmNamespaceDetailsStateNotInUse = NvdimmNamespaceDetailsState("notInUse")
  8540  	// Namespace is valid and is in use
  8541  	NvdimmNamespaceDetailsStateInUse = NvdimmNamespaceDetailsState("inUse")
  8542  )
  8543  
  8544  func (e NvdimmNamespaceDetailsState) Values() []NvdimmNamespaceDetailsState {
  8545  	return []NvdimmNamespaceDetailsState{
  8546  		NvdimmNamespaceDetailsStateInvalid,
  8547  		NvdimmNamespaceDetailsStateNotInUse,
  8548  		NvdimmNamespaceDetailsStateInUse,
  8549  	}
  8550  }
  8551  
  8552  func (e NvdimmNamespaceDetailsState) Strings() []string {
  8553  	return EnumValuesAsStrings(e.Values())
  8554  }
  8555  
  8556  func init() {
  8557  	t["NvdimmNamespaceDetailsState"] = reflect.TypeOf((*NvdimmNamespaceDetailsState)(nil)).Elem()
  8558  }
  8559  
  8560  // Overall health state for a namespace
  8561  type NvdimmNamespaceHealthStatus string
  8562  
  8563  const (
  8564  	// Namespace health is normal
  8565  	NvdimmNamespaceHealthStatusNormal = NvdimmNamespaceHealthStatus("normal")
  8566  	// Namespace health is missing
  8567  	NvdimmNamespaceHealthStatusMissing = NvdimmNamespaceHealthStatus("missing")
  8568  	// Namespace health label is missing
  8569  	NvdimmNamespaceHealthStatusLabelMissing = NvdimmNamespaceHealthStatus("labelMissing")
  8570  	// Namespace health interleave broken
  8571  	NvdimmNamespaceHealthStatusInterleaveBroken = NvdimmNamespaceHealthStatus("interleaveBroken")
  8572  	// Namespace health label is inconsistent
  8573  	NvdimmNamespaceHealthStatusLabelInconsistent = NvdimmNamespaceHealthStatus("labelInconsistent")
  8574  	// Namespace health BTT is corrupt
  8575  	NvdimmNamespaceHealthStatusBttCorrupt = NvdimmNamespaceHealthStatus("bttCorrupt")
  8576  	// Namespace health encountered bad block
  8577  	NvdimmNamespaceHealthStatusBadBlockSize = NvdimmNamespaceHealthStatus("badBlockSize")
  8578  )
  8579  
  8580  func (e NvdimmNamespaceHealthStatus) Values() []NvdimmNamespaceHealthStatus {
  8581  	return []NvdimmNamespaceHealthStatus{
  8582  		NvdimmNamespaceHealthStatusNormal,
  8583  		NvdimmNamespaceHealthStatusMissing,
  8584  		NvdimmNamespaceHealthStatusLabelMissing,
  8585  		NvdimmNamespaceHealthStatusInterleaveBroken,
  8586  		NvdimmNamespaceHealthStatusLabelInconsistent,
  8587  		NvdimmNamespaceHealthStatusBttCorrupt,
  8588  		NvdimmNamespaceHealthStatusBadBlockSize,
  8589  	}
  8590  }
  8591  
  8592  func (e NvdimmNamespaceHealthStatus) Strings() []string {
  8593  	return EnumValuesAsStrings(e.Values())
  8594  }
  8595  
  8596  func init() {
  8597  	t["NvdimmNamespaceHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceHealthStatus)(nil)).Elem()
  8598  }
  8599  
  8600  // State of Namespace
  8601  type NvdimmNamespaceState string
  8602  
  8603  const (
  8604  	// Namespace is invalid
  8605  	NvdimmNamespaceStateInvalid = NvdimmNamespaceState("invalid")
  8606  	// Namespace is valid but not in use
  8607  	NvdimmNamespaceStateNotInUse = NvdimmNamespaceState("notInUse")
  8608  	// Namespace is valid and is in use
  8609  	NvdimmNamespaceStateInUse = NvdimmNamespaceState("inUse")
  8610  )
  8611  
  8612  func (e NvdimmNamespaceState) Values() []NvdimmNamespaceState {
  8613  	return []NvdimmNamespaceState{
  8614  		NvdimmNamespaceStateInvalid,
  8615  		NvdimmNamespaceStateNotInUse,
  8616  		NvdimmNamespaceStateInUse,
  8617  	}
  8618  }
  8619  
  8620  func (e NvdimmNamespaceState) Strings() []string {
  8621  	return EnumValuesAsStrings(e.Values())
  8622  }
  8623  
  8624  func init() {
  8625  	t["NvdimmNamespaceState"] = reflect.TypeOf((*NvdimmNamespaceState)(nil)).Elem()
  8626  }
  8627  
  8628  // Type of namespace.
  8629  type NvdimmNamespaceType string
  8630  
  8631  const (
  8632  	// Block mode namespace
  8633  	NvdimmNamespaceTypeBlockNamespace = NvdimmNamespaceType("blockNamespace")
  8634  	// Persistent mode namespace
  8635  	NvdimmNamespaceTypePersistentNamespace = NvdimmNamespaceType("persistentNamespace")
  8636  )
  8637  
  8638  func (e NvdimmNamespaceType) Values() []NvdimmNamespaceType {
  8639  	return []NvdimmNamespaceType{
  8640  		NvdimmNamespaceTypeBlockNamespace,
  8641  		NvdimmNamespaceTypePersistentNamespace,
  8642  	}
  8643  }
  8644  
  8645  func (e NvdimmNamespaceType) Strings() []string {
  8646  	return EnumValuesAsStrings(e.Values())
  8647  }
  8648  
  8649  func init() {
  8650  	t["NvdimmNamespaceType"] = reflect.TypeOf((*NvdimmNamespaceType)(nil)).Elem()
  8651  }
  8652  
  8653  // Overall state of NVDIMM
  8654  type NvdimmNvdimmHealthInfoState string
  8655  
  8656  const (
  8657  	// NVDIMM state is normal
  8658  	NvdimmNvdimmHealthInfoStateNormal = NvdimmNvdimmHealthInfoState("normal")
  8659  	// Error in NVDIMM state.
  8660  	//
  8661  	// Potential data loss.
  8662  	NvdimmNvdimmHealthInfoStateError = NvdimmNvdimmHealthInfoState("error")
  8663  )
  8664  
  8665  func (e NvdimmNvdimmHealthInfoState) Values() []NvdimmNvdimmHealthInfoState {
  8666  	return []NvdimmNvdimmHealthInfoState{
  8667  		NvdimmNvdimmHealthInfoStateNormal,
  8668  		NvdimmNvdimmHealthInfoStateError,
  8669  	}
  8670  }
  8671  
  8672  func (e NvdimmNvdimmHealthInfoState) Strings() []string {
  8673  	return EnumValuesAsStrings(e.Values())
  8674  }
  8675  
  8676  func init() {
  8677  	t["NvdimmNvdimmHealthInfoState"] = reflect.TypeOf((*NvdimmNvdimmHealthInfoState)(nil)).Elem()
  8678  }
  8679  
  8680  // An indicator of how a memory range is being used
  8681  type NvdimmRangeType string
  8682  
  8683  const (
  8684  	// Identifies the region to be volatile
  8685  	NvdimmRangeTypeVolatileRange = NvdimmRangeType("volatileRange")
  8686  	// Identifies the region to be persistent
  8687  	NvdimmRangeTypePersistentRange = NvdimmRangeType("persistentRange")
  8688  	// NVDIMM control region
  8689  	NvdimmRangeTypeControlRange = NvdimmRangeType("controlRange")
  8690  	// NVDIMM block data window region
  8691  	NvdimmRangeTypeBlockRange = NvdimmRangeType("blockRange")
  8692  	// NVDIMM volatile virtual disk region
  8693  	NvdimmRangeTypeVolatileVirtualDiskRange = NvdimmRangeType("volatileVirtualDiskRange")
  8694  	// NVDIMM volatile virtual CD region
  8695  	NvdimmRangeTypeVolatileVirtualCDRange = NvdimmRangeType("volatileVirtualCDRange")
  8696  	// NVDIMM persistent virtual disk region
  8697  	NvdimmRangeTypePersistentVirtualDiskRange = NvdimmRangeType("persistentVirtualDiskRange")
  8698  	// NVDIMM persistent virtual CD region
  8699  	NvdimmRangeTypePersistentVirtualCDRange = NvdimmRangeType("persistentVirtualCDRange")
  8700  )
  8701  
  8702  func (e NvdimmRangeType) Values() []NvdimmRangeType {
  8703  	return []NvdimmRangeType{
  8704  		NvdimmRangeTypeVolatileRange,
  8705  		NvdimmRangeTypePersistentRange,
  8706  		NvdimmRangeTypeControlRange,
  8707  		NvdimmRangeTypeBlockRange,
  8708  		NvdimmRangeTypeVolatileVirtualDiskRange,
  8709  		NvdimmRangeTypeVolatileVirtualCDRange,
  8710  		NvdimmRangeTypePersistentVirtualDiskRange,
  8711  		NvdimmRangeTypePersistentVirtualCDRange,
  8712  	}
  8713  }
  8714  
  8715  func (e NvdimmRangeType) Strings() []string {
  8716  	return EnumValuesAsStrings(e.Values())
  8717  }
  8718  
  8719  func init() {
  8720  	t["NvdimmRangeType"] = reflect.TypeOf((*NvdimmRangeType)(nil)).Elem()
  8721  }
  8722  
  8723  // Enumeration of different kinds of updates.
  8724  type ObjectUpdateKind string
  8725  
  8726  const (
  8727  	// A property of the managed object changed its value.
  8728  	ObjectUpdateKindModify = ObjectUpdateKind("modify")
  8729  	// A managed object became visible to a filter for the first time.
  8730  	//
  8731  	// For instance, this can happen if a virtual machine is added to a
  8732  	// folder.
  8733  	ObjectUpdateKindEnter = ObjectUpdateKind("enter")
  8734  	// A managed object left the set of objects visible to a filter.
  8735  	//
  8736  	// For
  8737  	// instance, this can happen when a virtual machine is destroyed.
  8738  	ObjectUpdateKindLeave = ObjectUpdateKind("leave")
  8739  )
  8740  
  8741  func (e ObjectUpdateKind) Values() []ObjectUpdateKind {
  8742  	return []ObjectUpdateKind{
  8743  		ObjectUpdateKindModify,
  8744  		ObjectUpdateKindEnter,
  8745  		ObjectUpdateKindLeave,
  8746  	}
  8747  }
  8748  
  8749  func (e ObjectUpdateKind) Strings() []string {
  8750  	return EnumValuesAsStrings(e.Values())
  8751  }
  8752  
  8753  func init() {
  8754  	t["ObjectUpdateKind"] = reflect.TypeOf((*ObjectUpdateKind)(nil)).Elem()
  8755  }
  8756  
  8757  // The type of an OST node.
  8758  //
  8759  // Each OST node corresponds to an element in the OVF descriptor. See `OvfConsumerOstNode`
  8760  // for a description of the different node types.
  8761  type OvfConsumerOstNodeType string
  8762  
  8763  const (
  8764  	OvfConsumerOstNodeTypeEnvelope                = OvfConsumerOstNodeType("envelope")
  8765  	OvfConsumerOstNodeTypeVirtualSystem           = OvfConsumerOstNodeType("virtualSystem")
  8766  	OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection")
  8767  )
  8768  
  8769  func (e OvfConsumerOstNodeType) Values() []OvfConsumerOstNodeType {
  8770  	return []OvfConsumerOstNodeType{
  8771  		OvfConsumerOstNodeTypeEnvelope,
  8772  		OvfConsumerOstNodeTypeVirtualSystem,
  8773  		OvfConsumerOstNodeTypeVirtualSystemCollection,
  8774  	}
  8775  }
  8776  
  8777  func (e OvfConsumerOstNodeType) Strings() []string {
  8778  	return EnumValuesAsStrings(e.Values())
  8779  }
  8780  
  8781  func init() {
  8782  	t["OvfConsumerOstNodeType"] = reflect.TypeOf((*OvfConsumerOstNodeType)(nil)).Elem()
  8783  }
  8784  
  8785  // Types of disk provisioning that can be set for the disk in the deployed OVF
  8786  // package.
  8787  type OvfCreateImportSpecParamsDiskProvisioningType string
  8788  
  8789  const (
  8790  	// A sparse (allocate on demand) monolithic disk.
  8791  	//
  8792  	// Disks in this format can
  8793  	// be used with other VMware products.
  8794  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse")
  8795  	// A preallocated monolithic disk.
  8796  	//
  8797  	// Disks in this format can be used with
  8798  	// other VMware products.
  8799  	OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat")
  8800  	// A sparse (allocate on demand) disk with 2GB maximum extent size.
  8801  	//
  8802  	// Disks in this format can be used with other VMware products. The 2GB
  8803  	// extent size makes these disks easier to burn to dvd or use on
  8804  	// filesystems that don't support large files.
  8805  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse")
  8806  	// A preallocated disk with 2GB maximum extent size.
  8807  	//
  8808  	// Disks in this format
  8809  	// can be used with other VMware products. The 2GB extent size
  8810  	// makes these disks easier to burn to dvd or use on filesystems that
  8811  	// don't support large files.
  8812  	OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat")
  8813  	// Space required for thin-provisioned virtual disk is allocated and
  8814  	// zeroed on demand as the space is used.
  8815  	OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin")
  8816  	// A thick disk has all space allocated at creation time
  8817  	// and the space is zeroed on demand as the space is used.
  8818  	OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick")
  8819  	// A sparse (allocate on demand) format with additional space
  8820  	// optimizations.
  8821  	OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse")
  8822  	// An eager zeroed thick disk has all space allocated and wiped clean
  8823  	// of any previous contents on the physical media at creation time.
  8824  	//
  8825  	// Such disks may take longer time during creation compared to other
  8826  	// disk formats.
  8827  	OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick")
  8828  	// Depending on the host type, Sparse is mapped to either
  8829  	// MonolithicSparse or Thin.
  8830  	OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse")
  8831  	// Depending on the host type, Flat is mapped to either
  8832  	// MonolithicFlat or Thick.
  8833  	OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat")
  8834  )
  8835  
  8836  func (e OvfCreateImportSpecParamsDiskProvisioningType) Values() []OvfCreateImportSpecParamsDiskProvisioningType {
  8837  	return []OvfCreateImportSpecParamsDiskProvisioningType{
  8838  		OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse,
  8839  		OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat,
  8840  		OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse,
  8841  		OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat,
  8842  		OvfCreateImportSpecParamsDiskProvisioningTypeThin,
  8843  		OvfCreateImportSpecParamsDiskProvisioningTypeThick,
  8844  		OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse,
  8845  		OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick,
  8846  		OvfCreateImportSpecParamsDiskProvisioningTypeSparse,
  8847  		OvfCreateImportSpecParamsDiskProvisioningTypeFlat,
  8848  	}
  8849  }
  8850  
  8851  func (e OvfCreateImportSpecParamsDiskProvisioningType) Strings() []string {
  8852  	return EnumValuesAsStrings(e.Values())
  8853  }
  8854  
  8855  func init() {
  8856  	t["OvfCreateImportSpecParamsDiskProvisioningType"] = reflect.TypeOf((*OvfCreateImportSpecParamsDiskProvisioningType)(nil)).Elem()
  8857  }
  8858  
  8859  // The format in which performance counter data is returned.
  8860  type PerfFormat string
  8861  
  8862  const (
  8863  	// Counters returned in an array of data objects.
  8864  	PerfFormatNormal = PerfFormat("normal")
  8865  	// Counters returned in comma-separate value (CSV) format.
  8866  	PerfFormatCsv = PerfFormat("csv")
  8867  )
  8868  
  8869  func (e PerfFormat) Values() []PerfFormat {
  8870  	return []PerfFormat{
  8871  		PerfFormatNormal,
  8872  		PerfFormatCsv,
  8873  	}
  8874  }
  8875  
  8876  func (e PerfFormat) Strings() []string {
  8877  	return EnumValuesAsStrings(e.Values())
  8878  }
  8879  
  8880  func init() {
  8881  	t["PerfFormat"] = reflect.TypeOf((*PerfFormat)(nil)).Elem()
  8882  }
  8883  
  8884  // Indicates the type of statistical measurement that a counter&#146;s
  8885  // value represents.
  8886  //
  8887  // Valid types are &#147;absolute&#148;,
  8888  // &#147;delta&#148;, or &#147;rate&#148;.
  8889  type PerfStatsType string
  8890  
  8891  const (
  8892  	// Represents an actual value, level, or state of the counter.
  8893  	//
  8894  	// For
  8895  	// example, the &#147;uptime&#148; counter (`*system*` group)
  8896  	// represents the actual number of seconds since startup. The
  8897  	// &#147;capacity&#148; counter represents the actual configured size
  8898  	// of the specified datastore. In other words, number of samples,
  8899  	// samplingPeriod, and intervals have no bearing on an
  8900  	// &#147;absolute&#148; counter&#147;s value.
  8901  	PerfStatsTypeAbsolute = PerfStatsType("absolute")
  8902  	// Represents an amount of change for the counter during the `PerfInterval.samplingPeriod` as compared to the previous
  8903  	// `interval`.
  8904  	//
  8905  	// The first sampling interval
  8906  	PerfStatsTypeDelta = PerfStatsType("delta")
  8907  	// Represents a value that has been normalized over the `PerfInterval.samplingPeriod`, enabling values for the same
  8908  	// counter type to be compared, regardless of interval.
  8909  	//
  8910  	// For example,
  8911  	// the number of reads per second.
  8912  	PerfStatsTypeRate = PerfStatsType("rate")
  8913  )
  8914  
  8915  func (e PerfStatsType) Values() []PerfStatsType {
  8916  	return []PerfStatsType{
  8917  		PerfStatsTypeAbsolute,
  8918  		PerfStatsTypeDelta,
  8919  		PerfStatsTypeRate,
  8920  	}
  8921  }
  8922  
  8923  func (e PerfStatsType) Strings() []string {
  8924  	return EnumValuesAsStrings(e.Values())
  8925  }
  8926  
  8927  func init() {
  8928  	t["PerfStatsType"] = reflect.TypeOf((*PerfStatsType)(nil)).Elem()
  8929  }
  8930  
  8931  // Indicates how multiple samples of a specific counter type are
  8932  // transformed into a single statistical value.
  8933  type PerfSummaryType string
  8934  
  8935  const (
  8936  	// The actual value collected or the average of all values collected
  8937  	// during the summary period.
  8938  	PerfSummaryTypeAverage = PerfSummaryType("average")
  8939  	// The maximum value of the performance counter value over the
  8940  	// summarization period.
  8941  	PerfSummaryTypeMaximum = PerfSummaryType("maximum")
  8942  	// The minimum value of the performance counter value over the
  8943  	// summarization period.
  8944  	PerfSummaryTypeMinimum = PerfSummaryType("minimum")
  8945  	// The most recent value of the performance counter over the
  8946  	// summarization period.
  8947  	PerfSummaryTypeLatest = PerfSummaryType("latest")
  8948  	// The sum of all the values of the performance counter over the
  8949  	// summarization period.
  8950  	PerfSummaryTypeSummation = PerfSummaryType("summation")
  8951  	// The counter is never rolled up.
  8952  	PerfSummaryTypeNone = PerfSummaryType("none")
  8953  )
  8954  
  8955  func (e PerfSummaryType) Values() []PerfSummaryType {
  8956  	return []PerfSummaryType{
  8957  		PerfSummaryTypeAverage,
  8958  		PerfSummaryTypeMaximum,
  8959  		PerfSummaryTypeMinimum,
  8960  		PerfSummaryTypeLatest,
  8961  		PerfSummaryTypeSummation,
  8962  		PerfSummaryTypeNone,
  8963  	}
  8964  }
  8965  
  8966  func (e PerfSummaryType) Strings() []string {
  8967  	return EnumValuesAsStrings(e.Values())
  8968  }
  8969  
  8970  func init() {
  8971  	t["PerfSummaryType"] = reflect.TypeOf((*PerfSummaryType)(nil)).Elem()
  8972  }
  8973  
  8974  // Indicates the unit of measure represented by a counter or statistical
  8975  // value.
  8976  type PerformanceManagerUnit string
  8977  
  8978  const (
  8979  	// Percentage values in units of 1/100th of a percent.
  8980  	//
  8981  	// For example 100
  8982  	// represents 1%.
  8983  	PerformanceManagerUnitPercent = PerformanceManagerUnit("percent")
  8984  	// Kilobytes.
  8985  	PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes")
  8986  	// Megabytes.
  8987  	PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes")
  8988  	// Megahertz.
  8989  	PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz")
  8990  	// A quantity of items, for example, the number of CPUs.
  8991  	PerformanceManagerUnitNumber = PerformanceManagerUnit("number")
  8992  	// The time in microseconds.
  8993  	PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond")
  8994  	// The time in milliseconds.
  8995  	PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond")
  8996  	// The time in seconds.
  8997  	PerformanceManagerUnitSecond = PerformanceManagerUnit("second")
  8998  	// Kilobytes per second.
  8999  	PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond")
  9000  	// Megabytes per second.
  9001  	PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond")
  9002  	// Watts
  9003  	PerformanceManagerUnitWatt = PerformanceManagerUnit("watt")
  9004  	// Joules
  9005  	PerformanceManagerUnitJoule = PerformanceManagerUnit("joule")
  9006  	// Terabytes.
  9007  	PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes")
  9008  	// Temperature in celsius.
  9009  	PerformanceManagerUnitCelsius = PerformanceManagerUnit("celsius")
  9010  	// The time in nanoseconds.
  9011  	PerformanceManagerUnitNanosecond = PerformanceManagerUnit("nanosecond")
  9012  )
  9013  
  9014  func (e PerformanceManagerUnit) Values() []PerformanceManagerUnit {
  9015  	return []PerformanceManagerUnit{
  9016  		PerformanceManagerUnitPercent,
  9017  		PerformanceManagerUnitKiloBytes,
  9018  		PerformanceManagerUnitMegaBytes,
  9019  		PerformanceManagerUnitMegaHertz,
  9020  		PerformanceManagerUnitNumber,
  9021  		PerformanceManagerUnitMicrosecond,
  9022  		PerformanceManagerUnitMillisecond,
  9023  		PerformanceManagerUnitSecond,
  9024  		PerformanceManagerUnitKiloBytesPerSecond,
  9025  		PerformanceManagerUnitMegaBytesPerSecond,
  9026  		PerformanceManagerUnitWatt,
  9027  		PerformanceManagerUnitJoule,
  9028  		PerformanceManagerUnitTeraBytes,
  9029  		PerformanceManagerUnitCelsius,
  9030  		PerformanceManagerUnitNanosecond,
  9031  	}
  9032  }
  9033  
  9034  func (e PerformanceManagerUnit) Strings() []string {
  9035  	return EnumValuesAsStrings(e.Values())
  9036  }
  9037  
  9038  func init() {
  9039  	t["PerformanceManagerUnit"] = reflect.TypeOf((*PerformanceManagerUnit)(nil)).Elem()
  9040  	minAPIVersionForEnumValue["PerformanceManagerUnit"] = map[string]string{
  9041  		"nanosecond": "8.0.0.1",
  9042  	}
  9043  }
  9044  
  9045  type PhysicalNicResourcePoolSchedulerDisallowedReason string
  9046  
  9047  const (
  9048  	// Indicates that the user has opted out the Physical NIC from resource pool
  9049  	// based scheduling.
  9050  	PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut")
  9051  	// Indicates that the NIC device does is not capable of resource pool
  9052  	// based scheduling.
  9053  	PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported")
  9054  )
  9055  
  9056  func (e PhysicalNicResourcePoolSchedulerDisallowedReason) Values() []PhysicalNicResourcePoolSchedulerDisallowedReason {
  9057  	return []PhysicalNicResourcePoolSchedulerDisallowedReason{
  9058  		PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut,
  9059  		PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported,
  9060  	}
  9061  }
  9062  
  9063  func (e PhysicalNicResourcePoolSchedulerDisallowedReason) Strings() []string {
  9064  	return EnumValuesAsStrings(e.Values())
  9065  }
  9066  
  9067  func init() {
  9068  	t["PhysicalNicResourcePoolSchedulerDisallowedReason"] = reflect.TypeOf((*PhysicalNicResourcePoolSchedulerDisallowedReason)(nil)).Elem()
  9069  }
  9070  
  9071  // Set of possible values for `PhysicalNic.vmDirectPathGen2SupportedMode`.
  9072  type PhysicalNicVmDirectPathGen2SupportedMode string
  9073  
  9074  const (
  9075  	PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt")
  9076  )
  9077  
  9078  func (e PhysicalNicVmDirectPathGen2SupportedMode) Values() []PhysicalNicVmDirectPathGen2SupportedMode {
  9079  	return []PhysicalNicVmDirectPathGen2SupportedMode{
  9080  		PhysicalNicVmDirectPathGen2SupportedModeUpt,
  9081  	}
  9082  }
  9083  
  9084  func (e PhysicalNicVmDirectPathGen2SupportedMode) Strings() []string {
  9085  	return EnumValuesAsStrings(e.Values())
  9086  }
  9087  
  9088  func init() {
  9089  	t["PhysicalNicVmDirectPathGen2SupportedMode"] = reflect.TypeOf((*PhysicalNicVmDirectPathGen2SupportedMode)(nil)).Elem()
  9090  }
  9091  
  9092  // Rule scope determines conditions when an affinity rule is
  9093  // satisfied.
  9094  //
  9095  // The following uses affinity rule as example.
  9096  // cluster: All Vms in the rule list are placed in a single cluster.
  9097  // host: All Vms in the rule list are placed in a single host.
  9098  // storagePod: All Vms in the rule list are placed in a single storagePod.
  9099  // datastore: All Vms in the rule list are placed in a single datastore.
  9100  type PlacementAffinityRuleRuleScope string
  9101  
  9102  const (
  9103  	// clusters are the scope
  9104  	PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster")
  9105  	// individual hosts are the scope
  9106  	PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host")
  9107  	// datastore cluster is teh scope
  9108  	PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod")
  9109  	// individual datastores are the scope
  9110  	PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore")
  9111  )
  9112  
  9113  func (e PlacementAffinityRuleRuleScope) Values() []PlacementAffinityRuleRuleScope {
  9114  	return []PlacementAffinityRuleRuleScope{
  9115  		PlacementAffinityRuleRuleScopeCluster,
  9116  		PlacementAffinityRuleRuleScopeHost,
  9117  		PlacementAffinityRuleRuleScopeStoragePod,
  9118  		PlacementAffinityRuleRuleScopeDatastore,
  9119  	}
  9120  }
  9121  
  9122  func (e PlacementAffinityRuleRuleScope) Strings() []string {
  9123  	return EnumValuesAsStrings(e.Values())
  9124  }
  9125  
  9126  func init() {
  9127  	t["PlacementAffinityRuleRuleScope"] = reflect.TypeOf((*PlacementAffinityRuleRuleScope)(nil)).Elem()
  9128  }
  9129  
  9130  // Rule type determines how the affinity rule is to be enforced:
  9131  // affinity: Vms in the list are kept together within the rule
  9132  // scope.
  9133  //
  9134  // anti-affinity: Vms in the rule list are kept separate
  9135  // across the objects in the rule scope.
  9136  // soft rule: The enforcement is best effort.
  9137  type PlacementAffinityRuleRuleType string
  9138  
  9139  const (
  9140  	// Affinity
  9141  	PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity")
  9142  	// Anti-Affinity
  9143  	PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity")
  9144  	// Best-effort affinity
  9145  	PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity")
  9146  	// Best-effort anti-affinity
  9147  	PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity")
  9148  )
  9149  
  9150  func (e PlacementAffinityRuleRuleType) Values() []PlacementAffinityRuleRuleType {
  9151  	return []PlacementAffinityRuleRuleType{
  9152  		PlacementAffinityRuleRuleTypeAffinity,
  9153  		PlacementAffinityRuleRuleTypeAntiAffinity,
  9154  		PlacementAffinityRuleRuleTypeSoftAffinity,
  9155  		PlacementAffinityRuleRuleTypeSoftAntiAffinity,
  9156  	}
  9157  }
  9158  
  9159  func (e PlacementAffinityRuleRuleType) Strings() []string {
  9160  	return EnumValuesAsStrings(e.Values())
  9161  }
  9162  
  9163  func init() {
  9164  	t["PlacementAffinityRuleRuleType"] = reflect.TypeOf((*PlacementAffinityRuleRuleType)(nil)).Elem()
  9165  }
  9166  
  9167  // Defines the type of placement
  9168  type PlacementSpecPlacementType string
  9169  
  9170  const (
  9171  	// Create a new VM
  9172  	PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create")
  9173  	// Reconfigure a VM
  9174  	PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure")
  9175  	// Relocate a VM
  9176  	PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate")
  9177  	// Clone a VM
  9178  	PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone")
  9179  )
  9180  
  9181  func (e PlacementSpecPlacementType) Values() []PlacementSpecPlacementType {
  9182  	return []PlacementSpecPlacementType{
  9183  		PlacementSpecPlacementTypeCreate,
  9184  		PlacementSpecPlacementTypeReconfigure,
  9185  		PlacementSpecPlacementTypeRelocate,
  9186  		PlacementSpecPlacementTypeClone,
  9187  	}
  9188  }
  9189  
  9190  func (e PlacementSpecPlacementType) Strings() []string {
  9191  	return EnumValuesAsStrings(e.Values())
  9192  }
  9193  
  9194  func init() {
  9195  	t["PlacementSpecPlacementType"] = reflect.TypeOf((*PlacementSpecPlacementType)(nil)).Elem()
  9196  }
  9197  
  9198  // The type of component connected to a port group.
  9199  type PortGroupConnecteeType string
  9200  
  9201  const (
  9202  	// A virtual machine is connected to this port group.
  9203  	PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine")
  9204  	// A system management entity (service console)
  9205  	// is connected to this port group.
  9206  	PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement")
  9207  	// The VMkernel is connected to this port group.
  9208  	PortGroupConnecteeTypeHost = PortGroupConnecteeType("host")
  9209  	// This port group serves an entity of unspecified kind.
  9210  	PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown")
  9211  )
  9212  
  9213  func (e PortGroupConnecteeType) Values() []PortGroupConnecteeType {
  9214  	return []PortGroupConnecteeType{
  9215  		PortGroupConnecteeTypeVirtualMachine,
  9216  		PortGroupConnecteeTypeSystemManagement,
  9217  		PortGroupConnecteeTypeHost,
  9218  		PortGroupConnecteeTypeUnknown,
  9219  	}
  9220  }
  9221  
  9222  func (e PortGroupConnecteeType) Strings() []string {
  9223  	return EnumValuesAsStrings(e.Values())
  9224  }
  9225  
  9226  func init() {
  9227  	t["PortGroupConnecteeType"] = reflect.TypeOf((*PortGroupConnecteeType)(nil)).Elem()
  9228  }
  9229  
  9230  // Defines the result status values for a
  9231  // `HostProfile*.*HostProfile.ExecuteHostProfile`
  9232  // operation.
  9233  //
  9234  // The result data is contained in the
  9235  // `ProfileExecuteResult` data object.
  9236  type ProfileExecuteResultStatus string
  9237  
  9238  const (
  9239  	// Profile execution was successful.
  9240  	//
  9241  	// You can use the output configuration data
  9242  	// to apply the profile to a host.
  9243  	ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success")
  9244  	// Additional data is required to complete the operation.
  9245  	//
  9246  	// The data requirements are defined in the list of policy options for the profile
  9247  	// (`ApplyProfile*.*ApplyProfile.policy`\[\]).
  9248  	ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput")
  9249  	// Profile execution generated an error.
  9250  	//
  9251  	// See `ProfileExecuteResult*.*ProfileExecuteResult.error`.
  9252  	ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error")
  9253  )
  9254  
  9255  func (e ProfileExecuteResultStatus) Values() []ProfileExecuteResultStatus {
  9256  	return []ProfileExecuteResultStatus{
  9257  		ProfileExecuteResultStatusSuccess,
  9258  		ProfileExecuteResultStatusNeedInput,
  9259  		ProfileExecuteResultStatusError,
  9260  	}
  9261  }
  9262  
  9263  func (e ProfileExecuteResultStatus) Strings() []string {
  9264  	return EnumValuesAsStrings(e.Values())
  9265  }
  9266  
  9267  func init() {
  9268  	t["ProfileExecuteResultStatus"] = reflect.TypeOf((*ProfileExecuteResultStatus)(nil)).Elem()
  9269  }
  9270  
  9271  // Enumerates different operations supported for comparing
  9272  // numerical values.
  9273  type ProfileNumericComparator string
  9274  
  9275  const (
  9276  	ProfileNumericComparatorLessThan         = ProfileNumericComparator("lessThan")
  9277  	ProfileNumericComparatorLessThanEqual    = ProfileNumericComparator("lessThanEqual")
  9278  	ProfileNumericComparatorEqual            = ProfileNumericComparator("equal")
  9279  	ProfileNumericComparatorNotEqual         = ProfileNumericComparator("notEqual")
  9280  	ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual")
  9281  	ProfileNumericComparatorGreaterThan      = ProfileNumericComparator("greaterThan")
  9282  )
  9283  
  9284  func (e ProfileNumericComparator) Values() []ProfileNumericComparator {
  9285  	return []ProfileNumericComparator{
  9286  		ProfileNumericComparatorLessThan,
  9287  		ProfileNumericComparatorLessThanEqual,
  9288  		ProfileNumericComparatorEqual,
  9289  		ProfileNumericComparatorNotEqual,
  9290  		ProfileNumericComparatorGreaterThanEqual,
  9291  		ProfileNumericComparatorGreaterThan,
  9292  	}
  9293  }
  9294  
  9295  func (e ProfileNumericComparator) Strings() []string {
  9296  	return EnumValuesAsStrings(e.Values())
  9297  }
  9298  
  9299  func init() {
  9300  	t["ProfileNumericComparator"] = reflect.TypeOf((*ProfileNumericComparator)(nil)).Elem()
  9301  }
  9302  
  9303  // The relation type to be supported.
  9304  type ProfileParameterMetadataRelationType string
  9305  
  9306  const (
  9307  	// The relation to a subprofile or a parameter.
  9308  	ProfileParameterMetadataRelationTypeDynamic_relation = ProfileParameterMetadataRelationType("dynamic_relation")
  9309  	// The values from sources other than the parameter/profile or the static
  9310  	// value list are allowed.
  9311  	ProfileParameterMetadataRelationTypeExtensible_relation = ProfileParameterMetadataRelationType("extensible_relation")
  9312  	// The value list contains localization keys instead of values.
  9313  	ProfileParameterMetadataRelationTypeLocalizable_relation = ProfileParameterMetadataRelationType("localizable_relation")
  9314  	// The relation is defined by static valid value list.
  9315  	ProfileParameterMetadataRelationTypeStatic_relation = ProfileParameterMetadataRelationType("static_relation")
  9316  	// The relation is defined for validation purpose.
  9317  	ProfileParameterMetadataRelationTypeValidation_relation = ProfileParameterMetadataRelationType("validation_relation")
  9318  )
  9319  
  9320  func (e ProfileParameterMetadataRelationType) Values() []ProfileParameterMetadataRelationType {
  9321  	return []ProfileParameterMetadataRelationType{
  9322  		ProfileParameterMetadataRelationTypeDynamic_relation,
  9323  		ProfileParameterMetadataRelationTypeExtensible_relation,
  9324  		ProfileParameterMetadataRelationTypeLocalizable_relation,
  9325  		ProfileParameterMetadataRelationTypeStatic_relation,
  9326  		ProfileParameterMetadataRelationTypeValidation_relation,
  9327  	}
  9328  }
  9329  
  9330  func (e ProfileParameterMetadataRelationType) Strings() []string {
  9331  	return EnumValuesAsStrings(e.Values())
  9332  }
  9333  
  9334  func init() {
  9335  	t["ProfileParameterMetadataRelationType"] = reflect.TypeOf((*ProfileParameterMetadataRelationType)(nil)).Elem()
  9336  }
  9337  
  9338  // Enumeration of possible changes to a property.
  9339  type PropertyChangeOp string
  9340  
  9341  const (
  9342  	PropertyChangeOpAdd            = PropertyChangeOp("add")
  9343  	PropertyChangeOpRemove         = PropertyChangeOp("remove")
  9344  	PropertyChangeOpAssign         = PropertyChangeOp("assign")
  9345  	PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove")
  9346  )
  9347  
  9348  func (e PropertyChangeOp) Values() []PropertyChangeOp {
  9349  	return []PropertyChangeOp{
  9350  		PropertyChangeOpAdd,
  9351  		PropertyChangeOpRemove,
  9352  		PropertyChangeOpAssign,
  9353  		PropertyChangeOpIndirectRemove,
  9354  	}
  9355  }
  9356  
  9357  func (e PropertyChangeOp) Strings() []string {
  9358  	return EnumValuesAsStrings(e.Values())
  9359  }
  9360  
  9361  func init() {
  9362  	t["PropertyChangeOp"] = reflect.TypeOf((*PropertyChangeOp)(nil)).Elem()
  9363  }
  9364  
  9365  type QuarantineModeFaultFaultType string
  9366  
  9367  const (
  9368  	// The cluster does not contain any non-quarantined host satisfying the
  9369  	// VM/host affinity rules for the VM.
  9370  	QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost")
  9371  	// The current DRS migration priority setting disallows generating a
  9372  	// recommendation to prevent VMs on quarantined hosts.
  9373  	//
  9374  	// Thus, the
  9375  	// violation will not be corrected.
  9376  	QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed")
  9377  	// DRS has determined that evacuation of VMs from quarantined hosts
  9378  	// impacts respecting cluster constraints or performance goals so they
  9379  	// are not evacuated.
  9380  	QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact")
  9381  )
  9382  
  9383  func (e QuarantineModeFaultFaultType) Values() []QuarantineModeFaultFaultType {
  9384  	return []QuarantineModeFaultFaultType{
  9385  		QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost,
  9386  		QuarantineModeFaultFaultTypeCorrectionDisallowed,
  9387  		QuarantineModeFaultFaultTypeCorrectionImpact,
  9388  	}
  9389  }
  9390  
  9391  func (e QuarantineModeFaultFaultType) Strings() []string {
  9392  	return EnumValuesAsStrings(e.Values())
  9393  }
  9394  
  9395  func init() {
  9396  	t["QuarantineModeFaultFaultType"] = reflect.TypeOf((*QuarantineModeFaultFaultType)(nil)).Elem()
  9397  }
  9398  
  9399  // Quiescing is a boolean flag in `ReplicationConfigSpec`
  9400  // and QuiesceModeType describes the supported quiesce mode
  9401  // for `VirtualMachine`.
  9402  //
  9403  // If application quiescing fails, HBR would attempt
  9404  // filesystem quiescing and if even filesystem quiescing
  9405  // fails, then we would just create a crash consistent
  9406  // instance.
  9407  type QuiesceMode string
  9408  
  9409  const (
  9410  	// HBR supports application quescing for this
  9411  	// `VirtualMachine`.
  9412  	QuiesceModeApplication = QuiesceMode("application")
  9413  	// HBR supports filesystem quescing for this
  9414  	// `VirtualMachine`.
  9415  	QuiesceModeFilesystem = QuiesceMode("filesystem")
  9416  	// HBR does not support quescing for this
  9417  	// `VirtualMachine`.
  9418  	QuiesceModeNone = QuiesceMode("none")
  9419  )
  9420  
  9421  func (e QuiesceMode) Values() []QuiesceMode {
  9422  	return []QuiesceMode{
  9423  		QuiesceModeApplication,
  9424  		QuiesceModeFilesystem,
  9425  		QuiesceModeNone,
  9426  	}
  9427  }
  9428  
  9429  func (e QuiesceMode) Strings() []string {
  9430  	return EnumValuesAsStrings(e.Values())
  9431  }
  9432  
  9433  func init() {
  9434  	t["QuiesceMode"] = reflect.TypeOf((*QuiesceMode)(nil)).Elem()
  9435  }
  9436  
  9437  // List of defined migration reason codes:
  9438  type RecommendationReasonCode string
  9439  
  9440  const (
  9441  	// Balance average CPU utilization.
  9442  	RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg")
  9443  	// Balance average memory utilization.
  9444  	RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg")
  9445  	// Fulfill affinity rule.
  9446  	RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin")
  9447  	// Fulfill anti-affinity rule.
  9448  	RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin")
  9449  	// Host entering maintenance mode.
  9450  	RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint")
  9451  	// Host entering standby mode.
  9452  	RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby")
  9453  	// balance CPU reservations
  9454  	RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu")
  9455  	// balance memory reservations
  9456  	RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem")
  9457  	// Power on virtual machine
  9458  	RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm")
  9459  	// Power off host for power savings
  9460  	RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving")
  9461  	// Power on host to increase cluster capacity
  9462  	RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity")
  9463  	// Sanity-check resource pool hierarchy
  9464  	RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource")
  9465  	// Maintain unreserved capacity
  9466  	RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity")
  9467  	// Fix hard VM/host affinity rule violation
  9468  	RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity")
  9469  	// Fix soft VM/host affinity rule violation
  9470  	RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity")
  9471  	// Balance datastore space usage.
  9472  	RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage")
  9473  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
  9474  	//
  9475  	// Balance datastore I/O workload.
  9476  	RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad")
  9477  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
  9478  	//
  9479  	// Balance datastore IOPS reservation
  9480  	RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation")
  9481  	// Datastore entering maintenance mode.
  9482  	RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint")
  9483  	// Fix virtual disk affinity rule violation.
  9484  	RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin")
  9485  	// Fix virtual disk anti-affinity rule violation.
  9486  	RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin")
  9487  	// Fix the issue that a datastore run out of space.
  9488  	RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage")
  9489  	// Satisfy storage initial placement requests.
  9490  	RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement")
  9491  	// Deprecated as of vSphere8.0 U3, and there is no replacement for it.
  9492  	//
  9493  	// IO load balancing was disabled internally.
  9494  	RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal")
  9495  	// Satisfy unified vmotion placement requests.
  9496  	RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement")
  9497  	// Fix network bandwidth reservation violation
  9498  	RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation")
  9499  	// Host is partially degraded.
  9500  	RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation")
  9501  	// Host is not degraded.
  9502  	RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation")
  9503  	// Fix maxVms constraint violation
  9504  	RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint")
  9505  	// Fix ft maxVMs and maxVcpus constraint violations
  9506  	RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints")
  9507  	// Fix VM/host affinity policy violation
  9508  	RecommendationReasonCodeVmHostAffinityPolicy = RecommendationReasonCode("vmHostAffinityPolicy")
  9509  	// Fix VM/host anti-affinity policy violation
  9510  	RecommendationReasonCodeVmHostAntiAffinityPolicy = RecommendationReasonCode("vmHostAntiAffinityPolicy")
  9511  	// Fix VM-VM anti-affinity policy violations
  9512  	RecommendationReasonCodeVmAntiAffinityPolicy = RecommendationReasonCode("vmAntiAffinityPolicy")
  9513  	// `**Since:**` vSphere API Release 7.0.2.0
  9514  	RecommendationReasonCodeBalanceVsanUsage = RecommendationReasonCode("balanceVsanUsage")
  9515  	// Optimize assignable hardware resource orchestration
  9516  	RecommendationReasonCodeAhPlacementOptimization = RecommendationReasonCode("ahPlacementOptimization")
  9517  	// Upgrade virtual machine to new vmx binary
  9518  	RecommendationReasonCodeVmxUpgrade = RecommendationReasonCode("vmxUpgrade")
  9519  )
  9520  
  9521  func (e RecommendationReasonCode) Values() []RecommendationReasonCode {
  9522  	return []RecommendationReasonCode{
  9523  		RecommendationReasonCodeFairnessCpuAvg,
  9524  		RecommendationReasonCodeFairnessMemAvg,
  9525  		RecommendationReasonCodeJointAffin,
  9526  		RecommendationReasonCodeAntiAffin,
  9527  		RecommendationReasonCodeHostMaint,
  9528  		RecommendationReasonCodeEnterStandby,
  9529  		RecommendationReasonCodeReservationCpu,
  9530  		RecommendationReasonCodeReservationMem,
  9531  		RecommendationReasonCodePowerOnVm,
  9532  		RecommendationReasonCodePowerSaving,
  9533  		RecommendationReasonCodeIncreaseCapacity,
  9534  		RecommendationReasonCodeCheckResource,
  9535  		RecommendationReasonCodeUnreservedCapacity,
  9536  		RecommendationReasonCodeVmHostHardAffinity,
  9537  		RecommendationReasonCodeVmHostSoftAffinity,
  9538  		RecommendationReasonCodeBalanceDatastoreSpaceUsage,
  9539  		RecommendationReasonCodeBalanceDatastoreIOLoad,
  9540  		RecommendationReasonCodeBalanceDatastoreIOPSReservation,
  9541  		RecommendationReasonCodeDatastoreMaint,
  9542  		RecommendationReasonCodeVirtualDiskJointAffin,
  9543  		RecommendationReasonCodeVirtualDiskAntiAffin,
  9544  		RecommendationReasonCodeDatastoreSpaceOutage,
  9545  		RecommendationReasonCodeStoragePlacement,
  9546  		RecommendationReasonCodeIolbDisabledInternal,
  9547  		RecommendationReasonCodeXvmotionPlacement,
  9548  		RecommendationReasonCodeNetworkBandwidthReservation,
  9549  		RecommendationReasonCodeHostInDegradation,
  9550  		RecommendationReasonCodeHostExitDegradation,
  9551  		RecommendationReasonCodeMaxVmsConstraint,
  9552  		RecommendationReasonCodeFtConstraints,
  9553  		RecommendationReasonCodeVmHostAffinityPolicy,
  9554  		RecommendationReasonCodeVmHostAntiAffinityPolicy,
  9555  		RecommendationReasonCodeVmAntiAffinityPolicy,
  9556  		RecommendationReasonCodeBalanceVsanUsage,
  9557  		RecommendationReasonCodeAhPlacementOptimization,
  9558  		RecommendationReasonCodeVmxUpgrade,
  9559  	}
  9560  }
  9561  
  9562  func (e RecommendationReasonCode) Strings() []string {
  9563  	return EnumValuesAsStrings(e.Values())
  9564  }
  9565  
  9566  func init() {
  9567  	t["RecommendationReasonCode"] = reflect.TypeOf((*RecommendationReasonCode)(nil)).Elem()
  9568  	minAPIVersionForEnumValue["RecommendationReasonCode"] = map[string]string{
  9569  		"balanceVsanUsage":        "7.0.2.0",
  9570  		"ahPlacementOptimization": "8.0.2.0",
  9571  		"vmxUpgrade":              "8.0.3.0",
  9572  	}
  9573  }
  9574  
  9575  // Pre-defined constants for possible recommendation types.
  9576  //
  9577  // Virtual Center
  9578  // uses this information to coordinate with the clients.
  9579  type RecommendationType string
  9580  
  9581  const (
  9582  	RecommendationTypeV1 = RecommendationType("V1")
  9583  )
  9584  
  9585  func (e RecommendationType) Values() []RecommendationType {
  9586  	return []RecommendationType{
  9587  		RecommendationTypeV1,
  9588  	}
  9589  }
  9590  
  9591  func (e RecommendationType) Strings() []string {
  9592  	return EnumValuesAsStrings(e.Values())
  9593  }
  9594  
  9595  func init() {
  9596  	t["RecommendationType"] = reflect.TypeOf((*RecommendationType)(nil)).Elem()
  9597  }
  9598  
  9599  type ReplicationDiskConfigFaultReasonForFault string
  9600  
  9601  const (
  9602  	// Could not look up device by key
  9603  	ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound")
  9604  	// Replication not supported for disk type or backend
  9605  	ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported")
  9606  	// Invalid key value
  9607  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey")
  9608  	// Invalid disk replication ID string
  9609  	ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId")
  9610  	// Another disk in the VM has the same replication ID
  9611  	ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId")
  9612  	// Invalid path (string) for the persistent file
  9613  	ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath")
  9614  	// Attempting to re-configure the disk's replication ID
  9615  	ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed")
  9616  )
  9617  
  9618  func (e ReplicationDiskConfigFaultReasonForFault) Values() []ReplicationDiskConfigFaultReasonForFault {
  9619  	return []ReplicationDiskConfigFaultReasonForFault{
  9620  		ReplicationDiskConfigFaultReasonForFaultDiskNotFound,
  9621  		ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported,
  9622  		ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey,
  9623  		ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId,
  9624  		ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId,
  9625  		ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath,
  9626  		ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed,
  9627  	}
  9628  }
  9629  
  9630  func (e ReplicationDiskConfigFaultReasonForFault) Strings() []string {
  9631  	return EnumValuesAsStrings(e.Values())
  9632  }
  9633  
  9634  func init() {
  9635  	t["ReplicationDiskConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultReasonForFault)(nil)).Elem()
  9636  }
  9637  
  9638  type ReplicationVmConfigFaultReasonForFault string
  9639  
  9640  const (
  9641  	// Incompatible VM hardware version
  9642  	ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion")
  9643  	// Invalid VM Replication ID string
  9644  	ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId")
  9645  	// Invalid generation number in VM's configuration
  9646  	ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber")
  9647  	// Invalid RPO value (out of bounds)
  9648  	ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue")
  9649  	// Invalid destination IP address
  9650  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress")
  9651  	// Invalid destination port
  9652  	ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort")
  9653  	// Malformed extra options list
  9654  	ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions")
  9655  	// Mis-matching generation number (stale)
  9656  	ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber")
  9657  	// Attempting to re-configure the VM replication ID
  9658  	ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed")
  9659  	// Could not retrieve the VM configuration
  9660  	ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration")
  9661  	// Attempting to re-enable replication for the VM
  9662  	ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled")
  9663  	// The existing replication configuration of the VM is broken
  9664  	// (applicable to re-configuration only).
  9665  	ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration")
  9666  	// Attempting to re-configure or disable replication for a VM
  9667  	// for which replication has not been enabled.
  9668  	ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled")
  9669  	// Failed to commit the new replication properties for the VM.
  9670  	ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed")
  9671  	// VM is encrypted
  9672  	ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm")
  9673  	// Remote certificate thumbprint is invalid
  9674  	ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint")
  9675  	// VM hardware contains devices incompatible with replication
  9676  	ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice")
  9677  )
  9678  
  9679  func (e ReplicationVmConfigFaultReasonForFault) Values() []ReplicationVmConfigFaultReasonForFault {
  9680  	return []ReplicationVmConfigFaultReasonForFault{
  9681  		ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion,
  9682  		ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId,
  9683  		ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber,
  9684  		ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue,
  9685  		ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress,
  9686  		ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort,
  9687  		ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions,
  9688  		ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber,
  9689  		ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed,
  9690  		ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration,
  9691  		ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled,
  9692  		ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration,
  9693  		ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled,
  9694  		ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed,
  9695  		ReplicationVmConfigFaultReasonForFaultEncryptedVm,
  9696  		ReplicationVmConfigFaultReasonForFaultInvalidThumbprint,
  9697  		ReplicationVmConfigFaultReasonForFaultIncompatibleDevice,
  9698  	}
  9699  }
  9700  
  9701  func (e ReplicationVmConfigFaultReasonForFault) Strings() []string {
  9702  	return EnumValuesAsStrings(e.Values())
  9703  }
  9704  
  9705  func init() {
  9706  	t["ReplicationVmConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmConfigFaultReasonForFault)(nil)).Elem()
  9707  }
  9708  
  9709  type ReplicationVmFaultReasonForFault string
  9710  
  9711  const (
  9712  	// `VirtualMachine` is not configured for replication
  9713  	ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured")
  9714  	// `VirtualMachine` is powered off (and is not undergoing
  9715  	// offline replication)
  9716  	ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff")
  9717  	// `VirtualMachine` is suspended (and is not undergoing
  9718  	// offline replication)
  9719  	ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended")
  9720  	// `VirtualMachine` is powered on
  9721  	ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn")
  9722  	// `VirtualMachine` is in the process of creating an
  9723  	// an offline instance.
  9724  	ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating")
  9725  	// `VirtualMachine` is in an invalid state
  9726  	ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState")
  9727  	// The specified instanceId does not match the `VirtualMachine`
  9728  	// instanceId
  9729  	ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId")
  9730  	// `VirtualMachine` is in the process of creating an
  9731  	// offline instance and we are trying to disable it.
  9732  	//
  9733  	// The first step is to close the offline disk. If closing disks
  9734  	// is not successful, throw this fault.
  9735  	ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError")
  9736  	// `VirtualMachine` is trying to create a group already
  9737  	// owned by another VM.
  9738  	ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist")
  9739  )
  9740  
  9741  func (e ReplicationVmFaultReasonForFault) Values() []ReplicationVmFaultReasonForFault {
  9742  	return []ReplicationVmFaultReasonForFault{
  9743  		ReplicationVmFaultReasonForFaultNotConfigured,
  9744  		ReplicationVmFaultReasonForFaultPoweredOff,
  9745  		ReplicationVmFaultReasonForFaultSuspended,
  9746  		ReplicationVmFaultReasonForFaultPoweredOn,
  9747  		ReplicationVmFaultReasonForFaultOfflineReplicating,
  9748  		ReplicationVmFaultReasonForFaultInvalidState,
  9749  		ReplicationVmFaultReasonForFaultInvalidInstanceId,
  9750  		ReplicationVmFaultReasonForFaultCloseDiskError,
  9751  		ReplicationVmFaultReasonForFaultGroupExist,
  9752  	}
  9753  }
  9754  
  9755  func (e ReplicationVmFaultReasonForFault) Strings() []string {
  9756  	return EnumValuesAsStrings(e.Values())
  9757  }
  9758  
  9759  func init() {
  9760  	t["ReplicationVmFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmFaultReasonForFault)(nil)).Elem()
  9761  }
  9762  
  9763  type ReplicationVmInProgressFaultActivity string
  9764  
  9765  const (
  9766  	// Initial synchronization with the remote site
  9767  	ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync")
  9768  	// Delta updates to generate a consistent instance
  9769  	ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta")
  9770  )
  9771  
  9772  func (e ReplicationVmInProgressFaultActivity) Values() []ReplicationVmInProgressFaultActivity {
  9773  	return []ReplicationVmInProgressFaultActivity{
  9774  		ReplicationVmInProgressFaultActivityFullSync,
  9775  		ReplicationVmInProgressFaultActivityDelta,
  9776  	}
  9777  }
  9778  
  9779  func (e ReplicationVmInProgressFaultActivity) Strings() []string {
  9780  	return EnumValuesAsStrings(e.Values())
  9781  }
  9782  
  9783  func init() {
  9784  	t["ReplicationVmInProgressFaultActivity"] = reflect.TypeOf((*ReplicationVmInProgressFaultActivity)(nil)).Elem()
  9785  }
  9786  
  9787  // Describes the current state of a replicated `VirtualMachine`
  9788  type ReplicationVmState string
  9789  
  9790  const (
  9791  	// The `VirtualMachine` has no current replication state.
  9792  	//
  9793  	// This is a virtual machine that is configured for replication, but is
  9794  	// powered off and not undergoing offline replication.
  9795  	ReplicationVmStateNone = ReplicationVmState("none")
  9796  	// The `VirtualMachine` replication is paused.
  9797  	ReplicationVmStatePaused = ReplicationVmState("paused")
  9798  	// One or more of the `VirtualMachine` disks is in the
  9799  	// process of an initial synchronization with the remote site.
  9800  	ReplicationVmStateSyncing = ReplicationVmState("syncing")
  9801  	// The `VirtualMachine` is being replicated but is not
  9802  	// currently in the process of having a consistent instance created.
  9803  	ReplicationVmStateIdle = ReplicationVmState("idle")
  9804  	// The `VirtualMachine` is in the process of having
  9805  	// a consistent instance created.
  9806  	ReplicationVmStateActive = ReplicationVmState("active")
  9807  	// The `VirtualMachine` is unable to replicate due to
  9808  	// errors.
  9809  	//
  9810  	// XXX Currently unused.
  9811  	ReplicationVmStateError = ReplicationVmState("error")
  9812  )
  9813  
  9814  func (e ReplicationVmState) Values() []ReplicationVmState {
  9815  	return []ReplicationVmState{
  9816  		ReplicationVmStateNone,
  9817  		ReplicationVmStatePaused,
  9818  		ReplicationVmStateSyncing,
  9819  		ReplicationVmStateIdle,
  9820  		ReplicationVmStateActive,
  9821  		ReplicationVmStateError,
  9822  	}
  9823  }
  9824  
  9825  func (e ReplicationVmState) Strings() []string {
  9826  	return EnumValuesAsStrings(e.Values())
  9827  }
  9828  
  9829  func init() {
  9830  	t["ReplicationVmState"] = reflect.TypeOf((*ReplicationVmState)(nil)).Elem()
  9831  }
  9832  
  9833  type ResourceConfigSpecScaleSharesBehavior string
  9834  
  9835  const (
  9836  	// Do not scale shares
  9837  	ResourceConfigSpecScaleSharesBehaviorDisabled = ResourceConfigSpecScaleSharesBehavior("disabled")
  9838  	// Scale both CPU and memory shares
  9839  	ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares = ResourceConfigSpecScaleSharesBehavior("scaleCpuAndMemoryShares")
  9840  )
  9841  
  9842  func (e ResourceConfigSpecScaleSharesBehavior) Values() []ResourceConfigSpecScaleSharesBehavior {
  9843  	return []ResourceConfigSpecScaleSharesBehavior{
  9844  		ResourceConfigSpecScaleSharesBehaviorDisabled,
  9845  		ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares,
  9846  	}
  9847  }
  9848  
  9849  func (e ResourceConfigSpecScaleSharesBehavior) Strings() []string {
  9850  	return EnumValuesAsStrings(e.Values())
  9851  }
  9852  
  9853  func init() {
  9854  	t["ResourceConfigSpecScaleSharesBehavior"] = reflect.TypeOf((*ResourceConfigSpecScaleSharesBehavior)(nil)).Elem()
  9855  }
  9856  
  9857  // The policy setting used to determine when to perform scheduled
  9858  // upgrades for a virtual machine.
  9859  type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string
  9860  
  9861  const (
  9862  	// No scheduled upgrades.
  9863  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never")
  9864  	// Run scheduled upgrades only on normal guest OS shutdown.
  9865  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff")
  9866  	// Always run scheduled upgrades.
  9867  	ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always")
  9868  )
  9869  
  9870  func (e ScheduledHardwareUpgradeInfoHardwareUpgradePolicy) Values() []ScheduledHardwareUpgradeInfoHardwareUpgradePolicy {
  9871  	return []ScheduledHardwareUpgradeInfoHardwareUpgradePolicy{
  9872  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever,
  9873  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff,
  9874  		ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways,
  9875  	}
  9876  }
  9877  
  9878  func (e ScheduledHardwareUpgradeInfoHardwareUpgradePolicy) Strings() []string {
  9879  	return EnumValuesAsStrings(e.Values())
  9880  }
  9881  
  9882  func init() {
  9883  	t["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradePolicy)(nil)).Elem()
  9884  }
  9885  
  9886  // Status for last attempt to run scheduled hardware upgrade.
  9887  type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string
  9888  
  9889  const (
  9890  	// No scheduled upgrade ever happened.
  9891  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none")
  9892  	// Upgrade is scheduled, but was not run yet.
  9893  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending")
  9894  	// Upgrade succeeded.
  9895  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success")
  9896  	// Upgrade failed.
  9897  	//
  9898  	// # For more information about the failure
  9899  	//
  9900  	// See also `ScheduledHardwareUpgradeInfo.fault`.
  9901  	ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed")
  9902  )
  9903  
  9904  func (e ScheduledHardwareUpgradeInfoHardwareUpgradeStatus) Values() []ScheduledHardwareUpgradeInfoHardwareUpgradeStatus {
  9905  	return []ScheduledHardwareUpgradeInfoHardwareUpgradeStatus{
  9906  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone,
  9907  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending,
  9908  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess,
  9909  		ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed,
  9910  	}
  9911  }
  9912  
  9913  func (e ScheduledHardwareUpgradeInfoHardwareUpgradeStatus) Strings() []string {
  9914  	return EnumValuesAsStrings(e.Values())
  9915  }
  9916  
  9917  func init() {
  9918  	t["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradeStatus)(nil)).Elem()
  9919  }
  9920  
  9921  // The types of disk drives.
  9922  type ScsiDiskType string
  9923  
  9924  const (
  9925  	// 512 native sector size drive.
  9926  	ScsiDiskTypeNative512 = ScsiDiskType("native512")
  9927  	// 4K sector size drive in 512 emulation mode.
  9928  	ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512")
  9929  	// 4K native sector size drive.
  9930  	ScsiDiskTypeNative4k = ScsiDiskType("native4k")
  9931  	// Software emulated 4k.
  9932  	ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k")
  9933  	// Unknown type.
  9934  	ScsiDiskTypeUnknown = ScsiDiskType("unknown")
  9935  )
  9936  
  9937  func (e ScsiDiskType) Values() []ScsiDiskType {
  9938  	return []ScsiDiskType{
  9939  		ScsiDiskTypeNative512,
  9940  		ScsiDiskTypeEmulated512,
  9941  		ScsiDiskTypeNative4k,
  9942  		ScsiDiskTypeSoftwareEmulated4k,
  9943  		ScsiDiskTypeUnknown,
  9944  	}
  9945  }
  9946  
  9947  func (e ScsiDiskType) Strings() []string {
  9948  	return EnumValuesAsStrings(e.Values())
  9949  }
  9950  
  9951  func init() {
  9952  	t["ScsiDiskType"] = reflect.TypeOf((*ScsiDiskType)(nil)).Elem()
  9953  }
  9954  
  9955  // An indicator of the utility of Descriptor in being used as an
  9956  // identifier that is stable, unique, and correlatable.
  9957  type ScsiLunDescriptorQuality string
  9958  
  9959  const (
  9960  	// The Descriptor has an identifier that is useful for identification
  9961  	// and correlation across hosts.
  9962  	ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality")
  9963  	// The Descriptor has an identifier that may be used for identification
  9964  	// and correlation across hosts.
  9965  	ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality")
  9966  	// The Descriptor has an identifier that should not be used for
  9967  	// identification and correlation across hosts.
  9968  	ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality")
  9969  	// The Descriptor has an identifier that may or may not be useful for
  9970  	// identification and correlation across hosts.
  9971  	ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality")
  9972  )
  9973  
  9974  func (e ScsiLunDescriptorQuality) Values() []ScsiLunDescriptorQuality {
  9975  	return []ScsiLunDescriptorQuality{
  9976  		ScsiLunDescriptorQualityHighQuality,
  9977  		ScsiLunDescriptorQualityMediumQuality,
  9978  		ScsiLunDescriptorQualityLowQuality,
  9979  		ScsiLunDescriptorQualityUnknownQuality,
  9980  	}
  9981  }
  9982  
  9983  func (e ScsiLunDescriptorQuality) Strings() []string {
  9984  	return EnumValuesAsStrings(e.Values())
  9985  }
  9986  
  9987  func init() {
  9988  	t["ScsiLunDescriptorQuality"] = reflect.TypeOf((*ScsiLunDescriptorQuality)(nil)).Elem()
  9989  }
  9990  
  9991  type ScsiLunLunReservationStatus string
  9992  
  9993  const (
  9994  	ScsiLunLunReservationStatusLUN_RESERVED_UNKNOWN       = ScsiLunLunReservationStatus("LUN_RESERVED_UNKNOWN")
  9995  	ScsiLunLunReservationStatusLUN_RESERVED_YES           = ScsiLunLunReservationStatus("LUN_RESERVED_YES")
  9996  	ScsiLunLunReservationStatusLUN_RESERVED_NO            = ScsiLunLunReservationStatus("LUN_RESERVED_NO")
  9997  	ScsiLunLunReservationStatusLUN_RESERVED_NOT_SUPPORTED = ScsiLunLunReservationStatus("LUN_RESERVED_NOT_SUPPORTED")
  9998  )
  9999  
 10000  func (e ScsiLunLunReservationStatus) Values() []ScsiLunLunReservationStatus {
 10001  	return []ScsiLunLunReservationStatus{
 10002  		ScsiLunLunReservationStatusLUN_RESERVED_UNKNOWN,
 10003  		ScsiLunLunReservationStatusLUN_RESERVED_YES,
 10004  		ScsiLunLunReservationStatusLUN_RESERVED_NO,
 10005  		ScsiLunLunReservationStatusLUN_RESERVED_NOT_SUPPORTED,
 10006  	}
 10007  }
 10008  
 10009  func (e ScsiLunLunReservationStatus) Strings() []string {
 10010  	return EnumValuesAsStrings(e.Values())
 10011  }
 10012  
 10013  func init() {
 10014  	t["ScsiLunLunReservationStatus"] = reflect.TypeOf((*ScsiLunLunReservationStatus)(nil)).Elem()
 10015  	minAPIVersionForType["ScsiLunLunReservationStatus"] = "8.0.3.0"
 10016  }
 10017  
 10018  // The Operational state of the LUN
 10019  type ScsiLunState string
 10020  
 10021  const (
 10022  	// The LUN state is unknown.
 10023  	ScsiLunStateUnknownState = ScsiLunState("unknownState")
 10024  	// The LUN is on and available.
 10025  	ScsiLunStateOk = ScsiLunState("ok")
 10026  	// The LUN is dead and/or not reachable.
 10027  	ScsiLunStateError = ScsiLunState("error")
 10028  	// The LUN is off.
 10029  	ScsiLunStateOff = ScsiLunState("off")
 10030  	// The LUN is inactive.
 10031  	ScsiLunStateQuiesced = ScsiLunState("quiesced")
 10032  	// One or more paths to the LUN are down, but I/O
 10033  	// is still possible.
 10034  	//
 10035  	// Further path failures may
 10036  	// result in lost connectivity.
 10037  	ScsiLunStateDegraded = ScsiLunState("degraded")
 10038  	// No more paths are available to the LUN.
 10039  	ScsiLunStateLostCommunication = ScsiLunState("lostCommunication")
 10040  	// All Paths have been down for the timeout condition
 10041  	// determined by a user-configurable host advanced option.
 10042  	ScsiLunStateTimeout = ScsiLunState("timeout")
 10043  )
 10044  
 10045  func (e ScsiLunState) Values() []ScsiLunState {
 10046  	return []ScsiLunState{
 10047  		ScsiLunStateUnknownState,
 10048  		ScsiLunStateOk,
 10049  		ScsiLunStateError,
 10050  		ScsiLunStateOff,
 10051  		ScsiLunStateQuiesced,
 10052  		ScsiLunStateDegraded,
 10053  		ScsiLunStateLostCommunication,
 10054  		ScsiLunStateTimeout,
 10055  	}
 10056  }
 10057  
 10058  func (e ScsiLunState) Strings() []string {
 10059  	return EnumValuesAsStrings(e.Values())
 10060  }
 10061  
 10062  func init() {
 10063  	t["ScsiLunState"] = reflect.TypeOf((*ScsiLunState)(nil)).Elem()
 10064  }
 10065  
 10066  // The list of SCSI device types.
 10067  //
 10068  // These values correspond to values
 10069  // published in the SCSI specification.
 10070  type ScsiLunType string
 10071  
 10072  const (
 10073  	ScsiLunTypeDisk                   = ScsiLunType("disk")
 10074  	ScsiLunTypeTape                   = ScsiLunType("tape")
 10075  	ScsiLunTypePrinter                = ScsiLunType("printer")
 10076  	ScsiLunTypeProcessor              = ScsiLunType("processor")
 10077  	ScsiLunTypeWorm                   = ScsiLunType("worm")
 10078  	ScsiLunTypeCdrom                  = ScsiLunType("cdrom")
 10079  	ScsiLunTypeScanner                = ScsiLunType("scanner")
 10080  	ScsiLunTypeOpticalDevice          = ScsiLunType("opticalDevice")
 10081  	ScsiLunTypeMediaChanger           = ScsiLunType("mediaChanger")
 10082  	ScsiLunTypeCommunications         = ScsiLunType("communications")
 10083  	ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController")
 10084  	ScsiLunTypeEnclosure              = ScsiLunType("enclosure")
 10085  	ScsiLunTypeUnknown                = ScsiLunType("unknown")
 10086  )
 10087  
 10088  func (e ScsiLunType) Values() []ScsiLunType {
 10089  	return []ScsiLunType{
 10090  		ScsiLunTypeDisk,
 10091  		ScsiLunTypeTape,
 10092  		ScsiLunTypePrinter,
 10093  		ScsiLunTypeProcessor,
 10094  		ScsiLunTypeWorm,
 10095  		ScsiLunTypeCdrom,
 10096  		ScsiLunTypeScanner,
 10097  		ScsiLunTypeOpticalDevice,
 10098  		ScsiLunTypeMediaChanger,
 10099  		ScsiLunTypeCommunications,
 10100  		ScsiLunTypeStorageArrayController,
 10101  		ScsiLunTypeEnclosure,
 10102  		ScsiLunTypeUnknown,
 10103  	}
 10104  }
 10105  
 10106  func (e ScsiLunType) Strings() []string {
 10107  	return EnumValuesAsStrings(e.Values())
 10108  }
 10109  
 10110  func init() {
 10111  	t["ScsiLunType"] = reflect.TypeOf((*ScsiLunType)(nil)).Elem()
 10112  }
 10113  
 10114  // Storage array hardware acceleration support status.
 10115  //
 10116  // When a host boots, the support status is unknown.
 10117  // As a host attempts hardware-accelerated operations,
 10118  // it determines whether the storage device supports hardware acceleration
 10119  // and sets the `ScsiLun.vStorageSupport` property accordingly.
 10120  type ScsiLunVStorageSupportStatus string
 10121  
 10122  const (
 10123  	// Storage device supports hardware acceleration.
 10124  	//
 10125  	// The ESX host will use the feature to offload certain
 10126  	// storage-related operations to the device.
 10127  	ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported")
 10128  	// Storage device does not support hardware acceleration.
 10129  	//
 10130  	// The ESX host will handle all storage-related operations.
 10131  	ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported")
 10132  	// Initial support status value.
 10133  	ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown")
 10134  )
 10135  
 10136  func (e ScsiLunVStorageSupportStatus) Values() []ScsiLunVStorageSupportStatus {
 10137  	return []ScsiLunVStorageSupportStatus{
 10138  		ScsiLunVStorageSupportStatusVStorageSupported,
 10139  		ScsiLunVStorageSupportStatusVStorageUnsupported,
 10140  		ScsiLunVStorageSupportStatusVStorageUnknown,
 10141  	}
 10142  }
 10143  
 10144  func (e ScsiLunVStorageSupportStatus) Strings() []string {
 10145  	return EnumValuesAsStrings(e.Values())
 10146  }
 10147  
 10148  func init() {
 10149  	t["ScsiLunVStorageSupportStatus"] = reflect.TypeOf((*ScsiLunVStorageSupportStatus)(nil)).Elem()
 10150  }
 10151  
 10152  type SessionManagerGenericServiceTicketTicketType string
 10153  
 10154  const (
 10155  	// Ticket used for HttpNfc access to a file or disk on a datastore
 10156  	SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket = SessionManagerGenericServiceTicketTicketType("HttpNfcServiceTicket")
 10157  	// Ticket used for service request on a host
 10158  	SessionManagerGenericServiceTicketTicketTypeHostServiceTicket = SessionManagerGenericServiceTicketTicketType("HostServiceTicket")
 10159  	// Ticket used for service request on a VC
 10160  	SessionManagerGenericServiceTicketTicketTypeVcServiceTicket = SessionManagerGenericServiceTicketTicketType("VcServiceTicket")
 10161  )
 10162  
 10163  func (e SessionManagerGenericServiceTicketTicketType) Values() []SessionManagerGenericServiceTicketTicketType {
 10164  	return []SessionManagerGenericServiceTicketTicketType{
 10165  		SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket,
 10166  		SessionManagerGenericServiceTicketTicketTypeHostServiceTicket,
 10167  		SessionManagerGenericServiceTicketTicketTypeVcServiceTicket,
 10168  	}
 10169  }
 10170  
 10171  func (e SessionManagerGenericServiceTicketTicketType) Strings() []string {
 10172  	return EnumValuesAsStrings(e.Values())
 10173  }
 10174  
 10175  func init() {
 10176  	t["SessionManagerGenericServiceTicketTicketType"] = reflect.TypeOf((*SessionManagerGenericServiceTicketTicketType)(nil)).Elem()
 10177  	minAPIVersionForType["SessionManagerGenericServiceTicketTicketType"] = "7.0.2.0"
 10178  }
 10179  
 10180  // HTTP request methods.
 10181  type SessionManagerHttpServiceRequestSpecMethod string
 10182  
 10183  const (
 10184  	SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions")
 10185  	SessionManagerHttpServiceRequestSpecMethodHttpGet     = SessionManagerHttpServiceRequestSpecMethod("httpGet")
 10186  	SessionManagerHttpServiceRequestSpecMethodHttpHead    = SessionManagerHttpServiceRequestSpecMethod("httpHead")
 10187  	SessionManagerHttpServiceRequestSpecMethodHttpPost    = SessionManagerHttpServiceRequestSpecMethod("httpPost")
 10188  	SessionManagerHttpServiceRequestSpecMethodHttpPut     = SessionManagerHttpServiceRequestSpecMethod("httpPut")
 10189  	SessionManagerHttpServiceRequestSpecMethodHttpDelete  = SessionManagerHttpServiceRequestSpecMethod("httpDelete")
 10190  	SessionManagerHttpServiceRequestSpecMethodHttpTrace   = SessionManagerHttpServiceRequestSpecMethod("httpTrace")
 10191  	SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect")
 10192  )
 10193  
 10194  func (e SessionManagerHttpServiceRequestSpecMethod) Values() []SessionManagerHttpServiceRequestSpecMethod {
 10195  	return []SessionManagerHttpServiceRequestSpecMethod{
 10196  		SessionManagerHttpServiceRequestSpecMethodHttpOptions,
 10197  		SessionManagerHttpServiceRequestSpecMethodHttpGet,
 10198  		SessionManagerHttpServiceRequestSpecMethodHttpHead,
 10199  		SessionManagerHttpServiceRequestSpecMethodHttpPost,
 10200  		SessionManagerHttpServiceRequestSpecMethodHttpPut,
 10201  		SessionManagerHttpServiceRequestSpecMethodHttpDelete,
 10202  		SessionManagerHttpServiceRequestSpecMethodHttpTrace,
 10203  		SessionManagerHttpServiceRequestSpecMethodHttpConnect,
 10204  	}
 10205  }
 10206  
 10207  func (e SessionManagerHttpServiceRequestSpecMethod) Strings() []string {
 10208  	return EnumValuesAsStrings(e.Values())
 10209  }
 10210  
 10211  func init() {
 10212  	t["SessionManagerHttpServiceRequestSpecMethod"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpecMethod)(nil)).Elem()
 10213  }
 10214  
 10215  // Simplified shares notation.
 10216  //
 10217  // These designations have different meanings for different resources.
 10218  type SharesLevel string
 10219  
 10220  const (
 10221  	// For CPU: Shares = 500 \* number of virtual CPUs
 10222  	// For Memory: Shares = 5 \* virtual machine memory size in megabytes
 10223  	// For Disk: Shares = 500
 10224  	// For Network: Shares = 0.25 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10225  	SharesLevelLow = SharesLevel("low")
 10226  	// For CPU: Shares = 1000 \* number of virtual CPUs
 10227  	// For Memory: Shares = 10 \* virtual machine memory size in megabytes
 10228  	// For Disk: Shares = 1000
 10229  	// For Network: Shares = 0.5 \* `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10230  	SharesLevelNormal = SharesLevel("normal")
 10231  	// For CPU: Shares = 2000 \* number of virtual CPUs
 10232  	// For Memory: Shares = 20 \* virtual machine memory size in megabytes
 10233  	// For Disk: Shares = 2000
 10234  	// For Network: Shares = `DVSFeatureCapability.networkResourcePoolHighShareValue`
 10235  	SharesLevelHigh = SharesLevel("high")
 10236  	// 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.
 10237  	SharesLevelCustom = SharesLevel("custom")
 10238  )
 10239  
 10240  func (e SharesLevel) Values() []SharesLevel {
 10241  	return []SharesLevel{
 10242  		SharesLevelLow,
 10243  		SharesLevelNormal,
 10244  		SharesLevelHigh,
 10245  		SharesLevelCustom,
 10246  	}
 10247  }
 10248  
 10249  func (e SharesLevel) Strings() []string {
 10250  	return EnumValuesAsStrings(e.Values())
 10251  }
 10252  
 10253  func init() {
 10254  	t["SharesLevel"] = reflect.TypeOf((*SharesLevel)(nil)).Elem()
 10255  }
 10256  
 10257  // The encoding of the resultant return data.
 10258  //
 10259  // This is a hint to the client side
 10260  // to indicate the format of the information being returned.
 10261  type SimpleCommandEncoding string
 10262  
 10263  const (
 10264  	// Comma separated values
 10265  	SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV")
 10266  	// Hex encoded binary data
 10267  	SimpleCommandEncodingHEX    = SimpleCommandEncoding("HEX")
 10268  	SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING")
 10269  )
 10270  
 10271  func (e SimpleCommandEncoding) Values() []SimpleCommandEncoding {
 10272  	return []SimpleCommandEncoding{
 10273  		SimpleCommandEncodingCSV,
 10274  		SimpleCommandEncodingHEX,
 10275  		SimpleCommandEncodingSTRING,
 10276  	}
 10277  }
 10278  
 10279  func (e SimpleCommandEncoding) Strings() []string {
 10280  	return EnumValuesAsStrings(e.Values())
 10281  }
 10282  
 10283  func init() {
 10284  	t["SimpleCommandEncoding"] = reflect.TypeOf((*SimpleCommandEncoding)(nil)).Elem()
 10285  }
 10286  
 10287  // The available SLP discovery methods.
 10288  type SlpDiscoveryMethod string
 10289  
 10290  const (
 10291  	// Use DHCP to find the SLP DAs.
 10292  	SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp")
 10293  	// Use broadcasting to find SLP DAs.
 10294  	//
 10295  	// Only DAs on the current subnet will be found.
 10296  	SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast")
 10297  	// Use the well known multicast address to find DAs.
 10298  	SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast")
 10299  	// User specified address for a DA.
 10300  	SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual")
 10301  )
 10302  
 10303  func (e SlpDiscoveryMethod) Values() []SlpDiscoveryMethod {
 10304  	return []SlpDiscoveryMethod{
 10305  		SlpDiscoveryMethodSlpDhcp,
 10306  		SlpDiscoveryMethodSlpAutoUnicast,
 10307  		SlpDiscoveryMethodSlpAutoMulticast,
 10308  		SlpDiscoveryMethodSlpManual,
 10309  	}
 10310  }
 10311  
 10312  func (e SlpDiscoveryMethod) Strings() []string {
 10313  	return EnumValuesAsStrings(e.Values())
 10314  }
 10315  
 10316  func init() {
 10317  	t["SlpDiscoveryMethod"] = reflect.TypeOf((*SlpDiscoveryMethod)(nil)).Elem()
 10318  }
 10319  
 10320  // These are the constraint relationships between software packages.
 10321  type SoftwarePackageConstraint string
 10322  
 10323  const (
 10324  	SoftwarePackageConstraintEquals           = SoftwarePackageConstraint("equals")
 10325  	SoftwarePackageConstraintLessThan         = SoftwarePackageConstraint("lessThan")
 10326  	SoftwarePackageConstraintLessThanEqual    = SoftwarePackageConstraint("lessThanEqual")
 10327  	SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual")
 10328  	SoftwarePackageConstraintGreaterThan      = SoftwarePackageConstraint("greaterThan")
 10329  )
 10330  
 10331  func (e SoftwarePackageConstraint) Values() []SoftwarePackageConstraint {
 10332  	return []SoftwarePackageConstraint{
 10333  		SoftwarePackageConstraintEquals,
 10334  		SoftwarePackageConstraintLessThan,
 10335  		SoftwarePackageConstraintLessThanEqual,
 10336  		SoftwarePackageConstraintGreaterThanEqual,
 10337  		SoftwarePackageConstraintGreaterThan,
 10338  	}
 10339  }
 10340  
 10341  func (e SoftwarePackageConstraint) Strings() []string {
 10342  	return EnumValuesAsStrings(e.Values())
 10343  }
 10344  
 10345  func init() {
 10346  	t["SoftwarePackageConstraint"] = reflect.TypeOf((*SoftwarePackageConstraint)(nil)).Elem()
 10347  }
 10348  
 10349  type SoftwarePackageVibType string
 10350  
 10351  const (
 10352  	// This package is installed into bootbank in storage.
 10353  	SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank")
 10354  	// This package is installed into tools partition in storage.
 10355  	SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools")
 10356  	// This package contains install related data without
 10357  	// content to install.
 10358  	SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta")
 10359  )
 10360  
 10361  func (e SoftwarePackageVibType) Values() []SoftwarePackageVibType {
 10362  	return []SoftwarePackageVibType{
 10363  		SoftwarePackageVibTypeBootbank,
 10364  		SoftwarePackageVibTypeTools,
 10365  		SoftwarePackageVibTypeMeta,
 10366  	}
 10367  }
 10368  
 10369  func (e SoftwarePackageVibType) Strings() []string {
 10370  	return EnumValuesAsStrings(e.Values())
 10371  }
 10372  
 10373  func init() {
 10374  	t["SoftwarePackageVibType"] = reflect.TypeOf((*SoftwarePackageVibType)(nil)).Elem()
 10375  }
 10376  
 10377  // The operation on the target state.
 10378  type StateAlarmOperator string
 10379  
 10380  const (
 10381  	// Test if the target state matches the given red or yellow states.
 10382  	StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual")
 10383  	// Test if the target state does not match the given red or yellow states.
 10384  	StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal")
 10385  )
 10386  
 10387  func (e StateAlarmOperator) Values() []StateAlarmOperator {
 10388  	return []StateAlarmOperator{
 10389  		StateAlarmOperatorIsEqual,
 10390  		StateAlarmOperatorIsUnequal,
 10391  	}
 10392  }
 10393  
 10394  func (e StateAlarmOperator) Strings() []string {
 10395  	return EnumValuesAsStrings(e.Values())
 10396  }
 10397  
 10398  func init() {
 10399  	t["StateAlarmOperator"] = reflect.TypeOf((*StateAlarmOperator)(nil)).Elem()
 10400  }
 10401  
 10402  // Storage DRS behavior.
 10403  type StorageDrsPodConfigInfoBehavior string
 10404  
 10405  const (
 10406  	// Specifies that VirtualCenter should generate recommendations for
 10407  	// virtual disk migration and for placement with a datastore,
 10408  	// but should not execute the recommendations automatically.
 10409  	StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual")
 10410  	// Specifies that VirtualCenter should generate recommendations
 10411  	// for virtual disk migration and for placement with a
 10412  	// datastore.
 10413  	//
 10414  	// The recommendations for virtual disk migrations
 10415  	// will be executed automatically, but the placement
 10416  	// recommendations will be done manually.
 10417  	StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated")
 10418  )
 10419  
 10420  func (e StorageDrsPodConfigInfoBehavior) Values() []StorageDrsPodConfigInfoBehavior {
 10421  	return []StorageDrsPodConfigInfoBehavior{
 10422  		StorageDrsPodConfigInfoBehaviorManual,
 10423  		StorageDrsPodConfigInfoBehaviorAutomated,
 10424  	}
 10425  }
 10426  
 10427  func (e StorageDrsPodConfigInfoBehavior) Strings() []string {
 10428  	return EnumValuesAsStrings(e.Values())
 10429  }
 10430  
 10431  func init() {
 10432  	t["StorageDrsPodConfigInfoBehavior"] = reflect.TypeOf((*StorageDrsPodConfigInfoBehavior)(nil)).Elem()
 10433  }
 10434  
 10435  // Defines the two ways a space utilization threshold can be specified.
 10436  type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string
 10437  
 10438  const (
 10439  	// Default mode: threshold as a percentage of datastore capacity
 10440  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization")
 10441  	// Threshold as an absolute value of free space in GBs
 10442  	StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace")
 10443  )
 10444  
 10445  func (e StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode) Values() []StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode {
 10446  	return []StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode{
 10447  		StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization,
 10448  		StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace,
 10449  	}
 10450  }
 10451  
 10452  func (e StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode) Strings() []string {
 10453  	return EnumValuesAsStrings(e.Values())
 10454  }
 10455  
 10456  func init() {
 10457  	t["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode)(nil)).Elem()
 10458  }
 10459  
 10460  // Deprecated as of vSphere8.0 U3, and there is no replacement for it.
 10461  //
 10462  // # User specification of congestion threshold mode on a given datastore
 10463  //
 10464  // For more information, see
 10465  // `StorageIORMInfo.congestionThreshold`
 10466  type StorageIORMThresholdMode string
 10467  
 10468  const (
 10469  	// Storagage IO Control will choose appropriate congestion threshold value
 10470  	// for that datastore to operate at given percentage of peak throughput.
 10471  	//
 10472  	// This is the default setting
 10473  	StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic")
 10474  	// Use user specified Storage IO Control congestion threshold value
 10475  	StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual")
 10476  )
 10477  
 10478  func (e StorageIORMThresholdMode) Values() []StorageIORMThresholdMode {
 10479  	return []StorageIORMThresholdMode{
 10480  		StorageIORMThresholdModeAutomatic,
 10481  		StorageIORMThresholdModeManual,
 10482  	}
 10483  }
 10484  
 10485  func (e StorageIORMThresholdMode) Strings() []string {
 10486  	return EnumValuesAsStrings(e.Values())
 10487  }
 10488  
 10489  func init() {
 10490  	t["StorageIORMThresholdMode"] = reflect.TypeOf((*StorageIORMThresholdMode)(nil)).Elem()
 10491  }
 10492  
 10493  // Defines the storage placement operation type.
 10494  type StoragePlacementSpecPlacementType string
 10495  
 10496  const (
 10497  	// Create a VM.
 10498  	StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create")
 10499  	// Reconfigure a VM.
 10500  	StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure")
 10501  	// Relocate a VM.
 10502  	StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate")
 10503  	// Clone a VM.
 10504  	StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone")
 10505  )
 10506  
 10507  func (e StoragePlacementSpecPlacementType) Values() []StoragePlacementSpecPlacementType {
 10508  	return []StoragePlacementSpecPlacementType{
 10509  		StoragePlacementSpecPlacementTypeCreate,
 10510  		StoragePlacementSpecPlacementTypeReconfigure,
 10511  		StoragePlacementSpecPlacementTypeRelocate,
 10512  		StoragePlacementSpecPlacementTypeClone,
 10513  	}
 10514  }
 10515  
 10516  func (e StoragePlacementSpecPlacementType) Strings() []string {
 10517  	return EnumValuesAsStrings(e.Values())
 10518  }
 10519  
 10520  func init() {
 10521  	t["StoragePlacementSpecPlacementType"] = reflect.TypeOf((*StoragePlacementSpecPlacementType)(nil)).Elem()
 10522  }
 10523  
 10524  // This option specifies how to select tasks based on child relationships
 10525  // in the inventory hierarchy.
 10526  //
 10527  // If a managed entity has children, their tasks
 10528  // can be retrieved with this filter option.
 10529  type TaskFilterSpecRecursionOption string
 10530  
 10531  const (
 10532  	// Returns tasks that pertain only to the specified managed entity,
 10533  	// and not its children.
 10534  	TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self")
 10535  	// Returns tasks pertaining to child entities only.
 10536  	//
 10537  	// Excludes
 10538  	// tasks pertaining to the specified managed entity itself.
 10539  	TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children")
 10540  	// Returns tasks pertaining either to the specified managed entity
 10541  	// or to its child entities.
 10542  	TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all")
 10543  )
 10544  
 10545  func (e TaskFilterSpecRecursionOption) Values() []TaskFilterSpecRecursionOption {
 10546  	return []TaskFilterSpecRecursionOption{
 10547  		TaskFilterSpecRecursionOptionSelf,
 10548  		TaskFilterSpecRecursionOptionChildren,
 10549  		TaskFilterSpecRecursionOptionAll,
 10550  	}
 10551  }
 10552  
 10553  func (e TaskFilterSpecRecursionOption) Strings() []string {
 10554  	return EnumValuesAsStrings(e.Values())
 10555  }
 10556  
 10557  func init() {
 10558  	t["TaskFilterSpecRecursionOption"] = reflect.TypeOf((*TaskFilterSpecRecursionOption)(nil)).Elem()
 10559  }
 10560  
 10561  // This option specifies a time stamp governing the selection of tasks.
 10562  type TaskFilterSpecTimeOption string
 10563  
 10564  const (
 10565  	// The time stamp when the task was created and queued.
 10566  	TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime")
 10567  	// The time stamp when the task started.
 10568  	TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime")
 10569  	// The time stamp when the task finished.
 10570  	TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime")
 10571  )
 10572  
 10573  func (e TaskFilterSpecTimeOption) Values() []TaskFilterSpecTimeOption {
 10574  	return []TaskFilterSpecTimeOption{
 10575  		TaskFilterSpecTimeOptionQueuedTime,
 10576  		TaskFilterSpecTimeOptionStartedTime,
 10577  		TaskFilterSpecTimeOptionCompletedTime,
 10578  	}
 10579  }
 10580  
 10581  func (e TaskFilterSpecTimeOption) Strings() []string {
 10582  	return EnumValuesAsStrings(e.Values())
 10583  }
 10584  
 10585  func init() {
 10586  	t["TaskFilterSpecTimeOption"] = reflect.TypeOf((*TaskFilterSpecTimeOption)(nil)).Elem()
 10587  }
 10588  
 10589  // List of possible states of a task.
 10590  type TaskInfoState string
 10591  
 10592  const (
 10593  	// When there are too many tasks for threads to handle.
 10594  	TaskInfoStateQueued = TaskInfoState("queued")
 10595  	// When the busy thread is freed from its current task by
 10596  	// finishing the task, it picks a queued task to run.
 10597  	//
 10598  	// Then the queued tasks are marked as running.
 10599  	TaskInfoStateRunning = TaskInfoState("running")
 10600  	// When a running task has completed.
 10601  	TaskInfoStateSuccess = TaskInfoState("success")
 10602  	// When a running task has encountered an error.
 10603  	TaskInfoStateError = TaskInfoState("error")
 10604  )
 10605  
 10606  func (e TaskInfoState) Values() []TaskInfoState {
 10607  	return []TaskInfoState{
 10608  		TaskInfoStateQueued,
 10609  		TaskInfoStateRunning,
 10610  		TaskInfoStateSuccess,
 10611  		TaskInfoStateError,
 10612  	}
 10613  }
 10614  
 10615  func (e TaskInfoState) Strings() []string {
 10616  	return EnumValuesAsStrings(e.Values())
 10617  }
 10618  
 10619  func init() {
 10620  	t["TaskInfoState"] = reflect.TypeOf((*TaskInfoState)(nil)).Elem()
 10621  }
 10622  
 10623  type ThirdPartyLicenseAssignmentFailedReason string
 10624  
 10625  const (
 10626  	// A general failure has occurred during assigning license to the 3rd party module
 10627  	ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed")
 10628  	// The 3rd party module we are trying to license is not installed.
 10629  	ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled")
 10630  )
 10631  
 10632  func (e ThirdPartyLicenseAssignmentFailedReason) Values() []ThirdPartyLicenseAssignmentFailedReason {
 10633  	return []ThirdPartyLicenseAssignmentFailedReason{
 10634  		ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed,
 10635  		ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled,
 10636  	}
 10637  }
 10638  
 10639  func (e ThirdPartyLicenseAssignmentFailedReason) Strings() []string {
 10640  	return EnumValuesAsStrings(e.Values())
 10641  }
 10642  
 10643  func init() {
 10644  	t["ThirdPartyLicenseAssignmentFailedReason"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedReason)(nil)).Elem()
 10645  }
 10646  
 10647  // The policy setting used to determine when tools are auto-upgraded for
 10648  // a virtual machine
 10649  type UpgradePolicy string
 10650  
 10651  const (
 10652  	// No auto-upgrades for tools will be performed for this
 10653  	// virtual machine.
 10654  	//
 10655  	// Users must manually invoke the UpgradeTools
 10656  	// operation to update the tools.
 10657  	UpgradePolicyManual = UpgradePolicy("manual")
 10658  	// When the virtual machine is power-cycled, the system checks
 10659  	// for a newer version of tools when the VM comes back up.
 10660  	//
 10661  	// If it
 10662  	// is available, a tools upgrade is automatically performed on the
 10663  	// virtual machine and it is rebooted if necessary.
 10664  	UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle")
 10665  )
 10666  
 10667  func (e UpgradePolicy) Values() []UpgradePolicy {
 10668  	return []UpgradePolicy{
 10669  		UpgradePolicyManual,
 10670  		UpgradePolicyUpgradeAtPowerCycle,
 10671  	}
 10672  }
 10673  
 10674  func (e UpgradePolicy) Strings() []string {
 10675  	return EnumValuesAsStrings(e.Values())
 10676  }
 10677  
 10678  func init() {
 10679  	t["UpgradePolicy"] = reflect.TypeOf((*UpgradePolicy)(nil)).Elem()
 10680  }
 10681  
 10682  type VAppAutoStartAction string
 10683  
 10684  const (
 10685  	// No action is taken for this virtual machine.
 10686  	//
 10687  	// This virtual machine is
 10688  	// not a part of the auto-start sequence. This can be used for both auto-start
 10689  	// and auto-start settings.
 10690  	VAppAutoStartActionNone = VAppAutoStartAction("none")
 10691  	// This virtual machine is powered on when it is next in the auto-start order.
 10692  	VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn")
 10693  	// This virtual machine is powered off when it is next in the auto-stop order.
 10694  	//
 10695  	// This is the default stopAction.
 10696  	VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff")
 10697  	// The guest operating system for a virtual machine is shut down when that
 10698  	// virtual machine in next in the auto-stop order.
 10699  	VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown")
 10700  	// This virtual machine is suspended when it is next in the auto-stop order.
 10701  	VAppAutoStartActionSuspend = VAppAutoStartAction("suspend")
 10702  )
 10703  
 10704  func (e VAppAutoStartAction) Values() []VAppAutoStartAction {
 10705  	return []VAppAutoStartAction{
 10706  		VAppAutoStartActionNone,
 10707  		VAppAutoStartActionPowerOn,
 10708  		VAppAutoStartActionPowerOff,
 10709  		VAppAutoStartActionGuestShutdown,
 10710  		VAppAutoStartActionSuspend,
 10711  	}
 10712  }
 10713  
 10714  func (e VAppAutoStartAction) Strings() []string {
 10715  	return EnumValuesAsStrings(e.Values())
 10716  }
 10717  
 10718  func init() {
 10719  	t["VAppAutoStartAction"] = reflect.TypeOf((*VAppAutoStartAction)(nil)).Elem()
 10720  }
 10721  
 10722  // The cloned VMs can either be provisioned the same way as the VMs
 10723  // they are a clone of, thin provisioned or thick provisioned, or
 10724  // linked clones (i.e., using delta disks).
 10725  type VAppCloneSpecProvisioningType string
 10726  
 10727  const (
 10728  	// Each disk in the cloned virtual machines will have the same
 10729  	// type of disk as the source vApp.
 10730  	VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource")
 10731  	// Each disk in the cloned virtual machines is allocated in full
 10732  	// size now and committed on demand.
 10733  	//
 10734  	// This is only supported on
 10735  	// VMFS-3 and newer datastores. Other types of datastores may
 10736  	// create thick disks.
 10737  	VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin")
 10738  	// Each disk in the cloned virtual machines are allocated and
 10739  	// committed in full size immediately.
 10740  	VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick")
 10741  )
 10742  
 10743  func (e VAppCloneSpecProvisioningType) Values() []VAppCloneSpecProvisioningType {
 10744  	return []VAppCloneSpecProvisioningType{
 10745  		VAppCloneSpecProvisioningTypeSameAsSource,
 10746  		VAppCloneSpecProvisioningTypeThin,
 10747  		VAppCloneSpecProvisioningTypeThick,
 10748  	}
 10749  }
 10750  
 10751  func (e VAppCloneSpecProvisioningType) Strings() []string {
 10752  	return EnumValuesAsStrings(e.Values())
 10753  }
 10754  
 10755  func init() {
 10756  	t["VAppCloneSpecProvisioningType"] = reflect.TypeOf((*VAppCloneSpecProvisioningType)(nil)).Elem()
 10757  }
 10758  
 10759  // IP allocation schemes supported by the guest.
 10760  type VAppIPAssignmentInfoAllocationSchemes string
 10761  
 10762  const (
 10763  	// The vApp supports DHCP to acquire IP configuration.
 10764  	VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp")
 10765  	// The vApp supports setting the IP configuration through the
 10766  	// properties provided in the OVF environment.
 10767  	VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv")
 10768  )
 10769  
 10770  func (e VAppIPAssignmentInfoAllocationSchemes) Values() []VAppIPAssignmentInfoAllocationSchemes {
 10771  	return []VAppIPAssignmentInfoAllocationSchemes{
 10772  		VAppIPAssignmentInfoAllocationSchemesDhcp,
 10773  		VAppIPAssignmentInfoAllocationSchemesOvfenv,
 10774  	}
 10775  }
 10776  
 10777  func (e VAppIPAssignmentInfoAllocationSchemes) Strings() []string {
 10778  	return EnumValuesAsStrings(e.Values())
 10779  }
 10780  
 10781  func init() {
 10782  	t["VAppIPAssignmentInfoAllocationSchemes"] = reflect.TypeOf((*VAppIPAssignmentInfoAllocationSchemes)(nil)).Elem()
 10783  }
 10784  
 10785  // IP allocation policy for a deployment.
 10786  type VAppIPAssignmentInfoIpAllocationPolicy string
 10787  
 10788  const (
 10789  	// Specifies that DHCP must be used to allocate IP addresses to the vApp
 10790  	VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy")
 10791  	// Specifies that IP allocation is done through the range managed by the
 10792  	// vSphere platform.
 10793  	//
 10794  	// The IP addresses are allocated when needed, typically at
 10795  	// power-on, and deallocated during power-off. There is no guarantee that a
 10796  	// vApp will get the same IP address when restarted.
 10797  	VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy")
 10798  	// Specifies that IP addresses are configured manually when the vApp is deployed
 10799  	// and will be kept until reconfigured or the vApp destroyed.
 10800  	//
 10801  	// This will ensure
 10802  	// that a vApp gets a consistent IP for its life-time.
 10803  	VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy")
 10804  	// Specifies that IP allocation is done through the range managed by the VI
 10805  	// platform.
 10806  	//
 10807  	// The IP addresses are allocated at first power-on, and remain
 10808  	// allocated at power-off. This will ensure that a vApp gets a consistent
 10809  	// IP for its life-time.
 10810  	VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy")
 10811  )
 10812  
 10813  func (e VAppIPAssignmentInfoIpAllocationPolicy) Values() []VAppIPAssignmentInfoIpAllocationPolicy {
 10814  	return []VAppIPAssignmentInfoIpAllocationPolicy{
 10815  		VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy,
 10816  		VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy,
 10817  		VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy,
 10818  		VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy,
 10819  	}
 10820  }
 10821  
 10822  func (e VAppIPAssignmentInfoIpAllocationPolicy) Strings() []string {
 10823  	return EnumValuesAsStrings(e.Values())
 10824  }
 10825  
 10826  func init() {
 10827  	t["VAppIPAssignmentInfoIpAllocationPolicy"] = reflect.TypeOf((*VAppIPAssignmentInfoIpAllocationPolicy)(nil)).Elem()
 10828  }
 10829  
 10830  // IP protocols supported by the guest.
 10831  type VAppIPAssignmentInfoProtocols string
 10832  
 10833  const (
 10834  	// The vApp supports IPv4 protocol.
 10835  	VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4")
 10836  	// The vApp supports IPv6 protocol.
 10837  	VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6")
 10838  )
 10839  
 10840  func (e VAppIPAssignmentInfoProtocols) Values() []VAppIPAssignmentInfoProtocols {
 10841  	return []VAppIPAssignmentInfoProtocols{
 10842  		VAppIPAssignmentInfoProtocolsIPv4,
 10843  		VAppIPAssignmentInfoProtocolsIPv6,
 10844  	}
 10845  }
 10846  
 10847  func (e VAppIPAssignmentInfoProtocols) Strings() []string {
 10848  	return EnumValuesAsStrings(e.Values())
 10849  }
 10850  
 10851  func init() {
 10852  	t["VAppIPAssignmentInfoProtocols"] = reflect.TypeOf((*VAppIPAssignmentInfoProtocols)(nil)).Elem()
 10853  }
 10854  
 10855  type VFlashModuleNotSupportedReason string
 10856  
 10857  const (
 10858  	VFlashModuleNotSupportedReasonCacheModeNotSupported            = VFlashModuleNotSupportedReason("CacheModeNotSupported")
 10859  	VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported")
 10860  	VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported       = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported")
 10861  	VFlashModuleNotSupportedReasonCacheReservationNotSupported     = VFlashModuleNotSupportedReason("CacheReservationNotSupported")
 10862  	VFlashModuleNotSupportedReasonDiskSizeNotSupported             = VFlashModuleNotSupportedReason("DiskSizeNotSupported")
 10863  )
 10864  
 10865  func (e VFlashModuleNotSupportedReason) Values() []VFlashModuleNotSupportedReason {
 10866  	return []VFlashModuleNotSupportedReason{
 10867  		VFlashModuleNotSupportedReasonCacheModeNotSupported,
 10868  		VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported,
 10869  		VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported,
 10870  		VFlashModuleNotSupportedReasonCacheReservationNotSupported,
 10871  		VFlashModuleNotSupportedReasonDiskSizeNotSupported,
 10872  	}
 10873  }
 10874  
 10875  func (e VFlashModuleNotSupportedReason) Strings() []string {
 10876  	return EnumValuesAsStrings(e.Values())
 10877  }
 10878  
 10879  func init() {
 10880  	t["VFlashModuleNotSupportedReason"] = reflect.TypeOf((*VFlashModuleNotSupportedReason)(nil)).Elem()
 10881  }
 10882  
 10883  // Types of a host's compatibility with a designated virtual machine
 10884  // that is a candidate for VMotion.
 10885  //
 10886  // Used with queryVMotionCompatibility
 10887  // both as inputs (to designate which compatibility types to test for)
 10888  // and as outputs (to specify which compatibility types apply for
 10889  // each host).
 10890  type VMotionCompatibilityType string
 10891  
 10892  const (
 10893  	// The host's CPU features are compatible with the
 10894  	// the virtual machine's requirements.
 10895  	VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu")
 10896  	// The software platform on the host supports VMotion
 10897  	// and is compatible with the virtual machine.
 10898  	VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software")
 10899  )
 10900  
 10901  func (e VMotionCompatibilityType) Values() []VMotionCompatibilityType {
 10902  	return []VMotionCompatibilityType{
 10903  		VMotionCompatibilityTypeCpu,
 10904  		VMotionCompatibilityTypeSoftware,
 10905  	}
 10906  }
 10907  
 10908  func (e VMotionCompatibilityType) Strings() []string {
 10909  	return EnumValuesAsStrings(e.Values())
 10910  }
 10911  
 10912  func init() {
 10913  	t["VMotionCompatibilityType"] = reflect.TypeOf((*VMotionCompatibilityType)(nil)).Elem()
 10914  }
 10915  
 10916  // The teaming health check match status.
 10917  type VMwareDVSTeamingMatchStatus string
 10918  
 10919  const (
 10920  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
 10921  	// `VmwareUplinkPortTeamingPolicy.policy`
 10922  	// in the vSphere Distributed Switch, and the external physical switch
 10923  	// has the matching EtherChannel configuration.
 10924  	VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch")
 10925  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
 10926  	// `VmwareUplinkPortTeamingPolicy.policy`
 10927  	// in the vSphere Distributed Switch, and the external physical switch
 10928  	// does not have EtherChannel configuration.
 10929  	VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch")
 10930  	// The value of 'loadbalance\_ip' is used in a uplink teaming policy
 10931  	// `VmwareUplinkPortTeamingPolicy.policy`
 10932  	// in the vSphere Distributed Switch, but the external physical switch
 10933  	// does not have the matching EtherChannel configuration.
 10934  	VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch")
 10935  	// The value of 'loadbalance\_ip' is not used in a uplink teaming policy
 10936  	// `VmwareUplinkPortTeamingPolicy.policy`
 10937  	// in the vSphere Distributed Switch, but the external physical switch
 10938  	// has EtherChannel configuration.
 10939  	VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch")
 10940  )
 10941  
 10942  func (e VMwareDVSTeamingMatchStatus) Values() []VMwareDVSTeamingMatchStatus {
 10943  	return []VMwareDVSTeamingMatchStatus{
 10944  		VMwareDVSTeamingMatchStatusIphashMatch,
 10945  		VMwareDVSTeamingMatchStatusNonIphashMatch,
 10946  		VMwareDVSTeamingMatchStatusIphashMismatch,
 10947  		VMwareDVSTeamingMatchStatusNonIphashMismatch,
 10948  	}
 10949  }
 10950  
 10951  func (e VMwareDVSTeamingMatchStatus) Strings() []string {
 10952  	return EnumValuesAsStrings(e.Values())
 10953  }
 10954  
 10955  func init() {
 10956  	t["VMwareDVSTeamingMatchStatus"] = reflect.TypeOf((*VMwareDVSTeamingMatchStatus)(nil)).Elem()
 10957  }
 10958  
 10959  // Distributed Port Mirroring session Encapsulation types.
 10960  type VMwareDVSVspanSessionEncapType string
 10961  
 10962  const (
 10963  	// Encapsulate original packets with GRE protocol
 10964  	VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre")
 10965  	// Encapsulate original packets with ERSPAN Type2 protocol
 10966  	VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2")
 10967  	// Encapsulate original packets with ERSPAN Type3 protocol
 10968  	VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3")
 10969  )
 10970  
 10971  func (e VMwareDVSVspanSessionEncapType) Values() []VMwareDVSVspanSessionEncapType {
 10972  	return []VMwareDVSVspanSessionEncapType{
 10973  		VMwareDVSVspanSessionEncapTypeGre,
 10974  		VMwareDVSVspanSessionEncapTypeErspan2,
 10975  		VMwareDVSVspanSessionEncapTypeErspan3,
 10976  	}
 10977  }
 10978  
 10979  func (e VMwareDVSVspanSessionEncapType) Strings() []string {
 10980  	return EnumValuesAsStrings(e.Values())
 10981  }
 10982  
 10983  func init() {
 10984  	t["VMwareDVSVspanSessionEncapType"] = reflect.TypeOf((*VMwareDVSVspanSessionEncapType)(nil)).Elem()
 10985  }
 10986  
 10987  // Distributed Port Mirroring session types.
 10988  type VMwareDVSVspanSessionType string
 10989  
 10990  const (
 10991  	// Deprecated as of vSphere API 5.1.
 10992  	//
 10993  	// In mixedDestMirror session, Distributed Ports can be used as source entities,
 10994  	// and both Distributed Ports and Uplink Ports Name can be used as destination entities.
 10995  	VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror")
 10996  	// In dvPortMirror session, Distributed Ports can be used as both source
 10997  	// and destination entities.
 10998  	VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror")
 10999  	// In remoteMirrorSource session, Distributed Ports can be used as source entities,
 11000  	// and uplink ports name can be used as destination entities.
 11001  	VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource")
 11002  	// In remoteMirrorDest session, vlan Ids can be used as source entities,
 11003  	// and Distributed Ports can be used as destination entities.
 11004  	VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest")
 11005  	// In encapsulatedRemoteMirrorSource session, Distributed Ports can be used as source entities,
 11006  	// and Ip address can be used as destination entities.
 11007  	VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource")
 11008  )
 11009  
 11010  func (e VMwareDVSVspanSessionType) Values() []VMwareDVSVspanSessionType {
 11011  	return []VMwareDVSVspanSessionType{
 11012  		VMwareDVSVspanSessionTypeMixedDestMirror,
 11013  		VMwareDVSVspanSessionTypeDvPortMirror,
 11014  		VMwareDVSVspanSessionTypeRemoteMirrorSource,
 11015  		VMwareDVSVspanSessionTypeRemoteMirrorDest,
 11016  		VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource,
 11017  	}
 11018  }
 11019  
 11020  func (e VMwareDVSVspanSessionType) Strings() []string {
 11021  	return EnumValuesAsStrings(e.Values())
 11022  }
 11023  
 11024  func init() {
 11025  	t["VMwareDVSVspanSessionType"] = reflect.TypeOf((*VMwareDVSVspanSessionType)(nil)).Elem()
 11026  }
 11027  
 11028  // Link Aggregation Control Protocol API versions.
 11029  type VMwareDvsLacpApiVersion string
 11030  
 11031  const (
 11032  	// Deprecated as of vSphere API 7.0u1.
 11033  	//
 11034  	// One Link Aggregation Control Protocol group in the switch
 11035  	VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag")
 11036  	// Multiple Link Aggregation Control Protocol in the switch.
 11037  	VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag")
 11038  )
 11039  
 11040  func (e VMwareDvsLacpApiVersion) Values() []VMwareDvsLacpApiVersion {
 11041  	return []VMwareDvsLacpApiVersion{
 11042  		VMwareDvsLacpApiVersionSingleLag,
 11043  		VMwareDvsLacpApiVersionMultipleLag,
 11044  	}
 11045  }
 11046  
 11047  func (e VMwareDvsLacpApiVersion) Strings() []string {
 11048  	return EnumValuesAsStrings(e.Values())
 11049  }
 11050  
 11051  func init() {
 11052  	t["VMwareDvsLacpApiVersion"] = reflect.TypeOf((*VMwareDvsLacpApiVersion)(nil)).Elem()
 11053  }
 11054  
 11055  // Load balance algorithm in a Link Aggregation Control Protocol group.
 11056  type VMwareDvsLacpLoadBalanceAlgorithm string
 11057  
 11058  const (
 11059  	// Source MAC address
 11060  	VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac")
 11061  	// Destination MAC address
 11062  	VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac")
 11063  	// Source and destination MAC address
 11064  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac")
 11065  	// Destination IP and VLAN
 11066  	VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan")
 11067  	// Source IP and VLAN
 11068  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan")
 11069  	// Source and destination IP and VLAN
 11070  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan")
 11071  	// Destination TCP/UDP port number
 11072  	VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort")
 11073  	// Source TCP/UDP port number
 11074  	VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort")
 11075  	// Source and destination TCP/UDP port number
 11076  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort")
 11077  	// Destination IP and TCP/UDP port number
 11078  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort")
 11079  	// Source IP and TCP/UDP port number
 11080  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort")
 11081  	// Source and destination IP and TCP/UDP port number
 11082  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort")
 11083  	// Destination IP, TCP/UDP port number and VLAN
 11084  	VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan")
 11085  	// Source IP, TCP/UDP port number and VLAN
 11086  	VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan")
 11087  	// Source and destination IP,
 11088  	// source and destination TCP/UDP port number and VLAN.
 11089  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan")
 11090  	// Destination IP
 11091  	VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp")
 11092  	// Source IP
 11093  	VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp")
 11094  	// Source and Destination IP
 11095  	VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp")
 11096  	// VLAN only
 11097  	VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan")
 11098  	// Source Virtual Port Id
 11099  	VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId")
 11100  )
 11101  
 11102  func (e VMwareDvsLacpLoadBalanceAlgorithm) Values() []VMwareDvsLacpLoadBalanceAlgorithm {
 11103  	return []VMwareDvsLacpLoadBalanceAlgorithm{
 11104  		VMwareDvsLacpLoadBalanceAlgorithmSrcMac,
 11105  		VMwareDvsLacpLoadBalanceAlgorithmDestMac,
 11106  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac,
 11107  		VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan,
 11108  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan,
 11109  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan,
 11110  		VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort,
 11111  		VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort,
 11112  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort,
 11113  		VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort,
 11114  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort,
 11115  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort,
 11116  		VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan,
 11117  		VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan,
 11118  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan,
 11119  		VMwareDvsLacpLoadBalanceAlgorithmDestIp,
 11120  		VMwareDvsLacpLoadBalanceAlgorithmSrcIp,
 11121  		VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp,
 11122  		VMwareDvsLacpLoadBalanceAlgorithmVlan,
 11123  		VMwareDvsLacpLoadBalanceAlgorithmSrcPortId,
 11124  	}
 11125  }
 11126  
 11127  func (e VMwareDvsLacpLoadBalanceAlgorithm) Strings() []string {
 11128  	return EnumValuesAsStrings(e.Values())
 11129  }
 11130  
 11131  func init() {
 11132  	t["VMwareDvsLacpLoadBalanceAlgorithm"] = reflect.TypeOf((*VMwareDvsLacpLoadBalanceAlgorithm)(nil)).Elem()
 11133  }
 11134  
 11135  // Multicast Filtering mode.
 11136  type VMwareDvsMulticastFilteringMode string
 11137  
 11138  const (
 11139  	// Legacy filtering mode
 11140  	VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering")
 11141  	// IGMP/MLD snooping mode
 11142  	VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping")
 11143  )
 11144  
 11145  func (e VMwareDvsMulticastFilteringMode) Values() []VMwareDvsMulticastFilteringMode {
 11146  	return []VMwareDvsMulticastFilteringMode{
 11147  		VMwareDvsMulticastFilteringModeLegacyFiltering,
 11148  		VMwareDvsMulticastFilteringModeSnooping,
 11149  	}
 11150  }
 11151  
 11152  func (e VMwareDvsMulticastFilteringMode) Strings() []string {
 11153  	return EnumValuesAsStrings(e.Values())
 11154  }
 11155  
 11156  func init() {
 11157  	t["VMwareDvsMulticastFilteringMode"] = reflect.TypeOf((*VMwareDvsMulticastFilteringMode)(nil)).Elem()
 11158  }
 11159  
 11160  // Link Aggregation Control Protocol policy modes.
 11161  type VMwareUplinkLacpMode string
 11162  
 11163  const (
 11164  	// Link Aggregation Control Protocol always sends frames along the configured uplinks
 11165  	VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active")
 11166  	// Link Aggregation Control Protocol acts as "speak when spoken to".
 11167  	VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive")
 11168  )
 11169  
 11170  func (e VMwareUplinkLacpMode) Values() []VMwareUplinkLacpMode {
 11171  	return []VMwareUplinkLacpMode{
 11172  		VMwareUplinkLacpModeActive,
 11173  		VMwareUplinkLacpModePassive,
 11174  	}
 11175  }
 11176  
 11177  func (e VMwareUplinkLacpMode) Strings() []string {
 11178  	return EnumValuesAsStrings(e.Values())
 11179  }
 11180  
 11181  func init() {
 11182  	t["VMwareUplinkLacpMode"] = reflect.TypeOf((*VMwareUplinkLacpMode)(nil)).Elem()
 11183  }
 11184  
 11185  type VMwareUplinkLacpTimeoutMode string
 11186  
 11187  const (
 11188  	// Set long timeout for vmnics in one LACP LAG.
 11189  	//
 11190  	// Device send fast LACPDUs
 11191  	VMwareUplinkLacpTimeoutModeFast = VMwareUplinkLacpTimeoutMode("fast")
 11192  	// Set short timeout for vmnics in one LACP LAG.
 11193  	//
 11194  	// Device send slow LACPDUs
 11195  	VMwareUplinkLacpTimeoutModeSlow = VMwareUplinkLacpTimeoutMode("slow")
 11196  )
 11197  
 11198  func (e VMwareUplinkLacpTimeoutMode) Values() []VMwareUplinkLacpTimeoutMode {
 11199  	return []VMwareUplinkLacpTimeoutMode{
 11200  		VMwareUplinkLacpTimeoutModeFast,
 11201  		VMwareUplinkLacpTimeoutModeSlow,
 11202  	}
 11203  }
 11204  
 11205  func (e VMwareUplinkLacpTimeoutMode) Strings() []string {
 11206  	return EnumValuesAsStrings(e.Values())
 11207  }
 11208  
 11209  func init() {
 11210  	t["VMwareUplinkLacpTimeoutMode"] = reflect.TypeOf((*VMwareUplinkLacpTimeoutMode)(nil)).Elem()
 11211  	minAPIVersionForType["VMwareUplinkLacpTimeoutMode"] = "7.0.2.0"
 11212  }
 11213  
 11214  // Consumption type constants.
 11215  //
 11216  // Consumption type describes how the virtual storage object is connected and
 11217  // consumed for data by the clients.
 11218  type VStorageObjectConsumptionType string
 11219  
 11220  const (
 11221  	// Disk type.
 11222  	VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk")
 11223  )
 11224  
 11225  func (e VStorageObjectConsumptionType) Values() []VStorageObjectConsumptionType {
 11226  	return []VStorageObjectConsumptionType{
 11227  		VStorageObjectConsumptionTypeDisk,
 11228  	}
 11229  }
 11230  
 11231  func (e VStorageObjectConsumptionType) Strings() []string {
 11232  	return EnumValuesAsStrings(e.Values())
 11233  }
 11234  
 11235  func init() {
 11236  	t["VStorageObjectConsumptionType"] = reflect.TypeOf((*VStorageObjectConsumptionType)(nil)).Elem()
 11237  }
 11238  
 11239  // Deprecated as of vSphere API 4.0, use `CheckTestType_enum` instead.
 11240  //
 11241  // Types of tests available for validateMigration.
 11242  type ValidateMigrationTestType string
 11243  
 11244  const (
 11245  	// Tests that examine only the configuration
 11246  	// of the virtual machine and its current host; the destination
 11247  	// resource pool and host or cluster are irrelevant.
 11248  	ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests")
 11249  	// Tests that examine both the virtual
 11250  	// machine and the destination host or cluster; the destination
 11251  	// resource pool is irrelevant.
 11252  	//
 11253  	// This set excludes tests that fall
 11254  	// into the diskAccessibilityTests group.
 11255  	ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests")
 11256  	// Tests that check that the
 11257  	// destination host or cluster can see the datastores where the virtual
 11258  	// machine's virtual disks are currently located.
 11259  	//
 11260  	// The destination
 11261  	// resource pool is irrelevant. If you are planning to relocate the
 11262  	// virtual disks, do not use these tests; instead examine the relevant
 11263  	// datastore objects for your planned disk locations to see if they
 11264  	// are accessible to the destination host.
 11265  	ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests")
 11266  	// Tests that check that the destination resource
 11267  	// pool can support the virtual machine if it is powered on.
 11268  	//
 11269  	// The
 11270  	// destination host or cluster is relevant because it will affect the
 11271  	// amount of overhead memory required to run the virtual machine.
 11272  	ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests")
 11273  )
 11274  
 11275  func (e ValidateMigrationTestType) Values() []ValidateMigrationTestType {
 11276  	return []ValidateMigrationTestType{
 11277  		ValidateMigrationTestTypeSourceTests,
 11278  		ValidateMigrationTestTypeCompatibilityTests,
 11279  		ValidateMigrationTestTypeDiskAccessibilityTests,
 11280  		ValidateMigrationTestTypeResourceTests,
 11281  	}
 11282  }
 11283  
 11284  func (e ValidateMigrationTestType) Strings() []string {
 11285  	return EnumValuesAsStrings(e.Values())
 11286  }
 11287  
 11288  func init() {
 11289  	t["ValidateMigrationTestType"] = reflect.TypeOf((*ValidateMigrationTestType)(nil)).Elem()
 11290  }
 11291  
 11292  // VchaClusterMode enum defines the possible modes for a VCHA Cluster.
 11293  type VchaClusterMode string
 11294  
 11295  const (
 11296  	// VCHA Cluster is enabled.
 11297  	//
 11298  	// State replication between the Active and
 11299  	// Passive node is enabled and automatic failover is allowed.
 11300  	VchaClusterModeEnabled = VchaClusterMode("enabled")
 11301  	// VCHA Cluster is disabled.
 11302  	//
 11303  	// State replication between the Active and
 11304  	// Passive node is disabled and automatic failover is not allowed.
 11305  	VchaClusterModeDisabled = VchaClusterMode("disabled")
 11306  	// VCHA Cluster is in maintenance mode.
 11307  	//
 11308  	// State replication between the
 11309  	// Active and Passive node is enabled but automatic failover
 11310  	// is not allowed.
 11311  	VchaClusterModeMaintenance = VchaClusterMode("maintenance")
 11312  )
 11313  
 11314  func (e VchaClusterMode) Values() []VchaClusterMode {
 11315  	return []VchaClusterMode{
 11316  		VchaClusterModeEnabled,
 11317  		VchaClusterModeDisabled,
 11318  		VchaClusterModeMaintenance,
 11319  	}
 11320  }
 11321  
 11322  func (e VchaClusterMode) Strings() []string {
 11323  	return EnumValuesAsStrings(e.Values())
 11324  }
 11325  
 11326  func init() {
 11327  	t["VchaClusterMode"] = reflect.TypeOf((*VchaClusterMode)(nil)).Elem()
 11328  }
 11329  
 11330  // VchaClusterState enum defines the possible states for a VCHA Cluster.
 11331  type VchaClusterState string
 11332  
 11333  const (
 11334  	// All three nodes in a VCHA Cluster are healthy and connected.
 11335  	//
 11336  	// State
 11337  	// replication between Active and Passive node is working and both
 11338  	// nodes are in sync.
 11339  	VchaClusterStateHealthy = VchaClusterState("healthy")
 11340  	// A VCHA Cluster is said to be in a degraded state for
 11341  	// either or all of the following reasons:
 11342  	// \- There is a node loss.
 11343  	//
 11344  	// \- State replication between the Active and Passive node fails.
 11345  	VchaClusterStateDegraded = VchaClusterState("degraded")
 11346  	// All three nodes are isolated from each other.
 11347  	VchaClusterStateIsolated = VchaClusterState("isolated")
 11348  )
 11349  
 11350  func (e VchaClusterState) Values() []VchaClusterState {
 11351  	return []VchaClusterState{
 11352  		VchaClusterStateHealthy,
 11353  		VchaClusterStateDegraded,
 11354  		VchaClusterStateIsolated,
 11355  	}
 11356  }
 11357  
 11358  func (e VchaClusterState) Strings() []string {
 11359  	return EnumValuesAsStrings(e.Values())
 11360  }
 11361  
 11362  func init() {
 11363  	t["VchaClusterState"] = reflect.TypeOf((*VchaClusterState)(nil)).Elem()
 11364  }
 11365  
 11366  type VchaNodeRole string
 11367  
 11368  const (
 11369  	// Node is having a role of Active.
 11370  	//
 11371  	// In this role, node runs a vCenter
 11372  	// Server that serves client requests.
 11373  	VchaNodeRoleActive = VchaNodeRole("active")
 11374  	// Node is having a role of Passive.
 11375  	//
 11376  	// In this role node, runs as a standby
 11377  	// for the Active vCenter Server and receives state updates. This node
 11378  	// takes over the role of Active vCenter Server upon failover.
 11379  	VchaNodeRolePassive = VchaNodeRole("passive")
 11380  	// Node is having a role of Witness.
 11381  	//
 11382  	// In this role, node acts as a quorom
 11383  	// node for avoiding the classic split-brain problem.
 11384  	VchaNodeRoleWitness = VchaNodeRole("witness")
 11385  )
 11386  
 11387  func (e VchaNodeRole) Values() []VchaNodeRole {
 11388  	return []VchaNodeRole{
 11389  		VchaNodeRoleActive,
 11390  		VchaNodeRolePassive,
 11391  		VchaNodeRoleWitness,
 11392  	}
 11393  }
 11394  
 11395  func (e VchaNodeRole) Strings() []string {
 11396  	return EnumValuesAsStrings(e.Values())
 11397  }
 11398  
 11399  func init() {
 11400  	t["VchaNodeRole"] = reflect.TypeOf((*VchaNodeRole)(nil)).Elem()
 11401  }
 11402  
 11403  // VchaNodeState enum defines possible state a node can be in a
 11404  // VCHA Cluster.
 11405  type VchaNodeState string
 11406  
 11407  const (
 11408  	// Node is up and has joined the VCHA Cluster.
 11409  	VchaNodeStateUp = VchaNodeState("up")
 11410  	// Node is down and has left the VCHA Cluster.
 11411  	VchaNodeStateDown = VchaNodeState("down")
 11412  )
 11413  
 11414  func (e VchaNodeState) Values() []VchaNodeState {
 11415  	return []VchaNodeState{
 11416  		VchaNodeStateUp,
 11417  		VchaNodeStateDown,
 11418  	}
 11419  }
 11420  
 11421  func (e VchaNodeState) Strings() []string {
 11422  	return EnumValuesAsStrings(e.Values())
 11423  }
 11424  
 11425  func init() {
 11426  	t["VchaNodeState"] = reflect.TypeOf((*VchaNodeState)(nil)).Elem()
 11427  }
 11428  
 11429  type VchaState string
 11430  
 11431  const (
 11432  	// VCHA cluster is configured.
 11433  	VchaStateConfigured = VchaState("configured")
 11434  	// VCHA cluster is not configured.
 11435  	VchaStateNotConfigured = VchaState("notConfigured")
 11436  	// VCHA cluster is in an invalid/dirty state.
 11437  	VchaStateInvalid = VchaState("invalid")
 11438  	// VC appliance has been prepared for VCHA cluster configuration.
 11439  	VchaStatePrepared = VchaState("prepared")
 11440  )
 11441  
 11442  func (e VchaState) Values() []VchaState {
 11443  	return []VchaState{
 11444  		VchaStateConfigured,
 11445  		VchaStateNotConfigured,
 11446  		VchaStateInvalid,
 11447  		VchaStatePrepared,
 11448  	}
 11449  }
 11450  
 11451  func (e VchaState) Strings() []string {
 11452  	return EnumValuesAsStrings(e.Values())
 11453  }
 11454  
 11455  func init() {
 11456  	t["VchaState"] = reflect.TypeOf((*VchaState)(nil)).Elem()
 11457  }
 11458  
 11459  // The VAppState type defines the set of states a vApp can be
 11460  // in.
 11461  //
 11462  // The transitory states between started and stopped is modeled explicitly,
 11463  // since the starting or stopping of a vApp is typically a time-consuming
 11464  // process that might take minutes to complete.
 11465  type VirtualAppVAppState string
 11466  
 11467  const (
 11468  	// The vApp is currently powered on .
 11469  	VirtualAppVAppStateStarted = VirtualAppVAppState("started")
 11470  	// The vApp is currently powered off or suspended.
 11471  	VirtualAppVAppStateStopped = VirtualAppVAppState("stopped")
 11472  	// The vApp is in the process of starting.
 11473  	VirtualAppVAppStateStarting = VirtualAppVAppState("starting")
 11474  	// The vApp is in the process of stopping.
 11475  	VirtualAppVAppStateStopping = VirtualAppVAppState("stopping")
 11476  )
 11477  
 11478  func (e VirtualAppVAppState) Values() []VirtualAppVAppState {
 11479  	return []VirtualAppVAppState{
 11480  		VirtualAppVAppStateStarted,
 11481  		VirtualAppVAppStateStopped,
 11482  		VirtualAppVAppStateStarting,
 11483  		VirtualAppVAppStateStopping,
 11484  	}
 11485  }
 11486  
 11487  func (e VirtualAppVAppState) Strings() []string {
 11488  	return EnumValuesAsStrings(e.Values())
 11489  }
 11490  
 11491  func init() {
 11492  	t["VirtualAppVAppState"] = reflect.TypeOf((*VirtualAppVAppState)(nil)).Elem()
 11493  }
 11494  
 11495  // Describes the change mode of the device.
 11496  //
 11497  // Applies only to virtual disks during VirtualDeviceSpec.Operation "add"
 11498  type VirtualDeviceConfigSpecChangeMode string
 11499  
 11500  const (
 11501  	VirtualDeviceConfigSpecChangeModeFail = VirtualDeviceConfigSpecChangeMode("fail")
 11502  	VirtualDeviceConfigSpecChangeModeSkip = VirtualDeviceConfigSpecChangeMode("skip")
 11503  )
 11504  
 11505  func (e VirtualDeviceConfigSpecChangeMode) Values() []VirtualDeviceConfigSpecChangeMode {
 11506  	return []VirtualDeviceConfigSpecChangeMode{
 11507  		VirtualDeviceConfigSpecChangeModeFail,
 11508  		VirtualDeviceConfigSpecChangeModeSkip,
 11509  	}
 11510  }
 11511  
 11512  func (e VirtualDeviceConfigSpecChangeMode) Strings() []string {
 11513  	return EnumValuesAsStrings(e.Values())
 11514  }
 11515  
 11516  func init() {
 11517  	t["VirtualDeviceConfigSpecChangeMode"] = reflect.TypeOf((*VirtualDeviceConfigSpecChangeMode)(nil)).Elem()
 11518  	minAPIVersionForType["VirtualDeviceConfigSpecChangeMode"] = "8.0.0.1"
 11519  }
 11520  
 11521  // The type of operation being performed on the backing of a virtual device.
 11522  //
 11523  // Valid values are:
 11524  type VirtualDeviceConfigSpecFileOperation string
 11525  
 11526  const (
 11527  	// Specifies the creation of the device backing; for example,
 11528  	// the creation of a virtual disk or floppy image file.
 11529  	VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create")
 11530  	// Specifies the destruction of a device backing.
 11531  	VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy")
 11532  	// Specifies the deletion of the existing backing for a virtual device
 11533  	// and the creation of a new backing.
 11534  	VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace")
 11535  )
 11536  
 11537  func (e VirtualDeviceConfigSpecFileOperation) Values() []VirtualDeviceConfigSpecFileOperation {
 11538  	return []VirtualDeviceConfigSpecFileOperation{
 11539  		VirtualDeviceConfigSpecFileOperationCreate,
 11540  		VirtualDeviceConfigSpecFileOperationDestroy,
 11541  		VirtualDeviceConfigSpecFileOperationReplace,
 11542  	}
 11543  }
 11544  
 11545  func (e VirtualDeviceConfigSpecFileOperation) Strings() []string {
 11546  	return EnumValuesAsStrings(e.Values())
 11547  }
 11548  
 11549  func init() {
 11550  	t["VirtualDeviceConfigSpecFileOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecFileOperation)(nil)).Elem()
 11551  }
 11552  
 11553  // The type of operation being performed on the specified virtual device.
 11554  //
 11555  // Valid values are:
 11556  type VirtualDeviceConfigSpecOperation string
 11557  
 11558  const (
 11559  	// Specifies the addition of a virtual device to the configuration.
 11560  	VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add")
 11561  	// Specifies the removal of a virtual device.
 11562  	VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove")
 11563  	// Specifies changes to the virtual device specification.
 11564  	VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit")
 11565  )
 11566  
 11567  func (e VirtualDeviceConfigSpecOperation) Values() []VirtualDeviceConfigSpecOperation {
 11568  	return []VirtualDeviceConfigSpecOperation{
 11569  		VirtualDeviceConfigSpecOperationAdd,
 11570  		VirtualDeviceConfigSpecOperationRemove,
 11571  		VirtualDeviceConfigSpecOperationEdit,
 11572  	}
 11573  }
 11574  
 11575  func (e VirtualDeviceConfigSpecOperation) Strings() []string {
 11576  	return EnumValuesAsStrings(e.Values())
 11577  }
 11578  
 11579  func init() {
 11580  	t["VirtualDeviceConfigSpecOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecOperation)(nil)).Elem()
 11581  }
 11582  
 11583  // Contains information about connectable virtual devices when
 11584  // the virtual machine restores from a migration.
 11585  type VirtualDeviceConnectInfoMigrateConnectOp string
 11586  
 11587  const (
 11588  	// Attempt to connect the virtual device when the virtual machine
 11589  	// restores from a migration.
 11590  	//
 11591  	// This property has no effect if it
 11592  	// is set on a device that is already connected.
 11593  	VirtualDeviceConnectInfoMigrateConnectOpConnect = VirtualDeviceConnectInfoMigrateConnectOp("connect")
 11594  	// Attempt to disconnect the virtual device when the virtual machine
 11595  	// restores from a migration.
 11596  	//
 11597  	// This property has no effect if it
 11598  	// is set on a device that is already disconnected.
 11599  	VirtualDeviceConnectInfoMigrateConnectOpDisconnect = VirtualDeviceConnectInfoMigrateConnectOp("disconnect")
 11600  	// Unset the property, which resets the device to its default state.
 11601  	//
 11602  	// Under most circumstances, a device will return to the same
 11603  	// connection state before the migration was initiated.
 11604  	VirtualDeviceConnectInfoMigrateConnectOpUnset = VirtualDeviceConnectInfoMigrateConnectOp("unset")
 11605  )
 11606  
 11607  func (e VirtualDeviceConnectInfoMigrateConnectOp) Values() []VirtualDeviceConnectInfoMigrateConnectOp {
 11608  	return []VirtualDeviceConnectInfoMigrateConnectOp{
 11609  		VirtualDeviceConnectInfoMigrateConnectOpConnect,
 11610  		VirtualDeviceConnectInfoMigrateConnectOpDisconnect,
 11611  		VirtualDeviceConnectInfoMigrateConnectOpUnset,
 11612  	}
 11613  }
 11614  
 11615  func (e VirtualDeviceConnectInfoMigrateConnectOp) Strings() []string {
 11616  	return EnumValuesAsStrings(e.Values())
 11617  }
 11618  
 11619  func init() {
 11620  	t["VirtualDeviceConnectInfoMigrateConnectOp"] = reflect.TypeOf((*VirtualDeviceConnectInfoMigrateConnectOp)(nil)).Elem()
 11621  }
 11622  
 11623  // Specifies the connectable virtual device status.
 11624  type VirtualDeviceConnectInfoStatus string
 11625  
 11626  const (
 11627  	// The device is working correctly.
 11628  	VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok")
 11629  	// The device has reported a recoverable error.
 11630  	//
 11631  	// For example,
 11632  	// attempting to connect to floppy device that is being used by
 11633  	// another virtual machine or some other program would result in
 11634  	// this status.
 11635  	VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError")
 11636  	// The device cannot be used.
 11637  	//
 11638  	// For example, attempting to connect to
 11639  	// a floppy device that does not exist would result in this status.
 11640  	VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError")
 11641  	// The device status is unknown, or it has not been requested to
 11642  	// connect when the VM is powered on.
 11643  	VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried")
 11644  )
 11645  
 11646  func (e VirtualDeviceConnectInfoStatus) Values() []VirtualDeviceConnectInfoStatus {
 11647  	return []VirtualDeviceConnectInfoStatus{
 11648  		VirtualDeviceConnectInfoStatusOk,
 11649  		VirtualDeviceConnectInfoStatusRecoverableError,
 11650  		VirtualDeviceConnectInfoStatusUnrecoverableError,
 11651  		VirtualDeviceConnectInfoStatusUntried,
 11652  	}
 11653  }
 11654  
 11655  func (e VirtualDeviceConnectInfoStatus) Strings() []string {
 11656  	return EnumValuesAsStrings(e.Values())
 11657  }
 11658  
 11659  func init() {
 11660  	t["VirtualDeviceConnectInfoStatus"] = reflect.TypeOf((*VirtualDeviceConnectInfoStatus)(nil)).Elem()
 11661  }
 11662  
 11663  // All known file extensions.
 11664  //
 11665  // Valid ones are:
 11666  type VirtualDeviceFileExtension string
 11667  
 11668  const (
 11669  	// CD ISO Image backings
 11670  	VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso")
 11671  	// Floppy File Backings
 11672  	VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp")
 11673  	// virtual disks
 11674  	VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk")
 11675  	// legacy virtual disks
 11676  	VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk")
 11677  	// pre 3.0 virtual disks using Raw Disk Maps
 11678  	VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm")
 11679  )
 11680  
 11681  func (e VirtualDeviceFileExtension) Values() []VirtualDeviceFileExtension {
 11682  	return []VirtualDeviceFileExtension{
 11683  		VirtualDeviceFileExtensionIso,
 11684  		VirtualDeviceFileExtensionFlp,
 11685  		VirtualDeviceFileExtensionVmdk,
 11686  		VirtualDeviceFileExtensionDsk,
 11687  		VirtualDeviceFileExtensionRdm,
 11688  	}
 11689  }
 11690  
 11691  func (e VirtualDeviceFileExtension) Strings() []string {
 11692  	return EnumValuesAsStrings(e.Values())
 11693  }
 11694  
 11695  func init() {
 11696  	t["VirtualDeviceFileExtension"] = reflect.TypeOf((*VirtualDeviceFileExtension)(nil)).Elem()
 11697  }
 11698  
 11699  // The <code>VirtualDeviceURIBackingOptionDirection</code> enum type
 11700  // provides values for the direction of a network connection.
 11701  type VirtualDeviceURIBackingOptionDirection string
 11702  
 11703  const (
 11704  	// Indicates that the virtual machine can listen for a connection
 11705  	// on the specified `VirtualDeviceURIBackingInfo.serviceURI`.
 11706  	VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server")
 11707  	// Indicates that the virtual machine can initiate a connection
 11708  	// with a system on the network using the specified
 11709  	// `VirtualDeviceURIBackingInfo.serviceURI`.
 11710  	VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client")
 11711  )
 11712  
 11713  func (e VirtualDeviceURIBackingOptionDirection) Values() []VirtualDeviceURIBackingOptionDirection {
 11714  	return []VirtualDeviceURIBackingOptionDirection{
 11715  		VirtualDeviceURIBackingOptionDirectionServer,
 11716  		VirtualDeviceURIBackingOptionDirectionClient,
 11717  	}
 11718  }
 11719  
 11720  func (e VirtualDeviceURIBackingOptionDirection) Strings() []string {
 11721  	return EnumValuesAsStrings(e.Values())
 11722  }
 11723  
 11724  func init() {
 11725  	t["VirtualDeviceURIBackingOptionDirection"] = reflect.TypeOf((*VirtualDeviceURIBackingOptionDirection)(nil)).Elem()
 11726  }
 11727  
 11728  // The types of virtual disk adapters used by virtual disks
 11729  type VirtualDiskAdapterType string
 11730  
 11731  const (
 11732  	// Use IDE emulation for the virtual disk
 11733  	VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide")
 11734  	// Use BusLogic emulation for the virtual disk
 11735  	VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic")
 11736  	// Use LSILogic emulation for the virtual disk
 11737  	VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic")
 11738  )
 11739  
 11740  func (e VirtualDiskAdapterType) Values() []VirtualDiskAdapterType {
 11741  	return []VirtualDiskAdapterType{
 11742  		VirtualDiskAdapterTypeIde,
 11743  		VirtualDiskAdapterTypeBusLogic,
 11744  		VirtualDiskAdapterTypeLsiLogic,
 11745  	}
 11746  }
 11747  
 11748  func (e VirtualDiskAdapterType) Strings() []string {
 11749  	return EnumValuesAsStrings(e.Values())
 11750  }
 11751  
 11752  func init() {
 11753  	t["VirtualDiskAdapterType"] = reflect.TypeOf((*VirtualDiskAdapterType)(nil)).Elem()
 11754  }
 11755  
 11756  // All known compatibility modes for raw disk mappings.
 11757  //
 11758  // Valid compatibility
 11759  // modes are:
 11760  //   - virtualMode
 11761  //   - physicalMode
 11762  type VirtualDiskCompatibilityMode string
 11763  
 11764  const (
 11765  	// A disk device backed by a virtual compatibility mode raw disk mapping can
 11766  	// use disk modes.
 11767  	//
 11768  	// See also `VirtualDiskMode_enum`.
 11769  	VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode")
 11770  	// A disk device backed by a physical compatibility mode raw disk mapping cannot
 11771  	// use disk modes, and commands are passed straight through to the LUN
 11772  	// indicated by the raw disk mapping.
 11773  	VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode")
 11774  )
 11775  
 11776  func (e VirtualDiskCompatibilityMode) Values() []VirtualDiskCompatibilityMode {
 11777  	return []VirtualDiskCompatibilityMode{
 11778  		VirtualDiskCompatibilityModeVirtualMode,
 11779  		VirtualDiskCompatibilityModePhysicalMode,
 11780  	}
 11781  }
 11782  
 11783  func (e VirtualDiskCompatibilityMode) Strings() []string {
 11784  	return EnumValuesAsStrings(e.Values())
 11785  }
 11786  
 11787  func init() {
 11788  	t["VirtualDiskCompatibilityMode"] = reflect.TypeOf((*VirtualDiskCompatibilityMode)(nil)).Elem()
 11789  }
 11790  
 11791  // The delta disk format constants
 11792  type VirtualDiskDeltaDiskFormat string
 11793  
 11794  const (
 11795  	// redo-log based format
 11796  	VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat")
 11797  	// native snapshot format
 11798  	VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat")
 11799  	// Flex-SE redo-log based format
 11800  	VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat")
 11801  )
 11802  
 11803  func (e VirtualDiskDeltaDiskFormat) Values() []VirtualDiskDeltaDiskFormat {
 11804  	return []VirtualDiskDeltaDiskFormat{
 11805  		VirtualDiskDeltaDiskFormatRedoLogFormat,
 11806  		VirtualDiskDeltaDiskFormatNativeFormat,
 11807  		VirtualDiskDeltaDiskFormatSeSparseFormat,
 11808  	}
 11809  }
 11810  
 11811  func (e VirtualDiskDeltaDiskFormat) Strings() []string {
 11812  	return EnumValuesAsStrings(e.Values())
 11813  }
 11814  
 11815  func init() {
 11816  	t["VirtualDiskDeltaDiskFormat"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormat)(nil)).Elem()
 11817  }
 11818  
 11819  // The delta disk format variant constants
 11820  type VirtualDiskDeltaDiskFormatVariant string
 11821  
 11822  const (
 11823  	// vmfsSparse based redo-log format
 11824  	VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant")
 11825  	// vsanSparse based redo-log format
 11826  	VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant")
 11827  )
 11828  
 11829  func (e VirtualDiskDeltaDiskFormatVariant) Values() []VirtualDiskDeltaDiskFormatVariant {
 11830  	return []VirtualDiskDeltaDiskFormatVariant{
 11831  		VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant,
 11832  		VirtualDiskDeltaDiskFormatVariantVsanSparseVariant,
 11833  	}
 11834  }
 11835  
 11836  func (e VirtualDiskDeltaDiskFormatVariant) Strings() []string {
 11837  	return EnumValuesAsStrings(e.Values())
 11838  }
 11839  
 11840  func init() {
 11841  	t["VirtualDiskDeltaDiskFormatVariant"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatVariant)(nil)).Elem()
 11842  }
 11843  
 11844  // The list of known disk modes.
 11845  //
 11846  // The list of supported disk modes varies by the backing type. The "persistent"
 11847  // mode is supported by every backing type.
 11848  type VirtualDiskMode string
 11849  
 11850  const (
 11851  	// Changes are immediately and permanently written to the virtual disk.
 11852  	VirtualDiskModePersistent = VirtualDiskMode("persistent")
 11853  	// Changes to virtual disk are made to a redo log and discarded at power off.
 11854  	VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent")
 11855  	// Changes are made to a redo log, but you are given the option to commit or undo.
 11856  	VirtualDiskModeUndoable = VirtualDiskMode("undoable")
 11857  	// Same as persistent, but not affected by snapshots.
 11858  	VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent")
 11859  	// Same as nonpersistent, but not affected by snapshots.
 11860  	VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent")
 11861  	// Changes are appended to the redo log; you revoke changes by removing the undo log.
 11862  	VirtualDiskModeAppend = VirtualDiskMode("append")
 11863  )
 11864  
 11865  func (e VirtualDiskMode) Values() []VirtualDiskMode {
 11866  	return []VirtualDiskMode{
 11867  		VirtualDiskModePersistent,
 11868  		VirtualDiskModeNonpersistent,
 11869  		VirtualDiskModeUndoable,
 11870  		VirtualDiskModeIndependent_persistent,
 11871  		VirtualDiskModeIndependent_nonpersistent,
 11872  		VirtualDiskModeAppend,
 11873  	}
 11874  }
 11875  
 11876  func (e VirtualDiskMode) Strings() []string {
 11877  	return EnumValuesAsStrings(e.Values())
 11878  }
 11879  
 11880  func init() {
 11881  	t["VirtualDiskMode"] = reflect.TypeOf((*VirtualDiskMode)(nil)).Elem()
 11882  }
 11883  
 11884  // Rule type determines how the virtual disks in a vm can be grouped
 11885  // together.
 11886  type VirtualDiskRuleSpecRuleType string
 11887  
 11888  const (
 11889  	// Virtual disks in the list are grouped together and placed on
 11890  	// the same data store.
 11891  	VirtualDiskRuleSpecRuleTypeAffinity = VirtualDiskRuleSpecRuleType("affinity")
 11892  	// Virtual disks in the list are placed on different data stores.
 11893  	VirtualDiskRuleSpecRuleTypeAntiAffinity = VirtualDiskRuleSpecRuleType("antiAffinity")
 11894  	// SDRS will be disabled for the disks in the list.
 11895  	VirtualDiskRuleSpecRuleTypeDisabled = VirtualDiskRuleSpecRuleType("disabled")
 11896  )
 11897  
 11898  func (e VirtualDiskRuleSpecRuleType) Values() []VirtualDiskRuleSpecRuleType {
 11899  	return []VirtualDiskRuleSpecRuleType{
 11900  		VirtualDiskRuleSpecRuleTypeAffinity,
 11901  		VirtualDiskRuleSpecRuleTypeAntiAffinity,
 11902  		VirtualDiskRuleSpecRuleTypeDisabled,
 11903  	}
 11904  }
 11905  
 11906  func (e VirtualDiskRuleSpecRuleType) Strings() []string {
 11907  	return EnumValuesAsStrings(e.Values())
 11908  }
 11909  
 11910  func init() {
 11911  	t["VirtualDiskRuleSpecRuleType"] = reflect.TypeOf((*VirtualDiskRuleSpecRuleType)(nil)).Elem()
 11912  }
 11913  
 11914  // The sharing mode of the virtual disk.
 11915  //
 11916  // Setting the value to sharingMultiWriter means that multiple virtual
 11917  // machines can write to the virtual disk. This sharing mode is allowed
 11918  // only for eagerly zeroed thick virtual disks.
 11919  type VirtualDiskSharing string
 11920  
 11921  const (
 11922  	// The virtual disk is not shared.
 11923  	VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone")
 11924  	// The virtual disk is shared between multiple virtual machines.
 11925  	VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter")
 11926  )
 11927  
 11928  func (e VirtualDiskSharing) Values() []VirtualDiskSharing {
 11929  	return []VirtualDiskSharing{
 11930  		VirtualDiskSharingSharingNone,
 11931  		VirtualDiskSharingSharingMultiWriter,
 11932  	}
 11933  }
 11934  
 11935  func (e VirtualDiskSharing) Strings() []string {
 11936  	return EnumValuesAsStrings(e.Values())
 11937  }
 11938  
 11939  func init() {
 11940  	t["VirtualDiskSharing"] = reflect.TypeOf((*VirtualDiskSharing)(nil)).Elem()
 11941  }
 11942  
 11943  // The types of virtual disks that can be created or cloned.
 11944  type VirtualDiskType string
 11945  
 11946  const (
 11947  	// A preallocated disk has all space allocated at creation time
 11948  	// and the space is zeroed on demand as the space is used.
 11949  	VirtualDiskTypePreallocated = VirtualDiskType("preallocated")
 11950  	// Space required for thin-provisioned virtual disk is allocated and
 11951  	// zeroed on demand as the space is used.
 11952  	VirtualDiskTypeThin = VirtualDiskType("thin")
 11953  	// A sparse (allocate on demand) format with additional space
 11954  	// optimizations.
 11955  	VirtualDiskTypeSeSparse = VirtualDiskType("seSparse")
 11956  	// Virtual compatibility mode raw disk mapping.
 11957  	//
 11958  	// An rdm virtual disk
 11959  	// grants access to the entire raw disk and the virtual disk can
 11960  	// participate in snapshots.
 11961  	VirtualDiskTypeRdm = VirtualDiskType("rdm")
 11962  	// Physical compatibility mode (pass-through) raw disk mapping.
 11963  	//
 11964  	// An rdmp
 11965  	// virtual disk passes SCSI commands directly to the hardware, but the
 11966  	// virtual disk cannot participate in snapshots.
 11967  	VirtualDiskTypeRdmp = VirtualDiskType("rdmp")
 11968  	// Raw device.
 11969  	VirtualDiskTypeRaw = VirtualDiskType("raw")
 11970  	// A redo log disk.
 11971  	//
 11972  	// This format is only applicable as a destination format
 11973  	// in a clone operation, and not usable for disk creation.
 11974  	VirtualDiskTypeDelta = VirtualDiskType("delta")
 11975  	// A sparse disk with 2GB maximum extent size.
 11976  	//
 11977  	// Disks in this format
 11978  	// can be used with other VMware products. The 2GB extent size
 11979  	// makes these disks easier to burn to dvd or use on filesystems that
 11980  	// don't support large files. This format is only applicable as a
 11981  	// destination format in a clone operation, and not usable for disk
 11982  	// creation.
 11983  	VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb")
 11984  	// A thick disk with 2GB maximum extent size.
 11985  	//
 11986  	// Disks in this format
 11987  	// can be used with other VMware products. The 2GB extent size
 11988  	// makes these disks easier to burn to dvd or use on filesystems that
 11989  	// don't support large files. This format is only applicable as a
 11990  	// destination format in a clone operation, and not usable for disk
 11991  	// creation.
 11992  	VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb")
 11993  	// An eager zeroed thick disk has all space allocated and wiped clean
 11994  	// of any previous contents on the physical media at creation time.
 11995  	//
 11996  	// Such disks may take longer time during creation compared to other
 11997  	// disk formats.
 11998  	VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick")
 11999  	// A sparse monolithic disk.
 12000  	//
 12001  	// Disks in this format can be used with other
 12002  	// VMware products. This format is only applicable as a destination
 12003  	// format in a clone operation, and not usable for disk creation.
 12004  	VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic")
 12005  	// A preallocated monolithic disk.
 12006  	//
 12007  	// Disks in this format can be used with
 12008  	// other VMware products. This format is only applicable as a destination
 12009  	// format in a clone operation, and not usable for disk creation.
 12010  	VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic")
 12011  	// Deprecated as of vSphere API 4.x, use `eagerZeroedThick` instead
 12012  	// for clustering application, and `preallocated` for other applications.
 12013  	//
 12014  	// A thick disk has all space allocated at creation time.
 12015  	//
 12016  	// This
 12017  	// space may contain stale data on the physical media. Thick disks
 12018  	// are primarily used for virtual machine clustering, but they are
 12019  	// generally insecure and should not be used. Due to better performance
 12020  	// and security properties, the use of the 'preallocated' format is
 12021  	// preferred over this format.
 12022  	VirtualDiskTypeThick = VirtualDiskType("thick")
 12023  )
 12024  
 12025  func (e VirtualDiskType) Values() []VirtualDiskType {
 12026  	return []VirtualDiskType{
 12027  		VirtualDiskTypePreallocated,
 12028  		VirtualDiskTypeThin,
 12029  		VirtualDiskTypeSeSparse,
 12030  		VirtualDiskTypeRdm,
 12031  		VirtualDiskTypeRdmp,
 12032  		VirtualDiskTypeRaw,
 12033  		VirtualDiskTypeDelta,
 12034  		VirtualDiskTypeSparse2Gb,
 12035  		VirtualDiskTypeThick2Gb,
 12036  		VirtualDiskTypeEagerZeroedThick,
 12037  		VirtualDiskTypeSparseMonolithic,
 12038  		VirtualDiskTypeFlatMonolithic,
 12039  		VirtualDiskTypeThick,
 12040  	}
 12041  }
 12042  
 12043  func (e VirtualDiskType) Strings() []string {
 12044  	return EnumValuesAsStrings(e.Values())
 12045  }
 12046  
 12047  func init() {
 12048  	t["VirtualDiskType"] = reflect.TypeOf((*VirtualDiskType)(nil)).Elem()
 12049  }
 12050  
 12051  // Pre-defined constants for cache consistency types
 12052  type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string
 12053  
 12054  const (
 12055  	// With strong consistency, it ensures that
 12056  	// a crash will leave the cache data consistent.
 12057  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong")
 12058  	// Cache data consistency is not guaranteed after a crash.
 12059  	VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak")
 12060  )
 12061  
 12062  func (e VirtualDiskVFlashCacheConfigInfoCacheConsistencyType) Values() []VirtualDiskVFlashCacheConfigInfoCacheConsistencyType {
 12063  	return []VirtualDiskVFlashCacheConfigInfoCacheConsistencyType{
 12064  		VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong,
 12065  		VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak,
 12066  	}
 12067  }
 12068  
 12069  func (e VirtualDiskVFlashCacheConfigInfoCacheConsistencyType) Strings() []string {
 12070  	return EnumValuesAsStrings(e.Values())
 12071  }
 12072  
 12073  func init() {
 12074  	t["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheConsistencyType)(nil)).Elem()
 12075  }
 12076  
 12077  // Pre-defined constants for cache modes.
 12078  type VirtualDiskVFlashCacheConfigInfoCacheMode string
 12079  
 12080  const (
 12081  	// In write-through cache mode, writes to the cache cause writes
 12082  	// to the underlying storage.
 12083  	//
 12084  	// The cache acts as a facade to the underlying
 12085  	// storage.
 12086  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru")
 12087  	// In write-back mode, writes to the cache do not go to the underlying storage
 12088  	// right away.
 12089  	//
 12090  	// Cache holds data temporarily till it can be permanently saved or
 12091  	// otherwise modified.
 12092  	VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back")
 12093  )
 12094  
 12095  func (e VirtualDiskVFlashCacheConfigInfoCacheMode) Values() []VirtualDiskVFlashCacheConfigInfoCacheMode {
 12096  	return []VirtualDiskVFlashCacheConfigInfoCacheMode{
 12097  		VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru,
 12098  		VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back,
 12099  	}
 12100  }
 12101  
 12102  func (e VirtualDiskVFlashCacheConfigInfoCacheMode) Strings() []string {
 12103  	return EnumValuesAsStrings(e.Values())
 12104  }
 12105  
 12106  func init() {
 12107  	t["VirtualDiskVFlashCacheConfigInfoCacheMode"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheMode)(nil)).Elem()
 12108  }
 12109  
 12110  // Possible device names for legacy network backing option are listed below.
 12111  //
 12112  // Note: This is not an exhaustive list. It is possible to specify
 12113  // a specific device as well.
 12114  // For example, on ESX hosts, the device name could be specified as "vmnic\[0-9\]"
 12115  // or vmnet\_\[0-9\].
 12116  // For VMware Server Windows hosts, the device name could be specified as "vmnet\[0-9\]"
 12117  // and for VMware Server Linux hosts, the device name could be specified as "/dev/vmnet\[0-9\]"
 12118  // depending on what devices are available on that particular host.
 12119  type VirtualEthernetCardLegacyNetworkDeviceName string
 12120  
 12121  const (
 12122  	VirtualEthernetCardLegacyNetworkDeviceNameBridged  = VirtualEthernetCardLegacyNetworkDeviceName("bridged")
 12123  	VirtualEthernetCardLegacyNetworkDeviceNameNat      = VirtualEthernetCardLegacyNetworkDeviceName("nat")
 12124  	VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly")
 12125  )
 12126  
 12127  func (e VirtualEthernetCardLegacyNetworkDeviceName) Values() []VirtualEthernetCardLegacyNetworkDeviceName {
 12128  	return []VirtualEthernetCardLegacyNetworkDeviceName{
 12129  		VirtualEthernetCardLegacyNetworkDeviceNameBridged,
 12130  		VirtualEthernetCardLegacyNetworkDeviceNameNat,
 12131  		VirtualEthernetCardLegacyNetworkDeviceNameHostonly,
 12132  	}
 12133  }
 12134  
 12135  func (e VirtualEthernetCardLegacyNetworkDeviceName) Strings() []string {
 12136  	return EnumValuesAsStrings(e.Values())
 12137  }
 12138  
 12139  func init() {
 12140  	t["VirtualEthernetCardLegacyNetworkDeviceName"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkDeviceName)(nil)).Elem()
 12141  }
 12142  
 12143  // The enumeration of all known valid MAC address types.
 12144  type VirtualEthernetCardMacType string
 12145  
 12146  const (
 12147  	// A statistically assigned MAC address.
 12148  	VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual")
 12149  	// An automatically generated MAC address.
 12150  	VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated")
 12151  	// A MAC address assigned by VirtualCenter.
 12152  	VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned")
 12153  )
 12154  
 12155  func (e VirtualEthernetCardMacType) Values() []VirtualEthernetCardMacType {
 12156  	return []VirtualEthernetCardMacType{
 12157  		VirtualEthernetCardMacTypeManual,
 12158  		VirtualEthernetCardMacTypeGenerated,
 12159  		VirtualEthernetCardMacTypeAssigned,
 12160  	}
 12161  }
 12162  
 12163  func (e VirtualEthernetCardMacType) Strings() []string {
 12164  	return EnumValuesAsStrings(e.Values())
 12165  }
 12166  
 12167  func init() {
 12168  	t["VirtualEthernetCardMacType"] = reflect.TypeOf((*VirtualEthernetCardMacType)(nil)).Elem()
 12169  }
 12170  
 12171  type VirtualHardwareMotherboardLayout string
 12172  
 12173  const (
 12174  	// Single i440BX host bridge.
 12175  	VirtualHardwareMotherboardLayoutI440bxHostBridge = VirtualHardwareMotherboardLayout("i440bxHostBridge")
 12176  	// Multiple ACPI host bridges.
 12177  	VirtualHardwareMotherboardLayoutAcpiHostBridges = VirtualHardwareMotherboardLayout("acpiHostBridges")
 12178  )
 12179  
 12180  func (e VirtualHardwareMotherboardLayout) Values() []VirtualHardwareMotherboardLayout {
 12181  	return []VirtualHardwareMotherboardLayout{
 12182  		VirtualHardwareMotherboardLayoutI440bxHostBridge,
 12183  		VirtualHardwareMotherboardLayoutAcpiHostBridges,
 12184  	}
 12185  }
 12186  
 12187  func (e VirtualHardwareMotherboardLayout) Strings() []string {
 12188  	return EnumValuesAsStrings(e.Values())
 12189  }
 12190  
 12191  func init() {
 12192  	t["VirtualHardwareMotherboardLayout"] = reflect.TypeOf((*VirtualHardwareMotherboardLayout)(nil)).Elem()
 12193  	minAPIVersionForType["VirtualHardwareMotherboardLayout"] = "8.0.0.1"
 12194  }
 12195  
 12196  // Application heartbeat status type.
 12197  type VirtualMachineAppHeartbeatStatusType string
 12198  
 12199  const (
 12200  	// Heartbeat status is disabled
 12201  	VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray")
 12202  	// Heartbeat status is OK
 12203  	VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen")
 12204  	// Heartbeating has stopped
 12205  	VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed")
 12206  )
 12207  
 12208  func (e VirtualMachineAppHeartbeatStatusType) Values() []VirtualMachineAppHeartbeatStatusType {
 12209  	return []VirtualMachineAppHeartbeatStatusType{
 12210  		VirtualMachineAppHeartbeatStatusTypeAppStatusGray,
 12211  		VirtualMachineAppHeartbeatStatusTypeAppStatusGreen,
 12212  		VirtualMachineAppHeartbeatStatusTypeAppStatusRed,
 12213  	}
 12214  }
 12215  
 12216  func (e VirtualMachineAppHeartbeatStatusType) Strings() []string {
 12217  	return EnumValuesAsStrings(e.Values())
 12218  }
 12219  
 12220  func init() {
 12221  	t["VirtualMachineAppHeartbeatStatusType"] = reflect.TypeOf((*VirtualMachineAppHeartbeatStatusType)(nil)).Elem()
 12222  }
 12223  
 12224  type VirtualMachineBootOptionsNetworkBootProtocolType string
 12225  
 12226  const (
 12227  	// PXE (or Apple NetBoot) over IPv4.
 12228  	//
 12229  	// The default.
 12230  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4")
 12231  	// PXE over IPv6.
 12232  	//
 12233  	// Only meaningful for EFI virtual machines.
 12234  	VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6")
 12235  )
 12236  
 12237  func (e VirtualMachineBootOptionsNetworkBootProtocolType) Values() []VirtualMachineBootOptionsNetworkBootProtocolType {
 12238  	return []VirtualMachineBootOptionsNetworkBootProtocolType{
 12239  		VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4,
 12240  		VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6,
 12241  	}
 12242  }
 12243  
 12244  func (e VirtualMachineBootOptionsNetworkBootProtocolType) Strings() []string {
 12245  	return EnumValuesAsStrings(e.Values())
 12246  }
 12247  
 12248  func init() {
 12249  	t["VirtualMachineBootOptionsNetworkBootProtocolType"] = reflect.TypeOf((*VirtualMachineBootOptionsNetworkBootProtocolType)(nil)).Elem()
 12250  }
 12251  
 12252  type VirtualMachineCertThumbprintHashAlgorithm string
 12253  
 12254  const (
 12255  	// SHA256
 12256  	VirtualMachineCertThumbprintHashAlgorithmSha256 = VirtualMachineCertThumbprintHashAlgorithm("sha256")
 12257  )
 12258  
 12259  func (e VirtualMachineCertThumbprintHashAlgorithm) Values() []VirtualMachineCertThumbprintHashAlgorithm {
 12260  	return []VirtualMachineCertThumbprintHashAlgorithm{
 12261  		VirtualMachineCertThumbprintHashAlgorithmSha256,
 12262  	}
 12263  }
 12264  
 12265  func (e VirtualMachineCertThumbprintHashAlgorithm) Strings() []string {
 12266  	return EnumValuesAsStrings(e.Values())
 12267  }
 12268  
 12269  func init() {
 12270  	t["VirtualMachineCertThumbprintHashAlgorithm"] = reflect.TypeOf((*VirtualMachineCertThumbprintHashAlgorithm)(nil)).Elem()
 12271  	minAPIVersionForType["VirtualMachineCertThumbprintHashAlgorithm"] = "7.0.3.1"
 12272  }
 12273  
 12274  // TPM provisioning policies used when cloning a VM with a virtual TPM
 12275  type VirtualMachineCloneSpecTpmProvisionPolicy string
 12276  
 12277  const (
 12278  	// The virtual TPM is copied.
 12279  	//
 12280  	// The virtual machine clone will have access
 12281  	// to the original virtual machine's TPM secrets.
 12282  	VirtualMachineCloneSpecTpmProvisionPolicyCopy = VirtualMachineCloneSpecTpmProvisionPolicy("copy")
 12283  	// The virtual TPM is replaced with a new one.
 12284  	//
 12285  	// The virtual machine clone
 12286  	// will not have access to the original virtual machine's TPM secrets.
 12287  	VirtualMachineCloneSpecTpmProvisionPolicyReplace = VirtualMachineCloneSpecTpmProvisionPolicy("replace")
 12288  )
 12289  
 12290  func (e VirtualMachineCloneSpecTpmProvisionPolicy) Values() []VirtualMachineCloneSpecTpmProvisionPolicy {
 12291  	return []VirtualMachineCloneSpecTpmProvisionPolicy{
 12292  		VirtualMachineCloneSpecTpmProvisionPolicyCopy,
 12293  		VirtualMachineCloneSpecTpmProvisionPolicyReplace,
 12294  	}
 12295  }
 12296  
 12297  func (e VirtualMachineCloneSpecTpmProvisionPolicy) Strings() []string {
 12298  	return EnumValuesAsStrings(e.Values())
 12299  }
 12300  
 12301  func init() {
 12302  	t["VirtualMachineCloneSpecTpmProvisionPolicy"] = reflect.TypeOf((*VirtualMachineCloneSpecTpmProvisionPolicy)(nil)).Elem()
 12303  	minAPIVersionForType["VirtualMachineCloneSpecTpmProvisionPolicy"] = "8.0.0.1"
 12304  }
 12305  
 12306  // The NPIV WWN source type.
 12307  type VirtualMachineConfigInfoNpivWwnType string
 12308  
 12309  const (
 12310  	// This set of WWNs is generated by VC server.
 12311  	VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc")
 12312  	// This set of WWNs is generated by Host Agent.
 12313  	VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host")
 12314  	// This set of WWNs is provided by the client.
 12315  	VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external")
 12316  )
 12317  
 12318  func (e VirtualMachineConfigInfoNpivWwnType) Values() []VirtualMachineConfigInfoNpivWwnType {
 12319  	return []VirtualMachineConfigInfoNpivWwnType{
 12320  		VirtualMachineConfigInfoNpivWwnTypeVc,
 12321  		VirtualMachineConfigInfoNpivWwnTypeHost,
 12322  		VirtualMachineConfigInfoNpivWwnTypeExternal,
 12323  	}
 12324  }
 12325  
 12326  func (e VirtualMachineConfigInfoNpivWwnType) Strings() []string {
 12327  	return EnumValuesAsStrings(e.Values())
 12328  }
 12329  
 12330  func init() {
 12331  	t["VirtualMachineConfigInfoNpivWwnType"] = reflect.TypeOf((*VirtualMachineConfigInfoNpivWwnType)(nil)).Elem()
 12332  }
 12333  
 12334  // Available choices for virtual machine swapfile placement policy.
 12335  //
 12336  // This is
 12337  // the set of legal values for the virtual machine configuration's
 12338  // `swapPlacement` property. All
 12339  // values except for "inherit" and "vmConfigured" are also valid values for
 12340  // a compute resource configuration's
 12341  // `vmSwapPlacement`
 12342  // property.
 12343  type VirtualMachineConfigInfoSwapPlacementType string
 12344  
 12345  const (
 12346  	// Honor the virtual machine swapfile placement policy of the compute
 12347  	// resource that contains this virtual machine.
 12348  	VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit")
 12349  	// Store the swapfile in the same directory as the virtual machine.
 12350  	VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory")
 12351  	// Store the swapfile in the datastore specified by the
 12352  	// `localSwapDatastore`
 12353  	// property of the virtual machine's host, if that property is set and
 12354  	// indicates a datastore with sufficient free space.
 12355  	//
 12356  	// Otherwise store the
 12357  	// swapfile in the same directory as the virtual machine.
 12358  	//
 12359  	// Note: This setting may degrade VMotion performance.
 12360  	VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal")
 12361  )
 12362  
 12363  func (e VirtualMachineConfigInfoSwapPlacementType) Values() []VirtualMachineConfigInfoSwapPlacementType {
 12364  	return []VirtualMachineConfigInfoSwapPlacementType{
 12365  		VirtualMachineConfigInfoSwapPlacementTypeInherit,
 12366  		VirtualMachineConfigInfoSwapPlacementTypeVmDirectory,
 12367  		VirtualMachineConfigInfoSwapPlacementTypeHostLocal,
 12368  	}
 12369  }
 12370  
 12371  func (e VirtualMachineConfigInfoSwapPlacementType) Strings() []string {
 12372  	return EnumValuesAsStrings(e.Values())
 12373  }
 12374  
 12375  func init() {
 12376  	t["VirtualMachineConfigInfoSwapPlacementType"] = reflect.TypeOf((*VirtualMachineConfigInfoSwapPlacementType)(nil)).Elem()
 12377  }
 12378  
 12379  // The set of valid encrypted Fault Tolerance modes for a VM.
 12380  //
 12381  // If the VM is encrypted, its encrypted Fault Tolerance mode
 12382  type VirtualMachineConfigSpecEncryptedFtModes string
 12383  
 12384  const (
 12385  	// Do not use encrypted Fault Tolerance, even if available.
 12386  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionDisabled")
 12387  	// Use encrypted Fault Tolerance if source and destination hosts
 12388  	// support it, fall back to unencrypted Fault Tolerance otherwise.
 12389  	//
 12390  	// This is the default option.
 12391  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionOpportunistic")
 12392  	// Allow only encrypted Fault Tolerance.
 12393  	//
 12394  	// If either the source or
 12395  	// destination host does not support encrypted Fault Tolerance,
 12396  	// do not allow the Fault Tolerance to occur.
 12397  	VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionRequired")
 12398  )
 12399  
 12400  func (e VirtualMachineConfigSpecEncryptedFtModes) Values() []VirtualMachineConfigSpecEncryptedFtModes {
 12401  	return []VirtualMachineConfigSpecEncryptedFtModes{
 12402  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled,
 12403  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic,
 12404  		VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired,
 12405  	}
 12406  }
 12407  
 12408  func (e VirtualMachineConfigSpecEncryptedFtModes) Strings() []string {
 12409  	return EnumValuesAsStrings(e.Values())
 12410  }
 12411  
 12412  func init() {
 12413  	t["VirtualMachineConfigSpecEncryptedFtModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedFtModes)(nil)).Elem()
 12414  	minAPIVersionForType["VirtualMachineConfigSpecEncryptedFtModes"] = "7.0.2.0"
 12415  }
 12416  
 12417  // The set of valid encrypted vMotion modes for a VM.
 12418  //
 12419  // If the VM is encrypted, its encrypted vMotion mode will be required.
 12420  type VirtualMachineConfigSpecEncryptedVMotionModes string
 12421  
 12422  const (
 12423  	// Do not use encrypted vMotion, even if available.
 12424  	VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled")
 12425  	// Use encrypted vMotion if source and destination hosts support it,
 12426  	// fall back to unencrypted vMotion otherwise.
 12427  	//
 12428  	// This is the default option.
 12429  	VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic")
 12430  	// Allow only encrypted vMotion.
 12431  	//
 12432  	// If the source or destination host does
 12433  	// not support vMotion encryption, do not allow the vMotion to occur.
 12434  	VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required")
 12435  )
 12436  
 12437  func (e VirtualMachineConfigSpecEncryptedVMotionModes) Values() []VirtualMachineConfigSpecEncryptedVMotionModes {
 12438  	return []VirtualMachineConfigSpecEncryptedVMotionModes{
 12439  		VirtualMachineConfigSpecEncryptedVMotionModesDisabled,
 12440  		VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic,
 12441  		VirtualMachineConfigSpecEncryptedVMotionModesRequired,
 12442  	}
 12443  }
 12444  
 12445  func (e VirtualMachineConfigSpecEncryptedVMotionModes) Strings() []string {
 12446  	return EnumValuesAsStrings(e.Values())
 12447  }
 12448  
 12449  func init() {
 12450  	t["VirtualMachineConfigSpecEncryptedVMotionModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedVMotionModes)(nil)).Elem()
 12451  }
 12452  
 12453  // The root WWN operation mode.
 12454  type VirtualMachineConfigSpecNpivWwnOp string
 12455  
 12456  const (
 12457  	// Generate a new set of WWNs and assign it to the virtual machine.
 12458  	VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate")
 12459  	// Take a client-specified set of WWNs (specified in "wwn" property) and
 12460  	// assign them to the virtual machine.
 12461  	//
 12462  	// If the new WWN quntity are more
 12463  	// than existing then we will append them to the existing list of WWNs.
 12464  	VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set")
 12465  	// Remove the currently assigned WWNs from the virtual machine.
 12466  	VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove")
 12467  	// Generate a new set of WWNs and append them to the existing list
 12468  	VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend")
 12469  )
 12470  
 12471  func (e VirtualMachineConfigSpecNpivWwnOp) Values() []VirtualMachineConfigSpecNpivWwnOp {
 12472  	return []VirtualMachineConfigSpecNpivWwnOp{
 12473  		VirtualMachineConfigSpecNpivWwnOpGenerate,
 12474  		VirtualMachineConfigSpecNpivWwnOpSet,
 12475  		VirtualMachineConfigSpecNpivWwnOpRemove,
 12476  		VirtualMachineConfigSpecNpivWwnOpExtend,
 12477  	}
 12478  }
 12479  
 12480  func (e VirtualMachineConfigSpecNpivWwnOp) Strings() []string {
 12481  	return EnumValuesAsStrings(e.Values())
 12482  }
 12483  
 12484  func init() {
 12485  	t["VirtualMachineConfigSpecNpivWwnOp"] = reflect.TypeOf((*VirtualMachineConfigSpecNpivWwnOp)(nil)).Elem()
 12486  }
 12487  
 12488  // The connectivity state of a virtual machine.
 12489  //
 12490  // When the API is provided directly by
 12491  // a server product, such as ESX Server, then the disconnected state is not
 12492  // possible. However, when accessed through VirtualCenter, the state of a virtual
 12493  // machine is set to disconnected if the hosts that manage the virtual
 12494  // machine becomes unavailable.
 12495  type VirtualMachineConnectionState string
 12496  
 12497  const (
 12498  	// The server has access to the virtual machine.
 12499  	VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected")
 12500  	// The server is currently disconnected from the virtual machine, since its
 12501  	// host is disconnected.
 12502  	//
 12503  	// See general comment for this enumerated type for more
 12504  	// details.
 12505  	VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected")
 12506  	// The virtual machine is no longer registered on the host it is associated
 12507  	// with.
 12508  	//
 12509  	// For example, a virtual machine that is unregistered or deleted
 12510  	// directly on a host managed by VirtualCenter shows up in this state.
 12511  	VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned")
 12512  	// One or more of the virtual machine configuration files are inaccessible.
 12513  	//
 12514  	// For
 12515  	// example, this can be due to transient disk failures. In this case, no
 12516  	// configuration can be returned for a virtual machine.
 12517  	VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible")
 12518  	// The virtual machine configuration format is invalid.
 12519  	//
 12520  	// Thus, it is accessible
 12521  	// on disk, but corrupted in a way that does not allow the server to read the
 12522  	// content. In this case, no configuration can be returned for a virtual
 12523  	// machine.
 12524  	VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid")
 12525  )
 12526  
 12527  func (e VirtualMachineConnectionState) Values() []VirtualMachineConnectionState {
 12528  	return []VirtualMachineConnectionState{
 12529  		VirtualMachineConnectionStateConnected,
 12530  		VirtualMachineConnectionStateDisconnected,
 12531  		VirtualMachineConnectionStateOrphaned,
 12532  		VirtualMachineConnectionStateInaccessible,
 12533  		VirtualMachineConnectionStateInvalid,
 12534  	}
 12535  }
 12536  
 12537  func (e VirtualMachineConnectionState) Strings() []string {
 12538  	return EnumValuesAsStrings(e.Values())
 12539  }
 12540  
 12541  func init() {
 12542  	t["VirtualMachineConnectionState"] = reflect.TypeOf((*VirtualMachineConnectionState)(nil)).Elem()
 12543  }
 12544  
 12545  // The crypto state of a encrypted virtual machine.
 12546  type VirtualMachineCryptoState string
 12547  
 12548  const (
 12549  	// The virtual machine is in unlocked state.
 12550  	VirtualMachineCryptoStateUnlocked = VirtualMachineCryptoState("unlocked")
 12551  	// The virtual machine is in locked state for the configuration key missing
 12552  	// on the ESX host where the VM is registered.
 12553  	VirtualMachineCryptoStateLocked = VirtualMachineCryptoState("locked")
 12554  )
 12555  
 12556  func (e VirtualMachineCryptoState) Values() []VirtualMachineCryptoState {
 12557  	return []VirtualMachineCryptoState{
 12558  		VirtualMachineCryptoStateUnlocked,
 12559  		VirtualMachineCryptoStateLocked,
 12560  	}
 12561  }
 12562  
 12563  func (e VirtualMachineCryptoState) Strings() []string {
 12564  	return EnumValuesAsStrings(e.Values())
 12565  }
 12566  
 12567  func init() {
 12568  	t["VirtualMachineCryptoState"] = reflect.TypeOf((*VirtualMachineCryptoState)(nil)).Elem()
 12569  }
 12570  
 12571  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string
 12572  
 12573  const (
 12574  	// The virtual machine's host does not support VMDirectPath Gen 2.
 12575  	//
 12576  	// See also `HostCapability.vmDirectPathGen2Supported`.
 12577  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost")
 12578  	// The configuration or state of the attached network prevents
 12579  	// VMDirectPath Gen 2.
 12580  	//
 12581  	// Refer to
 12582  	// `vmDirectPathGen2InactiveReasonNetwork`
 12583  	// and/or
 12584  	// `vmDirectPathGen2InactiveReasonExtended`
 12585  	// in the RuntimeInfo of the DistributedVirtualPort connected to this
 12586  	// device.
 12587  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork")
 12588  )
 12589  
 12590  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther) Values() []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther {
 12591  	return []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther{
 12592  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost,
 12593  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork,
 12594  	}
 12595  }
 12596  
 12597  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther) Strings() []string {
 12598  	return EnumValuesAsStrings(e.Values())
 12599  }
 12600  
 12601  func init() {
 12602  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther)(nil)).Elem()
 12603  }
 12604  
 12605  type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string
 12606  
 12607  const (
 12608  	// The virtual machine's guest OS does not support
 12609  	// VMDirectPath Gen 2.
 12610  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest")
 12611  	// The virtual machine's guest network driver does not support
 12612  	// VMDirectPath Gen 2.
 12613  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver")
 12614  	// The device type does not support VMDirectPath Gen 2.
 12615  	//
 12616  	// See also `VirtualEthernetCardOption.vmDirectPathGen2Supported`.
 12617  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType")
 12618  	// The virtual machine's network adapter is disabled or
 12619  	// disconnected, and thus is not participating in VMDirectPath Gen 2.
 12620  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter")
 12621  	// The virtual machine's network adapter has features enabled
 12622  	// which preclude it participating in VMDirectPath Gen 2 such
 12623  	// as INT-x or PXE booting.
 12624  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures")
 12625  	// The device backing is not a DistributedVirtualPortBacking.
 12626  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType")
 12627  	// The virtual machine does not have full memory reservation
 12628  	// required to activate VMDirectPath Gen 2.
 12629  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation")
 12630  	// Deprecated as of vSphere API 6.0.
 12631  	//
 12632  	// The virtual machine is configured for Fault Tolerance or
 12633  	// Record &amp; Replay, which prevents VMDirectPath Gen 2.
 12634  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured")
 12635  	// Some networking feature has placed a conflicting IOChain on
 12636  	// the network adapter, which prevents VMDirectPath Gen 2.
 12637  	//
 12638  	// Examples
 12639  	// include DVFilter.
 12640  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured")
 12641  	// The virtual machine monitor is exercising functionality which
 12642  	// which prevents VMDirectPath Gen 2.
 12643  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks")
 12644  	// VMDirectPath Gen 2 is temporarily suspended while the virtual
 12645  	// machine executes an operation such as suspend.
 12646  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress")
 12647  	// VMDirectPath Gen 2 is unavailable due to an unforeseen runtime error
 12648  	// in the virtualization platform (typically resource constraints.)
 12649  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError")
 12650  	// VMDirectPath Gen 2 is unavailable due to host run out of intr
 12651  	// vector in host.
 12652  	//
 12653  	// Guest can configure the vNIC to use less rx/tx
 12654  	// queues or use MSI instead of MSIX.
 12655  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector")
 12656  	// VMDirectPath Gen 2 is unavailable due to Incompatibe feature
 12657  	// VMCI is active in the current VM.
 12658  	//
 12659  	// Kill the relevant VMCI
 12660  	// application(s) and restart the VM will allow the vNIC(s) to enter
 12661  	// passthrough mode.
 12662  	VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive")
 12663  )
 12664  
 12665  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm) Values() []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm {
 12666  	return []VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm{
 12667  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest,
 12668  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver,
 12669  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType,
 12670  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter,
 12671  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures,
 12672  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType,
 12673  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation,
 12674  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured,
 12675  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured,
 12676  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks,
 12677  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress,
 12678  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError,
 12679  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector,
 12680  		VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive,
 12681  	}
 12682  }
 12683  
 12684  func (e VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm) Strings() []string {
 12685  	return EnumValuesAsStrings(e.Values())
 12686  }
 12687  
 12688  func init() {
 12689  	t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm)(nil)).Elem()
 12690  }
 12691  
 12692  // The FaultToleranceState type defines a simple set of states for a
 12693  // fault tolerant virtual machine:
 12694  // disabled, starting, and enabled.
 12695  type VirtualMachineFaultToleranceState string
 12696  
 12697  const (
 12698  	// This state indicates that the virtual machine has not been
 12699  	// configured for fault tolerance.
 12700  	VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured")
 12701  	// For a virtual machine that is the primary in a fault tolerant group,
 12702  	// this state indicates that the virtual machine has at least one
 12703  	// registered secondary, but no secondary is enabled.
 12704  	//
 12705  	// For a virtual machine that is the secondary in a fault tolerant
 12706  	// group, this state indicates that the secondary is disabled.
 12707  	VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled")
 12708  	// For a virtual machine that is the primary in a fault tolerant group,
 12709  	// this state indicates that the virtual machine is not currently
 12710  	// powered on, but has at least one enabled secondary
 12711  	// For a virtual machine that is the secondary in a fault tolerant
 12712  	// group, this state indicates that the secondary is enabled, but is
 12713  	// not currently powered on.
 12714  	VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled")
 12715  	// For a virtual machine that is the primary in a fault tolerant group,
 12716  	// this state indicates that the virtual machine is powered on and
 12717  	// has at least one enabled secondary, but no secondary is currently
 12718  	// active.
 12719  	//
 12720  	// This state is not valid for a virtual machine that is a secondary
 12721  	// in a fault tolerant group.
 12722  	VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary")
 12723  	// For a virtual machine that is the primary in a fault tolerant group,
 12724  	// this state indicates that the virtual machine is powered on and has
 12725  	// at least one secondary that is synchronizing its state with the
 12726  	// primary.
 12727  	//
 12728  	// For a virtual machine that is the secondary in a fault tolerant
 12729  	// group, this state indicates that the secondary is powered on and is
 12730  	// synchronizing its state with the primary virtual machine.
 12731  	VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting")
 12732  	// This state indicates that the virtual machine is running with fault
 12733  	// tolerance protection.
 12734  	VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running")
 12735  )
 12736  
 12737  func (e VirtualMachineFaultToleranceState) Values() []VirtualMachineFaultToleranceState {
 12738  	return []VirtualMachineFaultToleranceState{
 12739  		VirtualMachineFaultToleranceStateNotConfigured,
 12740  		VirtualMachineFaultToleranceStateDisabled,
 12741  		VirtualMachineFaultToleranceStateEnabled,
 12742  		VirtualMachineFaultToleranceStateNeedSecondary,
 12743  		VirtualMachineFaultToleranceStateStarting,
 12744  		VirtualMachineFaultToleranceStateRunning,
 12745  	}
 12746  }
 12747  
 12748  func (e VirtualMachineFaultToleranceState) Strings() []string {
 12749  	return EnumValuesAsStrings(e.Values())
 12750  }
 12751  
 12752  func init() {
 12753  	t["VirtualMachineFaultToleranceState"] = reflect.TypeOf((*VirtualMachineFaultToleranceState)(nil)).Elem()
 12754  }
 12755  
 12756  // The FaultToleranceType defines the type of fault tolerance, if any,
 12757  // the virtual machine is configured for.
 12758  type VirtualMachineFaultToleranceType string
 12759  
 12760  const (
 12761  	// FT not set
 12762  	VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset")
 12763  	// Record/replay
 12764  	VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay")
 12765  	// Checkpointing
 12766  	VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing")
 12767  )
 12768  
 12769  func (e VirtualMachineFaultToleranceType) Values() []VirtualMachineFaultToleranceType {
 12770  	return []VirtualMachineFaultToleranceType{
 12771  		VirtualMachineFaultToleranceTypeUnset,
 12772  		VirtualMachineFaultToleranceTypeRecordReplay,
 12773  		VirtualMachineFaultToleranceTypeCheckpointing,
 12774  	}
 12775  }
 12776  
 12777  func (e VirtualMachineFaultToleranceType) Strings() []string {
 12778  	return EnumValuesAsStrings(e.Values())
 12779  }
 12780  
 12781  func init() {
 12782  	t["VirtualMachineFaultToleranceType"] = reflect.TypeOf((*VirtualMachineFaultToleranceType)(nil)).Elem()
 12783  }
 12784  
 12785  // File-type constants.
 12786  type VirtualMachineFileLayoutExFileType string
 12787  
 12788  const (
 12789  	// Config (vmx) file.
 12790  	VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config")
 12791  	// Extended config (vmxf) file.
 12792  	VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig")
 12793  	// Disk descriptor (vmdk) file.
 12794  	VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor")
 12795  	// Disk extent (-flat/-delta/-s/-rdm/-rdmp.vmdk) file.
 12796  	VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent")
 12797  	// Disk digest descriptor file.
 12798  	VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor")
 12799  	// Disk digest extent file.
 12800  	VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent")
 12801  	// Host based replicated disk persistent state (psf) file.
 12802  	VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState")
 12803  	// Log (log) file.
 12804  	VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log")
 12805  	// Virtual machine statistics (stat) file.
 12806  	VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat")
 12807  	// Namespace data file.
 12808  	VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData")
 12809  	// DataSets disk mode store (dsd) file.
 12810  	VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore = VirtualMachineFileLayoutExFileType("dataSetsDiskModeStore")
 12811  	// DataSets vm mode store (dsv) file.
 12812  	VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore = VirtualMachineFileLayoutExFileType("dataSetsVmModeStore")
 12813  	// Non-volatile RAM (nvram) file.
 12814  	VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram")
 12815  	// Snapshot data (vmsn) file.
 12816  	VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData")
 12817  	// Snapshot memory (vmem) file.
 12818  	VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory")
 12819  	// Snapshot metadata (vmsd) file.
 12820  	VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList")
 12821  	// Snapshot manifest metadata (-aux.xml) file.
 12822  	//
 12823  	// This file is still being created but is no longer necessary since
 12824  	// the manifest metadata is now available in the snapshot metadata
 12825  	// (vmsd) file in vSphere 5.0. This type will be deprecated when
 12826  	// vSphere 4.1 is no longer supported.
 12827  	VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList")
 12828  	// Suspend (vmss) file.
 12829  	VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend")
 12830  	// Suspend (vmem) file.
 12831  	VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory")
 12832  	// Swap (vswp) file.
 12833  	VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap")
 12834  	// File generated by VMware ESX kernel for a running virtual
 12835  	// machine.
 12836  	VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap")
 12837  	// Core (core) file.
 12838  	VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core")
 12839  	// Screenshot file.
 12840  	VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot")
 12841  	// Fault Tolerance metadata file.
 12842  	VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata")
 12843  	// Guest image customization file.
 12844  	VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization")
 12845  )
 12846  
 12847  func (e VirtualMachineFileLayoutExFileType) Values() []VirtualMachineFileLayoutExFileType {
 12848  	return []VirtualMachineFileLayoutExFileType{
 12849  		VirtualMachineFileLayoutExFileTypeConfig,
 12850  		VirtualMachineFileLayoutExFileTypeExtendedConfig,
 12851  		VirtualMachineFileLayoutExFileTypeDiskDescriptor,
 12852  		VirtualMachineFileLayoutExFileTypeDiskExtent,
 12853  		VirtualMachineFileLayoutExFileTypeDigestDescriptor,
 12854  		VirtualMachineFileLayoutExFileTypeDigestExtent,
 12855  		VirtualMachineFileLayoutExFileTypeDiskReplicationState,
 12856  		VirtualMachineFileLayoutExFileTypeLog,
 12857  		VirtualMachineFileLayoutExFileTypeStat,
 12858  		VirtualMachineFileLayoutExFileTypeNamespaceData,
 12859  		VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore,
 12860  		VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore,
 12861  		VirtualMachineFileLayoutExFileTypeNvram,
 12862  		VirtualMachineFileLayoutExFileTypeSnapshotData,
 12863  		VirtualMachineFileLayoutExFileTypeSnapshotMemory,
 12864  		VirtualMachineFileLayoutExFileTypeSnapshotList,
 12865  		VirtualMachineFileLayoutExFileTypeSnapshotManifestList,
 12866  		VirtualMachineFileLayoutExFileTypeSuspend,
 12867  		VirtualMachineFileLayoutExFileTypeSuspendMemory,
 12868  		VirtualMachineFileLayoutExFileTypeSwap,
 12869  		VirtualMachineFileLayoutExFileTypeUwswap,
 12870  		VirtualMachineFileLayoutExFileTypeCore,
 12871  		VirtualMachineFileLayoutExFileTypeScreenshot,
 12872  		VirtualMachineFileLayoutExFileTypeFtMetadata,
 12873  		VirtualMachineFileLayoutExFileTypeGuestCustomization,
 12874  	}
 12875  }
 12876  
 12877  func (e VirtualMachineFileLayoutExFileType) Strings() []string {
 12878  	return EnumValuesAsStrings(e.Values())
 12879  }
 12880  
 12881  func init() {
 12882  	t["VirtualMachineFileLayoutExFileType"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileType)(nil)).Elem()
 12883  	minAPIVersionForEnumValue["VirtualMachineFileLayoutExFileType"] = map[string]string{
 12884  		"dataSetsDiskModeStore": "8.0.0.0",
 12885  		"dataSetsVmModeStore":   "8.0.0.0",
 12886  	}
 12887  }
 12888  
 12889  // Set of possible values for `VirtualMachineFlagInfo.monitorType`.
 12890  type VirtualMachineFlagInfoMonitorType string
 12891  
 12892  const (
 12893  	// Run vmx in default mode, matching the build type of vmkernel.
 12894  	VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release")
 12895  	// Run vmx in debug mode.
 12896  	VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug")
 12897  	// Run vmx in stats mode.
 12898  	VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats")
 12899  )
 12900  
 12901  func (e VirtualMachineFlagInfoMonitorType) Values() []VirtualMachineFlagInfoMonitorType {
 12902  	return []VirtualMachineFlagInfoMonitorType{
 12903  		VirtualMachineFlagInfoMonitorTypeRelease,
 12904  		VirtualMachineFlagInfoMonitorTypeDebug,
 12905  		VirtualMachineFlagInfoMonitorTypeStats,
 12906  	}
 12907  }
 12908  
 12909  func (e VirtualMachineFlagInfoMonitorType) Strings() []string {
 12910  	return EnumValuesAsStrings(e.Values())
 12911  }
 12912  
 12913  func init() {
 12914  	t["VirtualMachineFlagInfoMonitorType"] = reflect.TypeOf((*VirtualMachineFlagInfoMonitorType)(nil)).Elem()
 12915  }
 12916  
 12917  // Set of possible values for `VirtualMachineFlagInfo.virtualExecUsage`.
 12918  type VirtualMachineFlagInfoVirtualExecUsage string
 12919  
 12920  const (
 12921  	// Determine automatically whether to use hardware virtualization (HV) support.
 12922  	VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto")
 12923  	// Use hardware virtualization (HV) support if the physical hardware supports it.
 12924  	VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn")
 12925  	// Do not use hardware virtualization (HV) support.
 12926  	VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff")
 12927  )
 12928  
 12929  func (e VirtualMachineFlagInfoVirtualExecUsage) Values() []VirtualMachineFlagInfoVirtualExecUsage {
 12930  	return []VirtualMachineFlagInfoVirtualExecUsage{
 12931  		VirtualMachineFlagInfoVirtualExecUsageHvAuto,
 12932  		VirtualMachineFlagInfoVirtualExecUsageHvOn,
 12933  		VirtualMachineFlagInfoVirtualExecUsageHvOff,
 12934  	}
 12935  }
 12936  
 12937  func (e VirtualMachineFlagInfoVirtualExecUsage) Strings() []string {
 12938  	return EnumValuesAsStrings(e.Values())
 12939  }
 12940  
 12941  func init() {
 12942  	t["VirtualMachineFlagInfoVirtualExecUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualExecUsage)(nil)).Elem()
 12943  }
 12944  
 12945  // Set of possible values for `VirtualMachineFlagInfo.virtualMmuUsage`.
 12946  type VirtualMachineFlagInfoVirtualMmuUsage string
 12947  
 12948  const (
 12949  	// Determine automatically whether to use nested page table hardware support.
 12950  	VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic")
 12951  	// Use nested paging hardware support if the physical hardware supports it.
 12952  	VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on")
 12953  	// Do not use nested page table hardware support.
 12954  	VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off")
 12955  )
 12956  
 12957  func (e VirtualMachineFlagInfoVirtualMmuUsage) Values() []VirtualMachineFlagInfoVirtualMmuUsage {
 12958  	return []VirtualMachineFlagInfoVirtualMmuUsage{
 12959  		VirtualMachineFlagInfoVirtualMmuUsageAutomatic,
 12960  		VirtualMachineFlagInfoVirtualMmuUsageOn,
 12961  		VirtualMachineFlagInfoVirtualMmuUsageOff,
 12962  	}
 12963  }
 12964  
 12965  func (e VirtualMachineFlagInfoVirtualMmuUsage) Strings() []string {
 12966  	return EnumValuesAsStrings(e.Values())
 12967  }
 12968  
 12969  func init() {
 12970  	t["VirtualMachineFlagInfoVirtualMmuUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualMmuUsage)(nil)).Elem()
 12971  }
 12972  
 12973  // Fork child type.
 12974  //
 12975  // A child could be type of none, persistent, or
 12976  // nonpersistent.
 12977  type VirtualMachineForkConfigInfoChildType string
 12978  
 12979  const (
 12980  	// The virtual machine is not a child.
 12981  	VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none")
 12982  	// The virtual machine is a persistent child.
 12983  	VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent")
 12984  	// The virtual machine is a non-persistent child.
 12985  	VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent")
 12986  )
 12987  
 12988  func (e VirtualMachineForkConfigInfoChildType) Values() []VirtualMachineForkConfigInfoChildType {
 12989  	return []VirtualMachineForkConfigInfoChildType{
 12990  		VirtualMachineForkConfigInfoChildTypeNone,
 12991  		VirtualMachineForkConfigInfoChildTypePersistent,
 12992  		VirtualMachineForkConfigInfoChildTypeNonpersistent,
 12993  	}
 12994  }
 12995  
 12996  func (e VirtualMachineForkConfigInfoChildType) Strings() []string {
 12997  	return EnumValuesAsStrings(e.Values())
 12998  }
 12999  
 13000  func init() {
 13001  	t["VirtualMachineForkConfigInfoChildType"] = reflect.TypeOf((*VirtualMachineForkConfigInfoChildType)(nil)).Elem()
 13002  }
 13003  
 13004  // Guest operating system family constants.
 13005  type VirtualMachineGuestOsFamily string
 13006  
 13007  const (
 13008  	// Windows operating system
 13009  	VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest")
 13010  	// Linux operating system
 13011  	VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest")
 13012  	// Novell Netware
 13013  	VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest")
 13014  	// Solaris operating system
 13015  	VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest")
 13016  	// Mac OS operating system
 13017  	VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily")
 13018  	// Other operating systems
 13019  	VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily")
 13020  )
 13021  
 13022  func (e VirtualMachineGuestOsFamily) Values() []VirtualMachineGuestOsFamily {
 13023  	return []VirtualMachineGuestOsFamily{
 13024  		VirtualMachineGuestOsFamilyWindowsGuest,
 13025  		VirtualMachineGuestOsFamilyLinuxGuest,
 13026  		VirtualMachineGuestOsFamilyNetwareGuest,
 13027  		VirtualMachineGuestOsFamilySolarisGuest,
 13028  		VirtualMachineGuestOsFamilyDarwinGuestFamily,
 13029  		VirtualMachineGuestOsFamilyOtherGuestFamily,
 13030  	}
 13031  }
 13032  
 13033  func (e VirtualMachineGuestOsFamily) Strings() []string {
 13034  	return EnumValuesAsStrings(e.Values())
 13035  }
 13036  
 13037  func init() {
 13038  	t["VirtualMachineGuestOsFamily"] = reflect.TypeOf((*VirtualMachineGuestOsFamily)(nil)).Elem()
 13039  }
 13040  
 13041  // Guest operating system identifier.
 13042  type VirtualMachineGuestOsIdentifier string
 13043  
 13044  const (
 13045  	// MS-DOS.
 13046  	VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest")
 13047  	// Windows 3.1
 13048  	VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest")
 13049  	// Windows 95
 13050  	VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest")
 13051  	// Windows 98
 13052  	VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest")
 13053  	// Windows Millennium Edition
 13054  	VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest")
 13055  	// Windows NT 4
 13056  	VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest")
 13057  	// Windows 2000 Professional
 13058  	VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest")
 13059  	// Windows 2000 Server
 13060  	VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest")
 13061  	// Windows 2000 Advanced Server
 13062  	VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest")
 13063  	// Windows XP Home Edition
 13064  	VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest")
 13065  	// Windows XP Professional
 13066  	VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest")
 13067  	// Windows XP Professional Edition (64 bit)
 13068  	VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest")
 13069  	// Windows Server 2003, Web Edition
 13070  	VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest")
 13071  	// Windows Server 2003, Standard Edition
 13072  	VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest")
 13073  	// Windows Server 2003, Enterprise Edition
 13074  	VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest")
 13075  	// Windows Server 2003, Datacenter Edition
 13076  	VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest")
 13077  	// Windows Small Business Server 2003
 13078  	VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest")
 13079  	// Windows Server 2003, Standard Edition (64 bit)
 13080  	VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest")
 13081  	// Windows Server 2003, Enterprise Edition (64 bit)
 13082  	VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest")
 13083  	// Windows Longhorn
 13084  	VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest")
 13085  	// Windows Longhorn (64 bit)
 13086  	VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest")
 13087  	// Windows Server 2003, Datacenter Edition (64 bit)
 13088  	VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest")
 13089  	// Windows Vista
 13090  	VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest")
 13091  	// Windows Vista (64 bit)
 13092  	VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest")
 13093  	// Windows 7
 13094  	VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest")
 13095  	// Windows 7 (64 bit)
 13096  	VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest")
 13097  	// Windows Server 2008 R2 (64 bit)
 13098  	VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest")
 13099  	// Windows 8
 13100  	VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest")
 13101  	// Windows 8 (64 bit)
 13102  	VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest")
 13103  	// Windows 8 Server (64 bit)
 13104  	VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest")
 13105  	// Windows 10
 13106  	VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest")
 13107  	// Windows 10 (64 bit)
 13108  	VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest")
 13109  	// Windows 10 Server (64 bit)
 13110  	VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest")
 13111  	// Windows 11
 13112  	VirtualMachineGuestOsIdentifierWindows11_64Guest = VirtualMachineGuestOsIdentifier("windows11_64Guest")
 13113  	// Windows 12
 13114  	VirtualMachineGuestOsIdentifierWindows12_64Guest = VirtualMachineGuestOsIdentifier("windows12_64Guest")
 13115  	// Windows Hyper-V
 13116  	VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest")
 13117  	// Windows Server 2019
 13118  	VirtualMachineGuestOsIdentifierWindows2019srv_64Guest = VirtualMachineGuestOsIdentifier("windows2019srv_64Guest")
 13119  	// Windows Server 2022
 13120  	VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2019srvNext_64Guest")
 13121  	// Windows Server 2025
 13122  	VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2022srvNext_64Guest")
 13123  	// FreeBSD
 13124  	VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest")
 13125  	// FreeBSD x64
 13126  	VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest")
 13127  	// FreeBSD 11
 13128  	VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest")
 13129  	// FreeBSD 11 x64
 13130  	VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest")
 13131  	// FreeBSD 12
 13132  	VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest")
 13133  	// FreeBSD 12 x64
 13134  	VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest")
 13135  	// FreeBSD 13
 13136  	VirtualMachineGuestOsIdentifierFreebsd13Guest = VirtualMachineGuestOsIdentifier("freebsd13Guest")
 13137  	// FreeBSD 13 x64
 13138  	VirtualMachineGuestOsIdentifierFreebsd13_64Guest = VirtualMachineGuestOsIdentifier("freebsd13_64Guest")
 13139  	// FreeBSD 14
 13140  	VirtualMachineGuestOsIdentifierFreebsd14Guest = VirtualMachineGuestOsIdentifier("freebsd14Guest")
 13141  	// FreeBSD 14 x64
 13142  	VirtualMachineGuestOsIdentifierFreebsd14_64Guest = VirtualMachineGuestOsIdentifier("freebsd14_64Guest")
 13143  	// Red Hat Linux 2.1
 13144  	VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest")
 13145  	// Red Hat Enterprise Linux 2
 13146  	VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest")
 13147  	// Red Hat Enterprise Linux 3
 13148  	VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest")
 13149  	// Red Hat Enterprise Linux 3 (64 bit)
 13150  	VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest")
 13151  	// Red Hat Enterprise Linux 4
 13152  	VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest")
 13153  	// Red Hat Enterprise Linux 4 (64 bit)
 13154  	VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest")
 13155  	// Red Hat Enterprise Linux 5
 13156  	VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest")
 13157  	// Red Hat Enterprise Linux 5 (64 bit)
 13158  	VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest")
 13159  	// Red Hat Enterprise Linux 6
 13160  	VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest")
 13161  	// Red Hat Enterprise Linux 6 (64 bit)
 13162  	VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest")
 13163  	// Red Hat Enterprise Linux 7
 13164  	VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest")
 13165  	// Red Hat Enterprise Linux 7 (64 bit)
 13166  	VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest")
 13167  	// Red Hat Enterprise Linux 8 (64 bit)
 13168  	VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_64Guest")
 13169  	// Red Hat Enterprise Linux 9 (64 bit)
 13170  	VirtualMachineGuestOsIdentifierRhel9_64Guest = VirtualMachineGuestOsIdentifier("rhel9_64Guest")
 13171  	// CentOS 4/5
 13172  	VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest")
 13173  	// CentOS 4/5 (64-bit)
 13174  	VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest")
 13175  	// CentOS 6
 13176  	VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest")
 13177  	// CentOS 6 (64-bit)
 13178  	VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest")
 13179  	// CentOS 7
 13180  	VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest")
 13181  	// CentOS 7 (64-bit)
 13182  	VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest")
 13183  	// CentOS 8 (64-bit)
 13184  	VirtualMachineGuestOsIdentifierCentos8_64Guest = VirtualMachineGuestOsIdentifier("centos8_64Guest")
 13185  	// CentOS 9 (64-bit)
 13186  	VirtualMachineGuestOsIdentifierCentos9_64Guest = VirtualMachineGuestOsIdentifier("centos9_64Guest")
 13187  	// Oracle Linux 4/5
 13188  	VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest")
 13189  	// Oracle Linux 4/5 (64-bit)
 13190  	VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest")
 13191  	// Oracle 6
 13192  	VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest")
 13193  	// Oracle 6 (64-bit)
 13194  	VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest")
 13195  	// Oracle 7
 13196  	VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest")
 13197  	// Oracle 7 (64-bit)
 13198  	VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest")
 13199  	// Oracle 8 (64-bit)
 13200  	VirtualMachineGuestOsIdentifierOracleLinux8_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux8_64Guest")
 13201  	// Oracle 9 (64-bit)
 13202  	VirtualMachineGuestOsIdentifierOracleLinux9_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux9_64Guest")
 13203  	// Suse Linux
 13204  	VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest")
 13205  	// Suse Linux (64 bit)
 13206  	VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest")
 13207  	// Suse Linux Enterprise Server 9
 13208  	VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest")
 13209  	// Suse Linux Enterprise Server 9 (64 bit)
 13210  	VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest")
 13211  	// Suse linux Enterprise Server 10
 13212  	VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest")
 13213  	// Suse Linux Enterprise Server 10 (64 bit)
 13214  	VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest")
 13215  	// Suse linux Enterprise Server 11
 13216  	VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest")
 13217  	// Suse Linux Enterprise Server 11 (64 bit)
 13218  	VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest")
 13219  	// Suse linux Enterprise Server 12
 13220  	VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest")
 13221  	// Suse Linux Enterprise Server 12 (64 bit)
 13222  	VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest")
 13223  	// Suse Linux Enterprise Server 15 (64 bit)
 13224  	VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest")
 13225  	// Suse Linux Enterprise Server 16 (64 bit)
 13226  	VirtualMachineGuestOsIdentifierSles16_64Guest = VirtualMachineGuestOsIdentifier("sles16_64Guest")
 13227  	// Novell Linux Desktop 9
 13228  	VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest")
 13229  	// Open Enterprise Server
 13230  	VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest")
 13231  	// Sun Java Desktop System
 13232  	VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest")
 13233  	// Mandrake Linux
 13234  	VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest")
 13235  	// Mandriva Linux
 13236  	VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest")
 13237  	// Mandriva Linux (64 bit)
 13238  	VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest")
 13239  	// Turbolinux
 13240  	VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest")
 13241  	// Turbolinux (64 bit)
 13242  	VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest")
 13243  	// Ubuntu Linux
 13244  	VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest")
 13245  	// Ubuntu Linux (64 bit)
 13246  	VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest")
 13247  	// Debian GNU/Linux 4
 13248  	VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest")
 13249  	// Debian GNU/Linux 4 (64 bit)
 13250  	VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest")
 13251  	// Debian GNU/Linux 5
 13252  	VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest")
 13253  	// Debian GNU/Linux 5 (64 bit)
 13254  	VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest")
 13255  	// Debian GNU/Linux 6
 13256  	VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest")
 13257  	// Debian GNU/Linux 6 (64 bit)
 13258  	VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest")
 13259  	// Debian GNU/Linux 7
 13260  	VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest")
 13261  	// Debian GNU/Linux 7 (64 bit)
 13262  	VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest")
 13263  	// Debian GNU/Linux 8
 13264  	VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest")
 13265  	// Debian GNU/Linux 8 (64 bit)
 13266  	VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest")
 13267  	// Debian GNU/Linux 9
 13268  	VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest")
 13269  	// Debian GNU/Linux 9 (64 bit)
 13270  	VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest")
 13271  	// Debian GNU/Linux 10
 13272  	VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest")
 13273  	// Debian GNU/Linux 10 (64 bit)
 13274  	VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest")
 13275  	// Debian GNU/Linux 11
 13276  	VirtualMachineGuestOsIdentifierDebian11Guest = VirtualMachineGuestOsIdentifier("debian11Guest")
 13277  	// Debian GNU/Linux 11 (64 bit)
 13278  	VirtualMachineGuestOsIdentifierDebian11_64Guest = VirtualMachineGuestOsIdentifier("debian11_64Guest")
 13279  	// Debian GNU/Linux 12
 13280  	VirtualMachineGuestOsIdentifierDebian12Guest = VirtualMachineGuestOsIdentifier("debian12Guest")
 13281  	// Debian GNU/Linux 12 (64 bit)
 13282  	VirtualMachineGuestOsIdentifierDebian12_64Guest = VirtualMachineGuestOsIdentifier("debian12_64Guest")
 13283  	// Asianux Server 3
 13284  	VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest")
 13285  	// Asianux Server 3 (64 bit)
 13286  	VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest")
 13287  	// Asianux Server 4
 13288  	VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest")
 13289  	// Asianux Server 4 (64 bit)
 13290  	VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest")
 13291  	// Asianux Server 5 (64 bit)
 13292  	VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest")
 13293  	// Asianux Server 7 (64 bit)
 13294  	VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest")
 13295  	// Asianux Server 8 (64 bit)
 13296  	VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest")
 13297  	// Asianux Server 9 (64 bit)
 13298  	VirtualMachineGuestOsIdentifierAsianux9_64Guest = VirtualMachineGuestOsIdentifier("asianux9_64Guest")
 13299  	// OpenSUSE Linux
 13300  	VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest")
 13301  	// OpenSUSE Linux (64 bit)
 13302  	VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest")
 13303  	// Fedora Linux
 13304  	VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest")
 13305  	// Fedora Linux (64 bit)
 13306  	VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest")
 13307  	// CoreOS Linux (64 bit)
 13308  	VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest")
 13309  	// VMware Photon (64 bit)
 13310  	VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest")
 13311  	// Linux 2.4x Kernel
 13312  	VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest")
 13313  	// Linux 2.6x Kernel
 13314  	VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest")
 13315  	// Linux 2.2x Kernel
 13316  	VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest")
 13317  	// Linux 3.x Kernel
 13318  	VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest")
 13319  	// Linux 4.x Kernel
 13320  	VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest")
 13321  	// Linux 5.x Kernel
 13322  	VirtualMachineGuestOsIdentifierOther5xLinuxGuest = VirtualMachineGuestOsIdentifier("other5xLinuxGuest")
 13323  	// Linux 6.x Kernel
 13324  	VirtualMachineGuestOsIdentifierOther6xLinuxGuest = VirtualMachineGuestOsIdentifier("other6xLinuxGuest")
 13325  	// Other Linux
 13326  	VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest")
 13327  	// Linux 2.4.x Kernel (64 bit)
 13328  	VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest")
 13329  	// Linux 2.6.x Kernel (64 bit)
 13330  	VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest")
 13331  	// Linux 3.x Kernel (64 bit)
 13332  	VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest")
 13333  	// Linux 4.x Kernel (64 bit)
 13334  	VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest")
 13335  	// Linux 5.x Kernel (64 bit)
 13336  	VirtualMachineGuestOsIdentifierOther5xLinux64Guest = VirtualMachineGuestOsIdentifier("other5xLinux64Guest")
 13337  	// Linux 6.x Kernel (64 bit)
 13338  	VirtualMachineGuestOsIdentifierOther6xLinux64Guest = VirtualMachineGuestOsIdentifier("other6xLinux64Guest")
 13339  	// Linux (64 bit)
 13340  	VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest")
 13341  	// Solaris 6
 13342  	VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest")
 13343  	// Solaris 7
 13344  	VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest")
 13345  	// Solaris 8
 13346  	VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest")
 13347  	// Solaris 9
 13348  	VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest")
 13349  	// Solaris 10 (32 bit)
 13350  	VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest")
 13351  	// Solaris 10 (64 bit)
 13352  	VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest")
 13353  	// Solaris 11 (64 bit)
 13354  	VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest")
 13355  	// OS/2
 13356  	VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest")
 13357  	// eComStation 1.x
 13358  	VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest")
 13359  	// eComStation 2.0
 13360  	VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest")
 13361  	// Novell NetWare 4
 13362  	VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest")
 13363  	// Novell NetWare 5.1
 13364  	VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest")
 13365  	// Novell NetWare 6.x
 13366  	VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest")
 13367  	// SCO OpenServer 5
 13368  	VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest")
 13369  	// SCO OpenServer 6
 13370  	VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest")
 13371  	// SCO UnixWare 7
 13372  	VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest")
 13373  	// Mac OS 10.5
 13374  	VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest")
 13375  	// Mac OS 10.5 (64 bit)
 13376  	VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest")
 13377  	// Mac OS 10.6
 13378  	VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest")
 13379  	// Mac OS 10.6 (64 bit)
 13380  	VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest")
 13381  	// Mac OS 10.7
 13382  	VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest")
 13383  	// Mac OS 10.7 (64 bit)
 13384  	VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest")
 13385  	// Mac OS 10.8 (64 bit)
 13386  	VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest")
 13387  	// Mac OS 10.9 (64 bit)
 13388  	VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest")
 13389  	// Mac OS 10.10 (64 bit)
 13390  	VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest")
 13391  	// Mac OS 10.11 (64 bit)
 13392  	VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest")
 13393  	// Mac OS 10.12 (64 bit)
 13394  	VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest")
 13395  	// macOS 10.13 (64 bit)
 13396  	VirtualMachineGuestOsIdentifierDarwin17_64Guest = VirtualMachineGuestOsIdentifier("darwin17_64Guest")
 13397  	// macOS 10.14 (64 bit)
 13398  	VirtualMachineGuestOsIdentifierDarwin18_64Guest = VirtualMachineGuestOsIdentifier("darwin18_64Guest")
 13399  	// macOS 10.15 (64 bit)
 13400  	VirtualMachineGuestOsIdentifierDarwin19_64Guest = VirtualMachineGuestOsIdentifier("darwin19_64Guest")
 13401  	// macOS 11 (64 bit)
 13402  	VirtualMachineGuestOsIdentifierDarwin20_64Guest = VirtualMachineGuestOsIdentifier("darwin20_64Guest")
 13403  	// macOS 12 (64 bit)
 13404  	VirtualMachineGuestOsIdentifierDarwin21_64Guest = VirtualMachineGuestOsIdentifier("darwin21_64Guest")
 13405  	// macOS 13 (64 bit)
 13406  	VirtualMachineGuestOsIdentifierDarwin22_64Guest = VirtualMachineGuestOsIdentifier("darwin22_64Guest")
 13407  	// macOS 14 (64 bit)
 13408  	VirtualMachineGuestOsIdentifierDarwin23_64Guest = VirtualMachineGuestOsIdentifier("darwin23_64Guest")
 13409  	// VMware ESX 4
 13410  	VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest")
 13411  	// VMware ESX 5
 13412  	VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest")
 13413  	// VMware ESX 6
 13414  	VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest")
 13415  	// VMware ESXi 6.5 AND ESXi 6.7.
 13416  	VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest")
 13417  	// VMware ESX 7
 13418  	VirtualMachineGuestOsIdentifierVmkernel7Guest = VirtualMachineGuestOsIdentifier("vmkernel7Guest")
 13419  	// VMware ESX 8
 13420  	VirtualMachineGuestOsIdentifierVmkernel8Guest = VirtualMachineGuestOsIdentifier("vmkernel8Guest")
 13421  	// Amazon Linux 2 (64 bit)
 13422  	VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux2_64Guest")
 13423  	// Amazon Linux 3 (64 bit)
 13424  	VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux3_64Guest")
 13425  	// CRX Pod 1
 13426  	VirtualMachineGuestOsIdentifierCrxPod1Guest = VirtualMachineGuestOsIdentifier("crxPod1Guest")
 13427  	// CRX Sys 1
 13428  	VirtualMachineGuestOsIdentifierCrxSys1Guest = VirtualMachineGuestOsIdentifier("crxSys1Guest")
 13429  	// Rocky Linux (64-bit)
 13430  	VirtualMachineGuestOsIdentifierRockylinux_64Guest = VirtualMachineGuestOsIdentifier("rockylinux_64Guest")
 13431  	// AlmaLinux (64-bit)
 13432  	VirtualMachineGuestOsIdentifierAlmalinux_64Guest = VirtualMachineGuestOsIdentifier("almalinux_64Guest")
 13433  	// Other Operating System
 13434  	VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest")
 13435  	// Other Operating System (64 bit)
 13436  	VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64")
 13437  )
 13438  
 13439  func (e VirtualMachineGuestOsIdentifier) Values() []VirtualMachineGuestOsIdentifier {
 13440  	return []VirtualMachineGuestOsIdentifier{
 13441  		VirtualMachineGuestOsIdentifierDosGuest,
 13442  		VirtualMachineGuestOsIdentifierWin31Guest,
 13443  		VirtualMachineGuestOsIdentifierWin95Guest,
 13444  		VirtualMachineGuestOsIdentifierWin98Guest,
 13445  		VirtualMachineGuestOsIdentifierWinMeGuest,
 13446  		VirtualMachineGuestOsIdentifierWinNTGuest,
 13447  		VirtualMachineGuestOsIdentifierWin2000ProGuest,
 13448  		VirtualMachineGuestOsIdentifierWin2000ServGuest,
 13449  		VirtualMachineGuestOsIdentifierWin2000AdvServGuest,
 13450  		VirtualMachineGuestOsIdentifierWinXPHomeGuest,
 13451  		VirtualMachineGuestOsIdentifierWinXPProGuest,
 13452  		VirtualMachineGuestOsIdentifierWinXPPro64Guest,
 13453  		VirtualMachineGuestOsIdentifierWinNetWebGuest,
 13454  		VirtualMachineGuestOsIdentifierWinNetStandardGuest,
 13455  		VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest,
 13456  		VirtualMachineGuestOsIdentifierWinNetDatacenterGuest,
 13457  		VirtualMachineGuestOsIdentifierWinNetBusinessGuest,
 13458  		VirtualMachineGuestOsIdentifierWinNetStandard64Guest,
 13459  		VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest,
 13460  		VirtualMachineGuestOsIdentifierWinLonghornGuest,
 13461  		VirtualMachineGuestOsIdentifierWinLonghorn64Guest,
 13462  		VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest,
 13463  		VirtualMachineGuestOsIdentifierWinVistaGuest,
 13464  		VirtualMachineGuestOsIdentifierWinVista64Guest,
 13465  		VirtualMachineGuestOsIdentifierWindows7Guest,
 13466  		VirtualMachineGuestOsIdentifierWindows7_64Guest,
 13467  		VirtualMachineGuestOsIdentifierWindows7Server64Guest,
 13468  		VirtualMachineGuestOsIdentifierWindows8Guest,
 13469  		VirtualMachineGuestOsIdentifierWindows8_64Guest,
 13470  		VirtualMachineGuestOsIdentifierWindows8Server64Guest,
 13471  		VirtualMachineGuestOsIdentifierWindows9Guest,
 13472  		VirtualMachineGuestOsIdentifierWindows9_64Guest,
 13473  		VirtualMachineGuestOsIdentifierWindows9Server64Guest,
 13474  		VirtualMachineGuestOsIdentifierWindows11_64Guest,
 13475  		VirtualMachineGuestOsIdentifierWindows12_64Guest,
 13476  		VirtualMachineGuestOsIdentifierWindowsHyperVGuest,
 13477  		VirtualMachineGuestOsIdentifierWindows2019srv_64Guest,
 13478  		VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest,
 13479  		VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest,
 13480  		VirtualMachineGuestOsIdentifierFreebsdGuest,
 13481  		VirtualMachineGuestOsIdentifierFreebsd64Guest,
 13482  		VirtualMachineGuestOsIdentifierFreebsd11Guest,
 13483  		VirtualMachineGuestOsIdentifierFreebsd11_64Guest,
 13484  		VirtualMachineGuestOsIdentifierFreebsd12Guest,
 13485  		VirtualMachineGuestOsIdentifierFreebsd12_64Guest,
 13486  		VirtualMachineGuestOsIdentifierFreebsd13Guest,
 13487  		VirtualMachineGuestOsIdentifierFreebsd13_64Guest,
 13488  		VirtualMachineGuestOsIdentifierFreebsd14Guest,
 13489  		VirtualMachineGuestOsIdentifierFreebsd14_64Guest,
 13490  		VirtualMachineGuestOsIdentifierRedhatGuest,
 13491  		VirtualMachineGuestOsIdentifierRhel2Guest,
 13492  		VirtualMachineGuestOsIdentifierRhel3Guest,
 13493  		VirtualMachineGuestOsIdentifierRhel3_64Guest,
 13494  		VirtualMachineGuestOsIdentifierRhel4Guest,
 13495  		VirtualMachineGuestOsIdentifierRhel4_64Guest,
 13496  		VirtualMachineGuestOsIdentifierRhel5Guest,
 13497  		VirtualMachineGuestOsIdentifierRhel5_64Guest,
 13498  		VirtualMachineGuestOsIdentifierRhel6Guest,
 13499  		VirtualMachineGuestOsIdentifierRhel6_64Guest,
 13500  		VirtualMachineGuestOsIdentifierRhel7Guest,
 13501  		VirtualMachineGuestOsIdentifierRhel7_64Guest,
 13502  		VirtualMachineGuestOsIdentifierRhel8_64Guest,
 13503  		VirtualMachineGuestOsIdentifierRhel9_64Guest,
 13504  		VirtualMachineGuestOsIdentifierCentosGuest,
 13505  		VirtualMachineGuestOsIdentifierCentos64Guest,
 13506  		VirtualMachineGuestOsIdentifierCentos6Guest,
 13507  		VirtualMachineGuestOsIdentifierCentos6_64Guest,
 13508  		VirtualMachineGuestOsIdentifierCentos7Guest,
 13509  		VirtualMachineGuestOsIdentifierCentos7_64Guest,
 13510  		VirtualMachineGuestOsIdentifierCentos8_64Guest,
 13511  		VirtualMachineGuestOsIdentifierCentos9_64Guest,
 13512  		VirtualMachineGuestOsIdentifierOracleLinuxGuest,
 13513  		VirtualMachineGuestOsIdentifierOracleLinux64Guest,
 13514  		VirtualMachineGuestOsIdentifierOracleLinux6Guest,
 13515  		VirtualMachineGuestOsIdentifierOracleLinux6_64Guest,
 13516  		VirtualMachineGuestOsIdentifierOracleLinux7Guest,
 13517  		VirtualMachineGuestOsIdentifierOracleLinux7_64Guest,
 13518  		VirtualMachineGuestOsIdentifierOracleLinux8_64Guest,
 13519  		VirtualMachineGuestOsIdentifierOracleLinux9_64Guest,
 13520  		VirtualMachineGuestOsIdentifierSuseGuest,
 13521  		VirtualMachineGuestOsIdentifierSuse64Guest,
 13522  		VirtualMachineGuestOsIdentifierSlesGuest,
 13523  		VirtualMachineGuestOsIdentifierSles64Guest,
 13524  		VirtualMachineGuestOsIdentifierSles10Guest,
 13525  		VirtualMachineGuestOsIdentifierSles10_64Guest,
 13526  		VirtualMachineGuestOsIdentifierSles11Guest,
 13527  		VirtualMachineGuestOsIdentifierSles11_64Guest,
 13528  		VirtualMachineGuestOsIdentifierSles12Guest,
 13529  		VirtualMachineGuestOsIdentifierSles12_64Guest,
 13530  		VirtualMachineGuestOsIdentifierSles15_64Guest,
 13531  		VirtualMachineGuestOsIdentifierSles16_64Guest,
 13532  		VirtualMachineGuestOsIdentifierNld9Guest,
 13533  		VirtualMachineGuestOsIdentifierOesGuest,
 13534  		VirtualMachineGuestOsIdentifierSjdsGuest,
 13535  		VirtualMachineGuestOsIdentifierMandrakeGuest,
 13536  		VirtualMachineGuestOsIdentifierMandrivaGuest,
 13537  		VirtualMachineGuestOsIdentifierMandriva64Guest,
 13538  		VirtualMachineGuestOsIdentifierTurboLinuxGuest,
 13539  		VirtualMachineGuestOsIdentifierTurboLinux64Guest,
 13540  		VirtualMachineGuestOsIdentifierUbuntuGuest,
 13541  		VirtualMachineGuestOsIdentifierUbuntu64Guest,
 13542  		VirtualMachineGuestOsIdentifierDebian4Guest,
 13543  		VirtualMachineGuestOsIdentifierDebian4_64Guest,
 13544  		VirtualMachineGuestOsIdentifierDebian5Guest,
 13545  		VirtualMachineGuestOsIdentifierDebian5_64Guest,
 13546  		VirtualMachineGuestOsIdentifierDebian6Guest,
 13547  		VirtualMachineGuestOsIdentifierDebian6_64Guest,
 13548  		VirtualMachineGuestOsIdentifierDebian7Guest,
 13549  		VirtualMachineGuestOsIdentifierDebian7_64Guest,
 13550  		VirtualMachineGuestOsIdentifierDebian8Guest,
 13551  		VirtualMachineGuestOsIdentifierDebian8_64Guest,
 13552  		VirtualMachineGuestOsIdentifierDebian9Guest,
 13553  		VirtualMachineGuestOsIdentifierDebian9_64Guest,
 13554  		VirtualMachineGuestOsIdentifierDebian10Guest,
 13555  		VirtualMachineGuestOsIdentifierDebian10_64Guest,
 13556  		VirtualMachineGuestOsIdentifierDebian11Guest,
 13557  		VirtualMachineGuestOsIdentifierDebian11_64Guest,
 13558  		VirtualMachineGuestOsIdentifierDebian12Guest,
 13559  		VirtualMachineGuestOsIdentifierDebian12_64Guest,
 13560  		VirtualMachineGuestOsIdentifierAsianux3Guest,
 13561  		VirtualMachineGuestOsIdentifierAsianux3_64Guest,
 13562  		VirtualMachineGuestOsIdentifierAsianux4Guest,
 13563  		VirtualMachineGuestOsIdentifierAsianux4_64Guest,
 13564  		VirtualMachineGuestOsIdentifierAsianux5_64Guest,
 13565  		VirtualMachineGuestOsIdentifierAsianux7_64Guest,
 13566  		VirtualMachineGuestOsIdentifierAsianux8_64Guest,
 13567  		VirtualMachineGuestOsIdentifierAsianux9_64Guest,
 13568  		VirtualMachineGuestOsIdentifierOpensuseGuest,
 13569  		VirtualMachineGuestOsIdentifierOpensuse64Guest,
 13570  		VirtualMachineGuestOsIdentifierFedoraGuest,
 13571  		VirtualMachineGuestOsIdentifierFedora64Guest,
 13572  		VirtualMachineGuestOsIdentifierCoreos64Guest,
 13573  		VirtualMachineGuestOsIdentifierVmwarePhoton64Guest,
 13574  		VirtualMachineGuestOsIdentifierOther24xLinuxGuest,
 13575  		VirtualMachineGuestOsIdentifierOther26xLinuxGuest,
 13576  		VirtualMachineGuestOsIdentifierOtherLinuxGuest,
 13577  		VirtualMachineGuestOsIdentifierOther3xLinuxGuest,
 13578  		VirtualMachineGuestOsIdentifierOther4xLinuxGuest,
 13579  		VirtualMachineGuestOsIdentifierOther5xLinuxGuest,
 13580  		VirtualMachineGuestOsIdentifierOther6xLinuxGuest,
 13581  		VirtualMachineGuestOsIdentifierGenericLinuxGuest,
 13582  		VirtualMachineGuestOsIdentifierOther24xLinux64Guest,
 13583  		VirtualMachineGuestOsIdentifierOther26xLinux64Guest,
 13584  		VirtualMachineGuestOsIdentifierOther3xLinux64Guest,
 13585  		VirtualMachineGuestOsIdentifierOther4xLinux64Guest,
 13586  		VirtualMachineGuestOsIdentifierOther5xLinux64Guest,
 13587  		VirtualMachineGuestOsIdentifierOther6xLinux64Guest,
 13588  		VirtualMachineGuestOsIdentifierOtherLinux64Guest,
 13589  		VirtualMachineGuestOsIdentifierSolaris6Guest,
 13590  		VirtualMachineGuestOsIdentifierSolaris7Guest,
 13591  		VirtualMachineGuestOsIdentifierSolaris8Guest,
 13592  		VirtualMachineGuestOsIdentifierSolaris9Guest,
 13593  		VirtualMachineGuestOsIdentifierSolaris10Guest,
 13594  		VirtualMachineGuestOsIdentifierSolaris10_64Guest,
 13595  		VirtualMachineGuestOsIdentifierSolaris11_64Guest,
 13596  		VirtualMachineGuestOsIdentifierOs2Guest,
 13597  		VirtualMachineGuestOsIdentifierEComStationGuest,
 13598  		VirtualMachineGuestOsIdentifierEComStation2Guest,
 13599  		VirtualMachineGuestOsIdentifierNetware4Guest,
 13600  		VirtualMachineGuestOsIdentifierNetware5Guest,
 13601  		VirtualMachineGuestOsIdentifierNetware6Guest,
 13602  		VirtualMachineGuestOsIdentifierOpenServer5Guest,
 13603  		VirtualMachineGuestOsIdentifierOpenServer6Guest,
 13604  		VirtualMachineGuestOsIdentifierUnixWare7Guest,
 13605  		VirtualMachineGuestOsIdentifierDarwinGuest,
 13606  		VirtualMachineGuestOsIdentifierDarwin64Guest,
 13607  		VirtualMachineGuestOsIdentifierDarwin10Guest,
 13608  		VirtualMachineGuestOsIdentifierDarwin10_64Guest,
 13609  		VirtualMachineGuestOsIdentifierDarwin11Guest,
 13610  		VirtualMachineGuestOsIdentifierDarwin11_64Guest,
 13611  		VirtualMachineGuestOsIdentifierDarwin12_64Guest,
 13612  		VirtualMachineGuestOsIdentifierDarwin13_64Guest,
 13613  		VirtualMachineGuestOsIdentifierDarwin14_64Guest,
 13614  		VirtualMachineGuestOsIdentifierDarwin15_64Guest,
 13615  		VirtualMachineGuestOsIdentifierDarwin16_64Guest,
 13616  		VirtualMachineGuestOsIdentifierDarwin17_64Guest,
 13617  		VirtualMachineGuestOsIdentifierDarwin18_64Guest,
 13618  		VirtualMachineGuestOsIdentifierDarwin19_64Guest,
 13619  		VirtualMachineGuestOsIdentifierDarwin20_64Guest,
 13620  		VirtualMachineGuestOsIdentifierDarwin21_64Guest,
 13621  		VirtualMachineGuestOsIdentifierDarwin22_64Guest,
 13622  		VirtualMachineGuestOsIdentifierDarwin23_64Guest,
 13623  		VirtualMachineGuestOsIdentifierVmkernelGuest,
 13624  		VirtualMachineGuestOsIdentifierVmkernel5Guest,
 13625  		VirtualMachineGuestOsIdentifierVmkernel6Guest,
 13626  		VirtualMachineGuestOsIdentifierVmkernel65Guest,
 13627  		VirtualMachineGuestOsIdentifierVmkernel7Guest,
 13628  		VirtualMachineGuestOsIdentifierVmkernel8Guest,
 13629  		VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest,
 13630  		VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest,
 13631  		VirtualMachineGuestOsIdentifierCrxPod1Guest,
 13632  		VirtualMachineGuestOsIdentifierCrxSys1Guest,
 13633  		VirtualMachineGuestOsIdentifierRockylinux_64Guest,
 13634  		VirtualMachineGuestOsIdentifierAlmalinux_64Guest,
 13635  		VirtualMachineGuestOsIdentifierOtherGuest,
 13636  		VirtualMachineGuestOsIdentifierOtherGuest64,
 13637  	}
 13638  }
 13639  
 13640  func (e VirtualMachineGuestOsIdentifier) Strings() []string {
 13641  	return EnumValuesAsStrings(e.Values())
 13642  }
 13643  
 13644  func init() {
 13645  	t["VirtualMachineGuestOsIdentifier"] = reflect.TypeOf((*VirtualMachineGuestOsIdentifier)(nil)).Elem()
 13646  	minAPIVersionForEnumValue["VirtualMachineGuestOsIdentifier"] = map[string]string{
 13647  		"windows11_64Guest":          "8.0.0.1",
 13648  		"windows12_64Guest":          "8.0.0.1",
 13649  		"windows2019srvNext_64Guest": "7.0.1.0",
 13650  		"windows2022srvNext_64Guest": "8.0.0.1",
 13651  		"freebsd13Guest":             "7.0.1.0",
 13652  		"freebsd13_64Guest":          "7.0.1.0",
 13653  		"freebsd14Guest":             "8.0.0.1",
 13654  		"freebsd14_64Guest":          "8.0.0.1",
 13655  		"rhel9_64Guest":              "7.0.1.0",
 13656  		"centos9_64Guest":            "7.0.1.0",
 13657  		"oracleLinux9_64Guest":       "7.0.1.0",
 13658  		"sles16_64Guest":             "7.0.1.0",
 13659  		"debian12Guest":              "8.0.0.1",
 13660  		"debian12_64Guest":           "8.0.0.1",
 13661  		"asianux9_64Guest":           "7.0.1.0",
 13662  		"other5xLinuxGuest":          "7.0.1.0",
 13663  		"other6xLinuxGuest":          "8.0.0.1",
 13664  		"other5xLinux64Guest":        "7.0.1.0",
 13665  		"other6xLinux64Guest":        "8.0.0.1",
 13666  		"darwin20_64Guest":           "7.0.1.0",
 13667  		"darwin21_64Guest":           "7.0.1.0",
 13668  		"darwin22_64Guest":           "8.0.0.1",
 13669  		"darwin23_64Guest":           "8.0.0.1",
 13670  		"vmkernel8Guest":             "8.0.0.1",
 13671  		"amazonlinux3_64Guest":       "7.0.1.0",
 13672  		"crxSys1Guest":               "8.0.3.0",
 13673  		"rockylinux_64Guest":         "8.0.0.1",
 13674  		"almalinux_64Guest":          "8.0.0.1",
 13675  	}
 13676  }
 13677  
 13678  // The possible hints that the guest could display about current tasks
 13679  // inside the guest.
 13680  type VirtualMachineGuestState string
 13681  
 13682  const (
 13683  	VirtualMachineGuestStateRunning      = VirtualMachineGuestState("running")
 13684  	VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown")
 13685  	VirtualMachineGuestStateResetting    = VirtualMachineGuestState("resetting")
 13686  	VirtualMachineGuestStateStandby      = VirtualMachineGuestState("standby")
 13687  	VirtualMachineGuestStateNotRunning   = VirtualMachineGuestState("notRunning")
 13688  	VirtualMachineGuestStateUnknown      = VirtualMachineGuestState("unknown")
 13689  )
 13690  
 13691  func (e VirtualMachineGuestState) Values() []VirtualMachineGuestState {
 13692  	return []VirtualMachineGuestState{
 13693  		VirtualMachineGuestStateRunning,
 13694  		VirtualMachineGuestStateShuttingDown,
 13695  		VirtualMachineGuestStateResetting,
 13696  		VirtualMachineGuestStateStandby,
 13697  		VirtualMachineGuestStateNotRunning,
 13698  		VirtualMachineGuestStateUnknown,
 13699  	}
 13700  }
 13701  
 13702  func (e VirtualMachineGuestState) Strings() []string {
 13703  	return EnumValuesAsStrings(e.Values())
 13704  }
 13705  
 13706  func init() {
 13707  	t["VirtualMachineGuestState"] = reflect.TypeOf((*VirtualMachineGuestState)(nil)).Elem()
 13708  }
 13709  
 13710  // Deprecated as of vSphere API 6.7.
 13711  //
 13712  // Set of possible values for `VirtualMachineFlagInfo.htSharing`.
 13713  type VirtualMachineHtSharing string
 13714  
 13715  const (
 13716  	// VCPUs may freely share cores at any time with any other
 13717  	// VCPUs (default for all virtual machines on a hyperthreaded
 13718  	// system).
 13719  	VirtualMachineHtSharingAny = VirtualMachineHtSharing("any")
 13720  	// VCPUs should not share cores with each other or with VCPUs
 13721  	// from other virtual machines.
 13722  	//
 13723  	// That is, each VCPU from this
 13724  	// virtual machine should always get a whole core to itself,
 13725  	// with the other logical CPU on that core being placed into
 13726  	// the "halted" state.
 13727  	VirtualMachineHtSharingNone = VirtualMachineHtSharing("none")
 13728  	// Similar to "none", in that VCPUs from this virtual machine
 13729  	// will not be allowed to share cores with VCPUs from other
 13730  	// virtual machines.
 13731  	//
 13732  	// However, other VCPUs from the same virtual
 13733  	// machine will be allowed to share cores together. This
 13734  	// configuration option is only permitted for SMP virtual
 13735  	// machines. If applied to a uniprocessor virtual machine, it
 13736  	// will be converted to the "none" sharing option.
 13737  	VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal")
 13738  )
 13739  
 13740  func (e VirtualMachineHtSharing) Values() []VirtualMachineHtSharing {
 13741  	return []VirtualMachineHtSharing{
 13742  		VirtualMachineHtSharingAny,
 13743  		VirtualMachineHtSharingNone,
 13744  		VirtualMachineHtSharingInternal,
 13745  	}
 13746  }
 13747  
 13748  func (e VirtualMachineHtSharing) Strings() []string {
 13749  	return EnumValuesAsStrings(e.Values())
 13750  }
 13751  
 13752  func init() {
 13753  	t["VirtualMachineHtSharing"] = reflect.TypeOf((*VirtualMachineHtSharing)(nil)).Elem()
 13754  }
 13755  
 13756  // Means for allocating additional memory for virtual machines.
 13757  type VirtualMachineMemoryAllocationPolicy string
 13758  
 13759  const (
 13760  	// Fit all virtual machine memory into reserved host memory.
 13761  	VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone")
 13762  	// Allow some virtual machine memory to be swapped.
 13763  	VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome")
 13764  	// Allow most virtual machine memory to be swapped.
 13765  	VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost")
 13766  )
 13767  
 13768  func (e VirtualMachineMemoryAllocationPolicy) Values() []VirtualMachineMemoryAllocationPolicy {
 13769  	return []VirtualMachineMemoryAllocationPolicy{
 13770  		VirtualMachineMemoryAllocationPolicySwapNone,
 13771  		VirtualMachineMemoryAllocationPolicySwapSome,
 13772  		VirtualMachineMemoryAllocationPolicySwapMost,
 13773  	}
 13774  }
 13775  
 13776  func (e VirtualMachineMemoryAllocationPolicy) Strings() []string {
 13777  	return EnumValuesAsStrings(e.Values())
 13778  }
 13779  
 13780  func init() {
 13781  	t["VirtualMachineMemoryAllocationPolicy"] = reflect.TypeOf((*VirtualMachineMemoryAllocationPolicy)(nil)).Elem()
 13782  }
 13783  
 13784  // This enum represents the set of legal operations
 13785  type VirtualMachineMetadataManagerVmMetadataOp string
 13786  
 13787  const (
 13788  	// Create or update the Metadata for the specified VM
 13789  	VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update")
 13790  	// Remove the Metadata for the specified VM
 13791  	VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove")
 13792  )
 13793  
 13794  func (e VirtualMachineMetadataManagerVmMetadataOp) Values() []VirtualMachineMetadataManagerVmMetadataOp {
 13795  	return []VirtualMachineMetadataManagerVmMetadataOp{
 13796  		VirtualMachineMetadataManagerVmMetadataOpUpdate,
 13797  		VirtualMachineMetadataManagerVmMetadataOpRemove,
 13798  	}
 13799  }
 13800  
 13801  func (e VirtualMachineMetadataManagerVmMetadataOp) Strings() []string {
 13802  	return EnumValuesAsStrings(e.Values())
 13803  }
 13804  
 13805  func init() {
 13806  	t["VirtualMachineMetadataManagerVmMetadataOp"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOp)(nil)).Elem()
 13807  }
 13808  
 13809  // This enum contains a list of valid owner values for
 13810  // the name field
 13811  type VirtualMachineMetadataManagerVmMetadataOwnerOwner string
 13812  
 13813  const (
 13814  	VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA")
 13815  )
 13816  
 13817  func (e VirtualMachineMetadataManagerVmMetadataOwnerOwner) Values() []VirtualMachineMetadataManagerVmMetadataOwnerOwner {
 13818  	return []VirtualMachineMetadataManagerVmMetadataOwnerOwner{
 13819  		VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA,
 13820  	}
 13821  }
 13822  
 13823  func (e VirtualMachineMetadataManagerVmMetadataOwnerOwner) Strings() []string {
 13824  	return EnumValuesAsStrings(e.Values())
 13825  }
 13826  
 13827  func init() {
 13828  	t["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwnerOwner)(nil)).Elem()
 13829  }
 13830  
 13831  // MovePriority is an enumeration of values that indicate the priority of the task
 13832  // that moves a virtual machine from one host to another or one storage location
 13833  // to another.
 13834  //
 13835  // Note this priority can affect both the source and target hosts.
 13836  type VirtualMachineMovePriority string
 13837  
 13838  const (
 13839  	// The task of moving this virtual machine is low priority.
 13840  	VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority")
 13841  	// The task of moving this virtual machine is high priority.
 13842  	VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority")
 13843  	// The task of moving this virtual machine is the default priority.
 13844  	VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority")
 13845  )
 13846  
 13847  func (e VirtualMachineMovePriority) Values() []VirtualMachineMovePriority {
 13848  	return []VirtualMachineMovePriority{
 13849  		VirtualMachineMovePriorityLowPriority,
 13850  		VirtualMachineMovePriorityHighPriority,
 13851  		VirtualMachineMovePriorityDefaultPriority,
 13852  	}
 13853  }
 13854  
 13855  func (e VirtualMachineMovePriority) Strings() []string {
 13856  	return EnumValuesAsStrings(e.Values())
 13857  }
 13858  
 13859  func init() {
 13860  	t["VirtualMachineMovePriority"] = reflect.TypeOf((*VirtualMachineMovePriority)(nil)).Elem()
 13861  }
 13862  
 13863  // The NeedSecondaryReason type defines all reasons a virtual machine is
 13864  // in the needSecondary Fault Tolerance state following a failure.
 13865  type VirtualMachineNeedSecondaryReason string
 13866  
 13867  const (
 13868  	// Initializing FT
 13869  	VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing")
 13870  	// Divergence
 13871  	VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence")
 13872  	// Lose connection to secondary
 13873  	VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection")
 13874  	// Partial hardware failure
 13875  	VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure")
 13876  	// Terminated by user
 13877  	VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction")
 13878  	// Checkpoint error
 13879  	VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError")
 13880  	// All other reasons
 13881  	VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other")
 13882  )
 13883  
 13884  func (e VirtualMachineNeedSecondaryReason) Values() []VirtualMachineNeedSecondaryReason {
 13885  	return []VirtualMachineNeedSecondaryReason{
 13886  		VirtualMachineNeedSecondaryReasonInitializing,
 13887  		VirtualMachineNeedSecondaryReasonDivergence,
 13888  		VirtualMachineNeedSecondaryReasonLostConnection,
 13889  		VirtualMachineNeedSecondaryReasonPartialHardwareFailure,
 13890  		VirtualMachineNeedSecondaryReasonUserAction,
 13891  		VirtualMachineNeedSecondaryReasonCheckpointError,
 13892  		VirtualMachineNeedSecondaryReasonOther,
 13893  	}
 13894  }
 13895  
 13896  func (e VirtualMachineNeedSecondaryReason) Strings() []string {
 13897  	return EnumValuesAsStrings(e.Values())
 13898  }
 13899  
 13900  func init() {
 13901  	t["VirtualMachineNeedSecondaryReason"] = reflect.TypeOf((*VirtualMachineNeedSecondaryReason)(nil)).Elem()
 13902  }
 13903  
 13904  // Set of possible values for `VirtualMachineFlagInfo.snapshotPowerOffBehavior`.
 13905  type VirtualMachinePowerOffBehavior string
 13906  
 13907  const (
 13908  	// Just power off the virtual machine.
 13909  	VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff")
 13910  	// Revert to the snapshot.
 13911  	VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert")
 13912  	// Prompt the user for instructions at power-off time.
 13913  	VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt")
 13914  	// Take a new snapshot.
 13915  	VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take")
 13916  )
 13917  
 13918  func (e VirtualMachinePowerOffBehavior) Values() []VirtualMachinePowerOffBehavior {
 13919  	return []VirtualMachinePowerOffBehavior{
 13920  		VirtualMachinePowerOffBehaviorPowerOff,
 13921  		VirtualMachinePowerOffBehaviorRevert,
 13922  		VirtualMachinePowerOffBehaviorPrompt,
 13923  		VirtualMachinePowerOffBehaviorTake,
 13924  	}
 13925  }
 13926  
 13927  func (e VirtualMachinePowerOffBehavior) Strings() []string {
 13928  	return EnumValuesAsStrings(e.Values())
 13929  }
 13930  
 13931  func init() {
 13932  	t["VirtualMachinePowerOffBehavior"] = reflect.TypeOf((*VirtualMachinePowerOffBehavior)(nil)).Elem()
 13933  }
 13934  
 13935  // The list of possible default power operations available for the virtual machine
 13936  type VirtualMachinePowerOpType string
 13937  
 13938  const (
 13939  	VirtualMachinePowerOpTypeSoft   = VirtualMachinePowerOpType("soft")
 13940  	VirtualMachinePowerOpTypeHard   = VirtualMachinePowerOpType("hard")
 13941  	VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset")
 13942  )
 13943  
 13944  func (e VirtualMachinePowerOpType) Values() []VirtualMachinePowerOpType {
 13945  	return []VirtualMachinePowerOpType{
 13946  		VirtualMachinePowerOpTypeSoft,
 13947  		VirtualMachinePowerOpTypeHard,
 13948  		VirtualMachinePowerOpTypePreset,
 13949  	}
 13950  }
 13951  
 13952  func (e VirtualMachinePowerOpType) Strings() []string {
 13953  	return EnumValuesAsStrings(e.Values())
 13954  }
 13955  
 13956  func init() {
 13957  	t["VirtualMachinePowerOpType"] = reflect.TypeOf((*VirtualMachinePowerOpType)(nil)).Elem()
 13958  }
 13959  
 13960  // The PowerState type defines a simple set of states for a virtual machine:
 13961  // poweredOn, poweredOff, and suspended.
 13962  //
 13963  // This type does not model substates,
 13964  // such as when a task is running to change the virtual machine state.
 13965  // If the virtual machine is in a state with a task in progress, it
 13966  // transitions to a new state when the task completes. For example, a virtual
 13967  // machine continues to be in the poweredOn state while a suspend task
 13968  // is running, and changes to the suspended state once the task finishes.
 13969  //
 13970  // As a consequence of this approach, clients interested in monitoring
 13971  // the status of a virtual machine should typically track the
 13972  // `activeTask` data object in addition to the
 13973  // `powerState` object.
 13974  type VirtualMachinePowerState string
 13975  
 13976  const (
 13977  	// The virtual machine is currently powered off.
 13978  	VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff")
 13979  	// The virtual machine is currently powered on.
 13980  	VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn")
 13981  	// The virtual machine is currently suspended.
 13982  	VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended")
 13983  )
 13984  
 13985  func (e VirtualMachinePowerState) Values() []VirtualMachinePowerState {
 13986  	return []VirtualMachinePowerState{
 13987  		VirtualMachinePowerStatePoweredOff,
 13988  		VirtualMachinePowerStatePoweredOn,
 13989  		VirtualMachinePowerStateSuspended,
 13990  	}
 13991  }
 13992  
 13993  func (e VirtualMachinePowerState) Strings() []string {
 13994  	return EnumValuesAsStrings(e.Values())
 13995  }
 13996  
 13997  func init() {
 13998  	t["VirtualMachinePowerState"] = reflect.TypeOf((*VirtualMachinePowerState)(nil)).Elem()
 13999  }
 14000  
 14001  // Deprecated as of vSphere API 6.0.
 14002  //
 14003  // The RecordReplayState type defines a simple set of record and replay
 14004  // states for a virtual machine.
 14005  type VirtualMachineRecordReplayState string
 14006  
 14007  const (
 14008  	// The virtual machine is recording.
 14009  	VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording")
 14010  	// The virtual machine is replaying.
 14011  	VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying")
 14012  	// The virtual machine is currently not participating
 14013  	// in record or replay.
 14014  	VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive")
 14015  )
 14016  
 14017  func (e VirtualMachineRecordReplayState) Values() []VirtualMachineRecordReplayState {
 14018  	return []VirtualMachineRecordReplayState{
 14019  		VirtualMachineRecordReplayStateRecording,
 14020  		VirtualMachineRecordReplayStateReplaying,
 14021  		VirtualMachineRecordReplayStateInactive,
 14022  	}
 14023  }
 14024  
 14025  func (e VirtualMachineRecordReplayState) Strings() []string {
 14026  	return EnumValuesAsStrings(e.Values())
 14027  }
 14028  
 14029  func init() {
 14030  	t["VirtualMachineRecordReplayState"] = reflect.TypeOf((*VirtualMachineRecordReplayState)(nil)).Elem()
 14031  }
 14032  
 14033  // Specifies how a virtual disk is moved or copied to a
 14034  // datastore.
 14035  //
 14036  // In all cases after the move or copy the virtual machine's current running point
 14037  // will be placed on the target datastore. The current running point is defined
 14038  // as the disk backing which the virtual machine is currently
 14039  // writing to. This end state can be achieved in multiple
 14040  // ways, and the supported options are described in this
 14041  // enumeration.
 14042  //
 14043  // These options are only relevant when the backing of the
 14044  // specified disk is a *file backing*.
 14045  //
 14046  // Since disk backings may become shared as the result of
 14047  // either a *clone operation* or
 14048  // a *relocate operation*,
 14049  // `VirtualMachine.PromoteDisks_Task` has been provided as
 14050  // a way to unshare such disk backings.
 14051  //
 14052  // See also `VirtualDiskSparseVer1BackingInfo.parent`, `VirtualDiskSparseVer2BackingInfo.parent`, `VirtualDiskFlatVer1BackingInfo.parent`, `VirtualDiskFlatVer2BackingInfo.parent`, `VirtualDiskRawDiskMappingVer1BackingInfo.parent`, `VirtualMachineRelocateSpec.diskMoveType`, `VirtualMachineRelocateSpecDiskLocator.diskMoveType`.
 14053  type VirtualMachineRelocateDiskMoveOptions string
 14054  
 14055  const (
 14056  	// All of the virtual disk's backings should be moved to the new datastore.
 14057  	//
 14058  	// If a disk backing is not the child-most backing of this virtual machine,
 14059  	// and there exists a read-only disk backing with the same content ID
 14060  	// on the target datastore, then this disk backing may not be copied. Instead
 14061  	// it is acceptable to attach to the read-only disk backing at the target
 14062  	// datastore. A read-only disk backing is defined as a virtual disk
 14063  	// backing which no virtual machine is currently writing to.
 14064  	//
 14065  	// See also `VirtualDiskSparseVer1BackingInfo.contentId`, `VirtualDiskSparseVer2BackingInfo.contentId`, `VirtualDiskFlatVer1BackingInfo.contentId`, `VirtualDiskFlatVer2BackingInfo.contentId`, `VirtualDiskRawDiskMappingVer1BackingInfo.contentId`.
 14066  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing")
 14067  	// All of the virtual disk's backings should be moved to the new datastore.
 14068  	//
 14069  	// It is not acceptable to attach to a disk backing with the same content ID
 14070  	// on the destination datastore. During a *clone operation* any delta disk backings will be consolidated.
 14071  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing")
 14072  	// Move only the child-most disk backing.
 14073  	//
 14074  	// Any parent disk backings should
 14075  	// be left in their current locations.
 14076  	//
 14077  	// This option only differs from `moveAllDiskBackingsAndAllowSharing` and
 14078  	// `moveAllDiskBackingsAndDisallowSharing` when the virtual
 14079  	// disk has a parent backing.
 14080  	//
 14081  	// Note that in the case of a *clone operation*,
 14082  	// this means that the parent disks will now be shared. This is safe as any
 14083  	// parent disks are always read-only.
 14084  	// Note that in the case of a `VirtualMachine.RelocateVM_Task` operation,
 14085  	// only the virtual disks in the current virtual machine configuration are moved.
 14086  	VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking")
 14087  	// Create a new child disk backing on the destination datastore.
 14088  	//
 14089  	// None of the
 14090  	// virtual disk's existing files should be moved from their current locations.
 14091  	//
 14092  	// Note that in the case of a *clone operation*,
 14093  	// this means that the original virtual machine's disks are now all being shared.
 14094  	// This is only safe if the clone was taken from a snapshot point, because
 14095  	// snapshot points are always read-only. Thus for a clone this
 14096  	// option is only valid *when cloning from a snapshot*.
 14097  	// createNewChildDiskBacking is not a supported operation for
 14098  	// `VirtualMachine.RelocateVM_Task` operations unless all disks are moving.
 14099  	VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking")
 14100  	// All of the virtual disk's backings should be moved to the new datastore.
 14101  	//
 14102  	// During a *clone operation* or a
 14103  	// `VirtualMachine.MigrateVM_Task`, any delta disk backings will be
 14104  	// consolidated.
 14105  	VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate")
 14106  )
 14107  
 14108  func (e VirtualMachineRelocateDiskMoveOptions) Values() []VirtualMachineRelocateDiskMoveOptions {
 14109  	return []VirtualMachineRelocateDiskMoveOptions{
 14110  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing,
 14111  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing,
 14112  		VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking,
 14113  		VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking,
 14114  		VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate,
 14115  	}
 14116  }
 14117  
 14118  func (e VirtualMachineRelocateDiskMoveOptions) Strings() []string {
 14119  	return EnumValuesAsStrings(e.Values())
 14120  }
 14121  
 14122  func init() {
 14123  	t["VirtualMachineRelocateDiskMoveOptions"] = reflect.TypeOf((*VirtualMachineRelocateDiskMoveOptions)(nil)).Elem()
 14124  }
 14125  
 14126  // Deprecated as of vSphere API 5.0.
 14127  //
 14128  // The set of tranformations that can be performed on the virtual disks
 14129  // as part of the copy.
 14130  type VirtualMachineRelocateTransformation string
 14131  
 14132  const (
 14133  	VirtualMachineRelocateTransformationFlat   = VirtualMachineRelocateTransformation("flat")
 14134  	VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse")
 14135  )
 14136  
 14137  func (e VirtualMachineRelocateTransformation) Values() []VirtualMachineRelocateTransformation {
 14138  	return []VirtualMachineRelocateTransformation{
 14139  		VirtualMachineRelocateTransformationFlat,
 14140  		VirtualMachineRelocateTransformationSparse,
 14141  	}
 14142  }
 14143  
 14144  func (e VirtualMachineRelocateTransformation) Strings() []string {
 14145  	return EnumValuesAsStrings(e.Values())
 14146  }
 14147  
 14148  func init() {
 14149  	t["VirtualMachineRelocateTransformation"] = reflect.TypeOf((*VirtualMachineRelocateTransformation)(nil)).Elem()
 14150  }
 14151  
 14152  // Possible SCSI classes.
 14153  type VirtualMachineScsiPassthroughType string
 14154  
 14155  const (
 14156  	VirtualMachineScsiPassthroughTypeDisk      = VirtualMachineScsiPassthroughType("disk")
 14157  	VirtualMachineScsiPassthroughTypeTape      = VirtualMachineScsiPassthroughType("tape")
 14158  	VirtualMachineScsiPassthroughTypePrinter   = VirtualMachineScsiPassthroughType("printer")
 14159  	VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor")
 14160  	VirtualMachineScsiPassthroughTypeWorm      = VirtualMachineScsiPassthroughType("worm")
 14161  	VirtualMachineScsiPassthroughTypeCdrom     = VirtualMachineScsiPassthroughType("cdrom")
 14162  	VirtualMachineScsiPassthroughTypeScanner   = VirtualMachineScsiPassthroughType("scanner")
 14163  	VirtualMachineScsiPassthroughTypeOptical   = VirtualMachineScsiPassthroughType("optical")
 14164  	VirtualMachineScsiPassthroughTypeMedia     = VirtualMachineScsiPassthroughType("media")
 14165  	VirtualMachineScsiPassthroughTypeCom       = VirtualMachineScsiPassthroughType("com")
 14166  	VirtualMachineScsiPassthroughTypeRaid      = VirtualMachineScsiPassthroughType("raid")
 14167  	VirtualMachineScsiPassthroughTypeUnknown   = VirtualMachineScsiPassthroughType("unknown")
 14168  )
 14169  
 14170  func (e VirtualMachineScsiPassthroughType) Values() []VirtualMachineScsiPassthroughType {
 14171  	return []VirtualMachineScsiPassthroughType{
 14172  		VirtualMachineScsiPassthroughTypeDisk,
 14173  		VirtualMachineScsiPassthroughTypeTape,
 14174  		VirtualMachineScsiPassthroughTypePrinter,
 14175  		VirtualMachineScsiPassthroughTypeProcessor,
 14176  		VirtualMachineScsiPassthroughTypeWorm,
 14177  		VirtualMachineScsiPassthroughTypeCdrom,
 14178  		VirtualMachineScsiPassthroughTypeScanner,
 14179  		VirtualMachineScsiPassthroughTypeOptical,
 14180  		VirtualMachineScsiPassthroughTypeMedia,
 14181  		VirtualMachineScsiPassthroughTypeCom,
 14182  		VirtualMachineScsiPassthroughTypeRaid,
 14183  		VirtualMachineScsiPassthroughTypeUnknown,
 14184  	}
 14185  }
 14186  
 14187  func (e VirtualMachineScsiPassthroughType) Strings() []string {
 14188  	return EnumValuesAsStrings(e.Values())
 14189  }
 14190  
 14191  func init() {
 14192  	t["VirtualMachineScsiPassthroughType"] = reflect.TypeOf((*VirtualMachineScsiPassthroughType)(nil)).Elem()
 14193  }
 14194  
 14195  // Flexible Launch Enclave (FLC) modes.
 14196  type VirtualMachineSgxInfoFlcModes string
 14197  
 14198  const (
 14199  	// FLC is available in the guest.
 14200  	//
 14201  	// The "launch Enclave MSRs" are locked and
 14202  	// initialized with the provided public key hash.
 14203  	VirtualMachineSgxInfoFlcModesLocked = VirtualMachineSgxInfoFlcModes("locked")
 14204  	// FLC is available in the guest.
 14205  	//
 14206  	// The "launch enclave MSRs" are writeable
 14207  	// and initialized with Intel's public key hash.
 14208  	VirtualMachineSgxInfoFlcModesUnlocked = VirtualMachineSgxInfoFlcModes("unlocked")
 14209  )
 14210  
 14211  func (e VirtualMachineSgxInfoFlcModes) Values() []VirtualMachineSgxInfoFlcModes {
 14212  	return []VirtualMachineSgxInfoFlcModes{
 14213  		VirtualMachineSgxInfoFlcModesLocked,
 14214  		VirtualMachineSgxInfoFlcModesUnlocked,
 14215  	}
 14216  }
 14217  
 14218  func (e VirtualMachineSgxInfoFlcModes) Strings() []string {
 14219  	return EnumValuesAsStrings(e.Values())
 14220  }
 14221  
 14222  func init() {
 14223  	t["VirtualMachineSgxInfoFlcModes"] = reflect.TypeOf((*VirtualMachineSgxInfoFlcModes)(nil)).Elem()
 14224  }
 14225  
 14226  // The list of possible standby actions that the virtual machine can take
 14227  // for S1 ACPI.
 14228  type VirtualMachineStandbyActionType string
 14229  
 14230  const (
 14231  	VirtualMachineStandbyActionTypeCheckpoint     = VirtualMachineStandbyActionType("checkpoint")
 14232  	VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend")
 14233  )
 14234  
 14235  func (e VirtualMachineStandbyActionType) Values() []VirtualMachineStandbyActionType {
 14236  	return []VirtualMachineStandbyActionType{
 14237  		VirtualMachineStandbyActionTypeCheckpoint,
 14238  		VirtualMachineStandbyActionTypePowerOnSuspend,
 14239  	}
 14240  }
 14241  
 14242  func (e VirtualMachineStandbyActionType) Strings() []string {
 14243  	return EnumValuesAsStrings(e.Values())
 14244  }
 14245  
 14246  func init() {
 14247  	t["VirtualMachineStandbyActionType"] = reflect.TypeOf((*VirtualMachineStandbyActionType)(nil)).Elem()
 14248  }
 14249  
 14250  // Describes how widely the endpoint is available in a cluster.
 14251  //
 14252  // Note that these fields are not necessarily mutual-exclusive.
 14253  type VirtualMachineTargetInfoConfigurationTag string
 14254  
 14255  const (
 14256  	// Indicates that this device is part of the cluster compliant
 14257  	// specification.
 14258  	VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant")
 14259  	// Indicates that this is available for all hosts in the cluster.
 14260  	VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide")
 14261  )
 14262  
 14263  func (e VirtualMachineTargetInfoConfigurationTag) Values() []VirtualMachineTargetInfoConfigurationTag {
 14264  	return []VirtualMachineTargetInfoConfigurationTag{
 14265  		VirtualMachineTargetInfoConfigurationTagCompliant,
 14266  		VirtualMachineTargetInfoConfigurationTagClusterWide,
 14267  	}
 14268  }
 14269  
 14270  func (e VirtualMachineTargetInfoConfigurationTag) Strings() []string {
 14271  	return EnumValuesAsStrings(e.Values())
 14272  }
 14273  
 14274  func init() {
 14275  	t["VirtualMachineTargetInfoConfigurationTag"] = reflect.TypeOf((*VirtualMachineTargetInfoConfigurationTag)(nil)).Elem()
 14276  }
 14277  
 14278  // The virtual machine ticket type.
 14279  type VirtualMachineTicketType string
 14280  
 14281  const (
 14282  	// Deprecated as of vSphere API 8.0. Use `webmks` instead.
 14283  	//
 14284  	// Remote mouse-keyboard-screen ticket.
 14285  	VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks")
 14286  	// Deprecated as of vSphere 8.0 API. Use `webRemoteDevice`
 14287  	// instead.
 14288  	//
 14289  	// Remote device ticket.
 14290  	VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device")
 14291  	// Deprecated as of vSphere 6.6.3 API. Use
 14292  	// `GuestOperationsManager` instead.
 14293  	//
 14294  	// Guest operation ticket.
 14295  	VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl")
 14296  	// Mouse-keyboard-screen over WebSocket ticket.
 14297  	//
 14298  	// MKS protocol is VNC (a.k.a. RFB) protocol with
 14299  	// VMware extensions; the protocol gracefully degrades
 14300  	// to standard VNC if extensions are not available.
 14301  	// wss://{Ticket.host}/ticket/{Ticket.ticket}
 14302  	VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks")
 14303  	// Guest Integrity over WebSocket ticket.
 14304  	//
 14305  	// This ticket grants the client read-only access to guest integrity
 14306  	// messages and alerts.
 14307  	VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity")
 14308  	// Remote device over WebSocket ticket.
 14309  	VirtualMachineTicketTypeWebRemoteDevice = VirtualMachineTicketType("webRemoteDevice")
 14310  )
 14311  
 14312  func (e VirtualMachineTicketType) Values() []VirtualMachineTicketType {
 14313  	return []VirtualMachineTicketType{
 14314  		VirtualMachineTicketTypeMks,
 14315  		VirtualMachineTicketTypeDevice,
 14316  		VirtualMachineTicketTypeGuestControl,
 14317  		VirtualMachineTicketTypeWebmks,
 14318  		VirtualMachineTicketTypeGuestIntegrity,
 14319  		VirtualMachineTicketTypeWebRemoteDevice,
 14320  	}
 14321  }
 14322  
 14323  func (e VirtualMachineTicketType) Strings() []string {
 14324  	return EnumValuesAsStrings(e.Values())
 14325  }
 14326  
 14327  func init() {
 14328  	t["VirtualMachineTicketType"] = reflect.TypeOf((*VirtualMachineTicketType)(nil)).Elem()
 14329  }
 14330  
 14331  // The installation type of tools in the VM.
 14332  type VirtualMachineToolsInstallType string
 14333  
 14334  const (
 14335  	// Installation type is not known.
 14336  	//
 14337  	// Most likely tools have been
 14338  	// installed by OSPs or open-vm-tools, but a version that does
 14339  	// not report its install type or an install type that we do
 14340  	// not recognize.
 14341  	VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown")
 14342  	// MSI is the installation type used for VMware Tools on Windows.
 14343  	VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI")
 14344  	// Tools have been installed by the tar installer.
 14345  	VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar")
 14346  	// OSPs are RPM or Debian packages tailored for the OS in the VM.
 14347  	//
 14348  	// See http://packages.vmware.com
 14349  	VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP")
 14350  	// open-vm-tools are the open-source version of VMware Tools, may have
 14351  	// been packaged by the OS vendor.
 14352  	VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools")
 14353  )
 14354  
 14355  func (e VirtualMachineToolsInstallType) Values() []VirtualMachineToolsInstallType {
 14356  	return []VirtualMachineToolsInstallType{
 14357  		VirtualMachineToolsInstallTypeGuestToolsTypeUnknown,
 14358  		VirtualMachineToolsInstallTypeGuestToolsTypeMSI,
 14359  		VirtualMachineToolsInstallTypeGuestToolsTypeTar,
 14360  		VirtualMachineToolsInstallTypeGuestToolsTypeOSP,
 14361  		VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools,
 14362  	}
 14363  }
 14364  
 14365  func (e VirtualMachineToolsInstallType) Strings() []string {
 14366  	return EnumValuesAsStrings(e.Values())
 14367  }
 14368  
 14369  func init() {
 14370  	t["VirtualMachineToolsInstallType"] = reflect.TypeOf((*VirtualMachineToolsInstallType)(nil)).Elem()
 14371  }
 14372  
 14373  // Current running status of VMware Tools running in the guest
 14374  // operating system.
 14375  type VirtualMachineToolsRunningStatus string
 14376  
 14377  const (
 14378  	// VMware Tools is not running.
 14379  	VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning")
 14380  	// VMware Tools is running.
 14381  	VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning")
 14382  	// VMware Tools is starting.
 14383  	VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts")
 14384  )
 14385  
 14386  func (e VirtualMachineToolsRunningStatus) Values() []VirtualMachineToolsRunningStatus {
 14387  	return []VirtualMachineToolsRunningStatus{
 14388  		VirtualMachineToolsRunningStatusGuestToolsNotRunning,
 14389  		VirtualMachineToolsRunningStatusGuestToolsRunning,
 14390  		VirtualMachineToolsRunningStatusGuestToolsExecutingScripts,
 14391  	}
 14392  }
 14393  
 14394  func (e VirtualMachineToolsRunningStatus) Strings() []string {
 14395  	return EnumValuesAsStrings(e.Values())
 14396  }
 14397  
 14398  func init() {
 14399  	t["VirtualMachineToolsRunningStatus"] = reflect.TypeOf((*VirtualMachineToolsRunningStatus)(nil)).Elem()
 14400  }
 14401  
 14402  // Deprecated as of vSphere API 4.0 use `VirtualMachineToolsVersionStatus_enum`
 14403  // and `VirtualMachineToolsRunningStatus_enum`.
 14404  //
 14405  // Current status of VMware Tools running in the guest operating system.
 14406  type VirtualMachineToolsStatus string
 14407  
 14408  const (
 14409  	// VMware Tools has never been installed
 14410  	// or has not run in the virtual machine.
 14411  	VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled")
 14412  	// VMware Tools is not running.
 14413  	VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning")
 14414  	// VMware Tools is running, but the version is not current.
 14415  	VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld")
 14416  	// VMware Tools is running and the version is current.
 14417  	VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk")
 14418  )
 14419  
 14420  func (e VirtualMachineToolsStatus) Values() []VirtualMachineToolsStatus {
 14421  	return []VirtualMachineToolsStatus{
 14422  		VirtualMachineToolsStatusToolsNotInstalled,
 14423  		VirtualMachineToolsStatusToolsNotRunning,
 14424  		VirtualMachineToolsStatusToolsOld,
 14425  		VirtualMachineToolsStatusToolsOk,
 14426  	}
 14427  }
 14428  
 14429  func (e VirtualMachineToolsStatus) Strings() []string {
 14430  	return EnumValuesAsStrings(e.Values())
 14431  }
 14432  
 14433  func init() {
 14434  	t["VirtualMachineToolsStatus"] = reflect.TypeOf((*VirtualMachineToolsStatus)(nil)).Elem()
 14435  }
 14436  
 14437  // Current version status of VMware Tools installed in the guest operating
 14438  // system.
 14439  type VirtualMachineToolsVersionStatus string
 14440  
 14441  const (
 14442  	// VMware Tools has never been installed.
 14443  	VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled")
 14444  	// Deprecated as of vSphere API 5.1 value is not reported by
 14445  	// toolsVersionStatus2, instead more detailed status is reported.
 14446  	//
 14447  	// VMware Tools is installed, but the version is not current.
 14448  	VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade")
 14449  	// VMware Tools is installed, and the version is current.
 14450  	VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent")
 14451  	// VMware Tools is installed, but it is not managed by VMWare.
 14452  	VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged")
 14453  	// VMware Tools is installed, but the version is too old.
 14454  	VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld")
 14455  	// VMware Tools is installed, supported, but a newer version is available.
 14456  	VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld")
 14457  	// VMware Tools is installed, supported, and newer
 14458  	// than the version available on the host.
 14459  	VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew")
 14460  	// VMware Tools is installed, and the version is known to be
 14461  	// too new to work correctly with this virtual machine.
 14462  	VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew")
 14463  	// VMware Tools is installed, but the installed version is
 14464  	// known to have a grave bug and should be immediately upgraded.
 14465  	VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted")
 14466  )
 14467  
 14468  func (e VirtualMachineToolsVersionStatus) Values() []VirtualMachineToolsVersionStatus {
 14469  	return []VirtualMachineToolsVersionStatus{
 14470  		VirtualMachineToolsVersionStatusGuestToolsNotInstalled,
 14471  		VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade,
 14472  		VirtualMachineToolsVersionStatusGuestToolsCurrent,
 14473  		VirtualMachineToolsVersionStatusGuestToolsUnmanaged,
 14474  		VirtualMachineToolsVersionStatusGuestToolsTooOld,
 14475  		VirtualMachineToolsVersionStatusGuestToolsSupportedOld,
 14476  		VirtualMachineToolsVersionStatusGuestToolsSupportedNew,
 14477  		VirtualMachineToolsVersionStatusGuestToolsTooNew,
 14478  		VirtualMachineToolsVersionStatusGuestToolsBlacklisted,
 14479  	}
 14480  }
 14481  
 14482  func (e VirtualMachineToolsVersionStatus) Strings() []string {
 14483  	return EnumValuesAsStrings(e.Values())
 14484  }
 14485  
 14486  func init() {
 14487  	t["VirtualMachineToolsVersionStatus"] = reflect.TypeOf((*VirtualMachineToolsVersionStatus)(nil)).Elem()
 14488  }
 14489  
 14490  // Device class family.
 14491  type VirtualMachineUsbInfoFamily string
 14492  
 14493  const (
 14494  	// Audio capable device.
 14495  	VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio")
 14496  	// Human interface device.
 14497  	VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid")
 14498  	// Bootable human interface device, this is a subset of HID devices.
 14499  	VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable")
 14500  	// Physical interface device.
 14501  	VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical")
 14502  	// Communication device.
 14503  	VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication")
 14504  	// Still imaging device.
 14505  	VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging")
 14506  	// Printer device.
 14507  	VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer")
 14508  	// Mass storage device.
 14509  	VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage")
 14510  	// USB hubs.
 14511  	VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub")
 14512  	// Smart card device.
 14513  	VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card")
 14514  	// Content security device.
 14515  	VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security")
 14516  	// Video device.
 14517  	VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video")
 14518  	// Wireless controller.
 14519  	VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless")
 14520  	// Standard bluetooth adapter that uses HCI protocol,
 14521  	// this is a subset of wireless controllers.
 14522  	VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth")
 14523  	// Wireless device related to the Wireless USB standard,
 14524  	// this is a subset of wireless controllers,
 14525  	VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb")
 14526  	// Palm PDA, and Micorsoft ActiveSync PDA.
 14527  	VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda")
 14528  	// Device that has an interface using a vendor-specific protocol.
 14529  	VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific")
 14530  	// Other miscellaneous device.
 14531  	VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other")
 14532  	// There was an error in determining this device's classes
 14533  	// accurately.
 14534  	VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily")
 14535  )
 14536  
 14537  func (e VirtualMachineUsbInfoFamily) Values() []VirtualMachineUsbInfoFamily {
 14538  	return []VirtualMachineUsbInfoFamily{
 14539  		VirtualMachineUsbInfoFamilyAudio,
 14540  		VirtualMachineUsbInfoFamilyHid,
 14541  		VirtualMachineUsbInfoFamilyHid_bootable,
 14542  		VirtualMachineUsbInfoFamilyPhysical,
 14543  		VirtualMachineUsbInfoFamilyCommunication,
 14544  		VirtualMachineUsbInfoFamilyImaging,
 14545  		VirtualMachineUsbInfoFamilyPrinter,
 14546  		VirtualMachineUsbInfoFamilyStorage,
 14547  		VirtualMachineUsbInfoFamilyHub,
 14548  		VirtualMachineUsbInfoFamilySmart_card,
 14549  		VirtualMachineUsbInfoFamilySecurity,
 14550  		VirtualMachineUsbInfoFamilyVideo,
 14551  		VirtualMachineUsbInfoFamilyWireless,
 14552  		VirtualMachineUsbInfoFamilyBluetooth,
 14553  		VirtualMachineUsbInfoFamilyWusb,
 14554  		VirtualMachineUsbInfoFamilyPda,
 14555  		VirtualMachineUsbInfoFamilyVendor_specific,
 14556  		VirtualMachineUsbInfoFamilyOther,
 14557  		VirtualMachineUsbInfoFamilyUnknownFamily,
 14558  	}
 14559  }
 14560  
 14561  func (e VirtualMachineUsbInfoFamily) Strings() []string {
 14562  	return EnumValuesAsStrings(e.Values())
 14563  }
 14564  
 14565  func init() {
 14566  	t["VirtualMachineUsbInfoFamily"] = reflect.TypeOf((*VirtualMachineUsbInfoFamily)(nil)).Elem()
 14567  }
 14568  
 14569  // Device speed.
 14570  type VirtualMachineUsbInfoSpeed string
 14571  
 14572  const (
 14573  	// This device operates at low speed (1.5Mb/s).
 14574  	VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low")
 14575  	// This device operates at full speed (12Mb/s).
 14576  	VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full")
 14577  	// This device can operate at high speed (480Mb/s)
 14578  	VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high")
 14579  	// This device can operate at super speed (4.8Gb/s)
 14580  	VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed")
 14581  	// This device can operate at super speed plus (10Gb/s)
 14582  	VirtualMachineUsbInfoSpeedSuperSpeedPlus = VirtualMachineUsbInfoSpeed("superSpeedPlus")
 14583  	// This device can operate at super speed gen 2x2 (20Gb/s)
 14584  	VirtualMachineUsbInfoSpeedSuperSpeed20Gbps = VirtualMachineUsbInfoSpeed("superSpeed20Gbps")
 14585  	// This device's speed is unknown.
 14586  	VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed")
 14587  )
 14588  
 14589  func (e VirtualMachineUsbInfoSpeed) Values() []VirtualMachineUsbInfoSpeed {
 14590  	return []VirtualMachineUsbInfoSpeed{
 14591  		VirtualMachineUsbInfoSpeedLow,
 14592  		VirtualMachineUsbInfoSpeedFull,
 14593  		VirtualMachineUsbInfoSpeedHigh,
 14594  		VirtualMachineUsbInfoSpeedSuperSpeed,
 14595  		VirtualMachineUsbInfoSpeedSuperSpeedPlus,
 14596  		VirtualMachineUsbInfoSpeedSuperSpeed20Gbps,
 14597  		VirtualMachineUsbInfoSpeedUnknownSpeed,
 14598  	}
 14599  }
 14600  
 14601  func (e VirtualMachineUsbInfoSpeed) Strings() []string {
 14602  	return EnumValuesAsStrings(e.Values())
 14603  }
 14604  
 14605  func init() {
 14606  	t["VirtualMachineUsbInfoSpeed"] = reflect.TypeOf((*VirtualMachineUsbInfoSpeed)(nil)).Elem()
 14607  	minAPIVersionForEnumValue["VirtualMachineUsbInfoSpeed"] = map[string]string{
 14608  		"superSpeed20Gbps": "7.0.3.2",
 14609  	}
 14610  }
 14611  
 14612  // Set of possible values for action field in FilterSpec.
 14613  //
 14614  // Determines whether traffic is allowed or denied.
 14615  type VirtualMachineVMCIDeviceAction string
 14616  
 14617  const (
 14618  	// Allow communication.
 14619  	VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow")
 14620  	// Deny communication.
 14621  	VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny")
 14622  )
 14623  
 14624  func (e VirtualMachineVMCIDeviceAction) Values() []VirtualMachineVMCIDeviceAction {
 14625  	return []VirtualMachineVMCIDeviceAction{
 14626  		VirtualMachineVMCIDeviceActionAllow,
 14627  		VirtualMachineVMCIDeviceActionDeny,
 14628  	}
 14629  }
 14630  
 14631  func (e VirtualMachineVMCIDeviceAction) Strings() []string {
 14632  	return EnumValuesAsStrings(e.Values())
 14633  }
 14634  
 14635  func init() {
 14636  	t["VirtualMachineVMCIDeviceAction"] = reflect.TypeOf((*VirtualMachineVMCIDeviceAction)(nil)).Elem()
 14637  }
 14638  
 14639  // Set of possible values for direction field in FilterSpec.
 14640  type VirtualMachineVMCIDeviceDirection string
 14641  
 14642  const (
 14643  	// from host to guest
 14644  	VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest")
 14645  	// from guest to host
 14646  	VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host")
 14647  	// all of the above
 14648  	VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection")
 14649  )
 14650  
 14651  func (e VirtualMachineVMCIDeviceDirection) Values() []VirtualMachineVMCIDeviceDirection {
 14652  	return []VirtualMachineVMCIDeviceDirection{
 14653  		VirtualMachineVMCIDeviceDirectionGuest,
 14654  		VirtualMachineVMCIDeviceDirectionHost,
 14655  		VirtualMachineVMCIDeviceDirectionAnyDirection,
 14656  	}
 14657  }
 14658  
 14659  func (e VirtualMachineVMCIDeviceDirection) Strings() []string {
 14660  	return EnumValuesAsStrings(e.Values())
 14661  }
 14662  
 14663  func init() {
 14664  	t["VirtualMachineVMCIDeviceDirection"] = reflect.TypeOf((*VirtualMachineVMCIDeviceDirection)(nil)).Elem()
 14665  }
 14666  
 14667  // Set of possible values for protocol field in FilterSpec.
 14668  type VirtualMachineVMCIDeviceProtocol string
 14669  
 14670  const (
 14671  	// VMCI hypervisor datagram send op.
 14672  	//
 14673  	// Direction code is not applicable to this one.
 14674  	VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor")
 14675  	// VMCI doorbell notification
 14676  	VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell")
 14677  	// VMCI queue pair alloc operation.
 14678  	//
 14679  	// Direction code not applicable to this one.
 14680  	VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair")
 14681  	// VMCI and VMCI Socket datagram send op.
 14682  	//
 14683  	// Since VMCI Socket datagrams map ports directly to resources,
 14684  	// there is no need to distinguish between the two.
 14685  	VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram")
 14686  	// VMCI Stream Socket connect op.
 14687  	VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream")
 14688  	// All of the above.
 14689  	VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol")
 14690  )
 14691  
 14692  func (e VirtualMachineVMCIDeviceProtocol) Values() []VirtualMachineVMCIDeviceProtocol {
 14693  	return []VirtualMachineVMCIDeviceProtocol{
 14694  		VirtualMachineVMCIDeviceProtocolHypervisor,
 14695  		VirtualMachineVMCIDeviceProtocolDoorbell,
 14696  		VirtualMachineVMCIDeviceProtocolQueuepair,
 14697  		VirtualMachineVMCIDeviceProtocolDatagram,
 14698  		VirtualMachineVMCIDeviceProtocolStream,
 14699  		VirtualMachineVMCIDeviceProtocolAnyProtocol,
 14700  	}
 14701  }
 14702  
 14703  func (e VirtualMachineVMCIDeviceProtocol) Strings() []string {
 14704  	return EnumValuesAsStrings(e.Values())
 14705  }
 14706  
 14707  func init() {
 14708  	t["VirtualMachineVMCIDeviceProtocol"] = reflect.TypeOf((*VirtualMachineVMCIDeviceProtocol)(nil)).Elem()
 14709  }
 14710  
 14711  type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType string
 14712  
 14713  const (
 14714  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("pciPassthru")
 14715  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu  = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("nvidiaVgpu")
 14716  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic    = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("sriovNic")
 14717  	VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx         = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("dvx")
 14718  )
 14719  
 14720  func (e VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType) Values() []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType {
 14721  	return []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType{
 14722  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru,
 14723  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu,
 14724  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic,
 14725  		VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx,
 14726  	}
 14727  }
 14728  
 14729  func (e VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType) Strings() []string {
 14730  	return EnumValuesAsStrings(e.Values())
 14731  }
 14732  
 14733  func init() {
 14734  	t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType)(nil)).Elem()
 14735  	minAPIVersionForType["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = "8.0.0.1"
 14736  }
 14737  
 14738  type VirtualMachineVgpuProfileInfoProfileClass string
 14739  
 14740  const (
 14741  	VirtualMachineVgpuProfileInfoProfileClassCompute = VirtualMachineVgpuProfileInfoProfileClass("compute")
 14742  	VirtualMachineVgpuProfileInfoProfileClassQuadro  = VirtualMachineVgpuProfileInfoProfileClass("quadro")
 14743  )
 14744  
 14745  func (e VirtualMachineVgpuProfileInfoProfileClass) Values() []VirtualMachineVgpuProfileInfoProfileClass {
 14746  	return []VirtualMachineVgpuProfileInfoProfileClass{
 14747  		VirtualMachineVgpuProfileInfoProfileClassCompute,
 14748  		VirtualMachineVgpuProfileInfoProfileClassQuadro,
 14749  	}
 14750  }
 14751  
 14752  func (e VirtualMachineVgpuProfileInfoProfileClass) Strings() []string {
 14753  	return EnumValuesAsStrings(e.Values())
 14754  }
 14755  
 14756  func init() {
 14757  	t["VirtualMachineVgpuProfileInfoProfileClass"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileClass)(nil)).Elem()
 14758  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileClass"] = "7.0.3.0"
 14759  }
 14760  
 14761  type VirtualMachineVgpuProfileInfoProfileSharing string
 14762  
 14763  const (
 14764  	// Time-sliced
 14765  	VirtualMachineVgpuProfileInfoProfileSharingTimeSliced = VirtualMachineVgpuProfileInfoProfileSharing("timeSliced")
 14766  	// Multi-instance GPU partitioning
 14767  	VirtualMachineVgpuProfileInfoProfileSharingMig = VirtualMachineVgpuProfileInfoProfileSharing("mig")
 14768  )
 14769  
 14770  func (e VirtualMachineVgpuProfileInfoProfileSharing) Values() []VirtualMachineVgpuProfileInfoProfileSharing {
 14771  	return []VirtualMachineVgpuProfileInfoProfileSharing{
 14772  		VirtualMachineVgpuProfileInfoProfileSharingTimeSliced,
 14773  		VirtualMachineVgpuProfileInfoProfileSharingMig,
 14774  	}
 14775  }
 14776  
 14777  func (e VirtualMachineVgpuProfileInfoProfileSharing) Strings() []string {
 14778  	return EnumValuesAsStrings(e.Values())
 14779  }
 14780  
 14781  func init() {
 14782  	t["VirtualMachineVgpuProfileInfoProfileSharing"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileSharing)(nil)).Elem()
 14783  	minAPIVersionForType["VirtualMachineVgpuProfileInfoProfileSharing"] = "7.0.3.0"
 14784  }
 14785  
 14786  // Set of possible values for `VirtualMachineVideoCard.use3dRenderer`.
 14787  type VirtualMachineVideoCardUse3dRenderer string
 14788  
 14789  const (
 14790  	// Determine automatically whether to render 3D with software or hardware.
 14791  	VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic")
 14792  	// Render 3D with software.
 14793  	VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software")
 14794  	// Render 3D with graphics hardware.
 14795  	VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware")
 14796  )
 14797  
 14798  func (e VirtualMachineVideoCardUse3dRenderer) Values() []VirtualMachineVideoCardUse3dRenderer {
 14799  	return []VirtualMachineVideoCardUse3dRenderer{
 14800  		VirtualMachineVideoCardUse3dRendererAutomatic,
 14801  		VirtualMachineVideoCardUse3dRendererSoftware,
 14802  		VirtualMachineVideoCardUse3dRendererHardware,
 14803  	}
 14804  }
 14805  
 14806  func (e VirtualMachineVideoCardUse3dRenderer) Strings() []string {
 14807  	return EnumValuesAsStrings(e.Values())
 14808  }
 14809  
 14810  func init() {
 14811  	t["VirtualMachineVideoCardUse3dRenderer"] = reflect.TypeOf((*VirtualMachineVideoCardUse3dRenderer)(nil)).Elem()
 14812  }
 14813  
 14814  type VirtualMachineVirtualDeviceSwapDeviceSwapStatus string
 14815  
 14816  const (
 14817  	// No operation active.
 14818  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("none")
 14819  	// Device swap will be performed on next restart.
 14820  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("scheduled")
 14821  	// Device swap is in progress.
 14822  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("inprogress")
 14823  	// Device swap failed.
 14824  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("failed")
 14825  	// Device swap successfully completed.
 14826  	VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("completed")
 14827  )
 14828  
 14829  func (e VirtualMachineVirtualDeviceSwapDeviceSwapStatus) Values() []VirtualMachineVirtualDeviceSwapDeviceSwapStatus {
 14830  	return []VirtualMachineVirtualDeviceSwapDeviceSwapStatus{
 14831  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone,
 14832  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled,
 14833  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress,
 14834  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed,
 14835  		VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted,
 14836  	}
 14837  }
 14838  
 14839  func (e VirtualMachineVirtualDeviceSwapDeviceSwapStatus) Strings() []string {
 14840  	return EnumValuesAsStrings(e.Values())
 14841  }
 14842  
 14843  func init() {
 14844  	t["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapStatus)(nil)).Elem()
 14845  	minAPIVersionForType["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = "8.0.0.1"
 14846  }
 14847  
 14848  type VirtualMachineVirtualPMemSnapshotMode string
 14849  
 14850  const (
 14851  	// The data on virtual NVDIMMs are not affected by snapshot reverts.
 14852  	//
 14853  	// Writes to virtual NVDIMMs after a snapshot is taken cannot be
 14854  	// reverted to the snapshotted state.
 14855  	VirtualMachineVirtualPMemSnapshotModeIndependent_persistent = VirtualMachineVirtualPMemSnapshotMode("independent_persistent")
 14856  	// Virtual NVDIMMs are erased and recreated upon snapshot reverts.
 14857  	VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert = VirtualMachineVirtualPMemSnapshotMode("independent_eraseonrevert")
 14858  )
 14859  
 14860  func (e VirtualMachineVirtualPMemSnapshotMode) Values() []VirtualMachineVirtualPMemSnapshotMode {
 14861  	return []VirtualMachineVirtualPMemSnapshotMode{
 14862  		VirtualMachineVirtualPMemSnapshotModeIndependent_persistent,
 14863  		VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert,
 14864  	}
 14865  }
 14866  
 14867  func (e VirtualMachineVirtualPMemSnapshotMode) Strings() []string {
 14868  	return EnumValuesAsStrings(e.Values())
 14869  }
 14870  
 14871  func init() {
 14872  	t["VirtualMachineVirtualPMemSnapshotMode"] = reflect.TypeOf((*VirtualMachineVirtualPMemSnapshotMode)(nil)).Elem()
 14873  	minAPIVersionForType["VirtualMachineVirtualPMemSnapshotMode"] = "7.0.3.0"
 14874  }
 14875  
 14876  // The VSS Snapshot Context
 14877  // VSS\_SNAPSHOT\_CONTEXT values not listed below are not implemented.
 14878  type VirtualMachineWindowsQuiesceSpecVssBackupContext string
 14879  
 14880  const (
 14881  	// The context value indicates auto selection of VSS snapshot context.
 14882  	//
 14883  	// The ctx\_backup may make Windows VSS-aware applications quiescing during
 14884  	// backup. The ctx\_auto makes VMTools select ctx\_file\_share\_backup context
 14885  	// if ctx\_backup is not available.
 14886  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto")
 14887  	// Indicate VSS\_CTX\_BACKUP.
 14888  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup")
 14889  	// Indicate VSS\_CTX\_FILE\_SHARE\_BACKUP.
 14890  	VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup")
 14891  )
 14892  
 14893  func (e VirtualMachineWindowsQuiesceSpecVssBackupContext) Values() []VirtualMachineWindowsQuiesceSpecVssBackupContext {
 14894  	return []VirtualMachineWindowsQuiesceSpecVssBackupContext{
 14895  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto,
 14896  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup,
 14897  		VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup,
 14898  	}
 14899  }
 14900  
 14901  func (e VirtualMachineWindowsQuiesceSpecVssBackupContext) Strings() []string {
 14902  	return EnumValuesAsStrings(e.Values())
 14903  }
 14904  
 14905  func init() {
 14906  	t["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpecVssBackupContext)(nil)).Elem()
 14907  }
 14908  
 14909  type VirtualNVMEControllerSharing string
 14910  
 14911  const (
 14912  	VirtualNVMEControllerSharingNoSharing       = VirtualNVMEControllerSharing("noSharing")
 14913  	VirtualNVMEControllerSharingPhysicalSharing = VirtualNVMEControllerSharing("physicalSharing")
 14914  )
 14915  
 14916  func (e VirtualNVMEControllerSharing) Values() []VirtualNVMEControllerSharing {
 14917  	return []VirtualNVMEControllerSharing{
 14918  		VirtualNVMEControllerSharingNoSharing,
 14919  		VirtualNVMEControllerSharingPhysicalSharing,
 14920  	}
 14921  }
 14922  
 14923  func (e VirtualNVMEControllerSharing) Strings() []string {
 14924  	return EnumValuesAsStrings(e.Values())
 14925  }
 14926  
 14927  func init() {
 14928  	t["VirtualNVMEControllerSharing"] = reflect.TypeOf((*VirtualNVMEControllerSharing)(nil)).Elem()
 14929  	minAPIVersionForType["VirtualNVMEControllerSharing"] = "8.0.2.0"
 14930  }
 14931  
 14932  // The valid choices for host pointing devices are:
 14933  type VirtualPointingDeviceHostChoice string
 14934  
 14935  const (
 14936  	// Automatically detects the host mouse type.
 14937  	VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect")
 14938  	// The Microsoft IntelliMouse Explorer.
 14939  	VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer")
 14940  	// The Microsoft Intellimouse with a PS2 connection.
 14941  	VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2")
 14942  	// The Logitech MouseMan.
 14943  	VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman")
 14944  	// The Microsoft Serial Mouse.
 14945  	VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial")
 14946  	// The Mouse Systems Mouse.
 14947  	VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems")
 14948  	// The Logitech MouseMan Serial Bus Mouse.
 14949  	VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial")
 14950  	// A generic mouse with a PS2 connection.
 14951  	VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2")
 14952  )
 14953  
 14954  func (e VirtualPointingDeviceHostChoice) Values() []VirtualPointingDeviceHostChoice {
 14955  	return []VirtualPointingDeviceHostChoice{
 14956  		VirtualPointingDeviceHostChoiceAutodetect,
 14957  		VirtualPointingDeviceHostChoiceIntellimouseExplorer,
 14958  		VirtualPointingDeviceHostChoiceIntellimousePs2,
 14959  		VirtualPointingDeviceHostChoiceLogitechMouseman,
 14960  		VirtualPointingDeviceHostChoiceMicrosoft_serial,
 14961  		VirtualPointingDeviceHostChoiceMouseSystems,
 14962  		VirtualPointingDeviceHostChoiceMousemanSerial,
 14963  		VirtualPointingDeviceHostChoicePs2,
 14964  	}
 14965  }
 14966  
 14967  func (e VirtualPointingDeviceHostChoice) Strings() []string {
 14968  	return EnumValuesAsStrings(e.Values())
 14969  }
 14970  
 14971  func init() {
 14972  	t["VirtualPointingDeviceHostChoice"] = reflect.TypeOf((*VirtualPointingDeviceHostChoice)(nil)).Elem()
 14973  }
 14974  
 14975  // Sharing describes three possible ways of sharing the SCSI bus:
 14976  // One of these values is assigned to the sharedBus object to determine
 14977  // if or how the SCSI bus is shared.
 14978  type VirtualSCSISharing string
 14979  
 14980  const (
 14981  	// The virtual SCSI bus is not shared.
 14982  	VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing")
 14983  	// The virtual SCSI bus is shared between two or more virtual machines.
 14984  	//
 14985  	// In this case, no physical machine is involved.
 14986  	VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing")
 14987  	// The virtual SCSI bus is shared between two or more virtual machines
 14988  	// residing on different physical hosts.
 14989  	VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing")
 14990  )
 14991  
 14992  func (e VirtualSCSISharing) Values() []VirtualSCSISharing {
 14993  	return []VirtualSCSISharing{
 14994  		VirtualSCSISharingNoSharing,
 14995  		VirtualSCSISharingVirtualSharing,
 14996  		VirtualSCSISharingPhysicalSharing,
 14997  	}
 14998  }
 14999  
 15000  func (e VirtualSCSISharing) Strings() []string {
 15001  	return EnumValuesAsStrings(e.Values())
 15002  }
 15003  
 15004  func init() {
 15005  	t["VirtualSCSISharing"] = reflect.TypeOf((*VirtualSCSISharing)(nil)).Elem()
 15006  }
 15007  
 15008  // The <code>`VirtualSerialPortEndPoint_enum` enum defines
 15009  // endpoint values for virtual serial port pipe backing.
 15010  //
 15011  // When you use serial port pipe backing to connect a virtual machine
 15012  // to another process, you must define the endpoints.
 15013  // See the <code>`VirtualSerialPortPipeBackingInfo.endpoint`</code>
 15014  // property for the virtual serial port pipe backing information data object.
 15015  //
 15016  // The possible endpoint values are:
 15017  //   - client
 15018  //   - server
 15019  //
 15020  // For the supported choices, see the
 15021  // <code>`VirtualSerialPortPipeBackingOption.endpoint`</code>
 15022  // property for the virtual serial port pipe backing option data object.
 15023  type VirtualSerialPortEndPoint string
 15024  
 15025  const (
 15026  	VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client")
 15027  	VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server")
 15028  )
 15029  
 15030  func (e VirtualSerialPortEndPoint) Values() []VirtualSerialPortEndPoint {
 15031  	return []VirtualSerialPortEndPoint{
 15032  		VirtualSerialPortEndPointClient,
 15033  		VirtualSerialPortEndPointServer,
 15034  	}
 15035  }
 15036  
 15037  func (e VirtualSerialPortEndPoint) Strings() []string {
 15038  	return EnumValuesAsStrings(e.Values())
 15039  }
 15040  
 15041  func init() {
 15042  	t["VirtualSerialPortEndPoint"] = reflect.TypeOf((*VirtualSerialPortEndPoint)(nil)).Elem()
 15043  }
 15044  
 15045  // The enumeration of all known valid VRDMA device protocols.
 15046  type VirtualVmxnet3VrdmaOptionDeviceProtocols string
 15047  
 15048  const (
 15049  	// A RoCEv1 device.
 15050  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev1")
 15051  	// A RoCEv2 device.
 15052  	VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev2")
 15053  )
 15054  
 15055  func (e VirtualVmxnet3VrdmaOptionDeviceProtocols) Values() []VirtualVmxnet3VrdmaOptionDeviceProtocols {
 15056  	return []VirtualVmxnet3VrdmaOptionDeviceProtocols{
 15057  		VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1,
 15058  		VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2,
 15059  	}
 15060  }
 15061  
 15062  func (e VirtualVmxnet3VrdmaOptionDeviceProtocols) Strings() []string {
 15063  	return EnumValuesAsStrings(e.Values())
 15064  }
 15065  
 15066  func init() {
 15067  	t["VirtualVmxnet3VrdmaOptionDeviceProtocols"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOptionDeviceProtocols)(nil)).Elem()
 15068  }
 15069  
 15070  type VmDasBeingResetEventReasonCode string
 15071  
 15072  const (
 15073  	// vmtools heartbeat failure
 15074  	VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure")
 15075  	// application heartbeat failure
 15076  	VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure")
 15077  	// immediate reset request
 15078  	VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest")
 15079  	// reset issued by VMCP when APD cleared
 15080  	VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared")
 15081  )
 15082  
 15083  func (e VmDasBeingResetEventReasonCode) Values() []VmDasBeingResetEventReasonCode {
 15084  	return []VmDasBeingResetEventReasonCode{
 15085  		VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure,
 15086  		VmDasBeingResetEventReasonCodeAppHeartbeatFailure,
 15087  		VmDasBeingResetEventReasonCodeAppImmediateResetRequest,
 15088  		VmDasBeingResetEventReasonCodeVmcpResetApdCleared,
 15089  	}
 15090  }
 15091  
 15092  func (e VmDasBeingResetEventReasonCode) Strings() []string {
 15093  	return EnumValuesAsStrings(e.Values())
 15094  }
 15095  
 15096  func init() {
 15097  	t["VmDasBeingResetEventReasonCode"] = reflect.TypeOf((*VmDasBeingResetEventReasonCode)(nil)).Elem()
 15098  }
 15099  
 15100  // The reason for the failure.
 15101  type VmFailedStartingSecondaryEventFailureReason string
 15102  
 15103  const (
 15104  	// Remote host is incompatible for secondary virtual machine.
 15105  	//
 15106  	// For instance, the host doesn't have access to the virtual machine's
 15107  	// network or datastore.
 15108  	VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost")
 15109  	// Login to remote host failed.
 15110  	VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed")
 15111  	// Registration of the secondary virtual machine
 15112  	// on the remote host failed.
 15113  	VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed")
 15114  	// Migration failed.
 15115  	VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed")
 15116  )
 15117  
 15118  func (e VmFailedStartingSecondaryEventFailureReason) Values() []VmFailedStartingSecondaryEventFailureReason {
 15119  	return []VmFailedStartingSecondaryEventFailureReason{
 15120  		VmFailedStartingSecondaryEventFailureReasonIncompatibleHost,
 15121  		VmFailedStartingSecondaryEventFailureReasonLoginFailed,
 15122  		VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed,
 15123  		VmFailedStartingSecondaryEventFailureReasonMigrateFailed,
 15124  	}
 15125  }
 15126  
 15127  func (e VmFailedStartingSecondaryEventFailureReason) Strings() []string {
 15128  	return EnumValuesAsStrings(e.Values())
 15129  }
 15130  
 15131  func init() {
 15132  	t["VmFailedStartingSecondaryEventFailureReason"] = reflect.TypeOf((*VmFailedStartingSecondaryEventFailureReason)(nil)).Elem()
 15133  }
 15134  
 15135  type VmFaultToleranceConfigIssueReasonForIssue string
 15136  
 15137  const (
 15138  	// HA is not enabled on the cluster
 15139  	VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled")
 15140  	// There is already a secondary virtual machine for the primary
 15141  	// virtual machine
 15142  	VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary")
 15143  	// Deprecated as of vSphere API 6.0.
 15144  	//
 15145  	// The virtual machine does not support record/replay.
 15146  	//
 15147  	// Vm::Capability.RecordReplaySupported is false.
 15148  	VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported")
 15149  	// Deprecated as of vSphere API 6.0.
 15150  	//
 15151  	// It is not possible to turn on Fault Tolerance on this powered-on VM.
 15152  	//
 15153  	// The support for record/replay should be enabled or Fault Tolerance
 15154  	// turned on, when this VM is powered off.
 15155  	VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported")
 15156  	// The virtual machine is a template
 15157  	VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm")
 15158  	// The virtual machine has more than one virtual CPU
 15159  	VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU")
 15160  	// The host is not active
 15161  	VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive")
 15162  	// The host ftSupported flag is not set because of hardware issues
 15163  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware")
 15164  	// The host ftSupported flag is not set because of it is a
 15165  	// VMware Server 2.0
 15166  	VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct")
 15167  	// No VMotion license or VMotion nic is not configured on the host
 15168  	VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic")
 15169  	// FT logging nic is not configured on the host
 15170  	VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic")
 15171  	// The virtual machine has thin provisioned disks
 15172  	VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk")
 15173  	// The "check host certificate" flag is not set
 15174  	VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet")
 15175  	// The virtual machine has one or more snapshots
 15176  	VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots")
 15177  	// No configuration information is available for the virtual machine
 15178  	VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig")
 15179  	// The virtual machine is a fault tolerance secondary virtual machine
 15180  	VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm")
 15181  	// The virtual machine has one or more disks on local datastore
 15182  	VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk")
 15183  	// The virtual machine is an ESX agent VM
 15184  	VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm")
 15185  	// The virtual machine video device has 3D enabled
 15186  	VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled     = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled")
 15187  	VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk")
 15188  	// FT logging nic does not have desired bandwidth
 15189  	VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth")
 15190  	// The host does not support fault tolerant VM with nested HV or VBS
 15191  	// enabled.
 15192  	VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration")
 15193  	// The virtual machine has a vFlash memory device or/and disks with
 15194  	// vFlash cache configured.
 15195  	VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration")
 15196  	// VMware product installed on the host does not support
 15197  	// fault tolerance
 15198  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct")
 15199  	// Host CPU does not support hardware virtualization
 15200  	VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported")
 15201  	// Host CPU does not support hardware MMU virtualization
 15202  	VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported")
 15203  	// Host CPU is compatible for replay-based FT, but hardware
 15204  	// virtualization has been disabled in the BIOS.
 15205  	VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled")
 15206  	// The virtual machine firmware is of type EFI
 15207  	VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware")
 15208  	// The host does not support fault tolerance virtual machines
 15209  	// with the specified number of virtual CPUs.
 15210  	VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs")
 15211  	// The host does not support fault tolerance virtual machines
 15212  	// with the specified amount of memory.
 15213  	VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory")
 15214  	// No VMotion license
 15215  	VmFaultToleranceConfigIssueReasonForIssueVMotionNotLicensed = VmFaultToleranceConfigIssueReasonForIssue("vMotionNotLicensed")
 15216  	// Host does not have proper FT license
 15217  	VmFaultToleranceConfigIssueReasonForIssueFtNotLicensed = VmFaultToleranceConfigIssueReasonForIssue("ftNotLicensed")
 15218  	// Host does not have HA agent running properly
 15219  	VmFaultToleranceConfigIssueReasonForIssueHaAgentIssue = VmFaultToleranceConfigIssueReasonForIssue("haAgentIssue")
 15220  	// The VM has unsupported storage policy
 15221  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedSPBM = VmFaultToleranceConfigIssueReasonForIssue("unsupportedSPBM")
 15222  	// The virtual machine has virtual disk in linked-clone mode
 15223  	VmFaultToleranceConfigIssueReasonForIssueHasLinkedCloneDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLinkedCloneDisk")
 15224  	// Virtual Machine with Pmem HA Failover is not supported
 15225  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver = VmFaultToleranceConfigIssueReasonForIssue("unsupportedPMemHAFailOver")
 15226  	// Virtual Machine with encrypted virtual disk is not supported.
 15227  	VmFaultToleranceConfigIssueReasonForIssueUnsupportedEncryptedDisk = VmFaultToleranceConfigIssueReasonForIssue("unsupportedEncryptedDisk")
 15228  	// The virtual machine does not allow to enable or disable FT Metro
 15229  	// Cluster while FT is turned on.
 15230  	VmFaultToleranceConfigIssueReasonForIssueFtMetroClusterNotEditable = VmFaultToleranceConfigIssueReasonForIssue("ftMetroClusterNotEditable")
 15231  	// Cannot turn on vSphere Fault Tolerance on a FT Metro Cluster enabled VM
 15232  	// with no Host Group configured.
 15233  	VmFaultToleranceConfigIssueReasonForIssueNoHostGroupConfigured = VmFaultToleranceConfigIssueReasonForIssue("noHostGroupConfigured")
 15234  )
 15235  
 15236  func (e VmFaultToleranceConfigIssueReasonForIssue) Values() []VmFaultToleranceConfigIssueReasonForIssue {
 15237  	return []VmFaultToleranceConfigIssueReasonForIssue{
 15238  		VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled,
 15239  		VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary,
 15240  		VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported,
 15241  		VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported,
 15242  		VmFaultToleranceConfigIssueReasonForIssueTemplateVm,
 15243  		VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU,
 15244  		VmFaultToleranceConfigIssueReasonForIssueHostInactive,
 15245  		VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware,
 15246  		VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct,
 15247  		VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic,
 15248  		VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic,
 15249  		VmFaultToleranceConfigIssueReasonForIssueThinDisk,
 15250  		VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet,
 15251  		VmFaultToleranceConfigIssueReasonForIssueHasSnapshots,
 15252  		VmFaultToleranceConfigIssueReasonForIssueNoConfig,
 15253  		VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm,
 15254  		VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk,
 15255  		VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm,
 15256  		VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled,
 15257  		VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk,
 15258  		VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth,
 15259  		VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration,
 15260  		VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration,
 15261  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct,
 15262  		VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported,
 15263  		VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported,
 15264  		VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled,
 15265  		VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware,
 15266  		VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs,
 15267  		VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory,
 15268  		VmFaultToleranceConfigIssueReasonForIssueVMotionNotLicensed,
 15269  		VmFaultToleranceConfigIssueReasonForIssueFtNotLicensed,
 15270  		VmFaultToleranceConfigIssueReasonForIssueHaAgentIssue,
 15271  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedSPBM,
 15272  		VmFaultToleranceConfigIssueReasonForIssueHasLinkedCloneDisk,
 15273  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver,
 15274  		VmFaultToleranceConfigIssueReasonForIssueUnsupportedEncryptedDisk,
 15275  		VmFaultToleranceConfigIssueReasonForIssueFtMetroClusterNotEditable,
 15276  		VmFaultToleranceConfigIssueReasonForIssueNoHostGroupConfigured,
 15277  	}
 15278  }
 15279  
 15280  func (e VmFaultToleranceConfigIssueReasonForIssue) Strings() []string {
 15281  	return EnumValuesAsStrings(e.Values())
 15282  }
 15283  
 15284  func init() {
 15285  	t["VmFaultToleranceConfigIssueReasonForIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssueReasonForIssue)(nil)).Elem()
 15286  	minAPIVersionForEnumValue["VmFaultToleranceConfigIssueReasonForIssue"] = map[string]string{
 15287  		"vMotionNotLicensed":        "8.0.3.0",
 15288  		"ftNotLicensed":             "8.0.3.0",
 15289  		"haAgentIssue":              "8.0.3.0",
 15290  		"unsupportedSPBM":           "8.0.3.0",
 15291  		"hasLinkedCloneDisk":        "8.0.3.0",
 15292  		"unsupportedPMemHAFailOver": "7.0.2.0",
 15293  		"unsupportedEncryptedDisk":  "8.0.3.0",
 15294  		"ftMetroClusterNotEditable": "8.0.3.0",
 15295  		"noHostGroupConfigured":     "8.0.3.0",
 15296  	}
 15297  }
 15298  
 15299  type VmFaultToleranceInvalidFileBackingDeviceType string
 15300  
 15301  const (
 15302  	// virtual floppy
 15303  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy")
 15304  	// virtual Cdrom
 15305  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom")
 15306  	// virtual serial port
 15307  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort")
 15308  	// virtual parallel port
 15309  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort")
 15310  	// virtual disk
 15311  	VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk")
 15312  )
 15313  
 15314  func (e VmFaultToleranceInvalidFileBackingDeviceType) Values() []VmFaultToleranceInvalidFileBackingDeviceType {
 15315  	return []VmFaultToleranceInvalidFileBackingDeviceType{
 15316  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy,
 15317  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom,
 15318  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort,
 15319  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort,
 15320  		VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk,
 15321  	}
 15322  }
 15323  
 15324  func (e VmFaultToleranceInvalidFileBackingDeviceType) Strings() []string {
 15325  	return EnumValuesAsStrings(e.Values())
 15326  }
 15327  
 15328  func init() {
 15329  	t["VmFaultToleranceInvalidFileBackingDeviceType"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingDeviceType)(nil)).Elem()
 15330  }
 15331  
 15332  type VmShutdownOnIsolationEventOperation string
 15333  
 15334  const (
 15335  	// The virtual machine was shut down
 15336  	VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown")
 15337  	// The virtual machine was powered off because shut down failed
 15338  	VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff")
 15339  )
 15340  
 15341  func (e VmShutdownOnIsolationEventOperation) Values() []VmShutdownOnIsolationEventOperation {
 15342  	return []VmShutdownOnIsolationEventOperation{
 15343  		VmShutdownOnIsolationEventOperationShutdown,
 15344  		VmShutdownOnIsolationEventOperationPoweredOff,
 15345  	}
 15346  }
 15347  
 15348  func (e VmShutdownOnIsolationEventOperation) Strings() []string {
 15349  	return EnumValuesAsStrings(e.Values())
 15350  }
 15351  
 15352  func init() {
 15353  	t["VmShutdownOnIsolationEventOperation"] = reflect.TypeOf((*VmShutdownOnIsolationEventOperation)(nil)).Elem()
 15354  }
 15355  
 15356  // The PVLAN port types.
 15357  type VmwareDistributedVirtualSwitchPvlanPortType string
 15358  
 15359  const (
 15360  	// The port can communicate with all other ports within the same PVLAN,
 15361  	// including the isolated and community ports .
 15362  	VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous")
 15363  	// The port can only communicate with the promiscuous ports within the
 15364  	// same PVLAN, any other traffics are blocked.
 15365  	VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated")
 15366  	// The ports communicates with other community ports and with
 15367  	// promiscuous ports within the same PVLAN.
 15368  	//
 15369  	// any other traffics are
 15370  	// blocked.
 15371  	VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community")
 15372  )
 15373  
 15374  func (e VmwareDistributedVirtualSwitchPvlanPortType) Values() []VmwareDistributedVirtualSwitchPvlanPortType {
 15375  	return []VmwareDistributedVirtualSwitchPvlanPortType{
 15376  		VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous,
 15377  		VmwareDistributedVirtualSwitchPvlanPortTypeIsolated,
 15378  		VmwareDistributedVirtualSwitchPvlanPortTypeCommunity,
 15379  	}
 15380  }
 15381  
 15382  func (e VmwareDistributedVirtualSwitchPvlanPortType) Strings() []string {
 15383  	return EnumValuesAsStrings(e.Values())
 15384  }
 15385  
 15386  func init() {
 15387  	t["VmwareDistributedVirtualSwitchPvlanPortType"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanPortType)(nil)).Elem()
 15388  }
 15389  
 15390  // The list of disk issues.
 15391  type VsanDiskIssueType string
 15392  
 15393  const (
 15394  	VsanDiskIssueTypeNonExist      = VsanDiskIssueType("nonExist")
 15395  	VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch")
 15396  	VsanDiskIssueTypeUnknown       = VsanDiskIssueType("unknown")
 15397  )
 15398  
 15399  func (e VsanDiskIssueType) Values() []VsanDiskIssueType {
 15400  	return []VsanDiskIssueType{
 15401  		VsanDiskIssueTypeNonExist,
 15402  		VsanDiskIssueTypeStampMismatch,
 15403  		VsanDiskIssueTypeUnknown,
 15404  	}
 15405  }
 15406  
 15407  func (e VsanDiskIssueType) Strings() []string {
 15408  	return EnumValuesAsStrings(e.Values())
 15409  }
 15410  
 15411  func init() {
 15412  	t["VsanDiskIssueType"] = reflect.TypeOf((*VsanDiskIssueType)(nil)).Elem()
 15413  }
 15414  
 15415  // The action to take with regard to storage objects upon decommissioning
 15416  // a host from use with the VSAN service.
 15417  type VsanHostDecommissionModeObjectAction string
 15418  
 15419  const (
 15420  	// No special action should take place regarding VSAN data.
 15421  	VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction")
 15422  	// VSAN data reconfiguration should be performed to ensure storage
 15423  	// object accessibility.
 15424  	VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility")
 15425  	// VSAN data evacuation should be performed such that all storage
 15426  	// object data is removed from the host.
 15427  	VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData")
 15428  )
 15429  
 15430  func (e VsanHostDecommissionModeObjectAction) Values() []VsanHostDecommissionModeObjectAction {
 15431  	return []VsanHostDecommissionModeObjectAction{
 15432  		VsanHostDecommissionModeObjectActionNoAction,
 15433  		VsanHostDecommissionModeObjectActionEnsureObjectAccessibility,
 15434  		VsanHostDecommissionModeObjectActionEvacuateAllData,
 15435  	}
 15436  }
 15437  
 15438  func (e VsanHostDecommissionModeObjectAction) Strings() []string {
 15439  	return EnumValuesAsStrings(e.Values())
 15440  }
 15441  
 15442  func init() {
 15443  	t["VsanHostDecommissionModeObjectAction"] = reflect.TypeOf((*VsanHostDecommissionModeObjectAction)(nil)).Elem()
 15444  }
 15445  
 15446  // Values used for indicating a disk's status for use by the VSAN service.
 15447  //
 15448  // See also `VsanHostDiskResult.state`.
 15449  type VsanHostDiskResultState string
 15450  
 15451  const (
 15452  	// Disk is currently in use by the VSAN service.
 15453  	//
 15454  	// A disk may be considered in use by the VSAN service regardless of
 15455  	// whether the VSAN service is enabled. As long as a disk is in use
 15456  	// by VSAN, it is reserved exclusively for VSAN and may not be used
 15457  	// for other purposes.
 15458  	//
 15459  	// See also `VsanHostDiskResult.error`.
 15460  	VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse")
 15461  	// Disk is considered eligible for use by the VSAN service,
 15462  	// but is not currently in use.
 15463  	VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible")
 15464  	// Disk is considered ineligible for use by the VSAN service,
 15465  	// and is not currently in use.
 15466  	//
 15467  	// See also `VsanHostDiskResult.error`.
 15468  	VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible")
 15469  )
 15470  
 15471  func (e VsanHostDiskResultState) Values() []VsanHostDiskResultState {
 15472  	return []VsanHostDiskResultState{
 15473  		VsanHostDiskResultStateInUse,
 15474  		VsanHostDiskResultStateEligible,
 15475  		VsanHostDiskResultStateIneligible,
 15476  	}
 15477  }
 15478  
 15479  func (e VsanHostDiskResultState) Strings() []string {
 15480  	return EnumValuesAsStrings(e.Values())
 15481  }
 15482  
 15483  func init() {
 15484  	t["VsanHostDiskResultState"] = reflect.TypeOf((*VsanHostDiskResultState)(nil)).Elem()
 15485  }
 15486  
 15487  // A `VsanHostHealthState_enum` represents the state of a participating
 15488  // host in the VSAN service.
 15489  //
 15490  // See also `VsanHostClusterStatus`.
 15491  type VsanHostHealthState string
 15492  
 15493  const (
 15494  	// Node health is unknown.
 15495  	VsanHostHealthStateUnknown = VsanHostHealthState("unknown")
 15496  	// Node is considered healthy.
 15497  	VsanHostHealthStateHealthy = VsanHostHealthState("healthy")
 15498  	// Node is considered unhealthy.
 15499  	VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy")
 15500  )
 15501  
 15502  func (e VsanHostHealthState) Values() []VsanHostHealthState {
 15503  	return []VsanHostHealthState{
 15504  		VsanHostHealthStateUnknown,
 15505  		VsanHostHealthStateHealthy,
 15506  		VsanHostHealthStateUnhealthy,
 15507  	}
 15508  }
 15509  
 15510  func (e VsanHostHealthState) Strings() []string {
 15511  	return EnumValuesAsStrings(e.Values())
 15512  }
 15513  
 15514  func init() {
 15515  	t["VsanHostHealthState"] = reflect.TypeOf((*VsanHostHealthState)(nil)).Elem()
 15516  }
 15517  
 15518  // A `VsanHostNodeState_enum` represents the state of participation of a host
 15519  // in the VSAN service.
 15520  //
 15521  // See also `VsanHostClusterStatus`, `VsanHostClusterStatusState`.
 15522  type VsanHostNodeState string
 15523  
 15524  const (
 15525  	// The node is enabled for the VSAN service but has some configuration
 15526  	// error which prevents participation.
 15527  	VsanHostNodeStateError = VsanHostNodeState("error")
 15528  	// The node is disabled for the VSAN service.
 15529  	VsanHostNodeStateDisabled = VsanHostNodeState("disabled")
 15530  	// The node is enabled for the VSAN service and is serving as an agent.
 15531  	VsanHostNodeStateAgent = VsanHostNodeState("agent")
 15532  	// The node is enabled for the VSAN service and is serving as the master.
 15533  	VsanHostNodeStateMaster = VsanHostNodeState("master")
 15534  	// The node is enabled for the VSAN service and is serving as the backup.
 15535  	VsanHostNodeStateBackup = VsanHostNodeState("backup")
 15536  	// The node is starting the VSAN service; this state is considered
 15537  	// transitory.
 15538  	VsanHostNodeStateStarting = VsanHostNodeState("starting")
 15539  	// The node is stopping the VSAN service; this state is considered
 15540  	// transitory.
 15541  	VsanHostNodeStateStopping = VsanHostNodeState("stopping")
 15542  	// The node is entering maintenance mode; this state is considered
 15543  	// transitory.
 15544  	//
 15545  	// See also `HostSystem.EnterMaintenanceMode_Task`.
 15546  	VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode")
 15547  	// The node is exiting maintenance mode; this state is considered
 15548  	// transitory.
 15549  	//
 15550  	// See also `HostSystem.ExitMaintenanceMode_Task`.
 15551  	VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode")
 15552  	// The node is being decommissioned from the VSAN service; this state is
 15553  	// considered transitory.
 15554  	VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning")
 15555  )
 15556  
 15557  func (e VsanHostNodeState) Values() []VsanHostNodeState {
 15558  	return []VsanHostNodeState{
 15559  		VsanHostNodeStateError,
 15560  		VsanHostNodeStateDisabled,
 15561  		VsanHostNodeStateAgent,
 15562  		VsanHostNodeStateMaster,
 15563  		VsanHostNodeStateBackup,
 15564  		VsanHostNodeStateStarting,
 15565  		VsanHostNodeStateStopping,
 15566  		VsanHostNodeStateEnteringMaintenanceMode,
 15567  		VsanHostNodeStateExitingMaintenanceMode,
 15568  		VsanHostNodeStateDecommissioning,
 15569  	}
 15570  }
 15571  
 15572  func (e VsanHostNodeState) Strings() []string {
 15573  	return EnumValuesAsStrings(e.Values())
 15574  }
 15575  
 15576  func init() {
 15577  	t["VsanHostNodeState"] = reflect.TypeOf((*VsanHostNodeState)(nil)).Elem()
 15578  }
 15579  
 15580  // Type of disk group operation performed.
 15581  type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string
 15582  
 15583  const (
 15584  	// Disk group is being (re-)added.
 15585  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add")
 15586  	// Disk group is being removed.
 15587  	VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove")
 15588  )
 15589  
 15590  func (e VsanUpgradeSystemUpgradeHistoryDiskGroupOpType) Values() []VsanUpgradeSystemUpgradeHistoryDiskGroupOpType {
 15591  	return []VsanUpgradeSystemUpgradeHistoryDiskGroupOpType{
 15592  		VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd,
 15593  		VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove,
 15594  	}
 15595  }
 15596  
 15597  func (e VsanUpgradeSystemUpgradeHistoryDiskGroupOpType) Strings() []string {
 15598  	return EnumValuesAsStrings(e.Values())
 15599  }
 15600  
 15601  func init() {
 15602  	t["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOpType)(nil)).Elem()
 15603  }
 15604  
 15605  type WeekOfMonth string
 15606  
 15607  const (
 15608  	WeekOfMonthFirst  = WeekOfMonth("first")
 15609  	WeekOfMonthSecond = WeekOfMonth("second")
 15610  	WeekOfMonthThird  = WeekOfMonth("third")
 15611  	WeekOfMonthFourth = WeekOfMonth("fourth")
 15612  	WeekOfMonthLast   = WeekOfMonth("last")
 15613  )
 15614  
 15615  func (e WeekOfMonth) Values() []WeekOfMonth {
 15616  	return []WeekOfMonth{
 15617  		WeekOfMonthFirst,
 15618  		WeekOfMonthSecond,
 15619  		WeekOfMonthThird,
 15620  		WeekOfMonthFourth,
 15621  		WeekOfMonthLast,
 15622  	}
 15623  }
 15624  
 15625  func (e WeekOfMonth) Strings() []string {
 15626  	return EnumValuesAsStrings(e.Values())
 15627  }
 15628  
 15629  func init() {
 15630  	t["WeekOfMonth"] = reflect.TypeOf((*WeekOfMonth)(nil)).Elem()
 15631  }
 15632  
 15633  type WillLoseHAProtectionResolution string
 15634  
 15635  const (
 15636  	// storage vmotion resolution
 15637  	WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion")
 15638  	// relocate resolution
 15639  	WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate")
 15640  )
 15641  
 15642  func (e WillLoseHAProtectionResolution) Values() []WillLoseHAProtectionResolution {
 15643  	return []WillLoseHAProtectionResolution{
 15644  		WillLoseHAProtectionResolutionSvmotion,
 15645  		WillLoseHAProtectionResolutionRelocate,
 15646  	}
 15647  }
 15648  
 15649  func (e WillLoseHAProtectionResolution) Strings() []string {
 15650  	return EnumValuesAsStrings(e.Values())
 15651  }
 15652  
 15653  func init() {
 15654  	t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(nil)).Elem()
 15655  }
 15656  
 15657  type VslmDiskInfoFlag string
 15658  
 15659  const (
 15660  	VslmDiskInfoFlagId                      = VslmDiskInfoFlag("id")
 15661  	VslmDiskInfoFlagDescriptorVersion       = VslmDiskInfoFlag("descriptorVersion")
 15662  	VslmDiskInfoFlagBackingObjectId         = VslmDiskInfoFlag("backingObjectId")
 15663  	VslmDiskInfoFlagPath                    = VslmDiskInfoFlag("path")
 15664  	VslmDiskInfoFlagParentPath              = VslmDiskInfoFlag("parentPath")
 15665  	VslmDiskInfoFlagName                    = VslmDiskInfoFlag("name")
 15666  	VslmDiskInfoFlagDeviceName              = VslmDiskInfoFlag("deviceName")
 15667  	VslmDiskInfoFlagCapacity                = VslmDiskInfoFlag("capacity")
 15668  	VslmDiskInfoFlagAllocated               = VslmDiskInfoFlag("allocated")
 15669  	VslmDiskInfoFlagType                    = VslmDiskInfoFlag("type")
 15670  	VslmDiskInfoFlagConsumers               = VslmDiskInfoFlag("consumers")
 15671  	VslmDiskInfoFlagTentativeState          = VslmDiskInfoFlag("tentativeState")
 15672  	VslmDiskInfoFlagCreateTime              = VslmDiskInfoFlag("createTime")
 15673  	VslmDiskInfoFlagIoFilter                = VslmDiskInfoFlag("ioFilter")
 15674  	VslmDiskInfoFlagControlFlags            = VslmDiskInfoFlag("controlFlags")
 15675  	VslmDiskInfoFlagKeepAfterVmDelete       = VslmDiskInfoFlag("keepAfterVmDelete")
 15676  	VslmDiskInfoFlagRelocationDisabled      = VslmDiskInfoFlag("relocationDisabled")
 15677  	VslmDiskInfoFlagKeyId                   = VslmDiskInfoFlag("keyId")
 15678  	VslmDiskInfoFlagKeyProviderId           = VslmDiskInfoFlag("keyProviderId")
 15679  	VslmDiskInfoFlagNativeSnapshotSupported = VslmDiskInfoFlag("nativeSnapshotSupported")
 15680  	VslmDiskInfoFlagCbtEnabled              = VslmDiskInfoFlag("cbtEnabled")
 15681  )
 15682  
 15683  func (e VslmDiskInfoFlag) Values() []VslmDiskInfoFlag {
 15684  	return []VslmDiskInfoFlag{
 15685  		VslmDiskInfoFlagId,
 15686  		VslmDiskInfoFlagDescriptorVersion,
 15687  		VslmDiskInfoFlagBackingObjectId,
 15688  		VslmDiskInfoFlagPath,
 15689  		VslmDiskInfoFlagParentPath,
 15690  		VslmDiskInfoFlagName,
 15691  		VslmDiskInfoFlagDeviceName,
 15692  		VslmDiskInfoFlagCapacity,
 15693  		VslmDiskInfoFlagAllocated,
 15694  		VslmDiskInfoFlagType,
 15695  		VslmDiskInfoFlagConsumers,
 15696  		VslmDiskInfoFlagTentativeState,
 15697  		VslmDiskInfoFlagCreateTime,
 15698  		VslmDiskInfoFlagIoFilter,
 15699  		VslmDiskInfoFlagControlFlags,
 15700  		VslmDiskInfoFlagKeepAfterVmDelete,
 15701  		VslmDiskInfoFlagRelocationDisabled,
 15702  		VslmDiskInfoFlagKeyId,
 15703  		VslmDiskInfoFlagKeyProviderId,
 15704  		VslmDiskInfoFlagNativeSnapshotSupported,
 15705  		VslmDiskInfoFlagCbtEnabled,
 15706  	}
 15707  }
 15708  
 15709  func (e VslmDiskInfoFlag) Strings() []string {
 15710  	return EnumValuesAsStrings(e.Values())
 15711  }
 15712  
 15713  func init() {
 15714  	t["vslmDiskInfoFlag"] = reflect.TypeOf((*VslmDiskInfoFlag)(nil)).Elem()
 15715  }
 15716  
 15717  type VslmVStorageObjectControlFlag string
 15718  
 15719  const (
 15720  	VslmVStorageObjectControlFlagKeepAfterDeleteVm          = VslmVStorageObjectControlFlag("keepAfterDeleteVm")
 15721  	VslmVStorageObjectControlFlagDisableRelocation          = VslmVStorageObjectControlFlag("disableRelocation")
 15722  	VslmVStorageObjectControlFlagEnableChangedBlockTracking = VslmVStorageObjectControlFlag("enableChangedBlockTracking")
 15723  )
 15724  
 15725  func (e VslmVStorageObjectControlFlag) Values() []VslmVStorageObjectControlFlag {
 15726  	return []VslmVStorageObjectControlFlag{
 15727  		VslmVStorageObjectControlFlagKeepAfterDeleteVm,
 15728  		VslmVStorageObjectControlFlagDisableRelocation,
 15729  		VslmVStorageObjectControlFlagEnableChangedBlockTracking,
 15730  	}
 15731  }
 15732  
 15733  func (e VslmVStorageObjectControlFlag) Strings() []string {
 15734  	return EnumValuesAsStrings(e.Values())
 15735  }
 15736  
 15737  func init() {
 15738  	t["vslmVStorageObjectControlFlag"] = reflect.TypeOf((*VslmVStorageObjectControlFlag)(nil)).Elem()
 15739  }